@thingsinc/treejs
Version:
Simple Model for manipulating tree structure.
34 lines (33 loc) • 744 B
TypeScript
import type { Node } from "./node";
export type Data = {
[key: string]: unknown;
};
export type NodeParam<T extends Data> = {
level: number;
data: T;
parentKey: string | null;
children: NodeParam<T>[];
};
export type TreeType<T extends Data> = Tree<T>;
export declare class Tree<T extends Data> {
#private;
treeId: string;
root: Node<T>;
constructor({
nodes,
key,
childKey,
}: {
nodes: {
level: number;
data: T;
}[];
key: string;
childKey: string;
});
find(fn: (node: Node<T>) => boolean): Node<T> | undefined;
findOrThrow(fn: (node: Node<T>) => boolean): Node<T>;
findMany(fn: (node: Node<T>) => boolean): Node<T>[];
flat(): Node<T>[];
}
//# sourceMappingURL=tree.d.ts.map