UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

19 lines (18 loc) 877 B
import type { AggregationItem, GroupItem, Root, TreeNode } from "../+types.js"; export interface ClientData<Data> { readonly root: Root<Data>; readonly rowData: Data[]; readonly idsLeaf: Set<string>; readonly idsBranch: Set<string>; readonly idsAll: Set<string>; readonly idToNode: Map<string, TreeNode<Data>>; readonly idToSourceIndex: Map<string, number>; } export interface MakeClientDataArgs<Data> { readonly rowData: Data[]; readonly rowBranchModel: GroupItem<Data>[] | ((d: Data) => (string | null | undefined)[]); readonly rowAggModel: AggregationItem<Data>[]; readonly rowIdLeaf?: (d: Data, i: number) => string; readonly rowIdGroup?: (path: string[]) => string; } export declare function makeClientTree<Data>({ rowData, rowBranchModel, rowAggModel, rowIdLeaf, rowIdGroup, }: MakeClientDataArgs<Data>): ClientData<Data>;