grafeo-ogm 1.4.0 → 1.6.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +106 -2
  3. package/dist/cjs/compilers/mutation.compiler.d.ts +3 -0
  4. package/dist/cjs/compilers/mutation.compiler.d.ts.map +1 -1
  5. package/dist/cjs/compilers/mutation.compiler.js +8 -0
  6. package/dist/cjs/compilers/mutation.compiler.js.map +1 -1
  7. package/dist/cjs/compilers/selection.compiler.d.ts +11 -1
  8. package/dist/cjs/compilers/selection.compiler.d.ts.map +1 -1
  9. package/dist/cjs/compilers/selection.compiler.js +33 -1
  10. package/dist/cjs/compilers/selection.compiler.js.map +1 -1
  11. package/dist/cjs/compilers/where.compiler.d.ts +34 -0
  12. package/dist/cjs/compilers/where.compiler.d.ts.map +1 -1
  13. package/dist/cjs/compilers/where.compiler.js +90 -25
  14. package/dist/cjs/compilers/where.compiler.js.map +1 -1
  15. package/dist/cjs/generator/type-emitters/sort-options-emitter.d.ts +2 -1
  16. package/dist/cjs/generator/type-emitters/sort-options-emitter.d.ts.map +1 -1
  17. package/dist/cjs/generator/type-emitters/sort-options-emitter.js +43 -20
  18. package/dist/cjs/generator/type-emitters/sort-options-emitter.js.map +1 -1
  19. package/dist/cjs/interface-model.d.ts.map +1 -1
  20. package/dist/cjs/interface-model.js +46 -20
  21. package/dist/cjs/interface-model.js.map +1 -1
  22. package/dist/cjs/model.d.ts +3 -0
  23. package/dist/cjs/model.d.ts.map +1 -1
  24. package/dist/cjs/model.js +109 -37
  25. package/dist/cjs/model.js.map +1 -1
  26. package/dist/cjs/schema/parser.d.ts.map +1 -1
  27. package/dist/cjs/schema/parser.js +8 -0
  28. package/dist/cjs/schema/parser.js.map +1 -1
  29. package/dist/cjs/schema/types.d.ts +2 -0
  30. package/dist/cjs/schema/types.d.ts.map +1 -1
  31. package/dist/cjs/utils/cypher-field-projection.d.ts +64 -0
  32. package/dist/cjs/utils/cypher-field-projection.d.ts.map +1 -0
  33. package/dist/cjs/utils/cypher-field-projection.js +102 -0
  34. package/dist/cjs/utils/cypher-field-projection.js.map +1 -0
  35. package/dist/cjs/utils/cypher-sort-projection.d.ts +44 -0
  36. package/dist/cjs/utils/cypher-sort-projection.d.ts.map +1 -0
  37. package/dist/cjs/utils/cypher-sort-projection.js +79 -0
  38. package/dist/cjs/utils/cypher-sort-projection.js.map +1 -0
  39. package/dist/esm/compilers/mutation.compiler.d.ts +3 -0
  40. package/dist/esm/compilers/mutation.compiler.d.ts.map +1 -1
  41. package/dist/esm/compilers/mutation.compiler.js +8 -0
  42. package/dist/esm/compilers/mutation.compiler.js.map +1 -1
  43. package/dist/esm/compilers/selection.compiler.d.ts +11 -1
  44. package/dist/esm/compilers/selection.compiler.d.ts.map +1 -1
  45. package/dist/esm/compilers/selection.compiler.js +33 -1
  46. package/dist/esm/compilers/selection.compiler.js.map +1 -1
  47. package/dist/esm/compilers/where.compiler.d.ts +34 -0
  48. package/dist/esm/compilers/where.compiler.d.ts.map +1 -1
  49. package/dist/esm/compilers/where.compiler.js +90 -25
  50. package/dist/esm/compilers/where.compiler.js.map +1 -1
  51. package/dist/esm/generator/type-emitters/sort-options-emitter.d.ts +2 -1
  52. package/dist/esm/generator/type-emitters/sort-options-emitter.d.ts.map +1 -1
  53. package/dist/esm/generator/type-emitters/sort-options-emitter.js +43 -20
  54. package/dist/esm/generator/type-emitters/sort-options-emitter.js.map +1 -1
  55. package/dist/esm/interface-model.d.ts.map +1 -1
  56. package/dist/esm/interface-model.js +47 -21
  57. package/dist/esm/interface-model.js.map +1 -1
  58. package/dist/esm/model.d.ts +3 -0
  59. package/dist/esm/model.d.ts.map +1 -1
  60. package/dist/esm/model.js +110 -38
  61. package/dist/esm/model.js.map +1 -1
  62. package/dist/esm/schema/parser.d.ts.map +1 -1
  63. package/dist/esm/schema/parser.js +8 -0
  64. package/dist/esm/schema/parser.js.map +1 -1
  65. package/dist/esm/schema/types.d.ts +2 -0
  66. package/dist/esm/schema/types.d.ts.map +1 -1
  67. package/dist/esm/utils/cypher-field-projection.d.ts +64 -0
  68. package/dist/esm/utils/cypher-field-projection.d.ts.map +1 -0
  69. package/dist/esm/utils/cypher-field-projection.js +97 -0
  70. package/dist/esm/utils/cypher-field-projection.js.map +1 -0
  71. package/dist/esm/utils/cypher-sort-projection.d.ts +44 -0
  72. package/dist/esm/utils/cypher-sort-projection.d.ts.map +1 -0
  73. package/dist/esm/utils/cypher-sort-projection.js +75 -0
  74. package/dist/esm/utils/cypher-sort-projection.js.map +1 -0
  75. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"selection.compiler.js","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.compiler.js","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,18 @@ import { NodeDefinition, SchemaMetadata } from '../schema/types';
2
2
  export interface WhereResult {
3
3
  cypher: string;
4
4
  params: Record<string, unknown>;
5
+ /**
6
+ * Pre-WHERE lines (`CALL { ... }` + `WITH ...` pairs) needed to resolve
7
+ * any `@cypher` scalar fields referenced at the TOP level of this where
8
+ * input. The caller MUST emit these between the MATCH and the WHERE
9
+ * clause; otherwise the compiled body references aliases that are not
10
+ * in scope and Neo4j will fail.
11
+ *
12
+ * Preludes for nested scopes (e.g. `r0` inside a `_SOME` quantifier)
13
+ * are stitched directly into the EXISTS body inside `cypher` — the
14
+ * caller never has to handle those.
15
+ */
16
+ preludes?: string[];
5
17
  }
6
18
  type OperatorSuffix = string;
7
19
  export interface WhereCompilerOptions {
@@ -17,8 +29,23 @@ export declare class WhereCompiler {
17
29
  constructor(schema: SchemaMetadata, options?: WhereCompilerOptions);
18
30
  compile(where: Record<string, unknown> | undefined | null, nodeVar: string, nodeDef: NodeDefinition, paramCounter?: {
19
31
  count: number;
32
+ }, options?: {
33
+ /**
34
+ * Vars already in the surrounding pipeline that every emitted `WITH`
35
+ * must carry forward (e.g. `score` for vector search, `__typename`
36
+ * for `InterfaceModel`). Without this, the WITH inside the prelude
37
+ * would drop those vars and downstream RETURN/ORDER BY breaks.
38
+ */
39
+ preserveVars?: ReadonlyArray<string>;
20
40
  }): WhereResult;
21
41
  private compileConditions;
42
+ /**
43
+ * Resolve the Cypher reference for a where-clause field. For stored
44
+ * properties this is `<nodeVar>.<field>`. For `@cypher` scalar fields,
45
+ * the field is registered in the scope (creating a CALL prelude on the
46
+ * first reference) and the alias is returned.
47
+ */
48
+ private resolveFieldRef;
22
49
  private tryCompileConnection;
23
50
  private tryCompileRelationship;
24
51
  /**
@@ -29,6 +56,13 @@ export declare class WhereCompiler {
29
56
  */
30
57
  private compileUnionRelationship;
31
58
  private compileEdgeConditions;
59
+ /**
60
+ * Compile a scalar where-condition. If `fieldName` resolves to a
61
+ * `@cypher` scalar property and `scope` is provided, the field is
62
+ * registered in the scope (producing a CALL prelude on first use) and
63
+ * the alias is used in the predicate. Otherwise the predicate is
64
+ * compiled against `<nodeVar>.<field>` as before.
65
+ */
32
66
  private compileScalarCondition;
33
67
  }
34
68
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAEd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAczB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AA0CD,KAAK,cAAc,GAAG,MAAM,CAAC;AAgB7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,MAAM;IAHhB,OAAO,CAAC,iBAAiB,CAAsB;gBAGrC,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAKhC,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,GAC7C,WAAW;IAOd,OAAO,CAAC,iBAAiB;IAoIzB,OAAO,CAAC,oBAAoB;IAiH5B,OAAO,CAAC,sBAAsB;IA4G9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA+EhC,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,sBAAsB;CA4D/B"}
1
+ {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"AACA,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;AA0CD,KAAK,cAAc,GAAG,MAAM,CAAC;AAgB7B,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,MAAM;IAHhB,OAAO,CAAC,iBAAiB,CAAsB;gBAGrC,MAAM,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,oBAAoB;IAKhC,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;KACtC,GACA,WAAW;IA6Bd,OAAO,CAAC,iBAAiB;IAiJzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,oBAAoB;IAyI5B,OAAO,CAAC,sBAAsB;IA2H9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAsFhC,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CAmE/B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WhereCompiler = void 0;
4
4
  const errors_1 = require("../errors");
5
5
  const utils_1 = require("../schema/utils");
6
+ const cypher_field_projection_1 = require("../utils/cypher-field-projection");
6
7
  const validation_1 = require("../utils/validation");
7
8
  const MAX_DEPTH = 10;
8
9
  /**
@@ -46,12 +47,23 @@ class WhereCompiler {
46
47
  this.schema = schema;
47
48
  this.disabledOperators = options?.disabledOperators ?? new Set();
48
49
  }
49
- compile(where, nodeVar, nodeDef, paramCounter = { count: 0 }) {
50
+ compile(where, nodeVar, nodeDef, paramCounter = { count: 0 }, options) {
50
51
  if (where == null || Object.keys(where).length === 0)
51
52
  return { cypher: '', params: {} };
52
- return this.compileConditions(where, nodeVar, nodeDef, paramCounter, 0);
53
+ // Top-level scope — preludes here are returned to the caller for stitching
54
+ // BEFORE the WHERE clause. Nested scopes (relationship quantifiers) build
55
+ // their own scopes and stitch their preludes into the EXISTS body inline.
56
+ const scope = new cypher_field_projection_1.CypherFieldScope(nodeVar, options?.preserveVars ?? [], '__where');
57
+ const inner = this.compileConditions(where, nodeVar, nodeDef, paramCounter, 0, scope);
58
+ const result = {
59
+ cypher: inner.cypher,
60
+ params: inner.params,
61
+ };
62
+ if (scope.hasAny())
63
+ result.preludes = scope.emit();
64
+ return result;
53
65
  }
54
- compileConditions(where, nodeVar, nodeDef, counter, depth) {
66
+ compileConditions(where, nodeVar, nodeDef, counter, depth, scope) {
55
67
  if (depth > MAX_DEPTH)
56
68
  throw new errors_1.OGMError(`WHERE clause nesting depth exceeds maximum (${MAX_DEPTH})`);
57
69
  if (where == null)
@@ -68,7 +80,7 @@ class WhereCompiler {
68
80
  // Logical operators (check before null handling so NOT with null value is handled correctly)
69
81
  if (key === 'AND' || key === 'OR') {
70
82
  const items = value;
71
- const subResults = items.map((item) => this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1));
83
+ const subResults = items.map((item) => this.compileConditions(item, nodeVar, nodeDef, counter, depth + 1, scope));
72
84
  const subClauses = subResults.map((r) => r.cypher).filter(Boolean);
73
85
  if (subClauses.length > 0) {
74
86
  clauses.push(`(${subClauses.join(` ${key} `)})`);
@@ -83,7 +95,7 @@ class WhereCompiler {
83
95
  continue;
84
96
  if (!(0, validation_1.isPlainObject)(value))
85
97
  throw new errors_1.OGMError(`NOT operator requires an object value.`);
86
- const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1);
98
+ const sub = this.compileConditions(value, nodeVar, nodeDef, counter, depth + 1, scope);
87
99
  if (sub.cypher) {
88
100
  clauses.push(`NOT (${sub.cypher})`);
89
101
  (0, validation_1.mergeParams)(params, sub.params);
@@ -109,9 +121,11 @@ class WhereCompiler {
109
121
  }
110
122
  }
111
123
  else {
112
- // Scalar null means "property IS NULL"
124
+ // Scalar null means "property IS NULL". `@cypher` scalars need
125
+ // to project through the scope first (NULL check on the alias).
113
126
  (0, validation_1.assertSafeIdentifier)(key, 'where clause');
114
- clauses.push(`${nodeVar}.${(0, validation_1.escapeIdentifier)(key)} IS NULL`);
127
+ const fieldRef = this.resolveFieldRef(key, nodeVar, nodeDef, scope);
128
+ clauses.push(`${fieldRef} IS NULL`);
115
129
  }
116
130
  continue;
117
131
  }
@@ -130,7 +144,7 @@ class WhereCompiler {
130
144
  continue;
131
145
  }
132
146
  // Scalar property operators
133
- const scalarResult = this.compileScalarCondition(key, value, nodeVar, counter, caseInsensitive);
147
+ const scalarResult = this.compileScalarCondition(key, value, nodeVar, nodeDef, scope, counter, caseInsensitive);
134
148
  clauses.push(scalarResult.cypher);
135
149
  (0, validation_1.mergeParams)(params, scalarResult.params);
136
150
  }
@@ -139,6 +153,18 @@ class WhereCompiler {
139
153
  params,
140
154
  };
141
155
  }
156
+ /**
157
+ * Resolve the Cypher reference for a where-clause field. For stored
158
+ * properties this is `<nodeVar>.<field>`. For `@cypher` scalar fields,
159
+ * the field is registered in the scope (creating a CALL prelude on the
160
+ * first reference) and the alias is returned.
161
+ */
162
+ resolveFieldRef(fieldName, nodeVar, propsHolder, scope) {
163
+ const propDef = propsHolder?.properties.get(fieldName);
164
+ if (scope && propDef?.isCypher && propDef.cypherStatement)
165
+ return scope.register(fieldName, propDef);
166
+ return `${nodeVar}.${(0, validation_1.escapeIdentifier)(fieldName)}`;
167
+ }
142
168
  tryCompileConnection(key, value, nodeVar, nodeDef, counter, depth) {
143
169
  let connSuffix = null;
144
170
  let fieldName = '';
@@ -169,9 +195,15 @@ class WhereCompiler {
169
195
  });
170
196
  const innerClauses = [];
171
197
  const innerParams = {};
198
+ // Inner scopes for any `@cypher` projections referenced inside the
199
+ // EXISTS body. Node-side and edge-side get separate scopes so their
200
+ // alias namespaces are distinct (and so that no edge variable carries
201
+ // node aliases or vice-versa).
202
+ const nodeScope = new cypher_field_projection_1.CypherFieldScope(relVar, [], '__where');
203
+ const edgeScope = new cypher_field_projection_1.CypherFieldScope(edgeVar, [], '__where');
172
204
  // node conditions
173
205
  if (value.node) {
174
- const nodeResult = this.compileConditions(value.node, relVar, targetNodeDef, counter, depth + 1);
206
+ const nodeResult = this.compileConditions(value.node, relVar, targetNodeDef, counter, depth + 1, nodeScope);
175
207
  if (nodeResult.cypher) {
176
208
  innerClauses.push(nodeResult.cypher);
177
209
  (0, validation_1.mergeParams)(innerParams, nodeResult.params);
@@ -181,36 +213,48 @@ class WhereCompiler {
181
213
  if (value.edge && relDef.properties) {
182
214
  const propsDef = this.schema.relationshipProperties.get(relDef.properties);
183
215
  if (propsDef) {
184
- // Build a pseudo NodeDefinition for edge property compilation
185
- const edgeResult = this.compileEdgeConditions(value.edge, edgeVar, counter);
216
+ const edgeResult = this.compileEdgeConditions(value.edge, edgeVar, propsDef, edgeScope, counter);
186
217
  if (edgeResult.cypher) {
187
218
  innerClauses.push(edgeResult.cypher);
188
219
  (0, validation_1.mergeParams)(innerParams, edgeResult.params);
189
220
  }
190
221
  }
191
222
  }
223
+ // Stitch the inner preludes (CALL { ... } + WITH ...) INSIDE the
224
+ // EXISTS body, between the MATCH pattern and the inner WHERE.
225
+ const innerPreludes = [];
226
+ if (nodeScope.hasAny())
227
+ innerPreludes.push(...nodeScope.emit());
228
+ if (edgeScope.hasAny())
229
+ innerPreludes.push(...edgeScope.emit());
230
+ const preludeFragment = innerPreludes.length
231
+ ? ` ${innerPreludes.join(' ')}`
232
+ : '';
192
233
  const whereClause = innerClauses.length > 0 ? ` WHERE ${innerClauses.join(' AND ')}` : '';
193
234
  switch (connSuffix) {
194
235
  case 'Connection':
195
236
  case 'Connection_SOME':
196
237
  return {
197
- cypher: `EXISTS { MATCH ${pattern}${whereClause} }`,
238
+ cypher: `EXISTS { MATCH ${pattern}${preludeFragment}${whereClause} }`,
198
239
  params: innerParams,
199
240
  };
200
241
  case 'Connection_NOT':
201
242
  case 'Connection_NONE':
202
243
  return {
203
- cypher: `NOT EXISTS { MATCH ${pattern}${whereClause} }`,
244
+ cypher: `NOT EXISTS { MATCH ${pattern}${preludeFragment}${whereClause} }`,
204
245
  params: innerParams,
205
246
  };
206
247
  case 'Connection_ALL':
207
248
  if (innerClauses.length > 0)
208
249
  return {
209
- cypher: `NOT EXISTS { MATCH ${pattern} WHERE NOT (${innerClauses.join(' AND ')}) }`,
250
+ cypher: `NOT EXISTS { MATCH ${pattern}${preludeFragment} WHERE NOT (${innerClauses.join(' AND ')}) }`,
210
251
  params: innerParams,
211
252
  };
212
253
  return { cypher: '', params: {} };
213
254
  case 'Connection_SINGLE':
255
+ if (innerPreludes.length > 0)
256
+ throw new errors_1.OGMError(`Connection_SINGLE filters do not support @cypher fields. ` +
257
+ `Refactor to Connection_SOME + Connection_NONE, or remove the @cypher reference.`);
214
258
  return {
215
259
  cypher: `size([(${pattern}${whereClause} | 1)]) = 1`,
216
260
  params: innerParams,
@@ -258,31 +302,41 @@ class WhereCompiler {
258
302
  targetVar: relVar,
259
303
  targetLabel: 'auto',
260
304
  });
261
- const innerResult = this.compileConditions(value, relVar, targetNodeDef, counter, depth + 1);
305
+ // Inner scope for any `@cypher` fields referenced inside the inner
306
+ // WHERE — preludes are stitched into the EXISTS body.
307
+ const innerScope = new cypher_field_projection_1.CypherFieldScope(relVar, [], '__where');
308
+ const innerResult = this.compileConditions(value, relVar, targetNodeDef, counter, depth + 1, innerScope);
309
+ const innerPreludeFragment = innerScope.hasAny()
310
+ ? ` ${innerScope.emit().join(' ')}`
311
+ : '';
262
312
  const whereClause = innerResult.cypher
263
313
  ? ` WHERE ${innerResult.cypher}`
264
314
  : '';
265
315
  switch (suffix) {
266
316
  case '_SOME':
267
317
  return {
268
- cypher: `EXISTS { MATCH ${pattern}${whereClause} }`,
318
+ cypher: `EXISTS { MATCH ${pattern}${innerPreludeFragment}${whereClause} }`,
269
319
  params: innerResult.params,
270
320
  };
271
321
  case '_NONE':
272
322
  return {
273
- cypher: `NOT EXISTS { MATCH ${pattern}${whereClause} }`,
323
+ cypher: `NOT EXISTS { MATCH ${pattern}${innerPreludeFragment}${whereClause} }`,
274
324
  params: innerResult.params,
275
325
  };
276
326
  case '_ALL':
277
327
  // All matching rels must satisfy: NOT EXISTS { MATCH pattern WHERE NOT (inner) }
278
328
  if (innerResult.cypher)
279
329
  return {
280
- cypher: `NOT EXISTS { MATCH ${pattern} WHERE NOT (${innerResult.cypher}) }`,
330
+ cypher: `NOT EXISTS { MATCH ${pattern}${innerPreludeFragment} WHERE NOT (${innerResult.cypher}) }`,
281
331
  params: innerResult.params,
282
332
  };
283
333
  return { cypher: '', params: {} };
284
334
  case '_SINGLE': {
285
- // Exactly one relationship satisfies
335
+ // Exactly one relationship satisfies. Pattern comprehensions cannot
336
+ // contain CALL { ... } subqueries, so reject `@cypher` fields here.
337
+ if (innerScope.hasAny())
338
+ throw new errors_1.OGMError(`_SINGLE quantifiers do not support filtering by @cypher fields. ` +
339
+ `Refactor the predicate to use _SOME + _NONE, or remove the @cypher reference.`);
286
340
  counter.count++;
287
341
  return {
288
342
  cypher: `size([${relVar} IN [(${pattern}${whereClause} | ${relVar})] | ${relVar}]) = 1`,
@@ -321,14 +375,18 @@ class WhereCompiler {
321
375
  // Compile inner WHERE conditions for this member (if any properties specified)
322
376
  const memberWhere = memberValue;
323
377
  let whereClause = '';
378
+ let preludeFragment = '';
324
379
  if (memberWhere && Object.keys(memberWhere).length > 0) {
325
- const innerResult = this.compileConditions(memberWhere, relVar, memberDef, counter, depth + 1);
380
+ const innerScope = new cypher_field_projection_1.CypherFieldScope(relVar, [], '__where');
381
+ const innerResult = this.compileConditions(memberWhere, relVar, memberDef, counter, depth + 1, innerScope);
326
382
  if (innerResult.cypher) {
327
383
  whereClause = ` WHERE ${innerResult.cypher}`;
328
384
  (0, validation_1.mergeParams)(allParams, innerResult.params);
329
385
  }
386
+ if (innerScope.hasAny())
387
+ preludeFragment = ` ${innerScope.emit().join(' ')}`;
330
388
  }
331
- memberClauses.push(`EXISTS { MATCH ${pattern}${whereClause} }`);
389
+ memberClauses.push(`EXISTS { MATCH ${pattern}${preludeFragment}${whereClause} }`);
332
390
  }
333
391
  if (memberClauses.length === 0)
334
392
  return { cypher: '', params: {} };
@@ -354,12 +412,12 @@ class WhereCompiler {
354
412
  return null;
355
413
  }
356
414
  }
357
- compileEdgeConditions(edgeWhere, edgeVar, counter) {
415
+ compileEdgeConditions(edgeWhere, edgeVar, propsDef, edgeScope, counter) {
358
416
  const clauses = [];
359
417
  const params = {};
360
418
  for (const [key, value] of Object.entries(edgeWhere)) {
361
419
  (0, validation_1.assertSafeKey)(key, 'edge where input');
362
- const result = this.compileScalarCondition(key, value, edgeVar, counter);
420
+ const result = this.compileScalarCondition(key, value, edgeVar, propsDef, edgeScope, counter);
363
421
  clauses.push(result.cypher);
364
422
  (0, validation_1.mergeParams)(params, result.params);
365
423
  }
@@ -368,7 +426,14 @@ class WhereCompiler {
368
426
  params,
369
427
  };
370
428
  }
371
- compileScalarCondition(key, value, nodeVar, counter, caseInsensitive = false) {
429
+ /**
430
+ * Compile a scalar where-condition. If `fieldName` resolves to a
431
+ * `@cypher` scalar property and `scope` is provided, the field is
432
+ * registered in the scope (producing a CALL prelude on first use) and
433
+ * the alias is used in the predicate. Otherwise the predicate is
434
+ * compiled against `<nodeVar>.<field>` as before.
435
+ */
436
+ compileScalarCondition(key, value, nodeVar, propsHolder, scope, counter, caseInsensitive = false) {
372
437
  // Detect operator suffix
373
438
  let operator = null;
374
439
  let fieldName = key;
@@ -383,7 +448,7 @@ class WhereCompiler {
383
448
  throw new errors_1.OGMError(`Operator "${operator}" is disabled. To enable it, set features.filters.String.MATCHES = true in your OGM config.`);
384
449
  const paramName = `param${counter.count}`;
385
450
  counter.count++;
386
- const rawFieldRef = `${nodeVar}.${(0, validation_1.escapeIdentifier)(fieldName)}`;
451
+ const rawFieldRef = this.resolveFieldRef(fieldName, nodeVar, propsHolder, scope);
387
452
  const rawParamRef = `$${paramName}`;
388
453
  if (operator === null) {
389
454
  // Exact match — always CI-aware
@@ -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,7 +1,8 @@
1
1
  import type { SchemaMetadata } from '../../schema/types';
2
2
  /**
3
3
  * For each node and interface in the schema, emits:
4
- * - `<Type>Sort` — one optional `SortDirection` field per non-cypher scalar
4
+ * - `<Type>Sort` — one optional `SortDirection` field per sortable scalar
5
+ * (stored scalars + scalar-returning `@cypher` fields)
5
6
  * - `<Type>Options` — `limit`, `offset`, `sort` for use in find params
6
7
  */
7
8
  export declare function emitSortOptions(schema: SchemaMetadata): string;
@@ -1 +1 @@
1
- {"version":3,"file":"sort-options-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/sort-options-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAe9D"}
1
+ {"version":3,"file":"sort-options-emitter.d.ts","sourceRoot":"","sources":["../../../../src/generator/type-emitters/sort-options-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgB9D"}
@@ -3,27 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.emitSortOptions = emitSortOptions;
4
4
  /**
5
5
  * For each node and interface in the schema, emits:
6
- * - `<Type>Sort` — one optional `SortDirection` field per non-cypher scalar
6
+ * - `<Type>Sort` — one optional `SortDirection` field per sortable scalar
7
+ * (stored scalars + scalar-returning `@cypher` fields)
7
8
  * - `<Type>Options` — `limit`, `offset`, `sort` for use in find params
8
9
  */
9
10
  function emitSortOptions(schema) {
10
11
  const blocks = [];
11
12
  const sortedNodes = [...schema.nodes.entries()].sort(([a], [b]) => a.localeCompare(b));
12
13
  for (const [, node] of sortedNodes)
13
- blocks.push(emitNodeSortAndOptions(node));
14
+ blocks.push(emitNodeSortAndOptions(node, schema));
14
15
  const sortedInterfaces = [...schema.interfaces.entries()].sort(([a], [b]) => a.localeCompare(b));
15
16
  for (const [, iface] of sortedInterfaces)
16
- blocks.push(emitInterfaceSortAndOptions(iface));
17
+ blocks.push(emitInterfaceSortAndOptions(iface, schema));
17
18
  return blocks.join('\n\n');
18
19
  }
19
20
  // ---------------------------------------------------------------------------
20
21
  // Helpers
21
22
  // ---------------------------------------------------------------------------
22
- function emitNodeSortAndOptions(node) {
23
- return emitSortAndOptionsBlock(node.typeName, getSortableProperties(node));
23
+ function emitNodeSortAndOptions(node, schema) {
24
+ return emitSortAndOptionsBlock(node.typeName, getSortableProperties(node.properties, schema));
24
25
  }
25
- function emitInterfaceSortAndOptions(iface) {
26
- return emitSortAndOptionsBlock(iface.name, getInterfaceSortableProperties(iface));
26
+ function emitInterfaceSortAndOptions(iface, schema) {
27
+ return emitSortAndOptionsBlock(iface.name, getSortableProperties(iface.properties, schema));
27
28
  }
28
29
  function emitSortAndOptionsBlock(typeName, sortFields) {
29
30
  const sortMembers = sortFields
@@ -38,25 +39,47 @@ function emitSortAndOptionsBlock(typeName, sortFields) {
38
39
  return `${sortType}\n\n${optionsType}`;
39
40
  }
40
41
  /**
41
- * Returns the names of all scalar (non-relationship, non-cypher) properties
42
- * on a node, preserving the insertion order of the properties map.
42
+ * Returns the names of properties eligible for `ORDER BY`:
43
+ * - Stored scalars (any non-`@cypher` property)
44
+ * - `@cypher` fields whose declared return type is a sortable scalar
45
+ * (skips `Point` / `CartesianPoint` and array returns)
46
+ *
47
+ * Preserves the insertion order of the properties map.
43
48
  */
44
- function getSortableProperties(node) {
49
+ function getSortableProperties(properties, schema) {
45
50
  const names = [];
46
- for (const [name, prop] of node.properties) {
51
+ for (const [name, prop] of properties) {
47
52
  if (prop.isCypher)
48
- continue;
53
+ if (!isCypherSortable(prop, schema))
54
+ continue;
49
55
  names.push(name);
50
56
  }
51
57
  return names;
52
58
  }
53
- function getInterfaceSortableProperties(iface) {
54
- const names = [];
55
- for (const [name, prop] of iface.properties) {
56
- if (prop.isCypher)
57
- continue;
58
- names.push(name);
59
- }
60
- return names;
59
+ /**
60
+ * A `@cypher` field is sortable when it returns a single (non-array)
61
+ * scalar / enum value. Geo types (`Point` / `CartesianPoint`) are excluded
62
+ * because Cypher cannot `ORDER BY` them directly.
63
+ */
64
+ function isCypherSortable(prop, schema) {
65
+ if (prop.isArray)
66
+ return false;
67
+ if (prop.type === 'Point' || prop.type === 'CartesianPoint')
68
+ return false;
69
+ return SORTABLE_SCALARS.has(prop.type) || schema.enums.has(prop.type);
61
70
  }
71
+ const SORTABLE_SCALARS = new Set([
72
+ 'ID',
73
+ 'String',
74
+ 'Int',
75
+ 'Float',
76
+ 'Boolean',
77
+ 'BigInt',
78
+ 'Date',
79
+ 'Time',
80
+ 'LocalTime',
81
+ 'DateTime',
82
+ 'LocalDateTime',
83
+ 'Duration',
84
+ ]);
62
85
  //# sourceMappingURL=sort-options-emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-options-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/sort-options-emitter.ts"],"names":[],"mappings":";;AAWA,0CAeC;AApBD;;;;GAIG;AACH,SAAgB,eAAe,CAAC,MAAsB;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;IACF,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1E,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;IACF,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,gBAAgB;QACtC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,sBAAsB,CAAC,IAAoB;IAClD,OAAO,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,2BAA2B,CAAC,KAA0B;IAC7D,OAAO,uBAAuB,CAC5B,KAAK,CAAC,IAAI,EACV,8BAA8B,CAAC,KAAK,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,UAAoB;IAEpB,MAAM,WAAW,GAAG,UAAU;SAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,+BAA+B,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,eAAe,QAAQ,aAAa,WAAW,MAAM,CAAC;IAEvE,MAAM,WAAW,GAAG,eAAe,QAAQ;;;4BAGjB,QAAQ;GACjC,CAAC;IAEF,OAAO,GAAG,QAAQ,OAAO,WAAW,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAoB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ;YAAE,SAAS;QAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,KAA0B;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ;YAAE,SAAS;QAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"sort-options-emitter.js","sourceRoot":"","sources":["../../../../src/generator/type-emitters/sort-options-emitter.ts"],"names":[],"mappings":"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"}