@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
19 lines (18 loc) • 877 B
TypeScript
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>;