Add message history to TreeNode

This commit is contained in:
Thomas Nordquist
2019-01-12 14:29:21 +01:00
parent a8e082f084
commit 48b7754a2b
6 changed files with 126 additions and 7 deletions

View File

@@ -1,7 +1,11 @@
import { Edge, Message, Tree, TreeNode } from './'
import { Edge, Tree, TreeNode } from './'
interface HasLength {
length: number
}
export abstract class TreeNodeFactory {
public static fromEdgesAndValue(edgeNames: string[], value: any): TreeNode {
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)
@@ -11,7 +15,11 @@ export abstract class TreeNodeFactory {
currentNode = newNode
}
currentNode.setMessage({ value })
currentNode.setMessage({
value,
length: value.length,
received: new Date(),
})
return currentNode
}
}