flowquery 1.0.34 → 1.0.36

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 (197) hide show
  1. package/dist/flowquery.min.js +1 -1
  2. package/dist/graph/database.d.ts +1 -0
  3. package/dist/graph/database.d.ts.map +1 -1
  4. package/dist/graph/database.js +43 -6
  5. package/dist/graph/database.js.map +1 -1
  6. package/dist/graph/relationship.d.ts +3 -1
  7. package/dist/graph/relationship.d.ts.map +1 -1
  8. package/dist/graph/relationship.js +12 -4
  9. package/dist/graph/relationship.js.map +1 -1
  10. package/dist/graph/relationship_data.js +1 -1
  11. package/dist/graph/relationship_data.js.map +1 -1
  12. package/dist/graph/relationship_match_collector.d.ts.map +1 -1
  13. package/dist/graph/relationship_match_collector.js +6 -3
  14. package/dist/graph/relationship_match_collector.js.map +1 -1
  15. package/dist/graph/relationship_reference.js +1 -1
  16. package/dist/graph/relationship_reference.js.map +1 -1
  17. package/dist/parsing/data_structures/lookup.d.ts.map +1 -1
  18. package/dist/parsing/data_structures/lookup.js +5 -1
  19. package/dist/parsing/data_structures/lookup.js.map +1 -1
  20. package/dist/parsing/functions/coalesce.d.ts +17 -0
  21. package/dist/parsing/functions/coalesce.d.ts.map +1 -0
  22. package/dist/parsing/functions/coalesce.js +61 -0
  23. package/dist/parsing/functions/coalesce.js.map +1 -0
  24. package/dist/parsing/functions/date.d.ts +22 -0
  25. package/dist/parsing/functions/date.d.ts.map +1 -0
  26. package/dist/parsing/functions/date.js +71 -0
  27. package/dist/parsing/functions/date.js.map +1 -0
  28. package/dist/parsing/functions/datetime.d.ts +22 -0
  29. package/dist/parsing/functions/datetime.d.ts.map +1 -0
  30. package/dist/parsing/functions/datetime.js +71 -0
  31. package/dist/parsing/functions/datetime.js.map +1 -0
  32. package/dist/parsing/functions/duration.d.ts +7 -0
  33. package/dist/parsing/functions/duration.d.ts.map +1 -0
  34. package/dist/parsing/functions/duration.js +145 -0
  35. package/dist/parsing/functions/duration.js.map +1 -0
  36. package/dist/parsing/functions/element_id.d.ts +7 -0
  37. package/dist/parsing/functions/element_id.d.ts.map +1 -0
  38. package/dist/parsing/functions/element_id.js +58 -0
  39. package/dist/parsing/functions/element_id.js.map +1 -0
  40. package/dist/parsing/functions/function_factory.d.ts +21 -0
  41. package/dist/parsing/functions/function_factory.d.ts.map +1 -1
  42. package/dist/parsing/functions/function_factory.js +21 -0
  43. package/dist/parsing/functions/function_factory.js.map +1 -1
  44. package/dist/parsing/functions/head.d.ts +7 -0
  45. package/dist/parsing/functions/head.d.ts.map +1 -0
  46. package/dist/parsing/functions/head.js +53 -0
  47. package/dist/parsing/functions/head.js.map +1 -0
  48. package/dist/parsing/functions/id.d.ts +7 -0
  49. package/dist/parsing/functions/id.d.ts.map +1 -0
  50. package/dist/parsing/functions/id.js +58 -0
  51. package/dist/parsing/functions/id.js.map +1 -0
  52. package/dist/parsing/functions/last.d.ts +7 -0
  53. package/dist/parsing/functions/last.d.ts.map +1 -0
  54. package/dist/parsing/functions/last.js +53 -0
  55. package/dist/parsing/functions/last.js.map +1 -0
  56. package/dist/parsing/functions/localdatetime.d.ts +21 -0
  57. package/dist/parsing/functions/localdatetime.d.ts.map +1 -0
  58. package/dist/parsing/functions/localdatetime.js +71 -0
  59. package/dist/parsing/functions/localdatetime.js.map +1 -0
  60. package/dist/parsing/functions/localtime.d.ts +20 -0
  61. package/dist/parsing/functions/localtime.d.ts.map +1 -0
  62. package/dist/parsing/functions/localtime.js +67 -0
  63. package/dist/parsing/functions/localtime.js.map +1 -0
  64. package/dist/parsing/functions/max.d.ts +14 -0
  65. package/dist/parsing/functions/max.d.ts.map +1 -0
  66. package/dist/parsing/functions/max.js +51 -0
  67. package/dist/parsing/functions/max.js.map +1 -0
  68. package/dist/parsing/functions/min.d.ts +14 -0
  69. package/dist/parsing/functions/min.d.ts.map +1 -0
  70. package/dist/parsing/functions/min.js +51 -0
  71. package/dist/parsing/functions/min.js.map +1 -0
  72. package/dist/parsing/functions/nodes.d.ts +7 -0
  73. package/dist/parsing/functions/nodes.d.ts.map +1 -0
  74. package/dist/parsing/functions/nodes.js +63 -0
  75. package/dist/parsing/functions/nodes.js.map +1 -0
  76. package/dist/parsing/functions/predicate_sum.d.ts.map +1 -1
  77. package/dist/parsing/functions/predicate_sum.js +13 -10
  78. package/dist/parsing/functions/predicate_sum.js.map +1 -1
  79. package/dist/parsing/functions/properties.d.ts +7 -0
  80. package/dist/parsing/functions/properties.d.ts.map +1 -0
  81. package/dist/parsing/functions/properties.js +74 -0
  82. package/dist/parsing/functions/properties.js.map +1 -0
  83. package/dist/parsing/functions/relationships.d.ts +7 -0
  84. package/dist/parsing/functions/relationships.d.ts.map +1 -0
  85. package/dist/parsing/functions/relationships.js +61 -0
  86. package/dist/parsing/functions/relationships.js.map +1 -0
  87. package/dist/parsing/functions/schema.d.ts +5 -2
  88. package/dist/parsing/functions/schema.d.ts.map +1 -1
  89. package/dist/parsing/functions/schema.js +7 -4
  90. package/dist/parsing/functions/schema.js.map +1 -1
  91. package/dist/parsing/functions/tail.d.ts +7 -0
  92. package/dist/parsing/functions/tail.d.ts.map +1 -0
  93. package/dist/parsing/functions/tail.js +50 -0
  94. package/dist/parsing/functions/tail.js.map +1 -0
  95. package/dist/parsing/functions/temporal_utils.d.ts +39 -0
  96. package/dist/parsing/functions/temporal_utils.d.ts.map +1 -0
  97. package/dist/parsing/functions/temporal_utils.js +168 -0
  98. package/dist/parsing/functions/temporal_utils.js.map +1 -0
  99. package/dist/parsing/functions/time.d.ts +20 -0
  100. package/dist/parsing/functions/time.d.ts.map +1 -0
  101. package/dist/parsing/functions/time.js +67 -0
  102. package/dist/parsing/functions/time.js.map +1 -0
  103. package/dist/parsing/functions/timestamp.d.ts +17 -0
  104. package/dist/parsing/functions/timestamp.d.ts.map +1 -0
  105. package/dist/parsing/functions/timestamp.js +51 -0
  106. package/dist/parsing/functions/timestamp.js.map +1 -0
  107. package/dist/parsing/functions/to_float.d.ts +7 -0
  108. package/dist/parsing/functions/to_float.d.ts.map +1 -0
  109. package/dist/parsing/functions/to_float.js +61 -0
  110. package/dist/parsing/functions/to_float.js.map +1 -0
  111. package/dist/parsing/functions/to_integer.d.ts +7 -0
  112. package/dist/parsing/functions/to_integer.d.ts.map +1 -0
  113. package/dist/parsing/functions/to_integer.js +61 -0
  114. package/dist/parsing/functions/to_integer.js.map +1 -0
  115. package/dist/parsing/functions/trim.d.ts +7 -0
  116. package/dist/parsing/functions/trim.d.ts.map +1 -0
  117. package/dist/parsing/functions/trim.js +37 -0
  118. package/dist/parsing/functions/trim.js.map +1 -0
  119. package/dist/parsing/operations/group_by.d.ts.map +1 -1
  120. package/dist/parsing/operations/group_by.js +4 -2
  121. package/dist/parsing/operations/group_by.js.map +1 -1
  122. package/dist/parsing/parser.d.ts.map +1 -1
  123. package/dist/parsing/parser.js +15 -2
  124. package/dist/parsing/parser.js.map +1 -1
  125. package/docs/flowquery.min.js +1 -1
  126. package/flowquery-py/pyproject.toml +1 -1
  127. package/flowquery-py/src/graph/database.py +44 -11
  128. package/flowquery-py/src/graph/relationship.py +11 -3
  129. package/flowquery-py/src/graph/relationship_data.py +2 -1
  130. package/flowquery-py/src/graph/relationship_match_collector.py +7 -1
  131. package/flowquery-py/src/graph/relationship_reference.py +2 -2
  132. package/flowquery-py/src/parsing/data_structures/lookup.py +2 -0
  133. package/flowquery-py/src/parsing/functions/__init__.py +42 -2
  134. package/flowquery-py/src/parsing/functions/coalesce.py +44 -0
  135. package/flowquery-py/src/parsing/functions/date_.py +63 -0
  136. package/flowquery-py/src/parsing/functions/datetime_.py +64 -0
  137. package/flowquery-py/src/parsing/functions/duration.py +159 -0
  138. package/flowquery-py/src/parsing/functions/element_id.py +50 -0
  139. package/flowquery-py/src/parsing/functions/head.py +39 -0
  140. package/flowquery-py/src/parsing/functions/id_.py +49 -0
  141. package/flowquery-py/src/parsing/functions/last.py +39 -0
  142. package/flowquery-py/src/parsing/functions/localdatetime.py +62 -0
  143. package/flowquery-py/src/parsing/functions/localtime.py +59 -0
  144. package/flowquery-py/src/parsing/functions/max_.py +49 -0
  145. package/flowquery-py/src/parsing/functions/min_.py +49 -0
  146. package/flowquery-py/src/parsing/functions/nodes.py +48 -0
  147. package/flowquery-py/src/parsing/functions/predicate_sum.py +3 -6
  148. package/flowquery-py/src/parsing/functions/properties.py +50 -0
  149. package/flowquery-py/src/parsing/functions/relationships.py +46 -0
  150. package/flowquery-py/src/parsing/functions/schema.py +9 -5
  151. package/flowquery-py/src/parsing/functions/tail.py +37 -0
  152. package/flowquery-py/src/parsing/functions/temporal_utils.py +186 -0
  153. package/flowquery-py/src/parsing/functions/time_.py +59 -0
  154. package/flowquery-py/src/parsing/functions/timestamp.py +39 -0
  155. package/flowquery-py/src/parsing/functions/to_float.py +46 -0
  156. package/flowquery-py/src/parsing/functions/to_integer.py +46 -0
  157. package/flowquery-py/src/parsing/functions/trim.py +35 -0
  158. package/flowquery-py/src/parsing/operations/group_by.py +2 -0
  159. package/flowquery-py/src/parsing/parser.py +12 -2
  160. package/flowquery-py/tests/compute/test_runner.py +1082 -4
  161. package/flowquery-vscode/flowQueryEngine/flowquery.min.js +1 -1
  162. package/package.json +1 -1
  163. package/src/graph/database.ts +42 -4
  164. package/src/graph/relationship.ts +12 -4
  165. package/src/graph/relationship_data.ts +1 -1
  166. package/src/graph/relationship_match_collector.ts +6 -2
  167. package/src/graph/relationship_reference.ts +1 -1
  168. package/src/parsing/data_structures/lookup.ts +8 -4
  169. package/src/parsing/functions/coalesce.ts +50 -0
  170. package/src/parsing/functions/date.ts +65 -0
  171. package/src/parsing/functions/datetime.ts +65 -0
  172. package/src/parsing/functions/duration.ts +143 -0
  173. package/src/parsing/functions/element_id.ts +51 -0
  174. package/src/parsing/functions/function_factory.ts +21 -0
  175. package/src/parsing/functions/head.ts +42 -0
  176. package/src/parsing/functions/id.ts +51 -0
  177. package/src/parsing/functions/last.ts +42 -0
  178. package/src/parsing/functions/localdatetime.ts +65 -0
  179. package/src/parsing/functions/localtime.ts +60 -0
  180. package/src/parsing/functions/max.ts +37 -0
  181. package/src/parsing/functions/min.ts +37 -0
  182. package/src/parsing/functions/nodes.ts +54 -0
  183. package/src/parsing/functions/predicate_sum.ts +17 -12
  184. package/src/parsing/functions/properties.ts +56 -0
  185. package/src/parsing/functions/relationships.ts +52 -0
  186. package/src/parsing/functions/schema.ts +7 -4
  187. package/src/parsing/functions/tail.ts +39 -0
  188. package/src/parsing/functions/temporal_utils.ts +180 -0
  189. package/src/parsing/functions/time.ts +60 -0
  190. package/src/parsing/functions/timestamp.ts +41 -0
  191. package/src/parsing/functions/to_float.ts +50 -0
  192. package/src/parsing/functions/to_integer.ts +50 -0
  193. package/src/parsing/functions/trim.ts +25 -0
  194. package/src/parsing/operations/group_by.ts +4 -1
  195. package/src/parsing/parser.ts +15 -2
  196. package/tests/compute/runner.test.ts +1005 -3
  197. package/tests/parsing/parser.test.ts +37 -0
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ /**
15
+ * Regex for ISO 8601 duration strings: P[nY][nM][nW][nD][T[nH][nM][nS]]
16
+ */
17
+ const ISO_DURATION_REGEX = /^P(?:(\d+(?:\.\d+)?)Y)?(?:(\d+(?:\.\d+)?)M)?(?:(\d+(?:\.\d+)?)W)?(?:(\d+(?:\.\d+)?)D)?(?:T(?:(\d+(?:\.\d+)?)H)?(?:(\d+(?:\.\d+)?)M)?(?:(\d+(?:\.\d+)?)S)?)?$/;
18
+ function parseDurationString(s) {
19
+ const match = s.match(ISO_DURATION_REGEX);
20
+ if (!match) {
21
+ throw new Error(`duration(): Invalid ISO 8601 duration string: '${s}'`);
22
+ }
23
+ return {
24
+ years: match[1] ? parseFloat(match[1]) : 0,
25
+ months: match[2] ? parseFloat(match[2]) : 0,
26
+ weeks: match[3] ? parseFloat(match[3]) : 0,
27
+ days: match[4] ? parseFloat(match[4]) : 0,
28
+ hours: match[5] ? parseFloat(match[5]) : 0,
29
+ minutes: match[6] ? parseFloat(match[6]) : 0,
30
+ seconds: match[7] ? parseFloat(match[7]) : 0,
31
+ };
32
+ }
33
+ function buildDurationObject(components) {
34
+ const years = components.years || 0;
35
+ const months = components.months || 0;
36
+ const weeks = components.weeks || 0;
37
+ const days = components.days || 0;
38
+ const hours = components.hours || 0;
39
+ const minutes = components.minutes || 0;
40
+ const seconds = Math.floor(components.seconds || 0);
41
+ const fractionalSeconds = (components.seconds || 0) - seconds;
42
+ const milliseconds = components.milliseconds
43
+ ? Math.floor(components.milliseconds)
44
+ : Math.round(fractionalSeconds * 1000);
45
+ const nanoseconds = components.nanoseconds
46
+ ? Math.floor(components.nanoseconds)
47
+ : Math.round(fractionalSeconds * 1000000000) % 1000000;
48
+ // Total days including weeks
49
+ const totalDays = days + weeks * 7;
50
+ // Total seconds for the time portion
51
+ const totalSeconds = hours * 3600 + minutes * 60 + seconds;
52
+ // Approximate total in various units (months approximated at 30 days)
53
+ const totalMonths = years * 12 + months;
54
+ // Build ISO 8601 formatted string
55
+ let formatted = "P";
56
+ if (years)
57
+ formatted += `${years}Y`;
58
+ if (months)
59
+ formatted += `${months}M`;
60
+ if (weeks)
61
+ formatted += `${weeks}W`;
62
+ if (totalDays - weeks * 7)
63
+ formatted += `${totalDays - weeks * 7}D`;
64
+ const hasTime = hours || minutes || seconds || milliseconds;
65
+ if (hasTime) {
66
+ formatted += "T";
67
+ if (hours)
68
+ formatted += `${hours}H`;
69
+ if (minutes)
70
+ formatted += `${minutes}M`;
71
+ if (seconds || milliseconds) {
72
+ if (milliseconds) {
73
+ formatted += `${seconds}.${String(milliseconds).padStart(3, "0")}S`;
74
+ }
75
+ else {
76
+ formatted += `${seconds}S`;
77
+ }
78
+ }
79
+ }
80
+ if (formatted === "P")
81
+ formatted = "PT0S";
82
+ return {
83
+ years,
84
+ months,
85
+ weeks,
86
+ days: totalDays,
87
+ hours,
88
+ minutes,
89
+ seconds,
90
+ milliseconds,
91
+ nanoseconds,
92
+ totalMonths,
93
+ totalDays,
94
+ totalSeconds,
95
+ formatted,
96
+ };
97
+ }
98
+ let Duration = class Duration extends function_1.default {
99
+ constructor() {
100
+ super("duration");
101
+ this._expectedParameterCount = 1;
102
+ }
103
+ value() {
104
+ const arg = this.getChildren()[0].value();
105
+ if (arg === null || arg === undefined) {
106
+ return null;
107
+ }
108
+ if (typeof arg === "string") {
109
+ const components = parseDurationString(arg);
110
+ return buildDurationObject(components);
111
+ }
112
+ if (typeof arg === "object" && !Array.isArray(arg)) {
113
+ return buildDurationObject(arg);
114
+ }
115
+ throw new Error("duration() expects a string or map argument");
116
+ }
117
+ };
118
+ Duration = __decorate([
119
+ (0, function_metadata_1.FunctionDef)({
120
+ description: "Creates a duration value representing a span of time. " +
121
+ "Accepts an ISO 8601 duration string (e.g., 'P1Y2M3DT4H5M6S') or a map of components " +
122
+ "(years, months, weeks, days, hours, minutes, seconds, milliseconds, nanoseconds).",
123
+ category: "scalar",
124
+ parameters: [
125
+ {
126
+ name: "input",
127
+ description: "An ISO 8601 duration string or a map of components (years, months, weeks, days, hours, minutes, seconds, milliseconds, nanoseconds)",
128
+ type: "any",
129
+ },
130
+ ],
131
+ output: {
132
+ description: "A duration object with properties: years, months, weeks, days, hours, minutes, seconds, " +
133
+ "milliseconds, nanoseconds, totalMonths, totalDays, totalSeconds, formatted",
134
+ type: "object",
135
+ },
136
+ examples: [
137
+ "RETURN duration('P1Y2M3D') AS d",
138
+ "RETURN duration('PT2H30M') AS d",
139
+ "RETURN duration({days: 14, hours: 16}) AS d",
140
+ "RETURN duration({months: 5, days: 1, hours: 12}) AS d",
141
+ ],
142
+ })
143
+ ], Duration);
144
+ exports.default = Duration;
145
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/parsing/functions/duration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class ElementId extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default ElementId;
7
+ //# sourceMappingURL=element_id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element_id.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/element_id.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAkBM,SAAU,SAAQ,QAAQ;;IAMrB,KAAK,IAAI,GAAG;CAqBtB;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let ElementId = class ElementId extends function_1.default {
15
+ constructor() {
16
+ super("elementid");
17
+ this._expectedParameterCount = 1;
18
+ }
19
+ value() {
20
+ const obj = this.getChildren()[0].value();
21
+ if (obj === null || obj === undefined) {
22
+ return null;
23
+ }
24
+ if (typeof obj !== "object" || Array.isArray(obj)) {
25
+ throw new Error("elementId() expects a node or relationship");
26
+ }
27
+ // If it's a RelationshipMatchRecord (has type, startNode, endNode, properties)
28
+ if ("type" in obj && "startNode" in obj && "endNode" in obj && "properties" in obj) {
29
+ return String(obj.type);
30
+ }
31
+ // If it's a node record (has id field)
32
+ if ("id" in obj) {
33
+ return String(obj.id);
34
+ }
35
+ throw new Error("elementId() expects a node or relationship");
36
+ }
37
+ };
38
+ ElementId = __decorate([
39
+ (0, function_metadata_1.FunctionDef)({
40
+ description: "Returns the element id of a node or relationship as a string. For nodes, returns the string representation of the id property. For relationships, returns the type.",
41
+ category: "scalar",
42
+ parameters: [
43
+ {
44
+ name: "entity",
45
+ description: "A node or relationship to get the element id from",
46
+ type: "object",
47
+ },
48
+ ],
49
+ output: {
50
+ description: "The element id of the entity as a string",
51
+ type: "string",
52
+ example: '"1"',
53
+ },
54
+ examples: ["MATCH (n:Person) RETURN elementId(n)", "MATCH (a)-[r]->(b) RETURN elementId(r)"],
55
+ })
56
+ ], ElementId);
57
+ exports.default = ElementId;
58
+ //# sourceMappingURL=element_id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element_id.js","sourceRoot":"","sources":["../../../src/parsing/functions/element_id.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAoBlD,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,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QAED,+EAA+E;QAC/E,IAAI,MAAM,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;YACjF,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;CACJ,CAAA;AA3BK,SAAS;IAlBd,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,qKAAqK;QACzK,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;gBAChE,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;SACjB;QACD,QAAQ,EAAE,CAAC,sCAAsC,EAAE,wCAAwC,CAAC;KAC/F,CAAC;GACI,SAAS,CA2Bd;AAED,kBAAe,SAAS,CAAC"}
@@ -1,16 +1,31 @@
1
1
  import AsyncFunction from "./async_function";
2
2
  import "./avg";
3
+ import "./coalesce";
3
4
  import "./collect";
4
5
  import "./count";
6
+ import "./date";
7
+ import "./datetime";
8
+ import "./duration";
9
+ import "./element_id";
5
10
  import Function from "./function";
6
11
  import { AsyncDataProvider, FunctionMetadata } from "./function_metadata";
7
12
  import "./functions";
13
+ import "./head";
14
+ import "./id";
8
15
  import "./join";
9
16
  import "./keys";
17
+ import "./last";
18
+ import "./localdatetime";
19
+ import "./localtime";
20
+ import "./max";
21
+ import "./min";
22
+ import "./nodes";
10
23
  import PredicateFunction from "./predicate_function";
11
24
  import "./predicate_sum";
25
+ import "./properties";
12
26
  import "./rand";
13
27
  import "./range";
28
+ import "./relationships";
14
29
  import "./replace";
15
30
  import "./round";
16
31
  import "./schema";
@@ -19,9 +34,15 @@ import "./split";
19
34
  import "./string_distance";
20
35
  import "./stringify";
21
36
  import "./sum";
37
+ import "./tail";
38
+ import "./time";
39
+ import "./timestamp";
40
+ import "./to_float";
41
+ import "./to_integer";
22
42
  import "./to_json";
23
43
  import "./to_lower";
24
44
  import "./to_string";
45
+ import "./trim";
25
46
  import "./type";
26
47
  export { AsyncDataProvider };
27
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,iBAAiB,CAAC;AACzB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,UAAU,CAAC;AAClB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC;AAErB,OAAO,OAAO,CAAC;AACf,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAGhB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,cAAM,eAAe;IACjB;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3E;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIrE;;;;;OAKG;WACW,aAAa,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,gBAAgB,EAAE;IAatB;;;;OAIG;WACW,iBAAiB,IAAI,MAAM,EAAE;IAI3C;;;;OAIG;WACW,MAAM,IAAI;QAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAQ/E;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAY5C;;;;;;OAMG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WAYhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAQzD;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"function_factory.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,CAAC;AACf,OAAO,YAAY,CAAC;AACpB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,iBAAiB,CAAC;AACzB,OAAO,aAAa,CAAC;AACrB,OAAO,OAAO,CAAC;AACf,OAAO,OAAO,CAAC;AACf,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,SAAS,CAAC;AACjB,OAAO,UAAU,CAAC;AAClB,OAAO,QAAQ,CAAC;AAChB,OAAO,SAAS,CAAC;AACjB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,aAAa,CAAC;AAErB,OAAO,OAAO,CAAC;AACf,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAChB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,cAAc,CAAC;AACtB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,QAAQ,CAAC;AAChB,OAAO,QAAQ,CAAC;AAGhB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,cAAM,eAAe;IACjB;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3E;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpD;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIrE;;;;;OAKG;WACW,aAAa,CAAC,OAAO,CAAC,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,gBAAgB,EAAE;IAatB;;;;OAIG;WACW,iBAAiB,IAAI,MAAM,EAAE;IAI3C;;;;OAIG;WACW,MAAM,IAAI;QAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAQ/E;;;;;OAKG;WACW,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAY5C;;;;;;OAMG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WAYhD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAQzD;AAED,eAAe,eAAe,CAAC"}
@@ -1,15 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  require("./avg");
4
+ require("./coalesce");
4
5
  require("./collect");
5
6
  require("./count");
7
+ require("./date");
8
+ require("./datetime");
9
+ require("./duration");
10
+ require("./element_id");
6
11
  const function_metadata_1 = require("./function_metadata");
7
12
  require("./functions");
13
+ require("./head");
14
+ require("./id");
8
15
  require("./join");
9
16
  require("./keys");
17
+ require("./last");
18
+ require("./localdatetime");
19
+ require("./localtime");
20
+ require("./max");
21
+ require("./min");
22
+ require("./nodes");
10
23
  require("./predicate_sum");
24
+ require("./properties");
11
25
  require("./rand");
12
26
  require("./range");
27
+ require("./relationships");
13
28
  require("./replace");
14
29
  require("./round");
15
30
  require("./schema");
@@ -19,9 +34,15 @@ require("./string_distance");
19
34
  require("./stringify");
20
35
  // Import built-in functions to ensure their @FunctionDef decorators run
21
36
  require("./sum");
37
+ require("./tail");
38
+ require("./time");
39
+ require("./timestamp");
40
+ require("./to_float");
41
+ require("./to_integer");
22
42
  require("./to_json");
23
43
  require("./to_lower");
24
44
  require("./to_string");
45
+ require("./trim");
25
46
  require("./type");
26
47
  /**
27
48
  * Factory for creating function instances by name.
@@ -1 +1 @@
1
- {"version":3,"file":"function_factory.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function_factory.js","sourceRoot":"","sources":["../../../src/parsing/functions/function_factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class Head extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default Head;
7
+ //# sourceMappingURL=head.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/head.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAiBM,IAAK,SAAQ,QAAQ;;IAMhB,KAAK,IAAI,GAAG;CAatB;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let Head = class Head extends function_1.default {
15
+ constructor() {
16
+ super("head");
17
+ this._expectedParameterCount = 1;
18
+ }
19
+ value() {
20
+ const val = this.getChildren()[0].value();
21
+ if (val === null || val === undefined) {
22
+ return null;
23
+ }
24
+ if (!Array.isArray(val)) {
25
+ throw new Error("head() expects a list");
26
+ }
27
+ if (val.length === 0) {
28
+ return null;
29
+ }
30
+ return val[0];
31
+ }
32
+ };
33
+ Head = __decorate([
34
+ (0, function_metadata_1.FunctionDef)({
35
+ description: "Returns the first element of a list",
36
+ category: "scalar",
37
+ parameters: [
38
+ {
39
+ name: "list",
40
+ description: "The list to get the first element from",
41
+ type: "array",
42
+ },
43
+ ],
44
+ output: {
45
+ description: "The first element of the list",
46
+ type: "any",
47
+ example: "1",
48
+ },
49
+ examples: ["RETURN head([1, 2, 3])", "WITH ['a', 'b', 'c'] AS items RETURN head(items)"],
50
+ })
51
+ ], Head);
52
+ exports.default = Head;
53
+ //# sourceMappingURL=head.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head.js","sourceRoot":"","sources":["../../../src/parsing/functions/head.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAmBlD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,kBAAQ;IACvB;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACJ,CAAA;AAnBK,IAAI;IAjBT,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,wCAAwC;gBACrD,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG;SACf;QACD,QAAQ,EAAE,CAAC,wBAAwB,EAAE,kDAAkD,CAAC;KAC3F,CAAC;GACI,IAAI,CAmBT;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class Id extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default Id;
7
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/id.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAkBM,EAAG,SAAQ,QAAQ;;IAMd,KAAK,IAAI,GAAG;CAqBtB;AAED,eAAe,EAAE,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let Id = class Id extends function_1.default {
15
+ constructor() {
16
+ super("id");
17
+ this._expectedParameterCount = 1;
18
+ }
19
+ value() {
20
+ const obj = this.getChildren()[0].value();
21
+ if (obj === null || obj === undefined) {
22
+ return null;
23
+ }
24
+ if (typeof obj !== "object" || Array.isArray(obj)) {
25
+ throw new Error("id() expects a node or relationship");
26
+ }
27
+ // If it's a RelationshipMatchRecord (has type, startNode, endNode, properties)
28
+ if ("type" in obj && "startNode" in obj && "endNode" in obj && "properties" in obj) {
29
+ return obj.type;
30
+ }
31
+ // If it's a node record (has id field)
32
+ if ("id" in obj) {
33
+ return obj.id;
34
+ }
35
+ throw new Error("id() expects a node or relationship");
36
+ }
37
+ };
38
+ Id = __decorate([
39
+ (0, function_metadata_1.FunctionDef)({
40
+ description: "Returns the id of a node or relationship. For nodes, returns the id property. For relationships, returns the type.",
41
+ category: "scalar",
42
+ parameters: [
43
+ {
44
+ name: "entity",
45
+ description: "A node or relationship to get the id from",
46
+ type: "object",
47
+ },
48
+ ],
49
+ output: {
50
+ description: "The id of the entity",
51
+ type: "any",
52
+ example: "1",
53
+ },
54
+ examples: ["MATCH (n:Person) RETURN id(n)", "MATCH (a)-[r]->(b) RETURN id(r)"],
55
+ })
56
+ ], Id);
57
+ exports.default = Id;
58
+ //# sourceMappingURL=id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/parsing/functions/id.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAoBlD,IAAM,EAAE,GAAR,MAAM,EAAG,SAAQ,kBAAQ;IACrB;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,+EAA+E;QAC/E,IAAI,MAAM,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;YACjF,OAAO,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,CAAC,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAA;AA3BK,EAAE;IAlBP,IAAA,+BAAW,EAAC;QACT,WAAW,EACP,oHAAoH;QACxH,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;gBACxD,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG;SACf;QACD,QAAQ,EAAE,CAAC,+BAA+B,EAAE,iCAAiC,CAAC;KACjF,CAAC;GACI,EAAE,CA2BP;AAED,kBAAe,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import Function from "./function";
2
+ declare class Last extends Function {
3
+ constructor();
4
+ value(): any;
5
+ }
6
+ export default Last;
7
+ //# sourceMappingURL=last.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last.d.ts","sourceRoot":"","sources":["../../../src/parsing/functions/last.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,cAiBM,IAAK,SAAQ,QAAQ;;IAMhB,KAAK,IAAI,GAAG;CAatB;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const function_1 = __importDefault(require("./function"));
13
+ const function_metadata_1 = require("./function_metadata");
14
+ let Last = class Last extends function_1.default {
15
+ constructor() {
16
+ super("last");
17
+ this._expectedParameterCount = 1;
18
+ }
19
+ value() {
20
+ const val = this.getChildren()[0].value();
21
+ if (val === null || val === undefined) {
22
+ return null;
23
+ }
24
+ if (!Array.isArray(val)) {
25
+ throw new Error("last() expects a list");
26
+ }
27
+ if (val.length === 0) {
28
+ return null;
29
+ }
30
+ return val[val.length - 1];
31
+ }
32
+ };
33
+ Last = __decorate([
34
+ (0, function_metadata_1.FunctionDef)({
35
+ description: "Returns the last element of a list",
36
+ category: "scalar",
37
+ parameters: [
38
+ {
39
+ name: "list",
40
+ description: "The list to get the last element from",
41
+ type: "array",
42
+ },
43
+ ],
44
+ output: {
45
+ description: "The last element of the list",
46
+ type: "any",
47
+ example: "3",
48
+ },
49
+ examples: ["RETURN last([1, 2, 3])", "WITH ['a', 'b', 'c'] AS items RETURN last(items)"],
50
+ })
51
+ ], Last);
52
+ exports.default = Last;
53
+ //# sourceMappingURL=last.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last.js","sourceRoot":"","sources":["../../../src/parsing/functions/last.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0DAAkC;AAClC,2DAAkD;AAmBlD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,kBAAQ;IACvB;QACI,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;CACJ,CAAA;AAnBK,IAAI;IAjBT,IAAA,+BAAW,EAAC;QACT,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,uCAAuC;gBACpD,IAAI,EAAE,OAAO;aAChB;SACJ;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,8BAA8B;YAC3C,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG;SACf;QACD,QAAQ,EAAE,CAAC,wBAAwB,EAAE,kDAAkD,CAAC;KAC3F,CAAC;GACI,IAAI,CAmBT;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,21 @@
1
+ import Function from "./function";
2
+ /**
3
+ * Returns a local datetime value (date + time, no timezone offset).
4
+ * When called with no arguments, returns the current local datetime.
5
+ * When called with a string argument, parses it as an ISO 8601 datetime.
6
+ * When called with a map argument, constructs a datetime from components.
7
+ *
8
+ * Equivalent to Neo4j's localdatetime() function.
9
+ *
10
+ * @example
11
+ * ```
12
+ * RETURN localdatetime() AS now
13
+ * RETURN localdatetime('2025-06-15T12:30:00') AS dt
14
+ * ```
15
+ */
16
+ declare class LocalDatetime extends Function {
17
+ constructor();
18
+ value(): any;
19
+ }
20
+ export default LocalDatetime;
21
+ //# sourceMappingURL=localdatetime.d.ts.map
@@ -0,0 +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"}