@opensig/opendesign
Version:
19 lines (18 loc) • 805 B
TypeScript
export interface TreeNodeT {
value: string | number;
parent: TreeNodeT | null;
children: Array<TreeNodeT>;
}
export interface TreeT {
root: TreeNodeT;
getNode(node: TreeNodeT, val: string | number): TreeNodeT | undefined;
getPath(node: TreeNodeT, val: string | number, path: Array<TreeNodeT>): Array<TreeNodeT> | undefined;
}
export declare class VTree implements TreeT {
root: TreeNodeT;
constructor(value: string | number, parent: TreeNodeT | null, children?: Array<TreeNodeT>);
getNode(node: TreeNodeT, val: string | number): TreeNodeT | undefined;
getPath(node: TreeNodeT, val: string | number, path: Array<TreeNodeT>): Array<TreeNodeT> | undefined;
hasSameNode(nodes: Array<TreeNodeT>, val: string | number): boolean;
addNode(node: TreeNodeT): void;
}