UNPKG

compound-binary-file-js

Version:

This is an implementation of [Compound Binary File v.3](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-cfb/53989ce4-7b05-4f8d-829b-d08d6148375b) \ Allows reading existing files, creation of the/write operation

29 lines (24 loc) 979 B
import {Color, TreeNode} from "./Node"; import {NodeFactory} from "./RedBlackTree"; export class TreeLevel<T> { private parent: TreeNode<T>; private readonly nodeFactory: NodeFactory<T>; constructor(parent: TreeNode<T>, nodeFactory: NodeFactory<T>) { this.parent = parent; this.nodeFactory = nodeFactory; } left(value: T, color: Color, levelBuilder?: (level: TreeLevel<T>) => void): void { const node = new TreeNode<T>(value, color); this.parent.setLeftChild(node); if (levelBuilder != null) { levelBuilder(new TreeLevel(node, this.nodeFactory)); } } right(value: T, color: Color, levelBuilder?: (level: TreeLevel<T>) => void): void { const node = new TreeNode(value, color) as TreeNode<T>; this.parent.setRightChild(node); if (levelBuilder != null) { levelBuilder(new TreeLevel(node, this.nodeFactory)); } } }