@lukeaus/plain-tree
Version:
A plain tree with a bunch of tree tools
27 lines (26 loc) • 713 B
TypeScript
import { NodeOrNull } from './types';
declare class Node {
data: any;
children: Node[];
id: string;
parent: NodeOrNull;
constructor(data: any, { id, parent }?: {
id?: string;
parent?: NodeOrNull;
});
addChild(data: any, { id }?: {
id?: string;
}): Node;
private _removeChildren;
removeChildren(fn: Function): Array<Node>;
removeChildrenByData(data: any): Array<Node>;
removeChildrenById(id: string): Array<Node>;
isLeaf(): boolean;
hasChildren(): boolean;
toJson(): string;
depth(): number;
widthsByHeight(): Array<number>;
height(): number;
flattenByHeight(fn?: Function | null): any[][];
}
export default Node;