@neo4j/cypher-builder
Version:
A programmatic API for building Cypher queries for Neo4j
42 lines (41 loc) • 1.4 kB
JavaScript
;
/*
* Copyright (c) "Neo4j"
* Neo4j Sweden AB [http://neo4j.com]
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.PatternElement = void 0;
const Environment_1 = require("../Environment");
const pad_block_1 = require("../utils/pad-block");
const pad_left_1 = require("../utils/pad-left");
const stringify_object_1 = require("../utils/stringify-object");
const customInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
class PatternElement {
variable;
constructor(element) {
this.variable = element;
}
serializeParameters(parameters, env) {
if (Object.keys(parameters).length === 0)
return "";
const paramValues = Object.entries(parameters).reduce((acc, [key, param]) => {
acc[key] = param.getCypher(env);
return acc;
}, {});
return (0, pad_left_1.padLeft)((0, stringify_object_1.stringifyObject)(paramValues));
}
/** Custom string for browsers and templating
* @hidden
*/
toString() {
const cypher = (0, pad_block_1.padBlock)(this.getCypher(new Environment_1.CypherEnvironment()));
return `<${this.constructor.name}> """\n${cypher}\n"""`;
}
/** Custom log for console.log in Node
* @hidden
*/
[customInspectSymbol]() {
return this.toString();
}
}
exports.PatternElement = PatternElement;