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