sgnm-neo4j
Version:
neo4j module for nestJs
35 lines (29 loc) • 1.03 kB
text/typescript
import { int } from 'neo4j-driver'
import { Node, Relationship } from 'neo4j-driver-core/lib/graph-types'
import { Result } from 'neo4j-driver-core/lib/result'
let _nodeId = 0
let _relationshipId = 0
export const nodeId = () => {
_nodeId++;
return int(_nodeId)
}
export const mockNode = (labels: string | string[], properties: object = {}): Node => {
return new Node(nodeId(), Array.isArray(labels) ? labels : [labels], properties)
}
export const mockRelationship = (type: string, properties: object, start?: Node, end?: Node): Relationship => {
_relationshipId++;
return new Relationship(
int(_relationshipId),
start instanceof Node ? start.identity : nodeId(),
end instanceof Node ? end.identity :
nodeId(), type, properties
)
}
export const mockResult = (rows: object[]): Result => {
return {
records: rows.map(row => ({
keys: Object.keys(row),
get: (key: string) => row.hasOwnProperty(key) ? row[key] : null,
}))
}
}