grafeo-ogm 1.0.6 → 1.0.7

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 (41) hide show
  1. package/dist/cjs/compilers/select-normalizer.d.ts +5 -0
  2. package/dist/cjs/compilers/select-normalizer.d.ts.map +1 -1
  3. package/dist/cjs/compilers/select-normalizer.js +61 -8
  4. package/dist/cjs/compilers/select-normalizer.js.map +1 -1
  5. package/dist/cjs/compilers/selection.compiler.d.ts +5 -0
  6. package/dist/cjs/compilers/selection.compiler.d.ts.map +1 -1
  7. package/dist/cjs/compilers/selection.compiler.js +12 -0
  8. package/dist/cjs/compilers/selection.compiler.js.map +1 -1
  9. package/dist/cjs/compilers/where.compiler.d.ts +1 -0
  10. package/dist/cjs/compilers/where.compiler.d.ts.map +1 -1
  11. package/dist/cjs/compilers/where.compiler.js +34 -18
  12. package/dist/cjs/compilers/where.compiler.js.map +1 -1
  13. package/dist/cjs/generator/type-emitters/select-fields-emitter.js +2 -0
  14. package/dist/cjs/generator/type-emitters/select-fields-emitter.js.map +1 -1
  15. package/dist/cjs/generator/type-emitters/where-emitter.js +1 -0
  16. package/dist/cjs/generator/type-emitters/where-emitter.js.map +1 -1
  17. package/dist/cjs/ogm.d.ts +11 -0
  18. package/dist/cjs/ogm.d.ts.map +1 -1
  19. package/dist/cjs/ogm.js +42 -0
  20. package/dist/cjs/ogm.js.map +1 -1
  21. package/dist/esm/compilers/select-normalizer.d.ts +5 -0
  22. package/dist/esm/compilers/select-normalizer.d.ts.map +1 -1
  23. package/dist/esm/compilers/select-normalizer.js +62 -9
  24. package/dist/esm/compilers/select-normalizer.js.map +1 -1
  25. package/dist/esm/compilers/selection.compiler.d.ts +5 -0
  26. package/dist/esm/compilers/selection.compiler.d.ts.map +1 -1
  27. package/dist/esm/compilers/selection.compiler.js +12 -0
  28. package/dist/esm/compilers/selection.compiler.js.map +1 -1
  29. package/dist/esm/compilers/where.compiler.d.ts +1 -0
  30. package/dist/esm/compilers/where.compiler.d.ts.map +1 -1
  31. package/dist/esm/compilers/where.compiler.js +34 -18
  32. package/dist/esm/compilers/where.compiler.js.map +1 -1
  33. package/dist/esm/generator/type-emitters/select-fields-emitter.js +2 -0
  34. package/dist/esm/generator/type-emitters/select-fields-emitter.js.map +1 -1
  35. package/dist/esm/generator/type-emitters/where-emitter.js +1 -0
  36. package/dist/esm/generator/type-emitters/where-emitter.js.map +1 -1
  37. package/dist/esm/ogm.d.ts +11 -0
  38. package/dist/esm/ogm.d.ts.map +1 -1
  39. package/dist/esm/ogm.js +42 -0
  40. package/dist/esm/ogm.js.map +1 -1
  41. package/package.json +1 -1
package/dist/cjs/ogm.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Driver, Transaction } from 'neo4j-driver';
2
2
  import { OGMLogger } from './execution/executor';
3
3
  import { InterfaceModel } from './interface-model';
4
4
  import { Model } from './model';
5
+ import { SubgraphCloneResult, SubgraphConfig, SubgraphDeleteResult } from './subgraph/types';
5
6
  export interface OGMConfig {
6
7
  typeDefs: string;
7
8
  driver: Driver;
@@ -93,5 +94,15 @@ export declare class OGM<TModelMap extends Record<string, unknown> = Record<stri
93
94
  transaction: Transaction;
94
95
  }) => Promise<T[K]>;
95
96
  }): Promise<T>;
97
+ /**
98
+ * Clone a content subgraph rooted at the given source node.
99
+ * Opens a session and transaction internally; commits on success, rolls back on error.
100
+ */
101
+ $cloneSubgraph(sourceRootId: string, config: SubgraphConfig): Promise<SubgraphCloneResult>;
102
+ /**
103
+ * Delete a content subgraph rooted at the given node.
104
+ * Opens a session and transaction internally; commits on success, rolls back on error.
105
+ */
106
+ $deleteSubgraph(rootId: string, config: SubgraphConfig): Promise<SubgraphDeleteResult>;
96
107
  }
97
108
  //# sourceMappingURL=ogm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ogm.d.ts","sourceRoot":"","sources":["../../src/ogm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ogm.d.ts","sourceRoot":"","sources":["../../src/ogm.ts"],"names":[],"mappings":"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"}
package/dist/cjs/ogm.js CHANGED
@@ -15,6 +15,7 @@ const parser_1 = require("./schema/parser");
15
15
  const utils_1 = require("./schema/utils");
16
16
  const errors_1 = require("./errors");
17
17
  const validation_1 = require("./utils/validation");
18
+ const subgraph_operations_1 = require("./subgraph/subgraph-operations");
18
19
  class OGM {
19
20
  constructor(config) {
20
21
  this.models = new Map();
@@ -219,6 +220,47 @@ class OGM {
219
220
  await session.close();
220
221
  }
221
222
  }
223
+ // --- $cloneSubgraph / $deleteSubgraph -----------------------------------------
224
+ /**
225
+ * Clone a content subgraph rooted at the given source node.
226
+ * Opens a session and transaction internally; commits on success, rolls back on error.
227
+ */
228
+ async $cloneSubgraph(sourceRootId, config) {
229
+ const session = this.config.driver.session();
230
+ const tx = session.beginTransaction();
231
+ try {
232
+ const result = await (0, subgraph_operations_1.cloneSubgraph)(sourceRootId, config, tx, this.config.logger);
233
+ await tx.commit();
234
+ return result;
235
+ }
236
+ catch (error) {
237
+ await tx.rollback();
238
+ throw error;
239
+ }
240
+ finally {
241
+ await session.close();
242
+ }
243
+ }
244
+ /**
245
+ * Delete a content subgraph rooted at the given node.
246
+ * Opens a session and transaction internally; commits on success, rolls back on error.
247
+ */
248
+ async $deleteSubgraph(rootId, config) {
249
+ const session = this.config.driver.session();
250
+ const tx = session.beginTransaction();
251
+ try {
252
+ const result = await (0, subgraph_operations_1.deleteSubgraph)(rootId, config, tx, this.config.logger);
253
+ await tx.commit();
254
+ return result;
255
+ }
256
+ catch (error) {
257
+ await tx.rollback();
258
+ throw error;
259
+ }
260
+ finally {
261
+ await session.close();
262
+ }
263
+ }
222
264
  }
223
265
  exports.OGM = OGM;
224
266
  //# sourceMappingURL=ogm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ogm.js","sourceRoot":"","sources":["../../src/ogm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ogm.js","sourceRoot":"","sources":["../../src/ogm.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAGvD,qEAAiE;AACjE,qEAAiE;AACjE,qEAAiE;AACjE,uEAAmE;AACnE,+DAGoC;AACpC,mDAA2D;AAC3D,6DAAyD;AACzD,uDAA4E;AAC5E,mCAAgD;AAChD,4CAA8C;AAE9C,0CAA4D;AAC5D,qCAAoC;AACpC,mDAA2E;AAC3E,wEAA+E;AAc/E,MAAa,GAAG;IAYd,YAAY,MAAiB;QANrB,WAAM,GAAgC,IAAI,GAAG,EAAE,CAAC;QAChD,oBAAe,GAAyC,IAAI,GAAG,EAAE,CAAC;QAGlE,sBAAiB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAGzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,4DAA4D;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,YAAY,GAAyB,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK;YACrD,YAAY,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAU,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,sCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,oCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,cAAc,GAAG;YACpB,KAAK;YACL,SAAS;YACT,gBAAgB,EAAE,IAAI,oCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YACnD,QAAQ,EAAE,IAAI,oCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3C,QAAQ;SACT,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG;YAC7B,KAAK;YACL,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,8DAA8D;QAC9D,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;YACzC,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa;gBAC5C,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;oBACrE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,2CAA2C;QAC3C,4EAA4E;IAC9E,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,OAEjC;QACC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;YAAE,OAAO;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,+BAA+B;YAC/B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;gBACzC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,eAAe;oBAC3C,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,IAAA,4BAAe,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC/B,IAAA,iCAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;wBAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM;4BAC5B,IAAA,iCAAoB,EAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;wBAClD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjE,MAAM,MAAM,GAAG,yBAAyB,OAAO,CAAC,IAAI,yBAAyB,OAAO,CAAC,KAAK,cAAc,SAAS,GAAG,CAAC;wBACrH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5B,CAAC;YAEL,mFAAmF;YACnF,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB;gBAC9D,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;oBACxD,IAAA,iCAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;oBAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM;wBAC5B,IAAA,iCAAoB,EAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAA,iCAAoB,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;oBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,yBAAyB,OAAO,CAAC,IAAI,4BAA4B,OAAO,iBAAiB,SAAS,GAAG,CAAC;oBACrH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;YAEH,gCAAgC;YAChC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;gBACzC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU;oBACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,IAAA,4BAAe,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC/B,IAAA,iCAAoB,EAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;wBACjD,MAAM,cAAc,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC;wBAC9D,IAAA,iCAAoB,EAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;wBACxD,MAAM,MAAM,GAAG,qBAAqB,cAAc,yBAAyB,OAAO,CAAC,KAAK,eAAe,IAAI,CAAC,IAAI,YAAY,CAAC;wBAC7H,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC5B,CAAC;QACP,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,sFAAsF;IAC9E,mBAAmB,CAAC,aAAqB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,IAAI,iBAAQ,CAChB,gDAAgD,aAAa,GAAG,CACjE,CAAC;IACJ,CAAC;IAoDD,KAAK,CACH,IAAY;QAIZ,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,mCAAmC;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,iBAAiB;YAAE,OAAO,iBAAwB,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,aAAK,CACrB,OAAO,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAuB,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,gCAAc,CAC9B,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,uBAAuB,CAC7B,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAgC,CAAC,CAAC;YACjE,OAAO,KAAY,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,iBAAQ,CAChB,iBAAiB,IAAI,qCAAqC,CAC3D,CAAC;IACJ,CAAC;IAaD,cAAc,CAAC,IAAY;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,OAAO,QAAoC,CAAC;QAE1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAEzE,MAAM,KAAK,GAAG,IAAI,gCAAc,CAC9B,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,uBAAuB,CAC7B,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAgC,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAClD,aAAK,CAAC,mBAAmB,EAAE,CAAC;QAC5B,IAAA,kCAA0B,GAAE,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,SAAS,CACb,MAAc,EACd,SAAkC,EAAE;QAEpC,IAAI,mBAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACtB,4BAA4B,EAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAChC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,4BAAY,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;QACxD,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,MAAc,EACd,SAAkC,EAAE;QAEpC,IAAI,mBAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACtB,8BAA8B,EAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAChC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,eAAe,GACnB,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC5B,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC5B,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBACpC,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBACpC,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;YAChC,OAAO,EAAE,eAAe,EAAE,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAmBD,KAAK,CAAC,YAAY,CAChB,OAEkE;QAElE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,MAAqB,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,iEAAiE;gBACjE,MAAM,OAAO,GAAc,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;gBAChC,KAAK,MAAM,EAAE,IAAI,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEtD,MAAM,GAAG,OAAO,CAAC;YACnB,CAAC;;gBAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAEnD,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,iFAAiF;IAEjF;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAa,EAChC,YAAY,EACZ,MAAM,EACN,EAAE,EACF,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;YACF,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAc,EACjC,MAAM,EACN,MAAM,EACN,EAAE,EACF,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;YACF,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AApZD,kBAoZC"}
@@ -33,6 +33,11 @@ export declare class SelectNormalizer {
33
33
  * Normalize a relationship field value into a SelectionNode.
34
34
  */
35
35
  private normalizeRelationship;
36
+ /**
37
+ * Normalize and validate an orderBy input into the internal format.
38
+ * Accepts a single object `{ field: 'ASC' }` or an array `[{ field: 'ASC' }, ...]`.
39
+ */
40
+ private normalizeOrderBy;
36
41
  /**
37
42
  * Normalize a connection field value into a SelectionNode.
38
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"select-normalizer.d.ts","sourceRoot":"","sources":["../../../src/compilers/select-normalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAOf,OAAO,CAAC,MAAM;IAN1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAsC;gBAE3C,MAAM,EAAE,cAAc;IAE1C,sFAAsF;IACtF,UAAU,IAAI,IAAI;IAIlB;;;;;;OAMG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE;IA4ClB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqE7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwE3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;OAEG;IACH,OAAO,CAAC,eAAe;CAkBxB"}
1
+ {"version":3,"file":"select-normalizer.d.ts","sourceRoot":"","sources":["../../../src/compilers/select-normalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAO1D;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAOf,OAAO,CAAC,MAAM;IAN1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAsC;gBAE3C,MAAM,EAAE,cAAc;IAE1C,sFAAsF;IACtF,UAAU,IAAI,IAAI;IAIlB;;;;;;OAMG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,cAAc,GACtB,aAAa,EAAE;IA4ClB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6G7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0CxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyE3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;OAEG;IACH,OAAO,CAAC,eAAe;CAkBxB"}
@@ -1,4 +1,6 @@
1
- import { assertSafeKey } from '../utils/validation';
1
+ import { OGMError } from '../errors';
2
+ import { resolveTargetDef } from '../schema/utils';
3
+ import { assertSafeKey, assertSafeIdentifier, assertSortDirection, } from '../utils/validation';
2
4
  /**
3
5
  * Converts a `select` object (used in the programmatic API) into the internal
4
6
  * SelectionNode[] AST that the SelectionCompiler operates on.
@@ -66,12 +68,13 @@ export class SelectNormalizer {
66
68
  * Normalize a relationship field value into a SelectionNode.
67
69
  */
68
70
  normalizeRelationship(fieldName, value, relDef) {
69
- const targetDef = this.schema.nodes.get(relDef.target);
71
+ // Use resolveTargetDef to handle union/interface targets (not just schema.nodes.get)
72
+ const targetDef = resolveTargetDef(relDef.target, this.schema);
70
73
  if (!targetDef)
71
74
  return null;
72
75
  // `{ drugs: true }` → select all scalar fields from target
73
76
  if (value === true) {
74
- const children = this.allScalarFields(targetDef);
77
+ const children = [...this.allScalarFields(targetDef)];
75
78
  return {
76
79
  fieldName,
77
80
  isScalar: false,
@@ -80,7 +83,7 @@ export class SelectNormalizer {
80
83
  children,
81
84
  };
82
85
  }
83
- // `{ drugs: { where: {...}, select: { id: true, drugName: true } } }` → nested select with optional where
86
+ // `{ drugs: { where: {...}, select: { id: true, drugName: true }, orderBy: {...} } }`
84
87
  if (typeof value === 'object' && value !== null) {
85
88
  const obj = value;
86
89
  if (obj.select && typeof obj.select === 'object') {
@@ -105,21 +108,70 @@ export class SelectNormalizer {
105
108
  // Extract where clause for relationship filtering
106
109
  if (obj.where && typeof obj.where === 'object')
107
110
  node.relationshipWhere = obj.where;
111
+ // Extract orderBy for nested sorting
112
+ if (obj.orderBy !== undefined)
113
+ node.orderBy = this.normalizeOrderBy(obj.orderBy, targetDef, fieldName, relDef.isArray);
108
114
  return node;
109
115
  }
110
- // `{ drugs: { where: {...} } }` → where-only (select all scalars)
111
- if (obj.where && typeof obj.where === 'object')
112
- return {
116
+ // `{ drugs: { where: {...}, orderBy: {...} } }` → where with optional orderBy (select all scalars)
117
+ if (obj.where && typeof obj.where === 'object') {
118
+ const children = [...this.allScalarFields(targetDef)];
119
+ const node = {
113
120
  fieldName,
114
121
  isScalar: false,
115
122
  isRelationship: true,
116
123
  isConnection: false,
117
- children: this.allScalarFields(targetDef),
124
+ children,
118
125
  relationshipWhere: obj.where,
119
126
  };
127
+ if (obj.orderBy !== undefined)
128
+ node.orderBy = this.normalizeOrderBy(obj.orderBy, targetDef, fieldName, relDef.isArray);
129
+ return node;
130
+ }
131
+ // `{ drugs: { orderBy: {...} } }` → orderBy-only (select all scalars)
132
+ if (obj.orderBy !== undefined) {
133
+ const children = [...this.allScalarFields(targetDef)];
134
+ return {
135
+ fieldName,
136
+ isScalar: false,
137
+ isRelationship: true,
138
+ isConnection: false,
139
+ children,
140
+ orderBy: this.normalizeOrderBy(obj.orderBy, targetDef, fieldName, relDef.isArray),
141
+ };
142
+ }
120
143
  }
121
144
  return null;
122
145
  }
146
+ /**
147
+ * Normalize and validate an orderBy input into the internal format.
148
+ * Accepts a single object `{ field: 'ASC' }` or an array `[{ field: 'ASC' }, ...]`.
149
+ */
150
+ normalizeOrderBy(orderByInput, targetDef, fieldName, isArray) {
151
+ if (!isArray)
152
+ throw new OGMError(`orderBy is not supported on singular relationship "${fieldName}". ` +
153
+ `Sorting is only valid for array relationships.`);
154
+ const items = Array.isArray(orderByInput) ? orderByInput : [orderByInput];
155
+ const result = [];
156
+ for (const item of items) {
157
+ if (typeof item !== 'object' || item === null)
158
+ throw new OGMError(`Invalid orderBy entry on relationship "${fieldName}". ` +
159
+ `Each entry must be an object like { field: 'ASC' }.`);
160
+ const entries = Object.entries(item);
161
+ if (entries.length === 0)
162
+ continue;
163
+ for (const [sortField, rawDirection] of entries) {
164
+ assertSafeKey(sortField, 'orderBy field');
165
+ assertSafeIdentifier(sortField, 'orderBy field');
166
+ if (!targetDef.properties.has(sortField))
167
+ throw new OGMError(`Invalid orderBy field "${sortField}" on relationship "${fieldName}". ` +
168
+ `Field must be a scalar property of ${targetDef.typeName}.`);
169
+ const direction = assertSortDirection(String(rawDirection));
170
+ result.push({ field: sortField, direction });
171
+ }
172
+ }
173
+ return result;
174
+ }
123
175
  /**
124
176
  * Normalize a connection field value into a SelectionNode.
125
177
  */
@@ -129,7 +181,8 @@ export class SelectNormalizer {
129
181
  const relDef = nodeDef.relationships.get(baseFieldName);
130
182
  if (!relDef)
131
183
  return null;
132
- const targetDef = this.schema.nodes.get(relDef.target);
184
+ // Use resolveTargetDef to handle union/interface targets
185
+ const targetDef = resolveTargetDef(relDef.target, this.schema);
133
186
  if (!targetDef)
134
187
  return null;
135
188
  const node = {
@@ -1 +1 @@
1
- {"version":3,"file":"select-normalizer.js","sourceRoot":"","sources":["../../../src/compilers/select-normalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-normalizer.js","sourceRoot":"","sources":["../../../src/compilers/select-normalizer.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ export interface SelectionNode {
14
14
  relationshipWhere?: Record<string, unknown>;
15
15
  connectionWhere?: Record<string, unknown>;
16
16
  edgeChildren?: SelectionNode[];
17
+ /** Sort spec for array relationship pattern comprehensions (Prisma-like select) */
18
+ orderBy?: Array<{
19
+ field: string;
20
+ direction: 'ASC' | 'DESC';
21
+ }>;
17
22
  }
18
23
  /**
19
24
  * Compiles a selection set (parsed SelectionNode[]) into a Cypher RETURN map projection.
@@ -1 +1 @@
1
- {"version":3,"file":"selection.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,cAAc,EAEd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;CAChC;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAC9C;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAG5B,MAAM,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa;IAK/B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,MAA4C,EACtD,YAAY,GAAE,MAAU,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAC/B,MAAM;IA4ET;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4D3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IAiErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkGzB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IASvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA2C3B"}
1
+ {"version":3,"file":"selection.compiler.d.ts","sourceRoot":"","sources":["../../../src/compilers/selection.compiler.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,cAAc,EAEd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAW1B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAC9C;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAG5B,MAAM,EAAE,cAAc,EAC9B,aAAa,CAAC,EAAE,aAAa;IAK/B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;OASG;IACH,OAAO,CACL,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,GAAE,MAA4C,EACtD,YAAY,GAAE,MAAU,EACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAC/B,MAAM;IA4ET;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyE3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IAiErC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkGzB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IASvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA2C3B"}
@@ -206,6 +206,18 @@ export class SelectionCompiler {
206
206
  // Wrap singular relationships with head()
207
207
  if (!relDef.isArray)
208
208
  return `head(${comprehension})`;
209
+ // Wrap with apoc.coll.sortMulti() if orderBy is present.
210
+ // Requires the APOC plugin installed on the Neo4j instance.
211
+ if (node.orderBy && node.orderBy.length > 0) {
212
+ const sortKeys = node.orderBy
213
+ .map(({ field, direction }) => {
214
+ assertSafeIdentifier(field, 'orderBy sort key');
215
+ // apoc.coll.sortMulti convention: ^ prefix = ASC, no prefix = DESC
216
+ return direction === 'ASC' ? `'^${field}'` : `'${field}'`;
217
+ })
218
+ .join(', ');
219
+ return `apoc.coll.sortMulti(${comprehension}, [${sortKeys}])`;
220
+ }
209
221
  return comprehension;
210
222
  }
211
223
  /**
@@ -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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"}
@@ -34,6 +34,7 @@ export declare class WhereCompiler {
34
34
  private buildRelPatternWithLabel;
35
35
  private compileEdgeConditions;
36
36
  private compileScalarCondition;
37
+ private isStringComparable;
37
38
  }
38
39
  export {};
39
40
  //# sourceMappingURL=where.compiler.d.ts.map
@@ -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;AAQzB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAID,qDAAqD;AACrD,QAAA,MAAM,iBAAiB,iLAeb,CAAC;AAEX,KAAK,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAgBzD,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;IAwHzB,OAAO,CAAC,oBAAoB;IA2G5B,OAAO,CAAC,sBAAsB;IAuG9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA4EhC,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,sBAAsB;CA+G/B"}
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;AAQzB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAID,qDAAqD;AACrD,QAAA,MAAM,iBAAiB,iLAeb,CAAC;AAEX,KAAK,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAgBzD,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;IA4HzB,OAAO,CAAC,oBAAoB;IA2G5B,OAAO,CAAC,sBAAsB;IAuG9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IA4EhC,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,sBAAsB;IAqH9B,OAAO,CAAC,kBAAkB;CAY3B"}
@@ -46,11 +46,14 @@ export class WhereCompiler {
46
46
  throw new OGMError(`WHERE clause nesting depth exceeds maximum (${MAX_DEPTH})`);
47
47
  if (where == null)
48
48
  return { cypher: '', params: {} };
49
+ const caseInsensitive = where.mode === 'insensitive';
49
50
  const clauses = [];
50
51
  const params = {};
51
52
  for (const [key, value] of Object.entries(where)) {
52
53
  if (value === undefined)
53
54
  continue;
55
+ if (key === 'mode')
56
+ continue;
54
57
  assertSafeKey(key, 'where input');
55
58
  // Logical operators (check before null handling so NOT with null value is handled correctly)
56
59
  if (key === 'AND' || key === 'OR') {
@@ -110,7 +113,7 @@ export class WhereCompiler {
110
113
  continue;
111
114
  }
112
115
  // Scalar property operators
113
- const scalarResult = this.compileScalarCondition(key, value, nodeVar, counter);
116
+ const scalarResult = this.compileScalarCondition(key, value, nodeVar, counter, caseInsensitive);
114
117
  clauses.push(scalarResult.cypher);
115
118
  Object.assign(params, scalarResult.params);
116
119
  }
@@ -351,7 +354,7 @@ export class WhereCompiler {
351
354
  params,
352
355
  };
353
356
  }
354
- compileScalarCondition(key, value, nodeVar, counter) {
357
+ compileScalarCondition(key, value, nodeVar, counter, caseInsensitive = false) {
355
358
  // Detect operator suffix
356
359
  let operator = null;
357
360
  let fieldName = key;
@@ -366,87 +369,100 @@ export class WhereCompiler {
366
369
  throw new OGMError(`Operator "${operator}" is disabled. To enable it, set features.filters.String.MATCHES = true in your OGM config.`);
367
370
  const paramName = `param${counter.count}`;
368
371
  counter.count++;
369
- const fieldRef = `${nodeVar}.${escapeIdentifier(fieldName)}`;
372
+ const rawFieldRef = `${nodeVar}.${escapeIdentifier(fieldName)}`;
373
+ const ci = caseInsensitive && this.isStringComparable(operator);
374
+ const fieldRef = ci ? `toLower(${rawFieldRef})` : rawFieldRef;
375
+ const paramRef = ci ? `toLower($${paramName})` : `$${paramName}`;
370
376
  if (operator === null)
371
377
  // Exact match
372
378
  return {
373
- cypher: `${fieldRef} = $${paramName}`,
379
+ cypher: `${fieldRef} = ${paramRef}`,
374
380
  params: { [paramName]: value },
375
381
  };
376
382
  switch (operator) {
377
383
  case '_IN':
378
384
  return {
379
- cypher: `${fieldRef} IN $${paramName}`,
385
+ cypher: `${rawFieldRef} IN $${paramName}`,
380
386
  params: { [paramName]: value },
381
387
  };
382
388
  case '_NOT':
383
389
  return {
384
- cypher: `${fieldRef} <> $${paramName}`,
390
+ cypher: `${fieldRef} <> ${paramRef}`,
385
391
  params: { [paramName]: value },
386
392
  };
387
393
  case '_NOT_IN':
388
394
  return {
389
- cypher: `NOT ${fieldRef} IN $${paramName}`,
395
+ cypher: `NOT ${rawFieldRef} IN $${paramName}`,
390
396
  params: { [paramName]: value },
391
397
  };
392
398
  case '_CONTAINS':
393
399
  return {
394
- cypher: `${fieldRef} CONTAINS $${paramName}`,
400
+ cypher: `${fieldRef} CONTAINS ${paramRef}`,
395
401
  params: { [paramName]: value },
396
402
  };
397
403
  case '_GTE':
398
404
  return {
399
- cypher: `${fieldRef} >= $${paramName}`,
405
+ cypher: `${rawFieldRef} >= $${paramName}`,
400
406
  params: { [paramName]: value },
401
407
  };
402
408
  case '_LTE':
403
409
  return {
404
- cypher: `${fieldRef} <= $${paramName}`,
410
+ cypher: `${rawFieldRef} <= $${paramName}`,
405
411
  params: { [paramName]: value },
406
412
  };
407
413
  case '_GT':
408
414
  return {
409
- cypher: `${fieldRef} > $${paramName}`,
415
+ cypher: `${rawFieldRef} > $${paramName}`,
410
416
  params: { [paramName]: value },
411
417
  };
412
418
  case '_LT':
413
419
  return {
414
- cypher: `${fieldRef} < $${paramName}`,
420
+ cypher: `${rawFieldRef} < $${paramName}`,
415
421
  params: { [paramName]: value },
416
422
  };
417
423
  case '_MATCHES':
418
424
  return {
419
- cypher: `${fieldRef} =~ $${paramName}`,
425
+ cypher: `${rawFieldRef} =~ $${paramName}`,
420
426
  params: { [paramName]: value },
421
427
  };
422
428
  case '_STARTS_WITH':
423
429
  return {
424
- cypher: `${fieldRef} STARTS WITH $${paramName}`,
430
+ cypher: `${fieldRef} STARTS WITH ${paramRef}`,
425
431
  params: { [paramName]: value },
426
432
  };
427
433
  case '_ENDS_WITH':
428
434
  return {
429
- cypher: `${fieldRef} ENDS WITH $${paramName}`,
435
+ cypher: `${fieldRef} ENDS WITH ${paramRef}`,
430
436
  params: { [paramName]: value },
431
437
  };
432
438
  case '_NOT_CONTAINS':
433
439
  return {
434
- cypher: `NOT ${fieldRef} CONTAINS $${paramName}`,
440
+ cypher: `NOT ${fieldRef} CONTAINS ${paramRef}`,
435
441
  params: { [paramName]: value },
436
442
  };
437
443
  case '_NOT_STARTS_WITH':
438
444
  return {
439
- cypher: `NOT ${fieldRef} STARTS WITH $${paramName}`,
445
+ cypher: `NOT ${fieldRef} STARTS WITH ${paramRef}`,
440
446
  params: { [paramName]: value },
441
447
  };
442
448
  case '_NOT_ENDS_WITH':
443
449
  return {
444
- cypher: `NOT ${fieldRef} ENDS WITH $${paramName}`,
450
+ cypher: `NOT ${fieldRef} ENDS WITH ${paramRef}`,
445
451
  params: { [paramName]: value },
446
452
  };
447
453
  default:
448
454
  throw new OGMError(`Unknown operator: ${operator}`);
449
455
  }
450
456
  }
457
+ isStringComparable(operator) {
458
+ return (operator === null ||
459
+ operator === '_NOT' ||
460
+ operator === '_CONTAINS' ||
461
+ operator === '_STARTS_WITH' ||
462
+ operator === '_ENDS_WITH' ||
463
+ operator === '_NOT_CONTAINS' ||
464
+ operator === '_NOT_STARTS_WITH' ||
465
+ operator === '_NOT_ENDS_WITH');
466
+ }
451
467
  }
452
468
  //# sourceMappingURL=where.compiler.js.map