grafeo-ogm 1.7.5 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,135 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.8.0 (2026-05-05)
4
+
5
+ > Performance release. Three Tier 4 hot-path fixes from the audit landed
6
+ > after measurement against a new dev-only `mitata` benchmark harness.
7
+ > Two candidate fixes (cache dedup, mutation params spread) didn't clear
8
+ > the 5% acceptance threshold and were reverted. **No behaviour changes
9
+ > — semantics are identical to 1.7.5.** Stored-property queries, NLS
10
+ > policy enforcement, code-generation output, and emitted Cypher are
11
+ > all byte-for-byte equivalent to 1.7.5 for the same inputs.
12
+
13
+ ### Headline gains
14
+
15
+ The biggest absolute time savings per call (`avg`, mitata, single host):
16
+
17
+ | Hot path | 1.7.5 | 1.8.0 | Saved | Δ |
18
+ |---|---|---|---|---|
19
+ | Result mapping — 10 nested reviews + 5 tags row | **7.56 µs** | **6.42 µs** | 1.14 µs | **−15%** |
20
+ | Result mapping — mixed types + nested object | 894 ns | **735 ns** | 159 ns | **−18%** |
21
+ | Result mapping — pure scalar map | 185 ns | **119 ns** | 66 ns | **−36%** |
22
+ | WHERE compile — deep AND/OR/NOT nesting | **3.66 µs** | **3.11 µs** | 550 ns | **−15%** |
23
+ | Selection compile — deep (multi-rel + connection) | **2.69 µs** | **2.26 µs** | 428 ns | **−16%** |
24
+ | Selection compile — nested (1 level rels) | 1.11 µs | **940 ns** | 172 ns | **−16%** |
25
+ | Selection compile — simple `{ id title }` | 151 ns | **120 ns** | 32 ns | **−21%** |
26
+ | WHERE compile — connection (node + edge) | 1.30 µs | **1.21 µs** | 99 ns | **−8%** |
27
+ | `escapeIdentifier` (no-backticks fast path) | 19 ns | **1.1 ns** | 18 ns | **−94%** |
28
+
29
+ ### What got faster — and why
30
+
31
+ #### 1. `ResultMapper.convertNeo4jTypes` — `Object.entries` → `for...in` (fix E)
32
+
33
+ Pre-1.8.0 the plain-object branch allocated a fresh `[key, value][]` pair array per nested object visit (via `Object.entries`). For a realistic 10-row relationship result with nested children, that's 32 allocations per Cypher row — multiplied by every row in every result. Switched to `for...in` + `Object.prototype.hasOwnProperty.call`. The `Object.create(null)` defensive guard against prototype pollution is preserved.
34
+
35
+ ```
36
+ 1.7.5 1.8.0 Saved Δ
37
+ pure scalar map 184.5 ns 118.5 ns 66.0 ns −36%
38
+ single Neo4j Integer (safe) 145.4 ns 134.4 ns 11.0 ns −8%
39
+ mixed types + nested object 894.0 ns 735.0 ns 159.0 ns −18%
40
+ nested rel array (10 + 5 children) 7.56 µs 6.42 µs 1.14 µs −15%
41
+ ```
42
+
43
+ #### 2. `escapeIdentifier` fast path (fix F)
44
+
45
+ `escapeIdentifier` is called dozens of times per Cypher emit (every relationship type, every label, every property name). Pre-1.8.0 it unconditionally ran a regex-replace + intermediate string allocation, even though identifiers in well-formed schemas effectively never contain backticks. Added a single `indexOf('` ` `')` check before the regex; the >99.99% case now returns the wrapped string directly.
46
+
47
+ The direct microbenchmark went from 19 ns to 1.1 ns (−94%) — V8 effectively inlines the fast path to no-op cost. The real win is the cascade through every code path that calls `escapeIdentifier` transitively:
48
+
49
+ ```
50
+ 1.7.5 1.8.0 Saved Δ
51
+ compile simple { id title } 151.2 ns 119.7 ns 31.6 ns −21%
52
+ compile nested (1 level rels) 1.11 µs 940 ns 172.3 ns −16%
53
+ compile deep (multi-rel + conn) 2.69 µs 2.26 µs 428.4 ns −16%
54
+ deep logical AND/OR/NOT 3.66 µs 3.11 µs 549.8 ns −15%
55
+ relationship _SOME inner where 735.5 ns 698.1 ns 37.3 ns −5%
56
+ connection where (node + edge) 1.30 µs 1.21 µs 99.0 ns −8%
57
+ ```
58
+
59
+ The slow path (identifier WITH backticks) is unchanged — still routes through the original regex.
60
+
61
+ #### 3. `WhereCompiler.compileConditions` shared params accumulator (fix C)
62
+
63
+ `compileConditions` is recursive — `AND` / `OR` / `NOT` branches recurse into themselves with smaller sub-objects. Pre-1.8.0 every recursion frame allocated a fresh `{}` Map and merged via `Object.assign` on the way back up. For a 5-level deep `AND`/`OR`/`NOT` predicate that's 5 fresh objects + 5 merge walks per compile. The recursive paths now thread the parent's params Map as a shared accumulator; leaf scalar conditions write directly into the owner.
64
+
65
+ ```
66
+ 1.7.5 1.8.0 Saved Δ
67
+ deep logical AND/OR/NOT 3.66 µs 3.11 µs 549.8 ns −15%
68
+ ```
69
+
70
+ The public WhereCompiler API surface is unchanged — `paramsTarget` is an optional internal parameter; external callers keep the old contract.
71
+
72
+ ### Real-world impact
73
+
74
+ For a typical paginated query (`Book.find({ where, select: { id, title, hasReviews { ... } } })` returning 50 rows):
75
+
76
+ | Stage | 1.7.5 | 1.8.0 | Saved per request |
77
+ |---|---|---|---|
78
+ | WHERE compile (mixed operators) | 1.96 µs | 1.86 µs | 100 ns |
79
+ | Selection compile (cache hit) | 28 ns | 28 ns | — |
80
+ | Result mapping (50 × mixed-types row) | 44.7 µs | 36.8 µs | 7.9 µs |
81
+ | **Total per request** | **≈46.7 µs** | **≈38.7 µs** | **≈8 µs** |
82
+
83
+ Multiplied by sustained load:
84
+
85
+ | QPS | Saved per second | CPU core equivalent |
86
+ |---|---|---|
87
+ | 1,000 | 8 ms | 0.8% of one core |
88
+ | 10,000 | 80 ms | **8% of one core** |
89
+ | 50,000 | 400 ms | **40% of one core liberated** |
90
+
91
+ For result-heavy workloads (1000 rows × nested relationship array): **~1.14 ms saved per query** at the OGM layer alone.
92
+
93
+ ### Node-Level Security (NLS) policy hot path
94
+
95
+ Policy-enabled queries got modest gains. Simple policies are dominated by the inherent allocation cost of `when(ctx)` invocation + partial allocation + AND-stitch — none of the Tier 4 fixes target those. Nested-`when` policies see the recursion benefit from fix C.
96
+
97
+ | Policy shape | 1.7.5 | 1.8.0 | Saved | Δ |
98
+ |---|---|---|---|---|
99
+ | User where, no policy (baseline) | 1.96 µs | 1.89 µs | 71 ns | −3.6% |
100
+ | + single permissive (flat `when`) | 2.28 µs | 2.25 µs | 28 ns | −1.2% 🟡 |
101
+ | + two permissives (OR-grant) | 3.00 µs | 2.95 µs | 54 ns | −1.8% 🟡 |
102
+ | + permissive AND restrictive | 2.93 µs | 2.88 µs | 46 ns | −1.6% 🟡 |
103
+ | + nested AND/OR permissive (deep `when`) | **5.09 µs** | **4.65 µs** | 442 ns | **−8.7%** 🟢 |
104
+ | + cypher escape hatch fragment | 2.31 µs | 2.28 µs | 35 ns | −1.5% 🟡 |
105
+
106
+ **TL;DR for NLS users**: if your policies are simple (`when: ctx => ({ ownerId: ctx.userId })`) the gain is ≈30–50 ns per query — imperceptible. If your `when` returns nested `AND`/`OR` partials, expect ~440 ns per query saved. NLS-side optimization (caching `when()` results, plumbing the shared accumulator into `compilePolicyClause`) is tracked as Tier 4.5 follow-up work.
107
+
108
+ ### Rejected fixes (measured, didn't clear threshold)
109
+
110
+ Two Tier 4 candidates were applied, measured, and reverted because they didn't clear the 5% acceptance bar with no >2% regression elsewhere. Snapshots preserved under `bench/snapshots/fix-B.run*.json` and `fix-D.run*.json` for future reference:
111
+
112
+ - **B — Dedup `Model._selectionCache` and `SelectionCompiler.parseCache`.** Code-wise correct (one fewer Map.get per query), but the bench can't measure the affected path without a Model.find end-to-end benchmark with mock executor. Visible variance was JIT-level noise from the Model class shape shift, not a real regression. May be revisited if a Model.find end-to-end benchmark is added.
113
+ - **D — Mutate `whereResult.params` in place** in mutation compiler (3 sites). Showed unstable variance: `compileUpdate — simple SET` ranged from +2% to +25% across runs. The spread is one allocation per mutation (~50 ns range), and per-mutation cost is dominated by other work (label cache lookup, string concat) — savings too small to surface above noise.
114
+
115
+ ### Dev-only: `mitata` benchmark harness
116
+
117
+ A new `bench/` directory was added with the `mitata` benchmark library as a `devDependency`. **It is not shipped to npm consumers** — `bench/` is excluded from the package files manifest, the `dist/` build configs only include `src/`, and `mitata` is never imported by runtime code. End users see zero impact: identical `node_modules/grafeo-ogm` contents, identical bundle size.
118
+
119
+ The harness covers WhereCompiler, SelectionCompiler, ResultMapper, MutationCompiler, escapeIdentifier, and NLS policy paths. Snapshots in `bench/snapshots/` document the pre/post numbers behind every claim above. Run with `pnpm run bench` (rich text output) or `pnpm run bench -- --json` (machine-readable; strips per-iteration samples).
120
+
121
+ ### What's NOT in this release
122
+
123
+ The audit also flagged these — held back because they need more design:
124
+
125
+ - **NLS policy optimisations** (Tier 4.5): caching `when()` results by `ctxFingerprint`, threading the shared params accumulator through `compilePolicyClause`. Would close the 1–2% simple-policy gap.
126
+ - **Selection-cache dedup** (deferred fix B): re-evaluate after a Model.find end-to-end benchmark is added.
127
+ - **Bundle-size reduction** by separating the codegen entry point. Breaking change — needs a major version.
128
+
129
+ ### Test coverage
130
+
131
+ No semantic tests changed in this release — only perf code paths touched. 1358/1358 tests still pass. Lint clean, format clean, build clean.
132
+
3
133
  ## 1.7.5 (2026-05-05)
4
134
 
5
135
  > Tier 5 cleanups from the audit. Four small but useful fixes: a counter
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAezB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAqDD,KAAK,cAAc,GAAG,MAAM,CAAC;AA4B7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,WAAW,CAAU;gBAGnB,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAMhC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAiB,EAC9C,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC;;;;;;;;;;WAUG;QACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACrC,GACA,WAAW;IA2Cd;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,iBAAiB;IA4KzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyH5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAqHnC,OAAO,CAAC,sBAAsB;IA2I9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmF/B"}
1
+ {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAezB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAqDD,KAAK,cAAc,GAAG,MAAM,CAAC;AA4B7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,WAAW,CAAU;gBAGnB,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAMhC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAiB,EAC9C,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC;;;;;;;;;;WAUG;QACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACrC,GACA,WAAW;IA2Cd;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,iBAAiB;IA4LzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyH5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAqHnC,OAAO,CAAC,sBAAsB;IA2I9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmF/B"}
@@ -214,14 +214,27 @@ class WhereCompiler {
214
214
  ? permClause
215
215
  : `(${permClause} AND ${restClause})`;
216
216
  }
217
- compileConditions(where, nodeVar, nodeDef, counter, depth, scope) {
217
+ compileConditions(where, nodeVar, nodeDef, counter, depth, scope,
218
+ /**
219
+ * Optional shared params accumulator. When provided, every leaf
220
+ * write goes directly into this object instead of allocating a
221
+ * fresh `{}` per recursion frame and merging via `Object.assign`.
222
+ * Pre-1.8.0 every AND/OR/NOT branch allocated its own params Map,
223
+ * we then `mergeParams`'d it into the parent — for a 5-frame deep
224
+ * recursion that's 5 fresh objects + 5 Object.assign walks. Now
225
+ * deep recursions write into a single owner object. Public callers
226
+ * keep the old contract (no arg → fresh Map allocated locally).
227
+ */
228
+ paramsTarget) {
218
229
  if (depth > MAX_DEPTH)
219
230
  throw new errors_1.OGMError(`WHERE clause nesting depth exceeds maximum (${MAX_DEPTH})`);
220
231
  if (where == null)
221
- return { cypher: '', params: {} };
232
+ return { cypher: '', params: paramsTarget ?? {} };
222
233
  const caseInsensitive = where.mode === 'insensitive';
223
234
  const clauses = [];
224
- const params = {};
235
+ // Reuse the caller's params accumulator when provided. Otherwise
236
+ // own a fresh Map (the top-level entry point case).
237
+ const params = paramsTarget ?? {};
225
238
  for (const [key, value] of Object.entries(where)) {
226
239
  if (value === undefined)
227
240
  continue;
@@ -235,13 +248,19 @@ class WhereCompiler {
235
248
  throw new errors_1.OGMError(`${key} array length ${items.length} exceeds the maximum of ${MAX_LOGICAL_ARRAY_LENGTH}. ` +
236
249
  `Restructure the predicate (e.g. use _IN for value lists, or split the query) instead of ` +
237
250
  `passing a large logical array.`);
238
- const subResults = items.map((item) => this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope));
239
- const subClauses = subResults.map((r) => r.cypher).filter(Boolean);
240
- if (subClauses.length > 0) {
241
- clauses.push(`(${subClauses.join(` ${key} `)})`);
242
- for (const r of subResults)
243
- (0, validation_1.mergeParams)(params, r.params);
251
+ // Pass `params` as the shared target so leaf writes go straight
252
+ // into our accumulator. The mergeParams call below becomes a
253
+ // no-op because every sub.params IS our params, but we keep
254
+ // the loop for legacy callers that might one day call this
255
+ // method with paramsTarget undefined at intermediate levels.
256
+ const subClauses = [];
257
+ for (const item of items) {
258
+ const sub = this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope, params);
259
+ if (sub.cypher)
260
+ subClauses.push(sub.cypher);
244
261
  }
262
+ if (subClauses.length > 0)
263
+ clauses.push(`(${subClauses.join(` ${key} `)})`);
245
264
  continue;
246
265
  }
247
266
  if (key === 'NOT') {
@@ -250,11 +269,9 @@ class WhereCompiler {
250
269
  continue;
251
270
  if (!(0, validation_1.isPlainObject)(value))
252
271
  throw new errors_1.OGMError(`NOT operator requires an object value.`);
253
- const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope);
254
- if (sub.cypher) {
272
+ const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope, params);
273
+ if (sub.cypher)
255
274
  clauses.push(`NOT (${sub.cypher})`);
256
- (0, validation_1.mergeParams)(params, sub.params);
257
- }
258
275
  continue;
259
276
  }
260
277
  // Handle null values: relationship null → NOT EXISTS, scalar null → IS NULL
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.js","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"where.compiler.js","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-mapper.d.ts","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAU1B;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO;CAsErE"}
1
+ {"version":3,"file":"result-mapper.d.ts","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAU1B;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO;CAoFrE"}
@@ -87,10 +87,24 @@ class ResultMapper {
87
87
  // Neo4j Path → not supported
88
88
  if (value instanceof neo4j_driver_1.default.types.Path)
89
89
  throw new errors_1.OGMError('Path type conversion is not supported');
90
- // Plain object → recurse on values (use Object.create(null) to prevent prototype pollution)
90
+ // Plain object → recurse on values. The `Object.create(null)` is a
91
+ // defensive measure against prototype pollution: even if a malicious
92
+ // input tried to set `__proto__`, the resulting object has no
93
+ // prototype chain to pollute. The defensive guard stays.
94
+ //
95
+ // The iteration shape changed in v1.8.0: pre-1.8.0 we used
96
+ // `Object.entries(value)` which allocates a fresh `[key, value][]`
97
+ // pair array PLUS the result object — two allocations per visit.
98
+ // For a result with 16 nested objects (a typical 10-row relationship
99
+ // result), that's 32 allocations per Cypher row. The `for...in` +
100
+ // `hasOwnProperty` form avoids the pair array allocation. We still
101
+ // use `hasOwnProperty.call(value, key)` rather than `value.hasOwnProperty(key)`
102
+ // because the latter would fail on `Object.create(null)` inputs.
91
103
  const result = Object.create(null);
92
- for (const [key, val] of Object.entries(value))
93
- result[key] = ResultMapper.convertNeo4jTypes(val, depth + 1);
104
+ const obj = value;
105
+ for (const key in obj)
106
+ if (Object.prototype.hasOwnProperty.call(obj, key))
107
+ result[key] = ResultMapper.convertNeo4jTypes(obj[key], depth + 1);
94
108
  return result;
95
109
  }
96
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"result-mapper.js","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-mapper.js","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,13 @@ export declare function assertSafeIdentifier(value: string, context: string): vo
12
12
  * Wraps in backticks and doubles any existing backticks inside.
13
13
  * This handles Cypher reserved words (ORDER, MATCH, SET, CALL, etc.)
14
14
  * since backtick-quoted identifiers bypass keyword interpretation.
15
+ *
16
+ * v1.8.0 fast path: identifiers in well-formed schemas effectively
17
+ * never contain backticks. Skipping the regex-replace + intermediate
18
+ * string allocation in that case shaves ~7ns per call. Multiplied by
19
+ * the dozens of escapeIdentifier calls inside a single compile (every
20
+ * relationship type, every label, every property name), it adds up at
21
+ * high QPS.
15
22
  */
16
23
  export declare function escapeIdentifier(identifier: string): string;
17
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKhE;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAMrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKhE;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAMrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
@@ -32,8 +32,17 @@ function assertSafeIdentifier(value, context) {
32
32
  * Wraps in backticks and doubles any existing backticks inside.
33
33
  * This handles Cypher reserved words (ORDER, MATCH, SET, CALL, etc.)
34
34
  * since backtick-quoted identifiers bypass keyword interpretation.
35
+ *
36
+ * v1.8.0 fast path: identifiers in well-formed schemas effectively
37
+ * never contain backticks. Skipping the regex-replace + intermediate
38
+ * string allocation in that case shaves ~7ns per call. Multiplied by
39
+ * the dozens of escapeIdentifier calls inside a single compile (every
40
+ * relationship type, every label, every property name), it adds up at
41
+ * high QPS.
35
42
  */
36
43
  function escapeIdentifier(identifier) {
44
+ if (identifier.indexOf('`') === -1)
45
+ return `\`${identifier}\``;
37
46
  const sanitized = identifier.replace(/`/g, '``');
38
47
  return `\`${sanitized}\``;
39
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":";;AAQA,sCAKC;AASD,oDAKC;AAQD,4CAGC;AAKD,0CAGC;AAKD,kDAMC;AAMD,sCAIC;AASD,kCAMC;AAlFD,sCAAqC;AAErC,uEAAuE;AACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAW,EAAE,OAAe;IACxD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QACvB,MAAM,IAAI,iBAAQ,CAChB,8BAA8B,GAAG,QAAQ,OAAO,4BAA4B,CAC7E,CAAC;AACN,CAAC;AAED,yCAAyC;AACzC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAa,EAAE,OAAe;IACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,iBAAQ,CAChB,uBAAuB,KAAK,QAAQ,OAAO,sDAAsD,CAClG,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,SAAS,IAAI,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;QAC7C,MAAM,IAAI,iBAAQ,CAChB,2BAA2B,SAAS,6BAA6B,CAClE,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CACzB,MAA+B,EAC/B,MAA2C;IAE3C,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":";;AAQA,sCAKC;AASD,oDAKC;AAeD,4CAIC;AAKD,0CAGC;AAKD,kDAMC;AAMD,sCAIC;AASD,kCAMC;AA1FD,sCAAqC;AAErC,uEAAuE;AACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,SAAgB,aAAa,CAAC,GAAW,EAAE,OAAe;IACxD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QACvB,MAAM,IAAI,iBAAQ,CAChB,8BAA8B,GAAG,QAAQ,OAAO,4BAA4B,CAC7E,CAAC;AACN,CAAC;AAED,yCAAyC;AACzC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAa,EAAE,OAAe;IACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,iBAAQ,CAChB,uBAAuB,KAAK,QAAQ,OAAO,sDAAsD,CAClG,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,UAAU,IAAI,CAAC;IAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,SAAS,IAAI,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;QAC7C,MAAM,IAAI,iBAAQ,CAChB,2BAA2B,SAAS,6BAA6B,CAClE,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CACzB,MAA+B,EAC/B,MAA2C;IAE3C,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAezB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAqDD,KAAK,cAAc,GAAG,MAAM,CAAC;AA4B7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,WAAW,CAAU;gBAGnB,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAMhC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAiB,EAC9C,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC;;;;;;;;;;WAUG;QACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACrC,GACA,WAAW;IA2Cd;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,iBAAiB;IA4KzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyH5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAqHnC,OAAO,CAAC,sBAAsB;IA2I9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmF/B"}
1
+ {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,cAAc,EAGd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAezB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAqDD,KAAK,cAAc,GAAG,MAAM,CAAC;AA4B7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,WAAW,CAAU;gBAGnB,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAMhC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAiB,EAC9C,OAAO,CAAC,EAAE;QACR;;;;;WAKG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC;;;;;;;;;;WAUG;QACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACrC,GACA,WAAW;IA2Cd;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuJ3B,OAAO,CAAC,iBAAiB;IA4LzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyH5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAqHnC,OAAO,CAAC,sBAAsB;IA2I9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmF/B"}
@@ -211,14 +211,27 @@ export class WhereCompiler {
211
211
  ? permClause
212
212
  : `(${permClause} AND ${restClause})`;
213
213
  }
214
- compileConditions(where, nodeVar, nodeDef, counter, depth, scope) {
214
+ compileConditions(where, nodeVar, nodeDef, counter, depth, scope,
215
+ /**
216
+ * Optional shared params accumulator. When provided, every leaf
217
+ * write goes directly into this object instead of allocating a
218
+ * fresh `{}` per recursion frame and merging via `Object.assign`.
219
+ * Pre-1.8.0 every AND/OR/NOT branch allocated its own params Map,
220
+ * we then `mergeParams`'d it into the parent — for a 5-frame deep
221
+ * recursion that's 5 fresh objects + 5 Object.assign walks. Now
222
+ * deep recursions write into a single owner object. Public callers
223
+ * keep the old contract (no arg → fresh Map allocated locally).
224
+ */
225
+ paramsTarget) {
215
226
  if (depth > MAX_DEPTH)
216
227
  throw new OGMError(`WHERE clause nesting depth exceeds maximum (${MAX_DEPTH})`);
217
228
  if (where == null)
218
- return { cypher: '', params: {} };
229
+ return { cypher: '', params: paramsTarget ?? {} };
219
230
  const caseInsensitive = where.mode === 'insensitive';
220
231
  const clauses = [];
221
- const params = {};
232
+ // Reuse the caller's params accumulator when provided. Otherwise
233
+ // own a fresh Map (the top-level entry point case).
234
+ const params = paramsTarget ?? {};
222
235
  for (const [key, value] of Object.entries(where)) {
223
236
  if (value === undefined)
224
237
  continue;
@@ -232,13 +245,19 @@ export class WhereCompiler {
232
245
  throw new OGMError(`${key} array length ${items.length} exceeds the maximum of ${MAX_LOGICAL_ARRAY_LENGTH}. ` +
233
246
  `Restructure the predicate (e.g. use _IN for value lists, or split the query) instead of ` +
234
247
  `passing a large logical array.`);
235
- const subResults = items.map((item) => this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope));
236
- const subClauses = subResults.map((r) => r.cypher).filter(Boolean);
237
- if (subClauses.length > 0) {
238
- clauses.push(`(${subClauses.join(` ${key} `)})`);
239
- for (const r of subResults)
240
- mergeParams(params, r.params);
248
+ // Pass `params` as the shared target so leaf writes go straight
249
+ // into our accumulator. The mergeParams call below becomes a
250
+ // no-op because every sub.params IS our params, but we keep
251
+ // the loop for legacy callers that might one day call this
252
+ // method with paramsTarget undefined at intermediate levels.
253
+ const subClauses = [];
254
+ for (const item of items) {
255
+ const sub = this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope, params);
256
+ if (sub.cypher)
257
+ subClauses.push(sub.cypher);
241
258
  }
259
+ if (subClauses.length > 0)
260
+ clauses.push(`(${subClauses.join(` ${key} `)})`);
242
261
  continue;
243
262
  }
244
263
  if (key === 'NOT') {
@@ -247,11 +266,9 @@ export class WhereCompiler {
247
266
  continue;
248
267
  if (!isPlainObject(value))
249
268
  throw new OGMError(`NOT operator requires an object value.`);
250
- const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope);
251
- if (sub.cypher) {
269
+ const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope, params);
270
+ if (sub.cypher)
252
271
  clauses.push(`NOT (${sub.cypher})`);
253
- mergeParams(params, sub.params);
254
- }
255
272
  continue;
256
273
  }
257
274
  // Handle null values: relationship null → NOT EXISTS, scalar null → IS NULL
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.js","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"where.compiler.js","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-mapper.d.ts","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAU1B;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO;CAsErE"}
1
+ {"version":3,"file":"result-mapper.d.ts","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAU1B;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO;CAoFrE"}
@@ -81,10 +81,24 @@ export class ResultMapper {
81
81
  // Neo4j Path → not supported
82
82
  if (value instanceof neo4j.types.Path)
83
83
  throw new OGMError('Path type conversion is not supported');
84
- // Plain object → recurse on values (use Object.create(null) to prevent prototype pollution)
84
+ // Plain object → recurse on values. The `Object.create(null)` is a
85
+ // defensive measure against prototype pollution: even if a malicious
86
+ // input tried to set `__proto__`, the resulting object has no
87
+ // prototype chain to pollute. The defensive guard stays.
88
+ //
89
+ // The iteration shape changed in v1.8.0: pre-1.8.0 we used
90
+ // `Object.entries(value)` which allocates a fresh `[key, value][]`
91
+ // pair array PLUS the result object — two allocations per visit.
92
+ // For a result with 16 nested objects (a typical 10-row relationship
93
+ // result), that's 32 allocations per Cypher row. The `for...in` +
94
+ // `hasOwnProperty` form avoids the pair array allocation. We still
95
+ // use `hasOwnProperty.call(value, key)` rather than `value.hasOwnProperty(key)`
96
+ // because the latter would fail on `Object.create(null)` inputs.
85
97
  const result = Object.create(null);
86
- for (const [key, val] of Object.entries(value))
87
- result[key] = ResultMapper.convertNeo4jTypes(val, depth + 1);
98
+ const obj = value;
99
+ for (const key in obj)
100
+ if (Object.prototype.hasOwnProperty.call(obj, key))
101
+ result[key] = ResultMapper.convertNeo4jTypes(obj[key], depth + 1);
88
102
  return result;
89
103
  }
90
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"result-mapper.js","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACd,MAAmB,EACnB,SAAkB;QAElB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAA4B,CAAC;QAC1E,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAA4B,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,OAAsB,EACtB,SAAkB;QAElB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAc,EAAE,QAAgB,CAAC;QACxD,4DAA4D;QAC5D,IAAI,KAAK,GAAG,EAAE;YACZ,MAAM,IAAI,QAAQ,CAChB,sGAAsG,CACvG,CAAC;QAEJ,4BAA4B;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAExD,uDAAuD;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5C,+DAA+D;QAC/D,kEAAkE;QAClE,gEAAgE;QAChE,iEAAiE;QACjE,mEAAmE;QACnE,gEAAgE;QAChE,qCAAqC;QACrC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YACpB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEnE,6DAA6D;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAChD,CAAC;QAEJ,oCAAoC;QACpC,IACE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC;YAC5B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YACxB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YAEvB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAE1B,6BAA6B;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAA4B;gBACrC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YACF,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sCAAsC;QACtC,IAAI,KAAK,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI;YACnC,OAAO,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAErE,8CAA8C;QAC9C,IAAI,KAAK,YAAY,KAAK,CAAC,KAAK,CAAC,YAAY;YAC3C,OAAO,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAErE,6BAA6B;QAC7B,IAAI,KAAK,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI;YACnC,MAAM,IAAI,QAAQ,CAAC,uCAAuC,CAAC,CAAC;QAE9D,4FAA4F;QAC5F,MAAM,MAAM,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"result-mapper.js","sourceRoot":"","sources":["../../../src/execution/result-mapper.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,13 @@ export declare function assertSafeIdentifier(value: string, context: string): vo
12
12
  * Wraps in backticks and doubles any existing backticks inside.
13
13
  * This handles Cypher reserved words (ORDER, MATCH, SET, CALL, etc.)
14
14
  * since backtick-quoted identifiers bypass keyword interpretation.
15
+ *
16
+ * v1.8.0 fast path: identifiers in well-formed schemas effectively
17
+ * never contain backticks. Skipping the regex-replace + intermediate
18
+ * string allocation in that case shaves ~7ns per call. Multiplied by
19
+ * the dozens of escapeIdentifier calls inside a single compile (every
20
+ * relationship type, every label, every property name), it adds up at
21
+ * high QPS.
15
22
  */
16
23
  export declare function escapeIdentifier(identifier: string): string;
17
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKhE;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAMrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKhE;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAMrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
@@ -23,8 +23,17 @@ export function assertSafeIdentifier(value, context) {
23
23
  * Wraps in backticks and doubles any existing backticks inside.
24
24
  * This handles Cypher reserved words (ORDER, MATCH, SET, CALL, etc.)
25
25
  * since backtick-quoted identifiers bypass keyword interpretation.
26
+ *
27
+ * v1.8.0 fast path: identifiers in well-formed schemas effectively
28
+ * never contain backticks. Skipping the regex-replace + intermediate
29
+ * string allocation in that case shaves ~7ns per call. Multiplied by
30
+ * the dozens of escapeIdentifier calls inside a single compile (every
31
+ * relationship type, every label, every property name), it adds up at
32
+ * high QPS.
26
33
  */
27
34
  export function escapeIdentifier(identifier) {
35
+ if (identifier.indexOf('`') === -1)
36
+ return `\`${identifier}\``;
28
37
  const sanitized = identifier.replace(/`/g, '``');
29
38
  return `\`${sanitized}\``;
30
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,uEAAuE;AACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAe;IACxD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QACvB,MAAM,IAAI,QAAQ,CAChB,8BAA8B,GAAG,QAAQ,OAAO,4BAA4B,CAC7E,CAAC;AACN,CAAC;AAED,yCAAyC;AACzC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,OAAe;IACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAChB,uBAAuB,KAAK,QAAQ,OAAO,sDAAsD,CAClG,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,SAAS,IAAI,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;QAC7C,MAAM,IAAI,QAAQ,CAChB,2BAA2B,SAAS,6BAA6B,CAClE,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA+B,EAC/B,MAA2C;IAE3C,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,uEAAuE;AACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAe;IACxD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QACvB,MAAM,IAAI,QAAQ,CAChB,8BAA8B,GAAG,QAAQ,OAAO,4BAA4B,CAC7E,CAAC;AACN,CAAC;AAED,yCAAyC;AACzC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,OAAe;IACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAChB,uBAAuB,KAAK,QAAQ,OAAO,sDAAsD,CAClG,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,UAAU,IAAI,CAAC;IAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,SAAS,IAAI,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;QAC7C,MAAM,IAAI,QAAQ,CAChB,2BAA2B,SAAS,6BAA6B,CAClE,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA+B,EAC/B,MAA2C;IAE3C,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grafeo-ogm",
3
- "version": "1.7.5",
3
+ "version": "1.8.0",
4
4
  "description": "Type-safe Neo4j ORM / OGM for TypeScript. Define your graph in GraphQL SDL, get fully typed Prisma-like CRUD, optimized Cypher, and zero-config code generation. Community successor to @neo4j/graphql-ogm.",
5
5
  "license": "MIT",
6
6
  "author": "Alejandro Guzman",
@@ -85,6 +85,7 @@
85
85
  "lint:fix": "eslint src/ --fix",
86
86
  "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
87
87
  "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
88
+ "bench": "ts-node --project bench/tsconfig.json bench/index.ts",
88
89
  "prepublishOnly": "pnpm run build"
89
90
  },
90
91
  "dependencies": {
@@ -107,6 +108,7 @@
107
108
  "eslint-plugin-prettier": "^5.5.5",
108
109
  "globals": "^16.5.0",
109
110
  "jest": "^29.0.0",
111
+ "mitata": "^1.0.34",
110
112
  "prettier": "^3.8.1",
111
113
  "ts-jest": "^29.0.0",
112
114
  "ts-node": "^10.9.2",