export class TreeNode { node: T; parent: TreeNode; children: TreeNode[] = []; constructor(node: T, parent: TreeNode, name?: string, id?: string) { this.parent = parent; this.node = node; if (name) { this.node.name = name; } if (id) { this.node.id = id; } } } export interface ITreeNodeObject { id: string; name: string; }