vega-frontend-monorepo/libs/react-helpers/src/lib/remove-pagination-wrapper.ts
Sam Keen 7c8a54b35a
feat(1263): split validator page into separate tables (#2250)
* frontend-monorepo-1263 validator status of pending now named 'candidate' in the ui

* feat(1263): validator table updates, calculating penalties

* feat(1263): bit of cleanup

* feat(1263): tables built and values derived

* feat(1263): tweaks

* feat(1263): upping site max width to 1500px

* feat(1263): tweak to normalised voting power column width

* feat(1263): ensure validator rows when hovered have cursor:pointer

* feat(1263): consensus validators now have a ranking field by voting power shown in the table

* feat(1263): fixed linting errors

* feat(1263): a couple of extra tests and correct import of schema to use enums

* Update apps/token/src/routes/staking/home/validator-tables/standby-pending-validators-table.tsx

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>

* Update apps/token/src/routes/staking/home/validator-tables/validator-tables.tsx

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>

* Update apps/token/src/routes/staking/home/validator-tables/validator-tables.tsx

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>

* Update apps/token/src/routes/staking/home/validator-tables/validator-tables.tsx

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>

* feat(1263): tweaks from PR comments, initial push of util to remove 'node' from arrs

* feat(1263): updated new util to remove 'node' from 'edges'. Implemented across the monorepo

* feat(1263): cleaned up splitting validators into consensus, pending and ersatz to put into tables

* feat(1263): used decimals from app state in validator-tables.tsx

* feat(1263): removed redundant compact import

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
2022-11-30 12:55:30 +00:00

29 lines
549 B
TypeScript

import compact from 'lodash/compact';
/**
* A simple function that removes the 'node' level from API responses, i.e.
*
* [
* { node: { id: '1', name: 'foo' } },
* { node: { id: '2', name: 'bar' } },
* ]
*
* becomes:
*
* [
* { id: '1', name: 'foo' },
* { id: '2', name: 'bar' },
* ]
*
* It also removes any null values.
*
* @param edges array
* @returns array
*/
export function removePaginationWrapper<T>(
edges: Array<{ node: T } | null> | undefined | null
): T[] {
return compact(edges?.map((edge) => edge?.node));
}