n8n-nodes-base 1.20.0 → 1.21.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 (183) hide show
  1. package/README.md +1 -1
  2. package/dist/build.tsbuildinfo +1 -1
  3. package/dist/known/nodes.json +24 -0
  4. package/dist/nodes/Airtable/v2/methods/listSearch.js +1 -1
  5. package/dist/nodes/Airtable/v2/methods/listSearch.js.map +1 -1
  6. package/dist/nodes/Airtable/v2/methods/loadOptions.js +2 -2
  7. package/dist/nodes/Airtable/v2/methods/loadOptions.js.map +1 -1
  8. package/dist/nodes/Airtable/v2/methods/resourceMapping.js +1 -1
  9. package/dist/nodes/Airtable/v2/methods/resourceMapping.js.map +1 -1
  10. package/dist/nodes/Code/Code.node.json +1 -1
  11. package/dist/nodes/CompareDatasets/CompareDatasets.node.json +1 -1
  12. package/dist/nodes/CompareDatasets/GenericFunctions.js +6 -5
  13. package/dist/nodes/CompareDatasets/GenericFunctions.js.map +1 -1
  14. package/dist/nodes/Crypto/Crypto.node.json +1 -1
  15. package/dist/nodes/DateTime/DateTime.node.json +1 -1
  16. package/dist/nodes/DateTime/V2/DateTimeV2.node.js +1 -0
  17. package/dist/nodes/DateTime/V2/DateTimeV2.node.js.map +1 -1
  18. package/dist/nodes/EmailReadImap/EmailReadImap.node.json +1 -1
  19. package/dist/nodes/EmailSend/EmailSend.node.json +0 -3
  20. package/dist/nodes/ErrorTrigger/ErrorTrigger.node.json +1 -1
  21. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow.node.json +1 -1
  22. package/dist/nodes/Facebook/FacebookTrigger.node.js +1 -1
  23. package/dist/nodes/Facebook/FacebookTrigger.node.js.map +1 -1
  24. package/dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js +1 -1
  25. package/dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js.map +1 -1
  26. package/dist/nodes/FileMaker/FileMaker.node.js +2 -0
  27. package/dist/nodes/FileMaker/FileMaker.node.js.map +1 -1
  28. package/dist/nodes/Filter/Filter.node.js +1 -1
  29. package/dist/nodes/Filter/Filter.node.js.map +1 -1
  30. package/dist/nodes/Filter/Filter.node.json +1 -1
  31. package/dist/nodes/Form/FormTrigger.node.d.ts +3 -4
  32. package/dist/nodes/Form/FormTrigger.node.js +9 -247
  33. package/dist/nodes/Form/FormTrigger.node.js.map +1 -1
  34. package/dist/nodes/Form/FormTrigger.node.json +1 -1
  35. package/dist/nodes/Form/common.descriptions.d.ts +18 -0
  36. package/dist/nodes/Form/common.descriptions.js +237 -0
  37. package/dist/nodes/Form/common.descriptions.js.map +1 -0
  38. package/dist/nodes/Form/interfaces.d.ts +2 -0
  39. package/dist/nodes/Form/utils.d.ts +11 -1
  40. package/dist/nodes/Form/utils.js +70 -2
  41. package/dist/nodes/Form/utils.js.map +1 -1
  42. package/dist/nodes/Form/v1/FormTriggerV1.node.d.ts +14 -0
  43. package/dist/nodes/Form/v1/FormTriggerV1.node.js +82 -0
  44. package/dist/nodes/Form/v1/FormTriggerV1.node.js.map +1 -0
  45. package/dist/nodes/Form/v2/FormTriggerV2.node.d.ts +14 -0
  46. package/dist/nodes/Form/v2/FormTriggerV2.node.js +84 -0
  47. package/dist/nodes/Form/v2/FormTriggerV2.node.js.map +1 -0
  48. package/dist/nodes/Github/GithubTrigger.node.js +2 -2
  49. package/dist/nodes/Github/GithubTrigger.node.js.map +1 -1
  50. package/dist/nodes/Google/Ads/CampaignDescription.js +2 -2
  51. package/dist/nodes/Google/Ads/GoogleAds.node.js +1 -1
  52. package/dist/nodes/Google/BigQuery/v2/actions/database/insert.operation.js +1 -1
  53. package/dist/nodes/Google/BigQuery/v2/actions/database/insert.operation.js.map +1 -1
  54. package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js +1 -1
  55. package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js.map +1 -1
  56. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js +1 -1
  57. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js.map +1 -1
  58. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js +1 -1
  59. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js.map +1 -1
  60. package/dist/nodes/Google/Sheet/v2/methods/listSearch.js +4 -1
  61. package/dist/nodes/Google/Sheet/v2/methods/listSearch.js.map +1 -1
  62. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js +4 -1
  63. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js.map +1 -1
  64. package/dist/nodes/Html/Html.node.json +1 -1
  65. package/dist/nodes/If/If.node.d.ts +3 -4
  66. package/dist/nodes/If/If.node.js +10 -406
  67. package/dist/nodes/If/If.node.js.map +1 -1
  68. package/dist/nodes/If/V1/IfV1.node.d.ts +6 -0
  69. package/dist/nodes/If/V1/IfV1.node.js +414 -0
  70. package/dist/nodes/If/V1/IfV1.node.js.map +1 -0
  71. package/dist/nodes/If/V2/IfV2.node.d.ts +6 -0
  72. package/dist/nodes/If/V2/IfV2.node.js +101 -0
  73. package/dist/nodes/If/V2/IfV2.node.js.map +1 -0
  74. package/dist/nodes/If/test/v2/IfV2.date-time.json +163 -0
  75. package/dist/nodes/If/test/v2/IfV2.number.json +165 -0
  76. package/dist/nodes/If/test/v2/IfV2.other.json +182 -0
  77. package/dist/nodes/If/test/v2/IfV2.string.json +178 -0
  78. package/dist/nodes/ItemLists/ItemLists.node.js +1 -0
  79. package/dist/nodes/ItemLists/ItemLists.node.js.map +1 -1
  80. package/dist/nodes/Kafka/Kafka.node.js +3 -1
  81. package/dist/nodes/Kafka/Kafka.node.js.map +1 -1
  82. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +24 -1
  83. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
  84. package/dist/nodes/Markdown/Markdown.node.json +1 -1
  85. package/dist/nodes/Merge/Merge.node.json +1 -1
  86. package/dist/nodes/Merge/v2/MergeV2.node.js +1 -1
  87. package/dist/nodes/Merge/v2/MergeV2.node.js.map +1 -1
  88. package/dist/nodes/MySql/v2/actions/database/insert.operation.js +1 -1
  89. package/dist/nodes/MySql/v2/actions/database/update.operation.js +1 -1
  90. package/dist/nodes/MySql/v2/actions/database/upsert.operation.js +1 -1
  91. package/dist/nodes/N8n/N8n.node.json +1 -1
  92. package/dist/nodes/NocoDB/OperationDescription.js +1 -1
  93. package/dist/nodes/NocoDB/OperationDescription.js.map +1 -1
  94. package/dist/nodes/OpenAi/OpenAi.node.js +6 -0
  95. package/dist/nodes/OpenAi/OpenAi.node.js.map +1 -1
  96. package/dist/nodes/Postgres/PostgresTrigger.node.js +1 -1
  97. package/dist/nodes/Postgres/v2/actions/database/insert.operation.js +1 -1
  98. package/dist/nodes/Postgres/v2/actions/database/update.operation.js +1 -1
  99. package/dist/nodes/Postgres/v2/actions/database/upsert.operation.js +1 -1
  100. package/dist/nodes/Postgres/v2/helpers/utils.d.ts +2 -2
  101. package/dist/nodes/Postgres/v2/methods/resourceMapping.js +1 -1
  102. package/dist/nodes/Postgres/v2/methods/resourceMapping.js.map +1 -1
  103. package/dist/nodes/RenameKeys/RenameKeys.node.js +1 -1
  104. package/dist/nodes/RenameKeys/RenameKeys.node.js.map +1 -1
  105. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js +26 -2
  106. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js.map +1 -1
  107. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.json +1 -1
  108. package/dist/nodes/RssFeedRead/RssFeedRead.node.json +0 -3
  109. package/dist/nodes/Schedule/ScheduleTrigger.node.json +1 -4
  110. package/dist/nodes/Set/v2/SetV2.node.js +1 -1
  111. package/dist/nodes/Slack/V2/GenericFunctions.js +2 -2
  112. package/dist/nodes/Slack/V2/GenericFunctions.js.map +1 -1
  113. package/dist/nodes/SseTrigger/SseTrigger.node.json +1 -1
  114. package/dist/nodes/StopAndError/StopAndError.node.json +1 -1
  115. package/dist/nodes/TheHive/GenericFunctions.js +1 -1
  116. package/dist/nodes/TheHive/GenericFunctions.js.map +1 -1
  117. package/dist/nodes/Transform/Aggregate/Aggregate.node.d.ts +5 -0
  118. package/dist/nodes/Transform/Aggregate/Aggregate.node.js +365 -0
  119. package/dist/nodes/Transform/Aggregate/Aggregate.node.js.map +1 -0
  120. package/dist/nodes/Transform/Aggregate/Aggregate.node.json +19 -0
  121. package/dist/nodes/Transform/Aggregate/aggregate.svg +14 -0
  122. package/dist/nodes/Transform/Aggregate/test/workflow.aggregate.json +207 -0
  123. package/dist/nodes/Transform/Aggregate/utils.d.ts +2 -0
  124. package/dist/nodes/Transform/Aggregate/utils.js +48 -0
  125. package/dist/nodes/Transform/Aggregate/utils.js.map +1 -0
  126. package/dist/nodes/Transform/Limit/Limit.node.d.ts +5 -0
  127. package/dist/nodes/Transform/Limit/Limit.node.js +68 -0
  128. package/dist/nodes/Transform/Limit/Limit.node.js.map +1 -0
  129. package/dist/nodes/Transform/Limit/Limit.node.json +19 -0
  130. package/dist/nodes/Transform/Limit/limit.svg +16 -0
  131. package/dist/nodes/Transform/Limit/test/workflow.limit.json +97 -0
  132. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.d.ts +5 -0
  133. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js +221 -0
  134. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js.map +1 -0
  135. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.json +29 -0
  136. package/dist/nodes/Transform/RemoveDuplicates/removeDuplicates.svg +15 -0
  137. package/dist/nodes/Transform/RemoveDuplicates/test/workflow.removeDuplicates.json +325 -0
  138. package/dist/nodes/Transform/RemoveDuplicates/utils.d.ts +3 -0
  139. package/dist/nodes/Transform/RemoveDuplicates/utils.js +37 -0
  140. package/dist/nodes/Transform/RemoveDuplicates/utils.js.map +1 -0
  141. package/dist/nodes/Transform/Sort/Sort.node.d.ts +5 -0
  142. package/dist/nodes/Transform/Sort/Sort.node.js +257 -0
  143. package/dist/nodes/Transform/Sort/Sort.node.js.map +1 -0
  144. package/dist/nodes/Transform/Sort/Sort.node.json +19 -0
  145. package/dist/nodes/Transform/Sort/sort.svg +6 -0
  146. package/dist/nodes/Transform/Sort/test/workflow.sort.json +213 -0
  147. package/dist/nodes/Transform/Sort/utils.d.ts +3 -0
  148. package/dist/nodes/Transform/Sort/utils.js +27 -0
  149. package/dist/nodes/Transform/Sort/utils.js.map +1 -0
  150. package/dist/nodes/Transform/SplitOut/SplitOut.node.d.ts +5 -0
  151. package/dist/nodes/Transform/SplitOut/SplitOut.node.js +223 -0
  152. package/dist/nodes/Transform/SplitOut/SplitOut.node.js.map +1 -0
  153. package/dist/nodes/Transform/SplitOut/SplitOut.node.json +19 -0
  154. package/dist/nodes/Transform/SplitOut/splitOut.svg +14 -0
  155. package/dist/nodes/Transform/SplitOut/test/workflow.splitOut.json +354 -0
  156. package/dist/nodes/Transform/SplitOut/test/workflow.splitOutObject.json +386 -0
  157. package/dist/nodes/Transform/Summarize/Summarize.node.d.ts +5 -0
  158. package/dist/nodes/Transform/Summarize/Summarize.node.js +311 -0
  159. package/dist/nodes/Transform/Summarize/Summarize.node.js.map +1 -0
  160. package/dist/nodes/Transform/Summarize/Summarize.node.json +32 -0
  161. package/dist/nodes/Transform/Summarize/summarize.svg +10 -0
  162. package/dist/nodes/Transform/Summarize/test/workflow.summarize.json +296 -0
  163. package/dist/nodes/Transform/Summarize/utils.d.ts +22 -0
  164. package/dist/nodes/Transform/Summarize/utils.js +206 -0
  165. package/dist/nodes/Transform/Summarize/utils.js.map +1 -0
  166. package/dist/nodes/Transform/utils/utils.d.ts +1 -0
  167. package/dist/nodes/Transform/utils/utils.js +18 -0
  168. package/dist/nodes/Transform/utils/utils.js.map +1 -0
  169. package/dist/nodes/Wait/Wait.node.d.ts +3 -2
  170. package/dist/nodes/Wait/Wait.node.js +199 -129
  171. package/dist/nodes/Wait/Wait.node.js.map +1 -1
  172. package/dist/nodes/Wait/Wait.node.json +1 -1
  173. package/dist/nodes/Webhook/Webhook.node.js +26 -10
  174. package/dist/nodes/Webhook/Webhook.node.js.map +1 -1
  175. package/dist/nodes/Webhook/Webhook.node.json +1 -1
  176. package/dist/nodes/Webhook/description.js +31 -2
  177. package/dist/nodes/Webhook/description.js.map +1 -1
  178. package/dist/types/nodes.json +74 -66
  179. package/package.json +10 -4
  180. /package/dist/nodes/If/test/{IF.boolean.json → v1/IF.boolean.json} +0 -0
  181. /package/dist/nodes/If/test/{IF.date-time.json → v1/IF.date-time.json} +0 -0
  182. /package/dist/nodes/If/test/{IF.number.json → v1/IF.number.json} +0 -0
  183. /package/dist/nodes/If/test/{IF.string.json → v1/IF.string.json} +0 -0
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IfV1 = void 0;
7
+ const moment_1 = __importDefault(require("moment"));
8
+ const n8n_workflow_1 = require("n8n-workflow");
9
+ class IfV1 {
10
+ constructor(baseDescription) {
11
+ this.description = {
12
+ ...baseDescription,
13
+ version: 1,
14
+ defaults: {
15
+ name: 'If',
16
+ color: '#408000',
17
+ },
18
+ inputs: ['main'],
19
+ outputs: ['main', 'main'],
20
+ outputNames: ['true', 'false'],
21
+ properties: [
22
+ {
23
+ displayName: 'Conditions',
24
+ name: 'conditions',
25
+ placeholder: 'Add Condition',
26
+ type: 'fixedCollection',
27
+ typeOptions: {
28
+ multipleValues: true,
29
+ sortable: true,
30
+ },
31
+ description: 'The type of values to compare',
32
+ default: {},
33
+ options: [
34
+ {
35
+ name: 'boolean',
36
+ displayName: 'Boolean',
37
+ values: [
38
+ {
39
+ displayName: 'Value 1',
40
+ name: 'value1',
41
+ type: 'boolean',
42
+ default: false,
43
+ description: 'The value to compare with the second one',
44
+ },
45
+ {
46
+ displayName: 'Operation',
47
+ name: 'operation',
48
+ type: 'options',
49
+ options: [
50
+ {
51
+ name: 'Equal',
52
+ value: 'equal',
53
+ },
54
+ {
55
+ name: 'Not Equal',
56
+ value: 'notEqual',
57
+ },
58
+ ],
59
+ default: 'equal',
60
+ description: 'Operation to decide where the the data should be mapped to',
61
+ },
62
+ {
63
+ displayName: 'Value 2',
64
+ name: 'value2',
65
+ type: 'boolean',
66
+ default: false,
67
+ description: 'The value to compare with the first one',
68
+ },
69
+ ],
70
+ },
71
+ {
72
+ name: 'dateTime',
73
+ displayName: 'Date & Time',
74
+ values: [
75
+ {
76
+ displayName: 'Value 1',
77
+ name: 'value1',
78
+ type: 'dateTime',
79
+ default: '',
80
+ description: 'The value to compare with the second one',
81
+ },
82
+ {
83
+ displayName: 'Operation',
84
+ name: 'operation',
85
+ type: 'options',
86
+ options: [
87
+ {
88
+ name: 'Occurred After',
89
+ value: 'after',
90
+ },
91
+ {
92
+ name: 'Occurred Before',
93
+ value: 'before',
94
+ },
95
+ ],
96
+ default: 'after',
97
+ description: 'Operation to decide where the the data should be mapped to',
98
+ },
99
+ {
100
+ displayName: 'Value 2',
101
+ name: 'value2',
102
+ type: 'dateTime',
103
+ default: '',
104
+ description: 'The value to compare with the first one',
105
+ },
106
+ ],
107
+ },
108
+ {
109
+ name: 'number',
110
+ displayName: 'Number',
111
+ values: [
112
+ {
113
+ displayName: 'Value 1',
114
+ name: 'value1',
115
+ type: 'number',
116
+ default: 0,
117
+ description: 'The value to compare with the second one',
118
+ },
119
+ {
120
+ displayName: 'Operation',
121
+ name: 'operation',
122
+ type: 'options',
123
+ noDataExpression: true,
124
+ options: [
125
+ {
126
+ name: 'Smaller',
127
+ value: 'smaller',
128
+ },
129
+ {
130
+ name: 'Smaller or Equal',
131
+ value: 'smallerEqual',
132
+ },
133
+ {
134
+ name: 'Equal',
135
+ value: 'equal',
136
+ },
137
+ {
138
+ name: 'Not Equal',
139
+ value: 'notEqual',
140
+ },
141
+ {
142
+ name: 'Larger',
143
+ value: 'larger',
144
+ },
145
+ {
146
+ name: 'Larger or Equal',
147
+ value: 'largerEqual',
148
+ },
149
+ {
150
+ name: 'Is Empty',
151
+ value: 'isEmpty',
152
+ },
153
+ {
154
+ name: 'Is Not Empty',
155
+ value: 'isNotEmpty',
156
+ },
157
+ ],
158
+ default: 'smaller',
159
+ description: 'Operation to decide where the the data should be mapped to',
160
+ },
161
+ {
162
+ displayName: 'Value 2',
163
+ name: 'value2',
164
+ type: 'number',
165
+ displayOptions: {
166
+ hide: {
167
+ operation: ['isEmpty', 'isNotEmpty'],
168
+ },
169
+ },
170
+ default: 0,
171
+ description: 'The value to compare with the first one',
172
+ },
173
+ ],
174
+ },
175
+ {
176
+ name: 'string',
177
+ displayName: 'String',
178
+ values: [
179
+ {
180
+ displayName: 'Value 1',
181
+ name: 'value1',
182
+ type: 'string',
183
+ default: '',
184
+ description: 'The value to compare with the second one',
185
+ },
186
+ {
187
+ displayName: 'Operation',
188
+ name: 'operation',
189
+ type: 'options',
190
+ noDataExpression: true,
191
+ options: [
192
+ {
193
+ name: 'Contains',
194
+ value: 'contains',
195
+ },
196
+ {
197
+ name: 'Not Contains',
198
+ value: 'notContains',
199
+ },
200
+ {
201
+ name: 'Ends With',
202
+ value: 'endsWith',
203
+ },
204
+ {
205
+ name: 'Not Ends With',
206
+ value: 'notEndsWith',
207
+ },
208
+ {
209
+ name: 'Equal',
210
+ value: 'equal',
211
+ },
212
+ {
213
+ name: 'Not Equal',
214
+ value: 'notEqual',
215
+ },
216
+ {
217
+ name: 'Regex Match',
218
+ value: 'regex',
219
+ },
220
+ {
221
+ name: 'Regex Not Match',
222
+ value: 'notRegex',
223
+ },
224
+ {
225
+ name: 'Starts With',
226
+ value: 'startsWith',
227
+ },
228
+ {
229
+ name: 'Not Starts With',
230
+ value: 'notStartsWith',
231
+ },
232
+ {
233
+ name: 'Is Empty',
234
+ value: 'isEmpty',
235
+ },
236
+ {
237
+ name: 'Is Not Empty',
238
+ value: 'isNotEmpty',
239
+ },
240
+ ],
241
+ default: 'equal',
242
+ description: 'Operation to decide where the the data should be mapped to',
243
+ },
244
+ {
245
+ displayName: 'Value 2',
246
+ name: 'value2',
247
+ type: 'string',
248
+ displayOptions: {
249
+ hide: {
250
+ operation: ['isEmpty', 'isNotEmpty', 'regex', 'notRegex'],
251
+ },
252
+ },
253
+ default: '',
254
+ description: 'The value to compare with the first one',
255
+ },
256
+ {
257
+ displayName: 'Regex',
258
+ name: 'value2',
259
+ type: 'string',
260
+ displayOptions: {
261
+ show: {
262
+ operation: ['regex', 'notRegex'],
263
+ },
264
+ },
265
+ default: '',
266
+ placeholder: '/text/i',
267
+ description: 'The regex which has to match',
268
+ },
269
+ ],
270
+ },
271
+ ],
272
+ },
273
+ {
274
+ displayName: 'Combine',
275
+ name: 'combineOperation',
276
+ type: 'options',
277
+ options: [
278
+ {
279
+ name: 'ALL',
280
+ description: 'Only if all conditions are met it goes into "true" branch',
281
+ value: 'all',
282
+ },
283
+ {
284
+ name: 'ANY',
285
+ description: 'If any of the conditions is met it goes into "true" branch',
286
+ value: 'any',
287
+ },
288
+ ],
289
+ default: 'all',
290
+ description: 'If multiple rules got set this settings decides if it is true as soon as ANY condition matches or only if ALL get meet',
291
+ },
292
+ ],
293
+ };
294
+ }
295
+ async execute() {
296
+ const returnDataTrue = [];
297
+ const returnDataFalse = [];
298
+ const items = this.getInputData();
299
+ let item;
300
+ let combineOperation;
301
+ const isDateObject = (value) => Object.prototype.toString.call(value) === '[object Date]';
302
+ const isDateInvalid = (value) => (value === null || value === void 0 ? void 0 : value.toString()) === 'Invalid Date';
303
+ const compareOperationFunctions = {
304
+ after: (value1, value2) => (value1 || 0) > (value2 || 0),
305
+ before: (value1, value2) => (value1 || 0) < (value2 || 0),
306
+ contains: (value1, value2) => (value1 || '').toString().includes((value2 || '').toString()),
307
+ notContains: (value1, value2) => !(value1 || '').toString().includes((value2 || '').toString()),
308
+ endsWith: (value1, value2) => value1.endsWith(value2),
309
+ notEndsWith: (value1, value2) => !value1.endsWith(value2),
310
+ equal: (value1, value2) => value1 === value2,
311
+ notEqual: (value1, value2) => value1 !== value2,
312
+ larger: (value1, value2) => (value1 || 0) > (value2 || 0),
313
+ largerEqual: (value1, value2) => (value1 || 0) >= (value2 || 0),
314
+ smaller: (value1, value2) => (value1 || 0) < (value2 || 0),
315
+ smallerEqual: (value1, value2) => (value1 || 0) <= (value2 || 0),
316
+ startsWith: (value1, value2) => value1.startsWith(value2),
317
+ notStartsWith: (value1, value2) => !value1.startsWith(value2),
318
+ isEmpty: (value1) => [undefined, null, '', NaN].includes(value1) ||
319
+ (typeof value1 === 'object' && value1 !== null && !isDateObject(value1)
320
+ ? Object.entries(value1).length === 0
321
+ : false) ||
322
+ (isDateObject(value1) && isDateInvalid(value1)),
323
+ isNotEmpty: (value1) => !([undefined, null, '', NaN].includes(value1) ||
324
+ (typeof value1 === 'object' && value1 !== null && !isDateObject(value1)
325
+ ? Object.entries(value1).length === 0
326
+ : false) ||
327
+ (isDateObject(value1) && isDateInvalid(value1))),
328
+ regex: (value1, value2) => {
329
+ const regexMatch = (value2 || '').toString().match(new RegExp('^/(.*?)/([gimusy]*)$'));
330
+ let regex;
331
+ if (!regexMatch) {
332
+ regex = new RegExp((value2 || '').toString());
333
+ }
334
+ else if (regexMatch.length === 1) {
335
+ regex = new RegExp(regexMatch[1]);
336
+ }
337
+ else {
338
+ regex = new RegExp(regexMatch[1], regexMatch[2]);
339
+ }
340
+ return !!(value1 || '').toString().match(regex);
341
+ },
342
+ notRegex: (value1, value2) => {
343
+ const regexMatch = (value2 || '').toString().match(new RegExp('^/(.*?)/([gimusy]*)$'));
344
+ let regex;
345
+ if (!regexMatch) {
346
+ regex = new RegExp((value2 || '').toString());
347
+ }
348
+ else if (regexMatch.length === 1) {
349
+ regex = new RegExp(regexMatch[1]);
350
+ }
351
+ else {
352
+ regex = new RegExp(regexMatch[1], regexMatch[2]);
353
+ }
354
+ return !(value1 || '').toString().match(regex);
355
+ },
356
+ };
357
+ const convertDateTime = (value) => {
358
+ let returnValue = undefined;
359
+ if (typeof value === 'string') {
360
+ returnValue = new Date(value).getTime();
361
+ }
362
+ else if (typeof value === 'number') {
363
+ returnValue = value;
364
+ }
365
+ if (moment_1.default.isMoment(value)) {
366
+ returnValue = value.unix();
367
+ }
368
+ if (value instanceof Date) {
369
+ returnValue = value.getTime();
370
+ }
371
+ if (returnValue === undefined || isNaN(returnValue)) {
372
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The value "${value}" is not a valid DateTime.`);
373
+ }
374
+ return returnValue;
375
+ };
376
+ const dataTypes = ['boolean', 'dateTime', 'number', 'string'];
377
+ let dataType;
378
+ let compareOperationResult;
379
+ let value1, value2;
380
+ itemLoop: for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
381
+ item = items[itemIndex];
382
+ let compareData;
383
+ combineOperation = this.getNodeParameter('combineOperation', itemIndex);
384
+ for (dataType of dataTypes) {
385
+ for (compareData of this.getNodeParameter(`conditions.${dataType}`, itemIndex, [])) {
386
+ value1 = compareData.value1;
387
+ value2 = compareData.value2;
388
+ if (dataType === 'dateTime') {
389
+ value1 = convertDateTime(value1);
390
+ value2 = convertDateTime(value2);
391
+ }
392
+ compareOperationResult = compareOperationFunctions[compareData.operation](value1, value2);
393
+ if (compareOperationResult && combineOperation === 'any') {
394
+ returnDataTrue.push(item);
395
+ continue itemLoop;
396
+ }
397
+ else if (!compareOperationResult && combineOperation === 'all') {
398
+ returnDataFalse.push(item);
399
+ continue itemLoop;
400
+ }
401
+ }
402
+ }
403
+ if (combineOperation === 'all') {
404
+ returnDataTrue.push(item);
405
+ }
406
+ else {
407
+ returnDataFalse.push(item);
408
+ }
409
+ }
410
+ return [returnDataTrue, returnDataFalse];
411
+ }
412
+ }
413
+ exports.IfV1 = IfV1;
414
+ //# sourceMappingURL=IfV1.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IfV1.node.js","sourceRoot":"","sources":["../../../../nodes/If/V1/IfV1.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeBaseDescription, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class IfV2 implements INodeType {
3
+ description: INodeTypeDescription;
4
+ constructor(baseDescription: INodeTypeBaseDescription);
5
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
6
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IfV2 = void 0;
7
+ const set_1 = __importDefault(require("lodash/set"));
8
+ class IfV2 {
9
+ constructor(baseDescription) {
10
+ this.description = {
11
+ ...baseDescription,
12
+ version: 2,
13
+ defaults: {
14
+ name: 'If',
15
+ color: '#408000',
16
+ },
17
+ inputs: ['main'],
18
+ outputs: ['main', 'main'],
19
+ outputNames: ['true', 'false'],
20
+ properties: [
21
+ {
22
+ displayName: 'Conditions',
23
+ name: 'conditions',
24
+ placeholder: 'Add Condition',
25
+ type: 'filter',
26
+ default: {},
27
+ typeOptions: {
28
+ filter: {
29
+ caseSensitive: '={{!$parameter.options.ignoreCase}}',
30
+ typeValidation: '={{$parameter.options.looseTypeValidation ? "loose" : "strict"}}',
31
+ },
32
+ },
33
+ },
34
+ {
35
+ displayName: 'Options',
36
+ name: 'options',
37
+ type: 'collection',
38
+ placeholder: 'Add option',
39
+ default: {},
40
+ options: [
41
+ {
42
+ displayName: 'Ignore Case',
43
+ description: 'Whether to ignore letter case when evaluating conditions',
44
+ name: 'ignoreCase',
45
+ type: 'boolean',
46
+ default: true,
47
+ },
48
+ {
49
+ displayName: 'Less Strict Type Validation',
50
+ description: 'Whether to try casting value types based on the selected operator',
51
+ name: 'looseTypeValidation',
52
+ type: 'boolean',
53
+ default: true,
54
+ },
55
+ ],
56
+ },
57
+ ],
58
+ };
59
+ }
60
+ async execute() {
61
+ const trueItems = [];
62
+ const falseItems = [];
63
+ this.getInputData().forEach((item, itemIndex) => {
64
+ try {
65
+ const options = this.getNodeParameter('options', itemIndex);
66
+ let pass = false;
67
+ try {
68
+ pass = this.getNodeParameter('conditions', itemIndex, false, {
69
+ extractValue: true,
70
+ });
71
+ }
72
+ catch (error) {
73
+ if (!options.looseTypeValidation) {
74
+ (0, set_1.default)(error, 'description', "Try to change the operator, switch ON the option 'Less Strict Type Validation', or change the type with an expression");
75
+ }
76
+ throw error;
77
+ }
78
+ if (item.pairedItem === undefined) {
79
+ item.pairedItem = { item: itemIndex };
80
+ }
81
+ if (pass) {
82
+ trueItems.push(item);
83
+ }
84
+ else {
85
+ falseItems.push(item);
86
+ }
87
+ }
88
+ catch (error) {
89
+ if (this.continueOnFail()) {
90
+ falseItems.push(item);
91
+ }
92
+ else {
93
+ throw error;
94
+ }
95
+ }
96
+ });
97
+ return [trueItems, falseItems];
98
+ }
99
+ }
100
+ exports.IfV2 = IfV2;
101
+ //# sourceMappingURL=IfV2.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IfV2.node.js","sourceRoot":"","sources":["../../../../nodes/If/V2/IfV2.node.ts"],"names":[],"mappings":"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"}