Files
mqtt-explorer/backend/src/Model/TreeNodeFactory.ts
Thomas Nordquist fd386bf1df Fix types in tests
2019-01-14 11:49:57 +01:00

26 lines
627 B
TypeScript

import { Edge, Tree, TreeNode } from './'
interface HasLength {
length: number
}
export abstract class TreeNodeFactory {
public static fromEdgesAndValue<T extends HasLength>(edgeNames: string[], value?: T): TreeNode {
let currentNode: TreeNode = new Tree()
for (const edgeName of edgeNames) {
const edge = new Edge(edgeName)
const newNode = new TreeNode(edge)
edge.target = newNode
currentNode.addEdge(edge)
currentNode = newNode
}
currentNode.setMessage({
value,
length: value ? value.length : 0,
received: new Date(),
})
return currentNode
}
}