@n8n/expression-runtime 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/ARCHITECTURE.md +5 -6
  2. package/LICENSE_EE.md +27 -0
  3. package/README.md +11 -11
  4. package/dist/bundle/runtime.esm.js +45 -0
  5. package/dist/bundle/runtime.esm.js.map +7 -0
  6. package/dist/bundle/runtime.iife.js +45 -0
  7. package/dist/bundle/runtime.iife.js.map +7 -0
  8. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +132 -0
  9. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -0
  10. package/dist/cjs/bridge/isolated-vm-bridge.js +500 -0
  11. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -0
  12. package/dist/cjs/build.tsbuildinfo +1 -0
  13. package/dist/cjs/evaluator/expression-evaluator.d.ts +23 -0
  14. package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -0
  15. package/dist/cjs/evaluator/expression-evaluator.js +87 -0
  16. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -0
  17. package/dist/cjs/extensions/array-extensions.d.ts +34 -0
  18. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -0
  19. package/dist/cjs/extensions/array-extensions.js +632 -0
  20. package/dist/cjs/extensions/array-extensions.js.map +1 -0
  21. package/dist/cjs/extensions/boolean-extensions.d.ts +6 -0
  22. package/dist/cjs/extensions/boolean-extensions.d.ts.map +1 -0
  23. package/dist/cjs/extensions/boolean-extensions.js +49 -0
  24. package/dist/cjs/extensions/boolean-extensions.js.map +1 -0
  25. package/dist/cjs/extensions/date-extensions.d.ts +3 -0
  26. package/dist/cjs/extensions/date-extensions.d.ts.map +1 -0
  27. package/dist/cjs/extensions/date-extensions.js +528 -0
  28. package/dist/cjs/extensions/date-extensions.js.map +1 -0
  29. package/dist/cjs/extensions/expression-extension-error.d.ts +7 -0
  30. package/dist/cjs/extensions/expression-extension-error.d.ts.map +1 -0
  31. package/dist/cjs/extensions/expression-extension-error.js +25 -0
  32. package/dist/cjs/extensions/expression-extension-error.js.map +1 -0
  33. package/dist/cjs/extensions/extend.d.ts +12 -0
  34. package/dist/cjs/extensions/extend.d.ts.map +1 -0
  35. package/dist/cjs/extensions/extend.js +149 -0
  36. package/dist/cjs/extensions/extend.js.map +1 -0
  37. package/dist/cjs/extensions/extensions.d.ts +43 -0
  38. package/dist/cjs/extensions/extensions.d.ts.map +1 -0
  39. package/dist/cjs/extensions/extensions.js +13 -0
  40. package/dist/cjs/extensions/extensions.js.map +1 -0
  41. package/dist/cjs/extensions/number-extensions.d.ts +27 -0
  42. package/dist/cjs/extensions/number-extensions.d.ts.map +1 -0
  43. package/dist/cjs/extensions/number-extensions.js +235 -0
  44. package/dist/cjs/extensions/number-extensions.js.map +1 -0
  45. package/dist/cjs/extensions/object-extensions.d.ts +46 -0
  46. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -0
  47. package/dist/cjs/extensions/object-extensions.js +297 -0
  48. package/dist/cjs/extensions/object-extensions.js.map +1 -0
  49. package/dist/cjs/extensions/string-extensions.d.ts +38 -0
  50. package/dist/cjs/extensions/string-extensions.d.ts.map +1 -0
  51. package/dist/cjs/extensions/string-extensions.js +753 -0
  52. package/dist/cjs/extensions/string-extensions.js.map +1 -0
  53. package/dist/cjs/extensions/utils.d.ts +4 -0
  54. package/dist/cjs/extensions/utils.d.ts.map +1 -0
  55. package/dist/cjs/extensions/utils.js +42 -0
  56. package/dist/cjs/extensions/utils.js.map +1 -0
  57. package/dist/cjs/index.d.ts +7 -0
  58. package/dist/cjs/index.d.ts.map +1 -0
  59. package/dist/cjs/index.js +34 -0
  60. package/dist/cjs/index.js.map +1 -0
  61. package/dist/cjs/runtime/index.d.ts +17 -0
  62. package/dist/cjs/runtime/index.d.ts.map +1 -0
  63. package/dist/cjs/runtime/index.js +35 -0
  64. package/dist/cjs/runtime/index.js.map +1 -0
  65. package/dist/cjs/runtime/lazy-proxy.d.ts +22 -0
  66. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -0
  67. package/dist/cjs/runtime/lazy-proxy.js +179 -0
  68. package/dist/cjs/runtime/lazy-proxy.js.map +1 -0
  69. package/dist/cjs/runtime/reset.d.ts +16 -0
  70. package/dist/cjs/runtime/reset.d.ts.map +1 -0
  71. package/dist/cjs/runtime/reset.js +137 -0
  72. package/dist/cjs/runtime/reset.js.map +1 -0
  73. package/dist/cjs/runtime/safe-globals.d.ts +21 -0
  74. package/dist/cjs/runtime/safe-globals.d.ts.map +1 -0
  75. package/dist/cjs/runtime/safe-globals.js +125 -0
  76. package/dist/cjs/runtime/safe-globals.js.map +1 -0
  77. package/dist/{types → cjs/types}/bridge.d.ts +2 -0
  78. package/dist/cjs/types/bridge.d.ts.map +1 -0
  79. package/dist/cjs/types/bridge.js +26 -0
  80. package/dist/cjs/types/bridge.js.map +1 -0
  81. package/dist/{types → cjs/types}/evaluator.d.ts +1 -4
  82. package/dist/cjs/types/evaluator.d.ts.map +1 -0
  83. package/dist/cjs/types/evaluator.js +47 -0
  84. package/dist/cjs/types/evaluator.js.map +1 -0
  85. package/dist/{types → cjs/types}/index.d.ts +2 -2
  86. package/dist/cjs/types/index.d.ts.map +1 -0
  87. package/dist/cjs/types/index.js +30 -0
  88. package/dist/cjs/types/index.js.map +1 -0
  89. package/dist/cjs/types/runtime.d.ts +20 -0
  90. package/dist/cjs/types/runtime.d.ts.map +1 -0
  91. package/dist/cjs/types/runtime.js +39 -0
  92. package/dist/cjs/types/runtime.js.map +1 -0
  93. package/dist/esm/bridge/isolated-vm-bridge.d.ts +132 -0
  94. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -0
  95. package/dist/esm/bridge/isolated-vm-bridge.js +450 -0
  96. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -0
  97. package/dist/esm/build.tsbuildinfo +1 -0
  98. package/dist/esm/evaluator/expression-evaluator.d.ts +23 -0
  99. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -0
  100. package/dist/esm/evaluator/expression-evaluator.js +73 -0
  101. package/dist/esm/evaluator/expression-evaluator.js.map +1 -0
  102. package/dist/esm/extensions/array-extensions.d.ts +34 -0
  103. package/dist/esm/extensions/array-extensions.d.ts.map +1 -0
  104. package/dist/esm/extensions/array-extensions.js +610 -0
  105. package/dist/esm/extensions/array-extensions.js.map +1 -0
  106. package/dist/esm/extensions/boolean-extensions.d.ts +6 -0
  107. package/dist/esm/extensions/boolean-extensions.d.ts.map +1 -0
  108. package/dist/esm/extensions/boolean-extensions.js +33 -0
  109. package/dist/esm/extensions/boolean-extensions.js.map +1 -0
  110. package/dist/esm/extensions/date-extensions.d.ts +3 -0
  111. package/dist/esm/extensions/date-extensions.d.ts.map +1 -0
  112. package/dist/esm/extensions/date-extensions.js +515 -0
  113. package/dist/esm/extensions/date-extensions.js.map +1 -0
  114. package/dist/esm/extensions/expression-extension-error.d.ts +7 -0
  115. package/dist/esm/extensions/expression-extension-error.d.ts.map +1 -0
  116. package/dist/esm/extensions/expression-extension-error.js +11 -0
  117. package/dist/esm/extensions/expression-extension-error.js.map +1 -0
  118. package/dist/esm/extensions/extend.d.ts +12 -0
  119. package/dist/esm/extensions/extend.d.ts.map +1 -0
  120. package/dist/esm/extensions/extend.js +134 -0
  121. package/dist/esm/extensions/extend.js.map +1 -0
  122. package/dist/esm/extensions/extensions.d.ts +43 -0
  123. package/dist/esm/extensions/extensions.d.ts.map +1 -0
  124. package/dist/esm/extensions/extensions.js +2 -0
  125. package/dist/esm/extensions/extensions.js.map +1 -0
  126. package/dist/esm/extensions/number-extensions.d.ts +27 -0
  127. package/dist/esm/extensions/number-extensions.d.ts.map +1 -0
  128. package/dist/esm/extensions/number-extensions.js +221 -0
  129. package/dist/esm/extensions/number-extensions.js.map +1 -0
  130. package/dist/esm/extensions/object-extensions.d.ts +46 -0
  131. package/dist/esm/extensions/object-extensions.d.ts.map +1 -0
  132. package/dist/esm/extensions/object-extensions.js +277 -0
  133. package/dist/esm/extensions/object-extensions.js.map +1 -0
  134. package/dist/esm/extensions/string-extensions.d.ts +38 -0
  135. package/dist/esm/extensions/string-extensions.d.ts.map +1 -0
  136. package/dist/esm/extensions/string-extensions.js +735 -0
  137. package/dist/esm/extensions/string-extensions.js.map +1 -0
  138. package/dist/esm/extensions/utils.d.ts +4 -0
  139. package/dist/esm/extensions/utils.d.ts.map +1 -0
  140. package/dist/esm/extensions/utils.js +27 -0
  141. package/dist/esm/extensions/utils.js.map +1 -0
  142. package/dist/esm/index.d.ts +7 -0
  143. package/dist/esm/index.d.ts.map +1 -0
  144. package/dist/esm/index.js +10 -0
  145. package/dist/esm/index.js.map +1 -0
  146. package/dist/esm/runtime/index.d.ts +17 -0
  147. package/dist/esm/runtime/index.d.ts.map +1 -0
  148. package/dist/esm/runtime/index.js +23 -0
  149. package/dist/esm/runtime/index.js.map +1 -0
  150. package/dist/esm/runtime/lazy-proxy.d.ts +22 -0
  151. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -0
  152. package/dist/esm/runtime/lazy-proxy.js +164 -0
  153. package/dist/esm/runtime/lazy-proxy.js.map +1 -0
  154. package/dist/esm/runtime/reset.d.ts +16 -0
  155. package/dist/esm/runtime/reset.d.ts.map +1 -0
  156. package/dist/esm/runtime/reset.js +124 -0
  157. package/dist/esm/runtime/reset.js.map +1 -0
  158. package/dist/esm/runtime/safe-globals.d.ts +21 -0
  159. package/dist/esm/runtime/safe-globals.d.ts.map +1 -0
  160. package/dist/esm/runtime/safe-globals.js +110 -0
  161. package/dist/esm/runtime/safe-globals.js.map +1 -0
  162. package/dist/esm/types/bridge.d.ts +63 -0
  163. package/dist/esm/types/bridge.d.ts.map +1 -0
  164. package/dist/{types → esm/types}/bridge.js +6 -1
  165. package/dist/esm/types/bridge.js.map +1 -0
  166. package/dist/esm/types/evaluator.d.ts +194 -0
  167. package/dist/esm/types/evaluator.d.ts.map +1 -0
  168. package/dist/esm/types/evaluator.js.map +1 -0
  169. package/dist/esm/types/index.d.ts +11 -0
  170. package/dist/esm/types/index.d.ts.map +1 -0
  171. package/dist/{types → esm/types}/index.js +2 -0
  172. package/dist/esm/types/index.js.map +1 -0
  173. package/dist/esm/types/runtime.d.ts +20 -0
  174. package/dist/esm/types/runtime.d.ts.map +1 -0
  175. package/dist/{types → esm/types}/runtime.js +0 -6
  176. package/dist/esm/types/runtime.js.map +1 -0
  177. package/package.json +29 -6
  178. package/dist/build.tsbuildinfo +0 -1
  179. package/dist/index.d.ts +0 -3
  180. package/dist/index.d.ts.map +0 -1
  181. package/dist/index.js +0 -2
  182. package/dist/index.js.map +0 -1
  183. package/dist/types/bridge.d.ts.map +0 -1
  184. package/dist/types/bridge.js.map +0 -1
  185. package/dist/types/evaluator.d.ts.map +0 -1
  186. package/dist/types/evaluator.js.map +0 -1
  187. package/dist/types/index.d.ts.map +0 -1
  188. package/dist/types/index.js.map +0 -1
  189. package/dist/types/runtime.d.ts +0 -122
  190. package/dist/types/runtime.d.ts.map +0 -1
  191. package/dist/types/runtime.js.map +0 -1
  192. /package/dist/{types → esm/types}/evaluator.js +0 -0
@@ -0,0 +1,632 @@
1
+ var __importDefault = (this && this.__importDefault) || function (mod) {
2
+ return (mod && mod.__esModule) ? mod : { "default": mod };
3
+ };
4
+ (function (factory) {
5
+ if (typeof module === "object" && typeof module.exports === "object") {
6
+ var v = factory(require, exports);
7
+ if (v !== undefined) module.exports = v;
8
+ }
9
+ else if (typeof define === "function" && define.amd) {
10
+ define(["require", "exports", "lodash/isEqual", "lodash/uniqWith", "./expression-extension-error", "./object-extensions"], factory);
11
+ }
12
+ })(function (require, exports) {
13
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.arrayExtensions = void 0;
16
+ exports.average = average;
17
+ exports.toJsonString = toJsonString;
18
+ exports.toInt = toInt;
19
+ exports.toFloat = toFloat;
20
+ exports.toBoolean = toBoolean;
21
+ exports.toDateTime = toDateTime;
22
+ const isEqual_1 = __importDefault(require("lodash/isEqual"));
23
+ const uniqWith_1 = __importDefault(require("lodash/uniqWith"));
24
+ const expression_extension_error_1 = require("./expression-extension-error");
25
+ const object_extensions_1 = require("./object-extensions");
26
+ function randomInt(max) {
27
+ return crypto.getRandomValues(new Uint32Array(1))[0] % max;
28
+ }
29
+ function first(value) {
30
+ return value[0];
31
+ }
32
+ function isEmpty(value) {
33
+ return value.length === 0;
34
+ }
35
+ function isNotEmpty(value) {
36
+ return value.length > 0;
37
+ }
38
+ function last(value) {
39
+ return value[value.length - 1];
40
+ }
41
+ function pluck(value, extraArgs) {
42
+ if (!Array.isArray(extraArgs)) {
43
+ throw new expression_extension_error_1.ExpressionExtensionError('arguments must be passed to pluck');
44
+ }
45
+ if (!extraArgs || extraArgs.length === 0) {
46
+ return value;
47
+ }
48
+ const plucked = value.reduce((pluckedFromObject, current) => {
49
+ if (current && typeof current === 'object') {
50
+ const p = [];
51
+ Object.keys(current).forEach((k) => {
52
+ extraArgs.forEach((field) => {
53
+ if (current && field === k) {
54
+ p.push(current[k]);
55
+ }
56
+ });
57
+ });
58
+ if (p.length > 0) {
59
+ pluckedFromObject.push(p.length === 1 ? p[0] : p);
60
+ }
61
+ }
62
+ return pluckedFromObject;
63
+ }, new Array());
64
+ return plucked;
65
+ }
66
+ function randomItem(value) {
67
+ const len = value === undefined ? 0 : value.length;
68
+ return len ? value[randomInt(len)] : undefined;
69
+ }
70
+ function unique(value, extraArgs) {
71
+ const mapForEqualityCheck = (item) => {
72
+ if (extraArgs.length > 0 && item && typeof item === 'object') {
73
+ return extraArgs.reduce((acc, key) => {
74
+ acc[key] = item[key];
75
+ return acc;
76
+ }, {});
77
+ }
78
+ return item;
79
+ };
80
+ return (0, uniqWith_1.default)(value, (a, b) => (0, isEqual_1.default)(mapForEqualityCheck(a), mapForEqualityCheck(b)));
81
+ }
82
+ const ensureNumberArray = (arr, { fnName }) => {
83
+ if (arr.some((i) => typeof i !== 'number')) {
84
+ throw new expression_extension_error_1.ExpressionExtensionError(`${fnName}(): all array elements must be numbers`);
85
+ }
86
+ };
87
+ function sum(value) {
88
+ ensureNumberArray(value, { fnName: 'sum' });
89
+ return value.reduce((p, c) => {
90
+ if (typeof c === 'string') {
91
+ return p + parseFloat(c);
92
+ }
93
+ if (typeof c !== 'number') {
94
+ return NaN;
95
+ }
96
+ return p + c;
97
+ }, 0);
98
+ }
99
+ function min(value) {
100
+ ensureNumberArray(value, { fnName: 'min' });
101
+ return Math.min(...value.map((v) => {
102
+ if (typeof v === 'string') {
103
+ return parseFloat(v);
104
+ }
105
+ if (typeof v !== 'number') {
106
+ return NaN;
107
+ }
108
+ return v;
109
+ }));
110
+ }
111
+ function max(value) {
112
+ ensureNumberArray(value, { fnName: 'max' });
113
+ return Math.max(...value.map((v) => {
114
+ if (typeof v === 'string') {
115
+ return parseFloat(v);
116
+ }
117
+ if (typeof v !== 'number') {
118
+ return NaN;
119
+ }
120
+ return v;
121
+ }));
122
+ }
123
+ function average(value) {
124
+ ensureNumberArray(value, { fnName: 'average' });
125
+ // This would usually be NaN but I don't think users
126
+ // will expect that
127
+ if (value.length === 0) {
128
+ return 0;
129
+ }
130
+ return sum(value) / value.length;
131
+ }
132
+ function compact(value) {
133
+ return value
134
+ .filter((v) => {
135
+ if (v && typeof v === 'object' && Object.keys(v).length === 0)
136
+ return false;
137
+ return v !== null && v !== undefined && v !== 'nil' && v !== '';
138
+ })
139
+ .map((v) => {
140
+ if (typeof v === 'object' && v !== null) {
141
+ return (0, object_extensions_1.compact)(v);
142
+ }
143
+ return v;
144
+ });
145
+ }
146
+ function smartJoin(value, extraArgs) {
147
+ const [keyField, valueField] = extraArgs;
148
+ if (!keyField || !valueField || typeof keyField !== 'string' || typeof valueField !== 'string') {
149
+ throw new expression_extension_error_1.ExpressionExtensionError('smartJoin(): expected two string args, e.g. .smartJoin("name", "value")');
150
+ }
151
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return
152
+ return value.reduce((o, v) => {
153
+ if (typeof v === 'object' && v !== null && keyField in v && valueField in v) {
154
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
155
+ o[v[keyField]] = v[valueField];
156
+ }
157
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
158
+ return o;
159
+ }, {});
160
+ }
161
+ function chunk(value, extraArgs) {
162
+ const [chunkSize] = extraArgs;
163
+ if (typeof chunkSize !== 'number' || chunkSize === 0) {
164
+ throw new expression_extension_error_1.ExpressionExtensionError('chunk(): expected non-zero numeric arg, e.g. .chunk(5)');
165
+ }
166
+ const chunks = [];
167
+ for (let i = 0; i < value.length; i += chunkSize) {
168
+ chunks.push(value.slice(i, i + chunkSize));
169
+ }
170
+ return chunks;
171
+ }
172
+ function renameKeys(value, extraArgs) {
173
+ if (extraArgs.length === 0 || extraArgs.length % 2 !== 0) {
174
+ throw new expression_extension_error_1.ExpressionExtensionError('renameKeys(): expected an even amount of args: from1, to1 [, from2, to2, ...]. e.g. .renameKeys("name", "title")');
175
+ }
176
+ return value.map((v) => {
177
+ if (typeof v !== 'object' || v === null) {
178
+ return v;
179
+ }
180
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
181
+ const newObj = { ...v };
182
+ const chunkedArgs = chunk(extraArgs, [2]);
183
+ chunkedArgs.forEach(([from, to]) => {
184
+ if (from in newObj) {
185
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
186
+ newObj[to] = newObj[from];
187
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
188
+ delete newObj[from];
189
+ }
190
+ });
191
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
192
+ return newObj;
193
+ });
194
+ }
195
+ function mergeObjects(value, extraArgs) {
196
+ const [other] = extraArgs;
197
+ if (!other) {
198
+ return value;
199
+ }
200
+ if (typeof other !== 'object') {
201
+ throw new expression_extension_error_1.ExpressionExtensionError('merge(): expected object arg');
202
+ }
203
+ const newObject = { ...value };
204
+ for (const [key, val] of Object.entries(other)) {
205
+ if (!(key in newObject)) {
206
+ newObject[key] = val;
207
+ }
208
+ }
209
+ return newObject;
210
+ }
211
+ function merge(value, extraArgs) {
212
+ const [others] = extraArgs;
213
+ if (others === undefined) {
214
+ // If there are no arguments passed, merge all objects within the array
215
+ const merged = value.reduce((combined, current) => {
216
+ if (current !== null && typeof current === 'object' && !Array.isArray(current)) {
217
+ combined = mergeObjects(combined, [current]);
218
+ }
219
+ return combined;
220
+ }, {});
221
+ return merged;
222
+ }
223
+ if (!Array.isArray(others)) {
224
+ throw new expression_extension_error_1.ExpressionExtensionError('merge(): expected array arg, e.g. .merge([{ id: 1, otherValue: 3 }])');
225
+ }
226
+ const listLength = value.length > others.length ? value.length : others.length;
227
+ let merged = {};
228
+ for (let i = 0; i < listLength; i++) {
229
+ if (value[i] !== undefined) {
230
+ if (typeof value[i] === 'object' && typeof others[i] === 'object') {
231
+ merged = Object.assign(merged, mergeObjects(value[i], [others[i]]));
232
+ }
233
+ }
234
+ }
235
+ return merged;
236
+ }
237
+ function union(value, extraArgs) {
238
+ const [others] = extraArgs;
239
+ if (!Array.isArray(others)) {
240
+ throw new expression_extension_error_1.ExpressionExtensionError('union(): expected array arg, e.g. .union([1, 2, 3, 4])');
241
+ }
242
+ const newArr = Array.from(value);
243
+ for (const v of others) {
244
+ if (newArr.findIndex((w) => (0, isEqual_1.default)(w, v)) === -1) {
245
+ newArr.push(v);
246
+ }
247
+ }
248
+ return unique(newArr, []);
249
+ }
250
+ function difference(value, extraArgs) {
251
+ const [others] = extraArgs;
252
+ if (!Array.isArray(others)) {
253
+ throw new expression_extension_error_1.ExpressionExtensionError('difference(): expected array arg, e.g. .difference([1, 2, 3, 4])');
254
+ }
255
+ const newArr = [];
256
+ for (const v of value) {
257
+ if (others.findIndex((w) => (0, isEqual_1.default)(w, v)) === -1) {
258
+ newArr.push(v);
259
+ }
260
+ }
261
+ return unique(newArr, []);
262
+ }
263
+ function intersection(value, extraArgs) {
264
+ const [others] = extraArgs;
265
+ if (!Array.isArray(others)) {
266
+ throw new expression_extension_error_1.ExpressionExtensionError('intersection(): expected array arg, e.g. .intersection([1, 2, 3, 4])');
267
+ }
268
+ const newArr = [];
269
+ for (const v of value) {
270
+ if (others.findIndex((w) => (0, isEqual_1.default)(w, v)) !== -1) {
271
+ newArr.push(v);
272
+ }
273
+ }
274
+ for (const v of others) {
275
+ if (value.findIndex((w) => (0, isEqual_1.default)(w, v)) !== -1) {
276
+ newArr.push(v);
277
+ }
278
+ }
279
+ return unique(newArr, []);
280
+ }
281
+ function append(value, extraArgs) {
282
+ return value.concat(extraArgs);
283
+ }
284
+ function toJsonString(value) {
285
+ return JSON.stringify(value);
286
+ }
287
+ function toInt() {
288
+ return undefined;
289
+ }
290
+ function toFloat() {
291
+ return undefined;
292
+ }
293
+ function toBoolean() {
294
+ return undefined;
295
+ }
296
+ function toDateTime() {
297
+ return undefined;
298
+ }
299
+ average.doc = {
300
+ name: 'average',
301
+ aliases: ['mean'],
302
+ description: 'Returns the average of the numbers in the array. Throws an error if there are any non-numbers.',
303
+ examples: [{ example: '[12, 1, 5].average()', evaluated: '6' }],
304
+ returnType: 'number',
305
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-average',
306
+ };
307
+ compact.doc = {
308
+ name: 'compact',
309
+ aliases: ['removeEmpty'],
310
+ description: 'Removes any empty values from the array. <code>null</code>, <code>""</code> and <code>undefined</code> count as empty.',
311
+ examples: [{ example: '[2, null, 1, ""].compact()', evaluated: '[2, 1]' }],
312
+ returnType: 'Array',
313
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-compact',
314
+ };
315
+ isEmpty.doc = {
316
+ name: 'isEmpty',
317
+ description: 'Returns <code>true</code> if the array has no elements or is <code>null</code>',
318
+ examples: [
319
+ { example: '[].isEmpty()', evaluated: 'true' },
320
+ { example: "['quick', 'brown', 'fox'].isEmpty()", evaluated: 'false' },
321
+ ],
322
+ returnType: 'boolean',
323
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-isEmpty',
324
+ };
325
+ isNotEmpty.doc = {
326
+ name: 'isNotEmpty',
327
+ description: 'Returns <code>true</code> if the array has at least one element',
328
+ examples: [
329
+ { example: "['quick', 'brown', 'fox'].isNotEmpty()", evaluated: 'true' },
330
+ { example: '[].isNotEmpty()', evaluated: 'false' },
331
+ ],
332
+ returnType: 'boolean',
333
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-isNotEmpty',
334
+ };
335
+ first.doc = {
336
+ name: 'first',
337
+ aliases: ['head'],
338
+ description: 'Returns the first element of the array',
339
+ examples: [{ example: "['quick', 'brown', 'fox'].first()", evaluated: "'quick'" }],
340
+ returnType: 'any',
341
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-first',
342
+ };
343
+ last.doc = {
344
+ name: 'last',
345
+ aliases: ['tail'],
346
+ description: 'Returns the last element of the array',
347
+ examples: [{ example: "['quick', 'brown', 'fox'].last()", evaluated: "'fox'" }],
348
+ returnType: 'any',
349
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-last',
350
+ };
351
+ max.doc = {
352
+ name: 'max',
353
+ description: 'Returns the largest number in the array. Throws an error if there are any non-numbers.',
354
+ examples: [{ example: '[1, 12, 5].max()', evaluated: '12' }],
355
+ returnType: 'number',
356
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-max',
357
+ };
358
+ min.doc = {
359
+ name: 'min',
360
+ description: 'Returns the smallest number in the array. Throws an error if there are any non-numbers.',
361
+ examples: [{ example: '[12, 1, 5].min()', evaluated: '1' }],
362
+ returnType: 'number',
363
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-min',
364
+ };
365
+ randomItem.doc = {
366
+ name: 'randomItem',
367
+ description: 'Returns a randomly-chosen element from the array',
368
+ examples: [
369
+ { example: "['quick', 'brown', 'fox'].randomItem()", evaluated: "'brown'" },
370
+ { example: "['quick', 'brown', 'fox'].randomItem()", evaluated: "'quick'" },
371
+ ],
372
+ returnType: 'any',
373
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-randomItem',
374
+ };
375
+ sum.doc = {
376
+ name: 'sum',
377
+ description: 'Returns the total of all the numbers in the array. Throws an error if there are any non-numbers.',
378
+ examples: [{ example: '[12, 1, 5].sum()', evaluated: '18' }],
379
+ returnType: 'number',
380
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-sum',
381
+ };
382
+ chunk.doc = {
383
+ name: 'chunk',
384
+ description: 'Splits the array into an array of sub-arrays, each with the given length',
385
+ examples: [{ example: '[1, 2, 3, 4, 5, 6].chunk(2)', evaluated: '[[1,2],[3,4],[5,6]]' }],
386
+ returnType: 'Array',
387
+ args: [
388
+ {
389
+ name: 'length',
390
+ optional: false,
391
+ description: 'The number of elements in each chunk',
392
+ type: 'number',
393
+ },
394
+ ],
395
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-chunk',
396
+ };
397
+ difference.doc = {
398
+ name: 'difference',
399
+ description: "Compares two arrays. Returns all elements in the base array that aren't present\nin <code>otherArray</code>.",
400
+ examples: [{ example: '[1, 2, 3].difference([2, 3])', evaluated: '[1]' }],
401
+ returnType: 'Array',
402
+ args: [
403
+ {
404
+ name: 'otherArray',
405
+ optional: false,
406
+ description: 'The array to compare to the base array',
407
+ type: 'Array',
408
+ },
409
+ ],
410
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-difference',
411
+ };
412
+ intersection.doc = {
413
+ name: 'intersection',
414
+ description: 'Compares two arrays. Returns all elements in the base array that are also present in the other array.',
415
+ examples: [{ example: '[1, 2].intersection([2, 3])', evaluated: '[2]' }],
416
+ returnType: 'Array',
417
+ args: [
418
+ {
419
+ name: 'otherArray',
420
+ optional: false,
421
+ description: 'The array to compare to the base array',
422
+ type: 'Array',
423
+ },
424
+ ],
425
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-intersection',
426
+ };
427
+ merge.doc = {
428
+ name: 'merge',
429
+ description: 'Merges two Object-arrays into one object by merging the key-value pairs of each element.',
430
+ examples: [
431
+ {
432
+ example: "[{ name: 'Nathan' }, { age: 42 }].merge([{ city: 'Berlin' }, { country: 'Germany' }])",
433
+ evaluated: "{ name: 'Nathan', age: 42, city: 'Berlin', country: 'Germany' }",
434
+ },
435
+ ],
436
+ returnType: 'Object',
437
+ args: [
438
+ {
439
+ name: 'otherArray',
440
+ optional: false,
441
+ description: 'The array to merge into the base array',
442
+ type: 'Array',
443
+ },
444
+ ],
445
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-merge',
446
+ };
447
+ pluck.doc = {
448
+ name: 'pluck',
449
+ description: "Returns an array containing the values of the given field(s) in each Object of the array. Ignores any array elements that aren't Objects or don't have a key matching the field name(s) provided.",
450
+ examples: [
451
+ {
452
+ example: "[{ name: 'Nathan', age: 42 },{ name: 'Jan', city: 'Berlin' }].pluck('name')",
453
+ evaluated: '["Nathan", "Jan"]',
454
+ },
455
+ {
456
+ example: "[{ name: 'Nathan', age: 42 },{ name: 'Jan', city: 'Berlin' }].pluck('age')",
457
+ evaluated: '[42]',
458
+ },
459
+ ],
460
+ returnType: 'Array',
461
+ args: [
462
+ {
463
+ name: 'fieldNames',
464
+ optional: false,
465
+ variadic: true,
466
+ description: 'The keys to retrieve the value of',
467
+ type: 'string',
468
+ },
469
+ ],
470
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-pluck',
471
+ };
472
+ renameKeys.doc = {
473
+ name: 'renameKeys',
474
+ description: 'Changes all matching keys (field names) of any Objects in the array. Rename more than one key by\nadding extra arguments, i.e. <code>from1, to1, from2, to2, ...</code>.',
475
+ examples: [
476
+ {
477
+ example: "[{ name: 'bob' }, { name: 'meg' }].renameKeys('name', 'x')",
478
+ evaluated: "[{ x: 'bob' }, { x: 'meg' }]",
479
+ },
480
+ ],
481
+ returnType: 'Array',
482
+ args: [
483
+ {
484
+ name: 'from',
485
+ optional: false,
486
+ description: 'The key to rename',
487
+ type: 'string',
488
+ },
489
+ { name: 'to', optional: false, description: 'The new key name', type: 'string' },
490
+ ],
491
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-renameKeys',
492
+ };
493
+ smartJoin.doc = {
494
+ name: 'smartJoin',
495
+ description: 'Creates a single Object from an array of Objects. Each Object in the array provides one field for the returned Object. Each Object in the array must contain a field with the key name and a field with the value.',
496
+ examples: [
497
+ {
498
+ example: "[{ field: 'age', value: 2 }, { field: 'city', value: 'Berlin' }].smartJoin('field', 'value')",
499
+ evaluated: "{ age: 2, city: 'Berlin' }",
500
+ },
501
+ ],
502
+ returnType: 'Object',
503
+ args: [
504
+ {
505
+ name: 'keyField',
506
+ optional: false,
507
+ description: 'The field in each Object containing the key name',
508
+ type: 'string',
509
+ },
510
+ {
511
+ name: 'nameField',
512
+ optional: false,
513
+ description: 'The field in each Object containing the value',
514
+ type: 'string',
515
+ },
516
+ ],
517
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-smartJoin',
518
+ };
519
+ union.doc = {
520
+ name: 'union',
521
+ description: 'Concatenates two arrays and then removes any duplicates',
522
+ examples: [{ example: '[1, 2].union([2, 3])', evaluated: '[1, 2, 3]' }],
523
+ returnType: 'Array',
524
+ args: [
525
+ {
526
+ name: 'otherArray',
527
+ optional: false,
528
+ description: 'The array to union with the base array',
529
+ type: 'Array',
530
+ },
531
+ ],
532
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-union',
533
+ };
534
+ unique.doc = {
535
+ name: 'unique',
536
+ description: 'Removes any duplicate elements from the array',
537
+ examples: [
538
+ { example: "['quick', 'brown', 'quick'].unique()", evaluated: "['quick', 'brown']" },
539
+ {
540
+ example: "[{ name: 'Nathan', age: 42 }, { name: 'Nathan', age: 22 }].unique()",
541
+ evaluated: "[{ name: 'Nathan', age: 42 }, { name: 'Nathan', age: 22 }]",
542
+ },
543
+ {
544
+ example: "[{ name: 'Nathan', age: 42 }, { name: 'Nathan', age: 22 }].unique('name')",
545
+ evaluated: "[{ name: 'Nathan', age: 42 }]",
546
+ },
547
+ ],
548
+ returnType: 'any',
549
+ aliases: ['removeDuplicates'],
550
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-unique',
551
+ args: [
552
+ {
553
+ name: 'fieldNames',
554
+ optional: false,
555
+ variadic: true,
556
+ description: 'The object keys to check for equality',
557
+ type: 'any',
558
+ },
559
+ ],
560
+ };
561
+ toJsonString.doc = {
562
+ name: 'toJsonString',
563
+ description: "Converts the array to a JSON string. The same as JavaScript's <code>JSON.stringify()</code>.",
564
+ examples: [
565
+ {
566
+ example: "['quick', 'brown', 'fox'].toJsonString()",
567
+ evaluated: '\'["quick","brown","fox"]\'',
568
+ },
569
+ ],
570
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-toJsonString',
571
+ returnType: 'string',
572
+ };
573
+ append.doc = {
574
+ name: 'append',
575
+ aliases: ['push'],
576
+ description: 'Adds new elements to the end of the array. Similar to <code>push()</code>, but returns the modified array. Consider using spread syntax instead (see examples).',
577
+ examples: [
578
+ { example: "['forget', 'me'].append('not')", evaluated: "['forget', 'me', 'not']" },
579
+ { example: '[9, 0, 2].append(1, 0)', evaluated: '[9, 0, 2, 1, 0]' },
580
+ {
581
+ example: '[...[9, 0, 2], 1, 0]',
582
+ evaluated: '[9, 0, 2, 1, 0]',
583
+ description: 'Consider using spread syntax instead',
584
+ },
585
+ ],
586
+ docURL: 'https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/#array-append',
587
+ returnType: 'Array',
588
+ args: [
589
+ {
590
+ name: 'elements',
591
+ optional: false,
592
+ variadic: true,
593
+ description: 'The elements to append, in order',
594
+ type: 'any',
595
+ },
596
+ ],
597
+ };
598
+ const removeDuplicates = unique.bind({});
599
+ removeDuplicates.doc = { ...unique.doc, hidden: true };
600
+ exports.arrayExtensions = {
601
+ typeName: 'Array',
602
+ functions: {
603
+ removeDuplicates,
604
+ unique,
605
+ first,
606
+ last,
607
+ pluck,
608
+ randomItem,
609
+ sum,
610
+ min,
611
+ max,
612
+ average,
613
+ isNotEmpty,
614
+ isEmpty,
615
+ compact,
616
+ smartJoin,
617
+ chunk,
618
+ renameKeys,
619
+ merge,
620
+ union,
621
+ difference,
622
+ intersection,
623
+ append,
624
+ toJsonString,
625
+ toInt,
626
+ toFloat,
627
+ toBoolean,
628
+ toDateTime,
629
+ },
630
+ };
631
+ });
632
+ //# sourceMappingURL=array-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-extensions.js","sourceRoot":"","sources":["../../../src/extensions/array-extensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ExtensionMap } from './extensions';
2
+ export declare function toBoolean(value: boolean): boolean;
3
+ export declare function toInt(value: boolean): 1 | 0;
4
+ export declare function toDateTime(): undefined;
5
+ export declare const booleanExtensions: ExtensionMap;
6
+ //# sourceMappingURL=boolean-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean-extensions.d.ts","sourceRoot":"","sources":["../../../src/extensions/boolean-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,WAEvC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,SAEnC;AAED,wBAAgB,UAAU,cAEzB;AAmBD,eAAO,MAAM,iBAAiB,EAAE,YAS/B,CAAC"}