flowquery 1.0.36 → 1.0.38

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 (73) hide show
  1. package/dist/flowquery.min.js +1 -1
  2. package/dist/parsing/functions/coalesce.d.ts +0 -1
  3. package/dist/parsing/functions/coalesce.d.ts.map +1 -1
  4. package/dist/parsing/functions/coalesce.js +0 -1
  5. package/dist/parsing/functions/coalesce.js.map +1 -1
  6. package/dist/parsing/functions/date.d.ts +0 -2
  7. package/dist/parsing/functions/date.d.ts.map +1 -1
  8. package/dist/parsing/functions/date.js +0 -2
  9. package/dist/parsing/functions/date.js.map +1 -1
  10. package/dist/parsing/functions/datetime.d.ts +0 -2
  11. package/dist/parsing/functions/datetime.d.ts.map +1 -1
  12. package/dist/parsing/functions/datetime.js +0 -2
  13. package/dist/parsing/functions/datetime.js.map +1 -1
  14. package/dist/parsing/functions/localdatetime.d.ts +0 -2
  15. package/dist/parsing/functions/localdatetime.d.ts.map +1 -1
  16. package/dist/parsing/functions/localdatetime.js +0 -2
  17. package/dist/parsing/functions/localdatetime.js.map +1 -1
  18. package/dist/parsing/functions/localtime.d.ts +0 -2
  19. package/dist/parsing/functions/localtime.d.ts.map +1 -1
  20. package/dist/parsing/functions/localtime.js +0 -2
  21. package/dist/parsing/functions/localtime.js.map +1 -1
  22. package/dist/parsing/functions/temporal_utils.js +1 -1
  23. package/dist/parsing/functions/time.d.ts +0 -2
  24. package/dist/parsing/functions/time.d.ts.map +1 -1
  25. package/dist/parsing/functions/time.js +0 -2
  26. package/dist/parsing/functions/time.js.map +1 -1
  27. package/dist/parsing/functions/timestamp.d.ts +0 -2
  28. package/dist/parsing/functions/timestamp.d.ts.map +1 -1
  29. package/dist/parsing/functions/timestamp.js +1 -4
  30. package/dist/parsing/functions/timestamp.js.map +1 -1
  31. package/dist/parsing/operations/group_by.d.ts.map +1 -1
  32. package/dist/parsing/operations/group_by.js +3 -2
  33. package/dist/parsing/operations/group_by.js.map +1 -1
  34. package/dist/parsing/operations/limit.d.ts +2 -0
  35. package/dist/parsing/operations/limit.d.ts.map +1 -1
  36. package/dist/parsing/operations/limit.js +6 -0
  37. package/dist/parsing/operations/limit.js.map +1 -1
  38. package/dist/parsing/operations/return.d.ts +3 -0
  39. package/dist/parsing/operations/return.d.ts.map +1 -1
  40. package/dist/parsing/operations/return.js +10 -0
  41. package/dist/parsing/operations/return.js.map +1 -1
  42. package/dist/parsing/parser.d.ts.map +1 -1
  43. package/dist/parsing/parser.js +13 -10
  44. package/dist/parsing/parser.js.map +1 -1
  45. package/docs/flowquery.min.js +1 -1
  46. package/flowquery-py/pyproject.toml +1 -1
  47. package/flowquery-py/src/parsing/functions/coalesce.py +1 -2
  48. package/flowquery-py/src/parsing/functions/date_.py +0 -2
  49. package/flowquery-py/src/parsing/functions/datetime_.py +0 -2
  50. package/flowquery-py/src/parsing/functions/localdatetime.py +0 -2
  51. package/flowquery-py/src/parsing/functions/localtime.py +0 -2
  52. package/flowquery-py/src/parsing/functions/temporal_utils.py +1 -1
  53. package/flowquery-py/src/parsing/functions/time_.py +0 -2
  54. package/flowquery-py/src/parsing/functions/timestamp.py +1 -3
  55. package/flowquery-py/src/parsing/operations/limit.py +7 -0
  56. package/flowquery-py/src/parsing/operations/return_op.py +14 -0
  57. package/flowquery-py/src/parsing/parser.py +13 -9
  58. package/flowquery-py/tests/compute/test_runner.py +81 -2
  59. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  60. package/package.json +1 -1
  61. package/src/parsing/functions/coalesce.ts +0 -1
  62. package/src/parsing/functions/date.ts +0 -2
  63. package/src/parsing/functions/datetime.ts +0 -2
  64. package/src/parsing/functions/localdatetime.ts +0 -2
  65. package/src/parsing/functions/localtime.ts +0 -2
  66. package/src/parsing/functions/temporal_utils.ts +1 -1
  67. package/src/parsing/functions/time.ts +0 -2
  68. package/src/parsing/functions/timestamp.ts +1 -5
  69. package/src/parsing/operations/group_by.ts +4 -2
  70. package/src/parsing/operations/limit.ts +7 -1
  71. package/src/parsing/operations/return.ts +11 -0
  72. package/src/parsing/parser.ts +12 -10
  73. package/tests/compute/runner.test.ts +69 -2
@@ -1,7 +1,6 @@
1
1
  import Function from "./function";
2
2
  /**
3
3
  * Returns the first non-null value from a list of expressions.
4
- * Equivalent to Neo4j's coalesce() function.
5
4
  *
6
5
  * @example
7
6
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"coalesce.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/coalesce.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;;GASG;AACH,cAeM,QAAS,SAAQ,QAAQ;;IAMpB,KAAK,IAAI,GAAG;CAatB;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"coalesce.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/coalesce.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;GAQG;AACH,cAeM,QAAS,SAAQ,QAAQ;;IAMpB,KAAK,IAAI,GAAG;CAatB;AAED,eAAe,QAAQ,CAAC"}
@@ -13,7 +13,6 @@ const function_1 = __importDefault(require("./function"));
13
13
  const function_metadata_1 = require("./function_metadata");
14
14
  /**
15
15
  * Returns the first non-null value from a list of expressions.
16
- * Equivalent to Neo4j's coalesce() function.
17
16
  *
18
17
  * @example
19
18
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"coalesce.js","sourceRoot":"","sources":["../../../src/parsing/functions/coalesce.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAElD;;;;;;;;;GASG;AAgBH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,kBAAQ;IAC3B;QACI,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,gCAAgC;IACzE,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAnBK,QAAQ;IAfb,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,6DAA6D;QAC1E,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,qCAAqC,EAAE,IAAI,EAAE,KAAK,EAAE;SAC3F;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,KAAK;SACd;QACD,QAAQ,EAAE;YACN,yCAAyC;YACzC,8DAA8D;SACjE;KACJ,CAAC;GACI,QAAQ,CAmBb;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"coalesce.js","sourceRoot":"","sources":["../../../src/parsing/functions/coalesce.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAElD;;;;;;;;GAQG;AAgBH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,kBAAQ;IAC3B;QACI,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,gCAAgC;IACzE,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAnBK,QAAQ;IAfb,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,6DAA6D;QAC1E,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,qCAAqC,EAAE,IAAI,EAAE,KAAK,EAAE;SAC3F;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,KAAK;SACd;QACD,QAAQ,EAAE;YACN,yCAAyC;YACzC,8DAA8D;SACjE;KACJ,CAAC;GACI,QAAQ,CAmBb;AAED,kBAAe,QAAQ,CAAC"}
@@ -5,8 +5,6 @@ import Function from "./function";
5
5
  * When called with a string argument, parses it as an ISO 8601 date.
6
6
  * When called with a map argument, constructs a date from components.
7
7
  *
8
- * Equivalent to Neo4j's date() function.
9
- *
10
8
  * @example
11
9
  * ```
12
10
  * RETURN date() AS today
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/date.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;;;GAcG;AACH,cA0BM,YAAa,SAAQ,QAAQ;;IAMxB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/date.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;GAYG;AACH,cA0BM,YAAa,SAAQ,QAAQ;;IAMxB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,YAAY,CAAC"}
@@ -18,8 +18,6 @@ const temporal_utils_1 = require("./temporal_utils");
18
18
  * When called with a string argument, parses it as an ISO 8601 date.
19
19
  * When called with a map argument, constructs a date from components.
20
20
  *
21
- * Equivalent to Neo4j's date() function.
22
- *
23
21
  * @example
24
22
  * ```
25
23
  * RETURN date() AS today
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/parsing/functions/date.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAqE;AAErE;;;;;;;;;;;;;;GAcG;AA2BH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,kBAAQ;IAC/B;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAEvF,OAAO,IAAA,gCAAe,EAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AAjBK,YAAY;IA1BjB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,oEAAoE;YACpE,4EAA4E;QAChF,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,wEAAwE;gBACrF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EACP,mDAAmD;gBACnD,uDAAuD;YAC3D,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,wBAAwB;YACxB,gCAAgC;YAChC,mDAAmD;YACnD,sDAAsD;SACzD;KACJ,CAAC;GACI,YAAY,CAiBjB;AAED,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/parsing/functions/date.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAqE;AAErE;;;;;;;;;;;;GAYG;AA2BH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,kBAAQ;IAC/B;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAEvF,OAAO,IAAA,gCAAe,EAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AAjBK,YAAY;IA1BjB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,oEAAoE;YACpE,4EAA4E;QAChF,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,wEAAwE;gBACrF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EACP,mDAAmD;gBACnD,uDAAuD;YAC3D,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,wBAAwB;YACxB,gCAAgC;YAChC,mDAAmD;YACnD,sDAAsD;SACzD;KACJ,CAAC;GACI,YAAY,CAiBjB;AAED,kBAAe,YAAY,CAAC"}
@@ -5,8 +5,6 @@ import Function from "./function";
5
5
  * When called with a string argument, parses it as an ISO 8601 datetime.
6
6
  * When called with a map argument, constructs a datetime from components.
7
7
  *
8
- * Equivalent to Neo4j's datetime() function.
9
- *
10
8
  * @example
11
9
  * ```
12
10
  * RETURN datetime() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;;;GAcG;AACH,cA0BM,QAAS,SAAQ,QAAQ;;IAMpB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/datetime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;GAYG;AACH,cA0BM,QAAS,SAAQ,QAAQ;;IAMpB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,QAAQ,CAAC"}
@@ -18,8 +18,6 @@ const temporal_utils_1 = require("./temporal_utils");
18
18
  * When called with a string argument, parses it as an ISO 8601 datetime.
19
19
  * When called with a map argument, constructs a datetime from components.
20
20
  *
21
- * Equivalent to Neo4j's datetime() function.
22
- *
23
21
  * @example
24
22
  * ```
25
23
  * RETURN datetime() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/parsing/functions/datetime.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAyE;AAEzE;;;;;;;;;;;;;;GAcG;AA2BH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,kBAAQ;IAC3B;QACI,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAE3F,OAAO,IAAA,oCAAmB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACJ,CAAA;AAjBK,QAAQ;IA1Bb,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,gFAAgF;YAChF,0GAA0G;QAC9G,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EACP,0FAA0F;gBAC1F,qEAAqE;YACzE,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,0BAA0B;YAC1B,+CAA+C;YAC/C,kEAAkE;YAClE,wDAAwD;SAC3D;KACJ,CAAC;GACI,QAAQ,CAiBb;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/parsing/functions/datetime.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAyE;AAEzE;;;;;;;;;;;;GAYG;AA2BH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,kBAAQ;IAC3B;QACI,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAE3F,OAAO,IAAA,oCAAmB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACJ,CAAA;AAjBK,QAAQ;IA1Bb,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,gFAAgF;YAChF,0GAA0G;QAC9G,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EACP,0FAA0F;gBAC1F,qEAAqE;YACzE,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,0BAA0B;YAC1B,+CAA+C;YAC/C,kEAAkE;YAClE,wDAAwD;SAC3D;KACJ,CAAC;GACI,QAAQ,CAiBb;AAED,kBAAe,QAAQ,CAAC"}
@@ -5,8 +5,6 @@ import Function from "./function";
5
5
  * When called with a string argument, parses it as an ISO 8601 datetime.
6
6
  * When called with a map argument, constructs a datetime from components.
7
7
  *
8
- * Equivalent to Neo4j's localdatetime() function.
9
- *
10
8
  * @example
11
9
  * ```
12
10
  * RETURN localdatetime() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"localdatetime.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/localdatetime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;;GAaG;AACH,cAyBM,aAAc,SAAQ,QAAQ;;IAMzB,KAAK,IAAI,GAAG;CAatB;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"localdatetime.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/localdatetime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;GAWG;AACH,cAyBM,aAAc,SAAQ,QAAQ;;IAMzB,KAAK,IAAI,GAAG;CAatB;AAED,eAAe,aAAa,CAAC"}
@@ -18,8 +18,6 @@ const temporal_utils_1 = require("./temporal_utils");
18
18
  * When called with a string argument, parses it as an ISO 8601 datetime.
19
19
  * When called with a map argument, constructs a datetime from components.
20
20
  *
21
- * Equivalent to Neo4j's localdatetime() function.
22
- *
23
21
  * @example
24
22
  * ```
25
23
  * RETURN localdatetime() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"localdatetime.js","sourceRoot":"","sources":["../../../src/parsing/functions/localdatetime.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAyE;AAEzE;;;;;;;;;;;;;GAaG;AA0BH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,kBAAQ;IAChC;QACI,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC;YACxD,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAErB,OAAO,IAAA,oCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;CACJ,CAAA;AAnBK,aAAa;IAzBlB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,sGAAsG;YACtG,oDAAoD;QACxD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EACP,0FAA0F;gBAC1F,qEAAqE;YACzE,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,+BAA+B;YAC/B,mDAAmD;YACnD,sDAAsD;SACzD;KACJ,CAAC;GACI,aAAa,CAmBlB;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"localdatetime.js","sourceRoot":"","sources":["../../../src/parsing/functions/localdatetime.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAyE;AAEzE;;;;;;;;;;;GAWG;AA0BH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,kBAAQ;IAChC;QACI,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC;YACxD,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAErB,OAAO,IAAA,oCAAmB,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;CACJ,CAAA;AAnBK,aAAa;IAzBlB,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,sGAAsG;YACtG,oDAAoD;QACxD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EACP,0FAA0F;gBAC1F,qEAAqE;YACzE,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,+BAA+B;YAC/B,mDAAmD;YACnD,sDAAsD;SACzD;KACJ,CAAC;GACI,aAAa,CAmBlB;AAED,kBAAe,aAAa,CAAC"}
@@ -4,8 +4,6 @@ import Function from "./function";
4
4
  * When called with no arguments, returns the current local time.
5
5
  * When called with a string argument, parses it.
6
6
  *
7
- * Equivalent to Neo4j's localtime() function.
8
- *
9
7
  * @example
10
8
  * ```
11
9
  * RETURN localtime() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"localtime.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/localtime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;GAYG;AACH,cAuBM,SAAU,SAAQ,QAAQ;;IAMrB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"localtime.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/localtime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;GAUG;AACH,cAuBM,SAAU,SAAQ,QAAQ;;IAMrB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,SAAS,CAAC"}
@@ -17,8 +17,6 @@ const temporal_utils_1 = require("./temporal_utils");
17
17
  * When called with no arguments, returns the current local time.
18
18
  * When called with a string argument, parses it.
19
19
  *
20
- * Equivalent to Neo4j's localtime() function.
21
- *
22
20
  * @example
23
21
  * ```
24
22
  * RETURN localtime() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"localtime.js","sourceRoot":"","sources":["../../../src/parsing/functions/localtime.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAqE;AAErE;;;;;;;;;;;;GAYG;AAwBH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,kBAAQ;IAC5B;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5F,OAAO,IAAA,gCAAe,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACJ,CAAA;AAjBK,SAAS;IAvBd,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,8FAA8F;YAC9F,yDAAyD;QAC7D,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,6EAA6E;YAC1F,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,2BAA2B;YAC3B,mCAAmC;YACnC,+CAA+C;SAClD;KACJ,CAAC;GACI,SAAS,CAiBd;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"localtime.js","sourceRoot":"","sources":["../../../src/parsing/functions/localtime.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAqE;AAErE;;;;;;;;;;GAUG;AAwBH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,kBAAQ;IAC5B;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5F,OAAO,IAAA,gCAAe,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACJ,CAAA;AAjBK,SAAS;IAvBd,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,8FAA8F;YAC9F,yDAAyD;QAC7D,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,6EAA6E;YAC1F,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,2BAA2B;YAC3B,mCAAmC;YACnC,+CAA+C;SAClD;KACJ,CAAC;GACI,SAAS,CAiBd;AAED,kBAAe,SAAS,CAAC"}
@@ -11,7 +11,7 @@ exports.buildDatetimeObject = buildDatetimeObject;
11
11
  exports.buildDateObject = buildDateObject;
12
12
  exports.buildTimeObject = buildTimeObject;
13
13
  /**
14
- * Computes the ISO day of the week (1 = Monday, 7 = Sunday) matching Neo4j convention.
14
+ * Computes the ISO day of the week (1 = Monday, 7 = Sunday).
15
15
  */
16
16
  function isoDayOfWeek(d) {
17
17
  const jsDay = d.getDay(); // 0 = Sunday, 6 = Saturday
@@ -4,8 +4,6 @@ import Function from "./function";
4
4
  * When called with no arguments, returns the current UTC time.
5
5
  * When called with a string argument, parses it as an ISO 8601 time.
6
6
  *
7
- * Equivalent to Neo4j's time() function.
8
- *
9
7
  * @example
10
8
  * ```
11
9
  * RETURN time() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/time.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;;;GAYG;AACH,cAuBM,IAAK,SAAQ,QAAQ;;IAMhB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/time.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAIlC;;;;;;;;;;GAUG;AACH,cAuBM,IAAK,SAAQ,QAAQ;;IAMhB,KAAK,IAAI,GAAG;CAWtB;AAED,eAAe,IAAI,CAAC"}
@@ -17,8 +17,6 @@ const temporal_utils_1 = require("./temporal_utils");
17
17
  * When called with no arguments, returns the current UTC time.
18
18
  * When called with a string argument, parses it as an ISO 8601 time.
19
19
  *
20
- * Equivalent to Neo4j's time() function.
21
- *
22
20
  * @example
23
21
  * ```
24
22
  * RETURN time() AS now
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/parsing/functions/time.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAqE;AAErE;;;;;;;;;;;;GAYG;AAwBH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,kBAAQ;IACvB;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAEvF,OAAO,IAAA,gCAAe,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AAjBK,IAAI;IAvBT,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,wEAAwE;YACxE,6FAA6F;QACjG,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,6EAA6E;YAC1F,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,sBAAsB;YACtB,8BAA8B;YAC9B,0CAA0C;SAC7C;KACJ,CAAC;GACI,IAAI,CAiBT;AAED,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/parsing/functions/time.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAClD,qDAAqE;AAErE;;;;;;;;;;GAUG;AAwBH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,kBAAQ;IACvB;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACxC,CAAC;IAEM,KAAK;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,CAAC,GACH,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAEvF,OAAO,IAAA,gCAAe,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACJ,CAAA;AAjBK,IAAI;IAvBT,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,wEAAwE;YACxE,6FAA6F;QACjG,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAClB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,6EAA6E;YAC1F,IAAI,EAAE,QAAQ;SACjB;QACD,QAAQ,EAAE;YACN,sBAAsB;YACtB,8BAA8B;YAC9B,0CAA0C;SAC7C;KACJ,CAAC;GACI,IAAI,CAiBT;AAED,kBAAe,IAAI,CAAC"}
@@ -2,8 +2,6 @@ import Function from "./function";
2
2
  /**
3
3
  * Returns the number of milliseconds since the Unix epoch (1970-01-01T00:00:00Z).
4
4
  *
5
- * Equivalent to Neo4j's timestamp() function.
6
- *
7
5
  * @example
8
6
  * ```
9
7
  * RETURN timestamp() AS ts
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;;GASG;AACH,cAgBM,SAAU,SAAQ,QAAQ;;IAMrB,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;GAOG;AACH,cAcM,SAAU,SAAQ,QAAQ;;IAMrB,KAAK,IAAI,GAAG;CAGtB;AAED,eAAe,SAAS,CAAC"}
@@ -14,8 +14,6 @@ const function_metadata_1 = require("./function_metadata");
14
14
  /**
15
15
  * Returns the number of milliseconds since the Unix epoch (1970-01-01T00:00:00Z).
16
16
  *
17
- * Equivalent to Neo4j's timestamp() function.
18
- *
19
17
  * @example
20
18
  * ```
21
19
  * RETURN timestamp() AS ts
@@ -32,8 +30,7 @@ let Timestamp = class Timestamp extends function_1.default {
32
30
  };
33
31
  Timestamp = __decorate([
34
32
  (0, function_metadata_1.FunctionDef)({
35
- description: "Returns the number of milliseconds since the Unix epoch (1970-01-01T00:00:00Z). " +
36
- "Equivalent to Neo4j's timestamp() function.",
33
+ description: "Returns the number of milliseconds since the Unix epoch (1970-01-01T00:00:00Z).",
37
34
  category: "scalar",
38
35
  parameters: [],
39
36
  output: {
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../../src/parsing/functions/timestamp.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAElD;;;;;;;;;GASG;AAiBH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,kBAAQ;IAC5B;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACJ,CAAA;AATK,SAAS;IAhBd,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,kFAAkF;YAClF,6CAA6C;QACjD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE;YACJ,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACzB;QACD,QAAQ,EAAE;YACN,0BAA0B;YAC1B,wEAAwE;SAC3E;KACJ,CAAC;GACI,SAAS,CASd;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../../src/parsing/functions/timestamp.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAElD;;;;;;;GAOG;AAeH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,kBAAQ;IAC5B;QACI,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACJ,CAAA;AATK,SAAS;IAdd,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE;YACJ,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACzB;QACD,QAAQ,EAAE;YACN,0BAA0B;YAC1B,wEAAwE;SAC3E;KACJ,CAAC;GACI,SAAS,CASd;AAED,kBAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"group_by.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAM,IAAI;IACN,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,SAAS,CAAqC;gBAC1C,KAAK,GAAE,GAAU;IAG7B,IAAW,KAAK,IAAI,GAAG,CAEtB;IACD,IAAW,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAEvC;IACD,IAAW,QAAQ,IAAI,kBAAkB,EAAE,GAAG,IAAI,CAEjD;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAEjD;CACJ;AAED,cAAM,OAAQ,SAAQ,UAAU;IAC5B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAoC;IACrD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACzB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,KAAK,IAAI,GAEf;IACD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,KAAK,OAAO,QAElB;IACD,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,GAAG;IAaX,OAAO,CAAC,MAAM;IASd,OAAO,KAAK,OAAO,GAKlB;IACD,OAAO,CAAE,iBAAiB;IAO1B,OAAO,KAAK,QAAQ,GASnB;IACO,gBAAgB,CACpB,WAAW,GAAE,MAAU,EACvB,IAAI,GAAE,IAAgB,GACvB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAyBjC,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;CACJ;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"group_by.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAM,IAAI;IACN,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,SAAS,CAAqC;gBAC1C,KAAK,GAAE,GAAU;IAG7B,IAAW,KAAK,IAAI,GAAG,CAEtB;IACD,IAAW,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAEvC;IACD,IAAW,QAAQ,IAAI,kBAAkB,EAAE,GAAG,IAAI,CAEjD;IACD,IAAW,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAEjD;CACJ;AAED,cAAM,OAAQ,SAAQ,UAAU;IAC5B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAoC;IACrD,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACzB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,KAAK,IAAI,GAEf;IACD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,KAAK,OAAO,QAElB;IACD,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,GAAG;IAeX,OAAO,CAAC,MAAM;IASd,OAAO,KAAK,OAAO,GAKlB;IACD,OAAO,CAAE,iBAAiB;IAO1B,OAAO,KAAK,QAAQ,GASnB;IACO,gBAAgB,CACpB,WAAW,GAAE,MAAU,EACvB,IAAI,GAAE,IAAgB,GACvB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAyBjC,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;CACJ;AAED,eAAe,OAAO,CAAC"}
@@ -64,10 +64,11 @@ class GroupBy extends projection_1.default {
64
64
  let node = this.current;
65
65
  for (const mapper of this.mappers) {
66
66
  const value = mapper.value();
67
- let child = node.children.get(value);
67
+ const key = typeof value === "object" && value !== null ? JSON.stringify(value) : String(value);
68
+ let child = node.children.get(key);
68
69
  if (child === undefined) {
69
70
  child = new Node(value);
70
- node.children.set(value, child);
71
+ node.children.set(key, child);
71
72
  }
72
73
  node = child;
73
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group_by.js","sourceRoot":"","sources":["../../../src/parsing/operations/group_by.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ declare class Limit extends Operation {
3
3
  private count;
4
4
  private limit;
5
5
  constructor(limit: number);
6
+ get isLimitReached(): boolean;
7
+ increment(): void;
6
8
  run(): Promise<void>;
7
9
  reset(): void;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,KAAM,SAAQ,SAAS;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAa;gBACd,KAAK,EAAE,MAAM;IAIZ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B,KAAK,IAAI,IAAI;CAGvB;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,cAAM,KAAM,SAAQ,SAAS;IACzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAa;gBACd,KAAK,EAAE,MAAM;IAIzB,IAAW,cAAc,IAAI,OAAO,CAEnC;IACM,SAAS,IAAI,IAAI;IAGX,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B,KAAK,IAAI,IAAI;CAGvB;AAED,eAAe,KAAK,CAAC"}
@@ -20,6 +20,12 @@ class Limit extends operation_1.default {
20
20
  this.limit = 0;
21
21
  this.limit = limit;
22
22
  }
23
+ get isLimitReached() {
24
+ return this.count >= this.limit;
25
+ }
26
+ increment() {
27
+ this.count++;
28
+ }
23
29
  run() {
24
30
  return __awaiter(this, void 0, void 0, function* () {
25
31
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAEpC,MAAM,KAAM,SAAQ,mBAAS;IAGzB,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QAHJ,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACY,GAAG;;;YACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;QAC3B,CAAC;KAAA;IACM,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../../src/parsing/operations/limit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AAEpC,MAAM,KAAM,SAAQ,mBAAS;IAGzB,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QAHJ,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IACM,SAAS;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IACY,GAAG;;;YACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,EAAE,CAAA,CAAC;QAC3B,CAAC;KAAA;IACM,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ;AAED,kBAAe,KAAK,CAAC"}
@@ -1,3 +1,4 @@
1
+ import Limit from "./limit";
1
2
  import Projection from "./projection";
2
3
  import Where from "./where";
3
4
  /**
@@ -14,8 +15,10 @@ import Where from "./where";
14
15
  declare class Return extends Projection {
15
16
  protected _where: Where | null;
16
17
  protected _results: Record<string, any>[];
18
+ private _limit;
17
19
  set where(where: Where);
18
20
  get where(): boolean;
21
+ set limit(limit: Limit);
19
22
  run(): Promise<void>;
20
23
  initialize(): Promise<void>;
21
24
  get results(): Record<string, any>[];
@@ -1 +1 @@
1
- {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAYpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAE1C;CACJ;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAQ;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAsB;IACpC,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACD,IAAW,KAAK,IAAI,OAAO,CAK1B;IACD,IAAW,KAAK,CAAC,KAAK,EAAE,KAAK,EAE5B;IACY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAE1C;CACJ;AAED,eAAe,MAAM,CAAC"}
@@ -29,6 +29,7 @@ class Return extends projection_1.default {
29
29
  super(...arguments);
30
30
  this._where = null;
31
31
  this._results = [];
32
+ this._limit = null;
32
33
  }
33
34
  set where(where) {
34
35
  this._where = where;
@@ -39,11 +40,17 @@ class Return extends projection_1.default {
39
40
  }
40
41
  return this._where.value();
41
42
  }
43
+ set limit(limit) {
44
+ this._limit = limit;
45
+ }
42
46
  run() {
43
47
  return __awaiter(this, void 0, void 0, function* () {
44
48
  if (!this.where) {
45
49
  return;
46
50
  }
51
+ if (this._limit !== null && this._limit.isLimitReached) {
52
+ return;
53
+ }
47
54
  const record = new Map();
48
55
  for (const [expression, alias] of this.expressions()) {
49
56
  const raw = expression.value();
@@ -51,6 +58,9 @@ class Return extends projection_1.default {
51
58
  record.set(alias, value);
52
59
  }
53
60
  this._results.push(Object.fromEntries(record));
61
+ if (this._limit !== null) {
62
+ this._limit.increment();
63
+ }
54
64
  });
55
65
  }
56
66
  initialize() {
@@ -1 +1 @@
1
- {"version":3,"file":"return.js","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,MAAO,SAAQ,oBAAU;IAA/B;;QACc,WAAM,GAAiB,IAAI,CAAC;QAC5B,aAAQ,GAA0B,EAAE,CAAC;IA4BnD,CAAC;IA3BG,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACY,GAAG;;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAQ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,CAAC;KAAA;IACY,UAAU;;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC;KAAA;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"return.js","sourceRoot":"","sources":["../../../src/parsing/operations/return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,8DAAsC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,MAAO,SAAQ,oBAAU;IAA/B;;QACc,WAAM,GAAiB,IAAI,CAAC;QAC5B,aAAQ,GAA0B,EAAE,CAAC;QACvC,WAAM,GAAiB,IAAI,CAAC;IAqCxC,CAAC;IApCG,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAW,KAAK;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,IAAW,KAAK,CAAC,KAAY;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACY,GAAG;;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO;YACX,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACrD,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAQ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;KAAA;IACY,UAAU;;YACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC;KAAA;IACD,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,kBAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AAuDvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKxC,OAAO,CAAC,eAAe;IA8EvB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,WAAW;IAgEnB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;IAuDjB,OAAO,CAAE,eAAe;IAyCxB,OAAO,CAAE,aAAa;IAgCtB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,iBAAiB;IAgFzB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAE,gBAAgB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8EpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;CAKrD;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parsing/parser.ts"],"names":[],"mappings":"AAWA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,UAAU,MAAM,eAAe,CAAC;AAuDvC;;;;;;;;;;;;GAYG;AACH,cAAM,MAAO,SAAQ,UAAU;IAC3B,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKxC,OAAO,CAAC,eAAe;IAqFvB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,SAAS;IAoEjB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,WAAW;IAgEnB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAE,eAAe;IAyCxB,OAAO,CAAE,aAAa;IAgCtB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,iBAAiB;IAgFzB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAE,gBAAgB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA8EpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,aAAa;IAoCrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kCAAkC;IAO1C,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,0CAA0C;CAKrD;AAED,eAAe,MAAM,CAAC"}
@@ -102,6 +102,9 @@ class Parser extends base_parser_1.default {
102
102
  if (this.token.isUnion()) {
103
103
  break;
104
104
  }
105
+ if (this.token.isEOF()) {
106
+ break;
107
+ }
105
108
  operation = this.parseOperation();
106
109
  if (operation === null && !isSubQuery) {
107
110
  throw new Error("Expected one of WITH, UNWIND, RETURN, LOAD, OR CALL");
@@ -133,8 +136,13 @@ class Parser extends base_parser_1.default {
133
136
  }
134
137
  const limit = this.parseLimit();
135
138
  if (limit !== null) {
136
- operation.addSibling(limit);
137
- operation = limit;
139
+ if (operation instanceof return_1.default) {
140
+ operation.limit = limit;
141
+ }
142
+ else {
143
+ operation.addSibling(limit);
144
+ operation = limit;
145
+ }
138
146
  }
139
147
  previous = operation;
140
148
  }
@@ -473,15 +481,10 @@ class Parser extends base_parser_1.default {
473
481
  node.label = label;
474
482
  if (identifier !== null && this._state.variables.has(identifier)) {
475
483
  let reference = this._state.variables.get(identifier);
476
- // Resolve through Expression -> Reference -> Node (e.g., after WITH)
477
- if (reference instanceof expression_1.default && reference.firstChild() instanceof reference_1.default) {
478
- const inner = reference.firstChild().referred;
479
- if (inner instanceof node_1.default) {
480
- reference = inner;
481
- }
482
- }
483
484
  if (reference === undefined ||
484
- (!(reference instanceof node_1.default) && !(reference instanceof unwind_1.default))) {
485
+ (!(reference instanceof node_1.default) &&
486
+ !(reference instanceof unwind_1.default) &&
487
+ !(reference instanceof expression_1.default))) {
485
488
  throw new Error(`Undefined node reference: ${identifier}`);
486
489
  }
487
490
  node = new node_reference_1.default(node, reference);