1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- const {
- Node,
- Link,
- Graph
- } = require("./graph");
- console.log(Graph);
- class Tree extends Graph {
- constructor(NodeType) {
- super(NodeType);
- }
- addLink(link) {
- if (this.nodes[link.to.id].in.length > 0) {
- throw new Error("Cannot have 2 parents... Its a tree dude!");
- }
- super.addLink(link);
- }
- }
- let tree = new Tree(Node);
- var A = new Node("A");
- var B = new Node('B');
- var C = new Node('C');
- var D = new Node('D');
- var E = new Node('E');
- var F = new Node("F");
- var AB = new Link(A, B);
- var AC = new Link(A, C);
- var CD = new Link(C, D);
- var DE = new Link(D, E);
- tree.addNode(A);
- tree.addNode(B);
- tree.addNode(C);
- tree.addNode(D);
- tree.addNode(E);
- tree.addNode(F);
- tree.addLink(AB);
- tree.addLink(AC);
- tree.addLink(CD);
- tree.addLink(DE);
|