Comparing version 2.9.0 to 2.10.0
{ | ||
"name": "cube-core", | ||
"version": "2.9.0", | ||
"version": "2.10.0", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "./built/index.js", |
@@ -19,2 +19,21 @@ import { AggFC, DataSource, Fields, CubeProps } from "../types"; | ||
} | ||
public getNode(dimensions: Fields): Node<Row> | null { | ||
const search: (node: Node<Row>, level: number) => Node<Row> | null = ( | ||
node, | ||
level | ||
) => { | ||
if (level === dimensions.length) { | ||
return node; | ||
} | ||
let children = node.children.entries(); | ||
for (let [childName, child] of children) { | ||
if (childName === dimensions[level]) { | ||
return search(child, level + 1); | ||
} | ||
} | ||
return null; | ||
}; | ||
return search(this, 0); | ||
} | ||
} | ||
@@ -55,2 +74,8 @@ | ||
} | ||
public getNode(dimensions: Fields): Node<Row> | null { | ||
const { tree } = this; | ||
return tree.getNode(dimensions) | ||
} | ||
public setData(props: CubeProps<Row>): void { | ||
@@ -57,0 +82,0 @@ let { |
@@ -47,2 +47,20 @@ import { AggFC, DataSource, Fields, CubeProps } from "../types"; | ||
} | ||
public getNode(dimensions: Fields): Node<Row> | null { | ||
const search: (node: Node<Row>, level: number) => Node<Row> | null = ( | ||
node, | ||
level | ||
) => { | ||
if (level === dimensions.length) { | ||
return node; | ||
} | ||
let children = node.children.entries(); | ||
for (let [childName, child] of children) { | ||
if (childName === dimensions[level]) { | ||
return search(child, level + 1); | ||
} | ||
} | ||
return null; | ||
}; | ||
return search(this, 0); | ||
} | ||
} | ||
@@ -81,2 +99,7 @@ | ||
} | ||
public getNode(dimensions: Fields): Node<Row> | null { | ||
const { tree } = this; | ||
return tree.getNode(dimensions); | ||
} | ||
public buildTree(): Node<Row> { | ||
@@ -83,0 +106,0 @@ let tree: Node<Row> = new Node(this.aggFunc); |
74082
939