grafeo-ogm 2.4.6 → 2.4.8

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 (189) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +77 -31
  3. package/dist/cjs/cli/commands/db-push.d.ts.map +1 -1
  4. package/dist/cjs/cli/commands/db-push.js +74 -8
  5. package/dist/cjs/cli/commands/db-push.js.map +1 -1
  6. package/dist/cjs/cli/commands/db-seed.d.ts.map +1 -1
  7. package/dist/cjs/cli/commands/db-seed.js +10 -1
  8. package/dist/cjs/cli/commands/db-seed.js.map +1 -1
  9. package/dist/cjs/cli/introspect.d.ts +2 -2
  10. package/dist/cjs/cli/introspect.d.ts.map +1 -1
  11. package/dist/cjs/cli/introspect.js +70 -3
  12. package/dist/cjs/cli/introspect.js.map +1 -1
  13. package/dist/cjs/cli/push-planner.d.ts +61 -2
  14. package/dist/cjs/cli/push-planner.d.ts.map +1 -1
  15. package/dist/cjs/cli/push-planner.js +182 -17
  16. package/dist/cjs/cli/push-planner.js.map +1 -1
  17. package/dist/cjs/compilers/fulltext.compiler.d.ts.map +1 -1
  18. package/dist/cjs/compilers/fulltext.compiler.js +5 -1
  19. package/dist/cjs/compilers/fulltext.compiler.js.map +1 -1
  20. package/dist/cjs/compilers/mutation.compiler.d.ts +107 -1
  21. package/dist/cjs/compilers/mutation.compiler.d.ts.map +1 -1
  22. package/dist/cjs/compilers/mutation.compiler.js +647 -380
  23. package/dist/cjs/compilers/mutation.compiler.js.map +1 -1
  24. package/dist/cjs/compilers/select-normalizer.d.ts.map +1 -1
  25. package/dist/cjs/compilers/select-normalizer.js +12 -1
  26. package/dist/cjs/compilers/select-normalizer.js.map +1 -1
  27. package/dist/cjs/compilers/selection.compiler.d.ts +40 -0
  28. package/dist/cjs/compilers/selection.compiler.d.ts.map +1 -1
  29. package/dist/cjs/compilers/selection.compiler.js +123 -21
  30. package/dist/cjs/compilers/selection.compiler.js.map +1 -1
  31. package/dist/cjs/compilers/where.compiler.d.ts.map +1 -1
  32. package/dist/cjs/compilers/where.compiler.js +36 -15
  33. package/dist/cjs/compilers/where.compiler.js.map +1 -1
  34. package/dist/cjs/execution/executor.d.ts +34 -9
  35. package/dist/cjs/execution/executor.d.ts.map +1 -1
  36. package/dist/cjs/execution/executor.js +42 -5
  37. package/dist/cjs/execution/executor.js.map +1 -1
  38. package/dist/cjs/execution/result-mapper.d.ts.map +1 -1
  39. package/dist/cjs/execution/result-mapper.js +4 -2
  40. package/dist/cjs/execution/result-mapper.js.map +1 -1
  41. package/dist/cjs/generator/generate-types.d.ts.map +1 -1
  42. package/dist/cjs/generator/generate-types.js +76 -0
  43. package/dist/cjs/generator/generate-types.js.map +1 -1
  44. package/dist/cjs/generator/type-emitters/aggregation-emitter.d.ts.map +1 -1
  45. package/dist/cjs/generator/type-emitters/aggregation-emitter.js +19 -7
  46. package/dist/cjs/generator/type-emitters/aggregation-emitter.js.map +1 -1
  47. package/dist/cjs/generator/type-emitters/input-emitter.js +13 -4
  48. package/dist/cjs/generator/type-emitters/input-emitter.js.map +1 -1
  49. package/dist/cjs/generator/type-emitters/model-map-emitter.d.ts +1 -0
  50. package/dist/cjs/generator/type-emitters/model-map-emitter.d.ts.map +1 -1
  51. package/dist/cjs/generator/type-emitters/model-map-emitter.js +5 -20
  52. package/dist/cjs/generator/type-emitters/model-map-emitter.js.map +1 -1
  53. package/dist/cjs/generator/type-emitters/node-type-emitter.d.ts +3 -0
  54. package/dist/cjs/generator/type-emitters/node-type-emitter.d.ts.map +1 -1
  55. package/dist/cjs/generator/type-emitters/node-type-emitter.js +6 -11
  56. package/dist/cjs/generator/type-emitters/node-type-emitter.js.map +1 -1
  57. package/dist/cjs/generator/type-emitters/select-fields-emitter.js +21 -2
  58. package/dist/cjs/generator/type-emitters/select-fields-emitter.js.map +1 -1
  59. package/dist/cjs/generator/type-emitters/where-emitter.js +3 -3
  60. package/dist/cjs/generator/type-emitters/where-emitter.js.map +1 -1
  61. package/dist/cjs/index.d.ts +1 -1
  62. package/dist/cjs/index.d.ts.map +1 -1
  63. package/dist/cjs/interface-model.d.ts.map +1 -1
  64. package/dist/cjs/interface-model.js +6 -0
  65. package/dist/cjs/interface-model.js.map +1 -1
  66. package/dist/cjs/model.d.ts.map +1 -1
  67. package/dist/cjs/model.js +6 -0
  68. package/dist/cjs/model.js.map +1 -1
  69. package/dist/cjs/ogm.d.ts +22 -2
  70. package/dist/cjs/ogm.d.ts.map +1 -1
  71. package/dist/cjs/ogm.js +42 -5
  72. package/dist/cjs/ogm.js.map +1 -1
  73. package/dist/cjs/policy/nested-writes.d.ts.map +1 -1
  74. package/dist/cjs/policy/nested-writes.js +40 -20
  75. package/dist/cjs/policy/nested-writes.js.map +1 -1
  76. package/dist/cjs/schema/parser.d.ts.map +1 -1
  77. package/dist/cjs/schema/parser.js +94 -16
  78. package/dist/cjs/schema/parser.js.map +1 -1
  79. package/dist/cjs/schema/types.d.ts +1 -1
  80. package/dist/cjs/schema/types.d.ts.map +1 -1
  81. package/dist/cjs/testing/cypher-assert.d.ts.map +1 -1
  82. package/dist/cjs/testing/cypher-assert.js +25 -2
  83. package/dist/cjs/testing/cypher-assert.js.map +1 -1
  84. package/dist/cjs/testing/neo4j-record-factory.d.ts +25 -2
  85. package/dist/cjs/testing/neo4j-record-factory.d.ts.map +1 -1
  86. package/dist/cjs/testing/neo4j-record-factory.js +82 -3
  87. package/dist/cjs/testing/neo4j-record-factory.js.map +1 -1
  88. package/dist/cjs/utils/cypher-field-projection.d.ts +31 -3
  89. package/dist/cjs/utils/cypher-field-projection.d.ts.map +1 -1
  90. package/dist/cjs/utils/cypher-field-projection.js +59 -7
  91. package/dist/cjs/utils/cypher-field-projection.js.map +1 -1
  92. package/dist/cjs/utils/write-coercion.d.ts +18 -0
  93. package/dist/cjs/utils/write-coercion.d.ts.map +1 -1
  94. package/dist/cjs/utils/write-coercion.js +74 -1
  95. package/dist/cjs/utils/write-coercion.js.map +1 -1
  96. package/dist/esm/cli/commands/db-push.d.ts.map +1 -1
  97. package/dist/esm/cli/commands/db-push.js +74 -8
  98. package/dist/esm/cli/commands/db-push.js.map +1 -1
  99. package/dist/esm/cli/commands/db-seed.d.ts.map +1 -1
  100. package/dist/esm/cli/commands/db-seed.js +10 -1
  101. package/dist/esm/cli/commands/db-seed.js.map +1 -1
  102. package/dist/esm/cli/introspect.d.ts +2 -2
  103. package/dist/esm/cli/introspect.d.ts.map +1 -1
  104. package/dist/esm/cli/introspect.js +70 -3
  105. package/dist/esm/cli/introspect.js.map +1 -1
  106. package/dist/esm/cli/push-planner.d.ts +61 -2
  107. package/dist/esm/cli/push-planner.d.ts.map +1 -1
  108. package/dist/esm/cli/push-planner.js +183 -18
  109. package/dist/esm/cli/push-planner.js.map +1 -1
  110. package/dist/esm/compilers/fulltext.compiler.d.ts.map +1 -1
  111. package/dist/esm/compilers/fulltext.compiler.js +5 -1
  112. package/dist/esm/compilers/fulltext.compiler.js.map +1 -1
  113. package/dist/esm/compilers/mutation.compiler.d.ts +107 -1
  114. package/dist/esm/compilers/mutation.compiler.d.ts.map +1 -1
  115. package/dist/esm/compilers/mutation.compiler.js +644 -380
  116. package/dist/esm/compilers/mutation.compiler.js.map +1 -1
  117. package/dist/esm/compilers/select-normalizer.d.ts.map +1 -1
  118. package/dist/esm/compilers/select-normalizer.js +12 -1
  119. package/dist/esm/compilers/select-normalizer.js.map +1 -1
  120. package/dist/esm/compilers/selection.compiler.d.ts +40 -0
  121. package/dist/esm/compilers/selection.compiler.d.ts.map +1 -1
  122. package/dist/esm/compilers/selection.compiler.js +123 -21
  123. package/dist/esm/compilers/selection.compiler.js.map +1 -1
  124. package/dist/esm/compilers/where.compiler.d.ts.map +1 -1
  125. package/dist/esm/compilers/where.compiler.js +37 -16
  126. package/dist/esm/compilers/where.compiler.js.map +1 -1
  127. package/dist/esm/execution/executor.d.ts +34 -9
  128. package/dist/esm/execution/executor.d.ts.map +1 -1
  129. package/dist/esm/execution/executor.js +41 -5
  130. package/dist/esm/execution/executor.js.map +1 -1
  131. package/dist/esm/execution/result-mapper.d.ts.map +1 -1
  132. package/dist/esm/execution/result-mapper.js +4 -2
  133. package/dist/esm/execution/result-mapper.js.map +1 -1
  134. package/dist/esm/generator/generate-types.d.ts.map +1 -1
  135. package/dist/esm/generator/generate-types.js +76 -0
  136. package/dist/esm/generator/generate-types.js.map +1 -1
  137. package/dist/esm/generator/type-emitters/aggregation-emitter.d.ts.map +1 -1
  138. package/dist/esm/generator/type-emitters/aggregation-emitter.js +19 -7
  139. package/dist/esm/generator/type-emitters/aggregation-emitter.js.map +1 -1
  140. package/dist/esm/generator/type-emitters/input-emitter.js +13 -4
  141. package/dist/esm/generator/type-emitters/input-emitter.js.map +1 -1
  142. package/dist/esm/generator/type-emitters/model-map-emitter.d.ts +1 -0
  143. package/dist/esm/generator/type-emitters/model-map-emitter.d.ts.map +1 -1
  144. package/dist/esm/generator/type-emitters/model-map-emitter.js +5 -20
  145. package/dist/esm/generator/type-emitters/model-map-emitter.js.map +1 -1
  146. package/dist/esm/generator/type-emitters/node-type-emitter.d.ts +3 -0
  147. package/dist/esm/generator/type-emitters/node-type-emitter.d.ts.map +1 -1
  148. package/dist/esm/generator/type-emitters/node-type-emitter.js +6 -11
  149. package/dist/esm/generator/type-emitters/node-type-emitter.js.map +1 -1
  150. package/dist/esm/generator/type-emitters/select-fields-emitter.js +21 -2
  151. package/dist/esm/generator/type-emitters/select-fields-emitter.js.map +1 -1
  152. package/dist/esm/generator/type-emitters/where-emitter.js +3 -3
  153. package/dist/esm/generator/type-emitters/where-emitter.js.map +1 -1
  154. package/dist/esm/index.d.ts +1 -1
  155. package/dist/esm/index.d.ts.map +1 -1
  156. package/dist/esm/interface-model.d.ts.map +1 -1
  157. package/dist/esm/interface-model.js +6 -0
  158. package/dist/esm/interface-model.js.map +1 -1
  159. package/dist/esm/model.d.ts.map +1 -1
  160. package/dist/esm/model.js +6 -0
  161. package/dist/esm/model.js.map +1 -1
  162. package/dist/esm/ogm.d.ts +22 -2
  163. package/dist/esm/ogm.d.ts.map +1 -1
  164. package/dist/esm/ogm.js +43 -6
  165. package/dist/esm/ogm.js.map +1 -1
  166. package/dist/esm/policy/nested-writes.d.ts.map +1 -1
  167. package/dist/esm/policy/nested-writes.js +40 -20
  168. package/dist/esm/policy/nested-writes.js.map +1 -1
  169. package/dist/esm/schema/parser.d.ts.map +1 -1
  170. package/dist/esm/schema/parser.js +94 -16
  171. package/dist/esm/schema/parser.js.map +1 -1
  172. package/dist/esm/schema/types.d.ts +1 -1
  173. package/dist/esm/schema/types.d.ts.map +1 -1
  174. package/dist/esm/testing/cypher-assert.d.ts.map +1 -1
  175. package/dist/esm/testing/cypher-assert.js +25 -2
  176. package/dist/esm/testing/cypher-assert.js.map +1 -1
  177. package/dist/esm/testing/neo4j-record-factory.d.ts +25 -2
  178. package/dist/esm/testing/neo4j-record-factory.d.ts.map +1 -1
  179. package/dist/esm/testing/neo4j-record-factory.js +82 -3
  180. package/dist/esm/testing/neo4j-record-factory.js.map +1 -1
  181. package/dist/esm/utils/cypher-field-projection.d.ts +31 -3
  182. package/dist/esm/utils/cypher-field-projection.d.ts.map +1 -1
  183. package/dist/esm/utils/cypher-field-projection.js +58 -7
  184. package/dist/esm/utils/cypher-field-projection.js.map +1 -1
  185. package/dist/esm/utils/write-coercion.d.ts +18 -0
  186. package/dist/esm/utils/write-coercion.d.ts.map +1 -1
  187. package/dist/esm/utils/write-coercion.js +73 -1
  188. package/dist/esm/utils/write-coercion.js.map +1 -1
  189. package/package.json +1 -1
@@ -100,6 +100,13 @@ export class SelectionCompiler {
100
100
  continue;
101
101
  }
102
102
  assertSafeIdentifier(node.fieldName, 'selection field');
103
+ if (isAbstract && node.typeConditions) {
104
+ const conditional = this.compileFragmentScalar(node, nodeVar, nodeDef, cypherScope);
105
+ if (conditional) {
106
+ parts.push(conditional);
107
+ continue;
108
+ }
109
+ }
103
110
  // `@cypher` scalar fields normally project via a CALL { ... }
104
111
  // prelude registered on the surrounding pipeline's `cypherScope`.
105
112
  // Inside a nested relationship pattern comprehension preludes have
@@ -113,7 +120,7 @@ export class SelectionCompiler {
113
120
  parts.push(`${escapeIdentifier(node.fieldName)}: ${alias}`);
114
121
  }
115
122
  else
116
- parts.push(`${escapeIdentifier(node.fieldName)}: ${buildInlineCypherFieldExpr(propDef.cypherStatement, nodeVar)}`);
123
+ parts.push(`${escapeIdentifier(node.fieldName)}: ${buildInlineCypherFieldExpr(propDef.cypherStatement, nodeVar, `${nodeDef.typeName}.${node.fieldName}`)}`);
117
124
  continue;
118
125
  }
119
126
  parts.push(`.${escapeIdentifier(node.fieldName)}`);
@@ -142,6 +149,44 @@ export class SelectionCompiler {
142
149
  }
143
150
  return `${nodeVar} { ${parts.join(', ')} }`;
144
151
  }
152
+ /**
153
+ * Project a scalar selected through inline fragments on an abstract type
154
+ * (v2.4.8) when at least one fragment's concrete type declares it as a
155
+ * `@cypher` field: `CASE WHEN n:B THEN <B's projection> … END`. Pre-2.4.8
156
+ * the field was looked up on the abstract type, where it doesn't exist,
157
+ * and projected as a stored property — always null.
158
+ *
159
+ * Returns `null` (caller keeps the regular projection, byte-identical)
160
+ * when the abstract type declares the field as `@cypher` itself, when a
161
+ * condition isn't a concrete type, or when no fragment type declares it
162
+ * as `@cypher`.
163
+ */
164
+ compileFragmentScalar(node, nodeVar, nodeDef, cypherScope) {
165
+ if (nodeDef.properties.get(node.fieldName)?.isCypher)
166
+ return null;
167
+ const members = [];
168
+ for (const typeName of node.typeConditions ?? []) {
169
+ const def = this.schema.nodes.get(typeName);
170
+ if (!def)
171
+ return null;
172
+ const prop = def.properties.get(node.fieldName);
173
+ if (prop)
174
+ members.push({ def, prop });
175
+ }
176
+ if (!members.some((m) => m.prop.isCypher && m.prop.cypherStatement))
177
+ return null;
178
+ const branches = members.map(({ def, prop }) => {
179
+ let expr;
180
+ if (prop.isCypher && prop.cypherStatement)
181
+ expr = cypherScope
182
+ ? cypherScope.register(node.fieldName, prop, def.label)
183
+ : buildInlineCypherFieldExpr(prop.cypherStatement, nodeVar, `${def.typeName}.${node.fieldName}`);
184
+ else
185
+ expr = `${nodeVar}.${escapeIdentifier(node.fieldName)}`;
186
+ return `WHEN ${nodeVar}:${escapeIdentifier(def.label)} THEN ${expr}`;
187
+ });
188
+ return `${escapeIdentifier(node.fieldName)}: CASE ${branches.join(' ')} END`;
189
+ }
145
190
  /**
146
191
  * Parse a GraphQL selection set string into SelectionNode[].
147
192
  *
@@ -189,28 +234,49 @@ export class SelectionCompiler {
189
234
  /**
190
235
  * Convert a GraphQL SelectionSetNode into SelectionNode[].
191
236
  */
192
- convertSelectionSet(selectionSet) {
237
+ convertSelectionSet(selectionSet,
238
+ /** Type condition of the enclosing inline fragment, if any (v2.4.8). */
239
+ typeCondition) {
193
240
  const nodes = [];
194
- const seen = new Set();
241
+ const seen = new Map();
195
242
  for (const sel of selectionSet.selections) {
196
- // Handle inline fragments (... on Type { fields }) by merging their fields
243
+ // Handle inline fragments (... on Type { fields }) by merging their
244
+ // fields. v2.4.8 — each merged field remembers the fragment types
245
+ // that selected it (`typeConditions`), so an abstract-type
246
+ // projection can resolve an implementer's own field.
197
247
  if (sel.kind === Kind.INLINE_FRAGMENT) {
198
248
  const fragment = sel;
249
+ const condition = fragment.typeCondition?.name.value ?? typeCondition;
199
250
  if (fragment.selectionSet)
200
- for (const merged of this.convertSelectionSet(fragment.selectionSet))
201
- if (!seen.has(merged.fieldName)) {
202
- seen.add(merged.fieldName);
251
+ for (const merged of this.convertSelectionSet(fragment.selectionSet, condition)) {
252
+ const existing = seen.get(merged.fieldName);
253
+ if (!existing) {
254
+ seen.set(merged.fieldName, merged);
203
255
  nodes.push(merged);
204
256
  }
257
+ else if (existing.typeConditions)
258
+ existing.typeConditions = merged.typeConditions
259
+ ? [
260
+ ...new Set([
261
+ ...existing.typeConditions,
262
+ ...merged.typeConditions,
263
+ ]),
264
+ ]
265
+ : undefined;
266
+ }
205
267
  continue;
206
268
  }
207
269
  if (sel.kind !== Kind.FIELD)
208
270
  continue;
209
271
  const field = sel;
210
272
  const fieldName = field.name.value;
211
- if (seen.has(fieldName))
273
+ const existing = seen.get(fieldName);
274
+ if (existing) {
275
+ // Also selected outside any fragment → unconditional.
276
+ if (typeCondition === undefined)
277
+ delete existing.typeConditions;
212
278
  continue;
213
- seen.add(fieldName);
279
+ }
214
280
  const hasChildren = !!field.selectionSet;
215
281
  const isConnection = fieldName.endsWith('Connection');
216
282
  const node = {
@@ -220,6 +286,9 @@ export class SelectionCompiler {
220
286
  isRelationship: hasChildren && !isConnection,
221
287
  isConnection,
222
288
  };
289
+ if (typeCondition !== undefined)
290
+ node.typeConditions = [typeCondition];
291
+ seen.set(fieldName, node);
223
292
  if (hasChildren && field.selectionSet)
224
293
  if (isConnection)
225
294
  // For connections, parse edges -> node and edges -> properties
@@ -234,10 +303,15 @@ export class SelectionCompiler {
234
303
  * Parse the children of a connection field, extracting node and edge children.
235
304
  */
236
305
  parseConnectionChildren(selectionSet, parentNode) {
306
+ let selectsEdges = false;
237
307
  for (const sel of selectionSet.selections) {
238
308
  if (sel.kind !== Kind.FIELD)
239
309
  continue;
240
310
  const field = sel;
311
+ if (field.name.value === 'totalCount')
312
+ parentNode.totalCount = true;
313
+ if (field.name.value === 'edges')
314
+ selectsEdges = true;
241
315
  if (field.name.value === 'edges' && field.selectionSet)
242
316
  for (const edgeSel of field.selectionSet.selections) {
243
317
  if (edgeSel.kind !== Kind.FIELD)
@@ -249,6 +323,8 @@ export class SelectionCompiler {
249
323
  parentNode.edgeChildren = this.convertSelectionSet(edgeField.selectionSet);
250
324
  }
251
325
  }
326
+ if (parentNode.totalCount && !selectsEdges)
327
+ parentNode.totalCountOnly = true;
252
328
  }
253
329
  /**
254
330
  * Compile a relationship field into a Cypher pattern comprehension.
@@ -290,18 +366,35 @@ export class SelectionCompiler {
290
366
  return `head(${comprehension})`;
291
367
  // Wrap with apoc.coll.sortMulti() if orderBy is present.
292
368
  // Requires the APOC plugin installed on the Neo4j instance.
293
- if (node.orderBy && node.orderBy.length > 0) {
294
- const sortKeys = node.orderBy
295
- .map(({ field, direction }) => {
296
- assertSafeIdentifier(field, 'orderBy sort key');
297
- // apoc.coll.sortMulti convention: ^ prefix = ASC, no prefix = DESC
298
- return direction === 'ASC' ? `'^${field}'` : `'${field}'`;
299
- })
300
- .join(', ');
301
- return `apoc.coll.sortMulti(${comprehension}, [${sortKeys}])`;
302
- }
369
+ if (node.orderBy && node.orderBy.length > 0)
370
+ return this.compileSortedComprehension(`${pattern}${whereClause}`, innerProjection, childVar, targetDef, node.orderBy);
303
371
  return comprehension;
304
372
  }
373
+ /**
374
+ * A pattern comprehension sorted with `apoc.coll.sortMulti` (v2.4.8).
375
+ * Each element is wrapped as `{ __node: <projection>, __skN: <sort
376
+ * value> }` — sortMulti only reads top-level map keys — and unwrapped
377
+ * after the sort, the same synthetic-key approach `compileConnection`
378
+ * uses. Pre-2.4.8 the projected maps were sorted by the field NAMES,
379
+ * which the projection often doesn't contain (`select: { id: true }`,
380
+ * `orderBy: { rank: 'DESC' }`), so the list wasn't sorted at all.
381
+ */
382
+ compileSortedComprehension(patternWithWhere, innerProjection, childVar, targetDef, orderBy) {
383
+ const sortParts = [];
384
+ const sortKeys = [];
385
+ orderBy.forEach(({ field, direction }, i) => {
386
+ assertSafeIdentifier(field, 'orderBy sort key');
387
+ const propDef = targetDef.properties.get(field);
388
+ const value = propDef?.isCypher && propDef.cypherStatement
389
+ ? buildInlineCypherFieldExpr(propDef.cypherStatement, childVar, `${targetDef.typeName}.${field}`)
390
+ : `${childVar}.${escapeIdentifier(field)}`;
391
+ sortParts.push(`__sk${i}: ${value}`);
392
+ // apoc.coll.sortMulti convention: ^ prefix = ASC, no prefix = DESC
393
+ sortKeys.push(direction === 'ASC' ? `'^__sk${i}'` : `'__sk${i}'`);
394
+ });
395
+ const wrapped = `[${patternWithWhere} | { __node: ${innerProjection}, ${sortParts.join(', ')} }]`;
396
+ return `[__sk IN apoc.coll.sortMulti(${wrapped}, [${sortKeys.join(', ')}]) | __sk.__node]`;
397
+ }
305
398
  /**
306
399
  * Compile a relationship field within a union-target context.
307
400
  *
@@ -549,14 +642,23 @@ export class SelectionCompiler {
549
642
  contextLabel: `connection "${node.fieldName}"`,
550
643
  userWhere: undefined,
551
644
  });
645
+ // v2.4.8 — `totalCount` counts the very comprehension `edges` lists
646
+ // (same pattern, same `where`, same target `read` policy), so it can
647
+ // never count a node the caller cannot see. Pre-2.4.8 it was dropped.
648
+ const totalCount = node.totalCount
649
+ ? `totalCount: size([${pattern}${whereClause} | 1])`
650
+ : '';
651
+ if (node.totalCountOnly)
652
+ return `{ ${totalCount} }`;
653
+ const withTotal = totalCount ? `, ${totalCount}` : '';
552
654
  if (sortKeyTokens.length === 0)
553
- return `{ edges: [${pattern}${whereClause} | ${innerMap}] }`;
655
+ return `{ edges: [${pattern}${whereClause} | ${innerMap}]${withTotal} }`;
554
656
  // Re-project only the user-facing keys so synthetic __skN scalars don't
555
657
  // leak out of the projection.
556
658
  const outerProjection = projectionKeys.length > 0
557
659
  ? `{ ${projectionKeys.map((k) => `${k}: x.${k}`).join(', ')} }`
558
660
  : `{}`;
559
- return `{ edges: [x IN apoc.coll.sortMulti([${pattern}${whereClause} | ${innerMap}], [${sortKeyTokens.join(', ')}]) | ${outerProjection}] }`;
661
+ return `{ edges: [x IN apoc.coll.sortMulti([${pattern}${whereClause} | ${innerMap}], [${sortKeyTokens.join(', ')}]) | ${outerProjection}]${withTotal} }`;
560
662
  }
561
663
  /**
562
664
  * AND-combine an optional user where (`select.where` / `connectionWhere`)
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"where.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/where.compiler.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { isReadRestrictive, NO_ROOT_POLICY } from '../policy/types';
3
3
  import { buildRelPattern, getTargetLabelString, resolveTargetDef, } from '../schema/utils';
4
4
  import { CypherFieldScope } from '../utils/cypher-field-projection';
5
5
  import { assertSafeIdentifier, assertSafeKey, assertSafeRegexPattern, escapeIdentifier, isPlainObject, mergeParams, } from '../utils/validation';
6
- import { wrapWhereParam } from '../utils/write-coercion';
6
+ import { coerceWhereValue, wrapWhereParam } from '../utils/write-coercion';
7
7
  const MAX_DEPTH = 10;
8
8
  /**
9
9
  * Hard cap on the length of an `AND` / `OR` clause array. Prevents an
@@ -689,8 +689,13 @@ export class WhereCompiler {
689
689
  if (innerPreludes.length > 0)
690
690
  throw new OGMError(`Connection_SINGLE filters do not support @cypher fields. ` +
691
691
  `Refactor to Connection_SOME + Connection_NONE, or remove the @cypher reference.`);
692
+ // v2.4.8 — a pattern comprehension starts with the pattern
693
+ // itself. Pre-2.4.8 an extra `(` wrapped it, which Neo4j rejected
694
+ // ("Invalid input 'WHERE'"), so every Connection_SINGLE failed.
695
+ // The target policy stays inside `whereClause`, so only visible
696
+ // nodes are counted.
692
697
  return {
693
- cypher: `size([(${pattern}${whereClause} | 1)]) = 1`,
698
+ cypher: `size([${pattern}${whereClause} | 1]) = 1`,
694
699
  params: innerParams,
695
700
  };
696
701
  default:
@@ -921,8 +926,14 @@ export class WhereCompiler {
921
926
  // bumped the counter once. The extra increment was dead and
922
927
  // skipped a slot in the param/var namespace, masking real
923
928
  // collisions if/when a future compiler shared this counter.
929
+ //
930
+ // v2.4.8 — a plain pattern comprehension. Pre-2.4.8 the pattern
931
+ // was wrapped in an extra `(` (inside a redundant list
932
+ // comprehension), which Neo4j rejected with "Invalid input
933
+ // 'WHERE'", so every `_SINGLE` failed. The target policy stays in
934
+ // `whereClause`: only nodes the caller may see are counted.
924
935
  return {
925
- cypher: `size([${relVar} IN [(${pattern}${whereClause} | ${relVar})] | ${relVar}]) = 1`,
936
+ cypher: `size([${pattern}${whereClause} | ${relVar}]) = 1`,
926
937
  params: body.params,
927
938
  };
928
939
  }
@@ -1044,7 +1055,9 @@ export class WhereCompiler {
1044
1055
  `fields (union member "${m.memberKey}" of "${relDef.target}"). ` +
1045
1056
  `Refactor the predicate to _SOME + _NONE, or remove the ` +
1046
1057
  `@cypher reference.`);
1047
- const sizeExprs = members.map((m) => `size([${m.relVar} IN [(${m.pattern}${m.inner ? ` WHERE ${m.inner}` : ''} | ${m.relVar})] | ${m.relVar}])`);
1058
+ // v2.4.8 — plain pattern comprehensions (see the non-union
1059
+ // `_SINGLE`: the pre-2.4.8 extra `(` made Neo4j reject the query).
1060
+ const sizeExprs = members.map((m) => `size([${m.pattern}${m.inner ? ` WHERE ${m.inner}` : ''} | ${m.relVar}])`);
1048
1061
  return {
1049
1062
  cypher: `${sizeExprs.length === 1 ? sizeExprs[0] : `(${sizeExprs.join(' + ')})`} = 1`,
1050
1063
  params: allParams,
@@ -1203,19 +1216,27 @@ export class WhereCompiler {
1203
1216
  // Wrap the param in the field's temporal constructor for
1204
1217
  // comparison-shaped operators. A wrapped param is no longer a string,
1205
1218
  // so case-insensitive toLower() must not apply to either side.
1206
- const rawParamRef = wrapWhereParam(`$${paramName}`, value, propsHolder?.properties.get(fieldName), operator ?? '');
1219
+ // v2.4.8 — bind the value in the stored representation first: a
1220
+ // BigInt filter given a string (its generated input type) and a
1221
+ // DateTime filter given a JS `Date` silently matched nothing.
1222
+ const propDef = propsHolder?.properties.get(fieldName);
1223
+ const bound = coerceWhereValue(value, propDef, operator ?? '');
1224
+ const rawParamRef = wrapWhereParam(`$${paramName}`, bound, propDef, operator ?? '');
1207
1225
  const temporalWrapped = rawParamRef !== `$${paramName}`;
1226
+ // v2.4.8 — `toLower(list)` is a Cypher type error. On a LIST field,
1227
+ // case-insensitive equality / `_NOT` lowers element-wise; `_IN` on a
1228
+ // list field (a list of lists) can't be lowered as one expression, so it
1229
+ // stays case-sensitive rather than emitting invalid Cypher.
1230
+ const isListField = Boolean(propDef?.isArray);
1231
+ const lower = (ref) => isListField ? `[wc_s IN ${ref} | toLower(wc_s)]` : `toLower(${ref})`;
1232
+ const listCiAllowed = !isListField || operator === null || operator === '_NOT';
1208
1233
  if (operator === null) {
1209
1234
  // Exact match — always CI-aware
1210
- const fieldRef = caseInsensitive && !temporalWrapped
1211
- ? `toLower(${rawFieldRef})`
1212
- : rawFieldRef;
1213
- const paramRef = caseInsensitive && !temporalWrapped
1214
- ? `toLower(${rawParamRef})`
1215
- : rawParamRef;
1235
+ const fieldRef = caseInsensitive && !temporalWrapped ? lower(rawFieldRef) : rawFieldRef;
1236
+ const paramRef = caseInsensitive && !temporalWrapped ? lower(rawParamRef) : rawParamRef;
1216
1237
  return {
1217
1238
  cypher: `${fieldRef} = ${paramRef}`,
1218
- params: { [paramName]: value },
1239
+ params: { [paramName]: bound },
1219
1240
  };
1220
1241
  }
1221
1242
  const opDef = OPERATOR_MAP.get(operator);
@@ -1228,15 +1249,15 @@ export class WhereCompiler {
1228
1249
  // injection defense. Non-string values fall through untouched.
1229
1250
  if (operator === '_MATCHES' && typeof value === 'string')
1230
1251
  assertSafeRegexPattern(value, 'where clause');
1231
- const ci = caseInsensitive && opDef.ciAware && !temporalWrapped;
1232
- const fieldRef = ci ? `toLower(${rawFieldRef})` : rawFieldRef;
1233
- const paramRef = ci ? `toLower(${rawParamRef})` : rawParamRef;
1252
+ const ci = caseInsensitive && opDef.ciAware && !temporalWrapped && listCiAllowed;
1253
+ const fieldRef = ci ? lower(rawFieldRef) : rawFieldRef;
1254
+ const paramRef = ci ? lower(rawParamRef) : rawParamRef;
1234
1255
  const cypher = opDef.template
1235
1256
  .replace(/%rf/g, rawFieldRef)
1236
1257
  .replace(/%rp/g, rawParamRef)
1237
1258
  .replace(/%f/g, fieldRef)
1238
1259
  .replace(/%p/g, paramRef);
1239
- return { cypher, params: { [paramName]: value } };
1260
+ return { cypher, params: { [paramName]: bound } };
1240
1261
  }
1241
1262
  }
1242
1263
  /**