n8n-nodes-base 0.219.0 → 0.220.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 (44) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/credentials/Aws.credentials.js +10 -5
  3. package/dist/credentials/Aws.credentials.js.map +1 -1
  4. package/dist/credentials/GoogleApi.credentials.js +3 -0
  5. package/dist/credentials/GoogleApi.credentials.js.map +1 -1
  6. package/dist/known/nodes.json +4 -0
  7. package/dist/nodes/Code/utils.js +17 -7
  8. package/dist/nodes/Code/utils.js.map +1 -1
  9. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js +12 -8
  10. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js.map +1 -1
  11. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js +13 -11
  12. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js.map +1 -1
  13. package/dist/nodes/Filter/Filter.node.d.ts +5 -0
  14. package/dist/nodes/Filter/Filter.node.js +328 -0
  15. package/dist/nodes/Filter/Filter.node.js.map +1 -0
  16. package/dist/nodes/Filter/Filter.node.json +19 -0
  17. package/dist/nodes/Filter/GenericFunctions.d.ts +5 -0
  18. package/dist/nodes/Filter/GenericFunctions.js +85 -0
  19. package/dist/nodes/Filter/GenericFunctions.js.map +1 -0
  20. package/dist/nodes/Filter/test/workflow.json +599 -0
  21. package/dist/nodes/Ftp/Ftp.node.js +2 -2
  22. package/dist/nodes/Ftp/Ftp.node.js.map +1 -1
  23. package/dist/nodes/Google/Gmail/GmailTrigger.node.js +1 -2
  24. package/dist/nodes/Google/Gmail/GmailTrigger.node.js.map +1 -1
  25. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js +8 -1
  26. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js.map +1 -1
  27. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js +2 -0
  28. package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js.map +1 -1
  29. package/dist/nodes/RabbitMQ/RabbitMQTrigger.node.js +3 -3
  30. package/dist/nodes/RabbitMQ/RabbitMQTrigger.node.js.map +1 -1
  31. package/dist/nodes/Salesforce/GenericFunctions.js +2 -2
  32. package/dist/nodes/Salesforce/GenericFunctions.js.map +1 -1
  33. package/dist/nodes/Salesforce/Salesforce.node.js +1 -1
  34. package/dist/nodes/Salesforce/Salesforce.node.js.map +1 -1
  35. package/dist/nodes/Ssh/Ssh.node.js +1 -1
  36. package/dist/nodes/Ssh/Ssh.node.js.map +1 -1
  37. package/dist/nodes/Wait/Wait.node.js +2 -2
  38. package/dist/nodes/Wait/Wait.node.js.map +1 -1
  39. package/dist/nodes/Webhook/Webhook.node.js +2 -2
  40. package/dist/nodes/Webhook/Webhook.node.js.map +1 -1
  41. package/dist/types/credentials.json +1 -1
  42. package/dist/types/nodes.json +2 -1
  43. package/index.js +0 -0
  44. package/package.json +7 -5
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Filter = void 0;
4
+ const GenericFunctions_1 = require("./GenericFunctions");
5
+ class Filter {
6
+ constructor() {
7
+ this.description = {
8
+ displayName: 'Filter',
9
+ name: 'filter',
10
+ icon: 'fa:filter',
11
+ group: ['transform'],
12
+ version: 1,
13
+ description: 'Filter out incoming items based on given conditions',
14
+ defaults: {
15
+ name: 'Filter',
16
+ color: '#229eff',
17
+ },
18
+ inputs: ['main'],
19
+ outputs: ['main'],
20
+ properties: [
21
+ {
22
+ displayName: 'Conditions',
23
+ name: 'conditions',
24
+ placeholder: 'Add Condition',
25
+ type: 'fixedCollection',
26
+ typeOptions: {
27
+ multipleValues: true,
28
+ sortable: true,
29
+ },
30
+ description: 'The type of values to compare',
31
+ default: {},
32
+ options: [
33
+ {
34
+ name: 'boolean',
35
+ displayName: 'Boolean',
36
+ values: [
37
+ {
38
+ displayName: 'Value 1',
39
+ name: 'value1',
40
+ type: 'boolean',
41
+ default: false,
42
+ description: 'The value to compare with the second one',
43
+ },
44
+ {
45
+ displayName: 'Operation',
46
+ name: 'operation',
47
+ type: 'options',
48
+ options: [
49
+ {
50
+ name: 'Equal',
51
+ value: 'equal',
52
+ },
53
+ {
54
+ name: 'Not Equal',
55
+ value: 'notEqual',
56
+ },
57
+ ],
58
+ default: 'equal',
59
+ description: 'Operation to decide where the the data should be mapped to',
60
+ },
61
+ {
62
+ displayName: 'Value 2',
63
+ name: 'value2',
64
+ type: 'boolean',
65
+ default: false,
66
+ description: 'The value to compare with the first one',
67
+ },
68
+ ],
69
+ },
70
+ {
71
+ name: 'dateTime',
72
+ displayName: 'Date & Time',
73
+ values: [
74
+ {
75
+ displayName: 'Value 1',
76
+ name: 'value1',
77
+ type: 'dateTime',
78
+ default: '',
79
+ description: 'The value to compare with the second one',
80
+ },
81
+ {
82
+ displayName: 'Operation',
83
+ name: 'operation',
84
+ type: 'options',
85
+ options: [
86
+ {
87
+ name: 'Occurred After',
88
+ value: 'after',
89
+ },
90
+ {
91
+ name: 'Occurred Before',
92
+ value: 'before',
93
+ },
94
+ ],
95
+ default: 'after',
96
+ description: 'Operation to decide where the the data should be mapped to',
97
+ },
98
+ {
99
+ displayName: 'Value 2',
100
+ name: 'value2',
101
+ type: 'dateTime',
102
+ default: '',
103
+ description: 'The value to compare with the first one',
104
+ },
105
+ ],
106
+ },
107
+ {
108
+ name: 'number',
109
+ displayName: 'Number',
110
+ values: [
111
+ {
112
+ displayName: 'Value 1',
113
+ name: 'value1',
114
+ type: 'number',
115
+ default: 0,
116
+ description: 'The value to compare with the second one',
117
+ },
118
+ {
119
+ displayName: 'Operation',
120
+ name: 'operation',
121
+ type: 'options',
122
+ noDataExpression: true,
123
+ options: [
124
+ {
125
+ name: 'Smaller',
126
+ value: 'smaller',
127
+ },
128
+ {
129
+ name: 'Smaller or Equal',
130
+ value: 'smallerEqual',
131
+ },
132
+ {
133
+ name: 'Equal',
134
+ value: 'equal',
135
+ },
136
+ {
137
+ name: 'Not Equal',
138
+ value: 'notEqual',
139
+ },
140
+ {
141
+ name: 'Larger',
142
+ value: 'larger',
143
+ },
144
+ {
145
+ name: 'Larger or Equal',
146
+ value: 'largerEqual',
147
+ },
148
+ {
149
+ name: 'Is Empty',
150
+ value: 'isEmpty',
151
+ },
152
+ {
153
+ name: 'Is Not Empty',
154
+ value: 'isNotEmpty',
155
+ },
156
+ ],
157
+ default: 'smaller',
158
+ description: 'Operation to decide where the the data should be mapped to',
159
+ },
160
+ {
161
+ displayName: 'Value 2',
162
+ name: 'value2',
163
+ type: 'number',
164
+ displayOptions: {
165
+ hide: {
166
+ operation: ['isEmpty', 'isNotEmpty'],
167
+ },
168
+ },
169
+ default: 0,
170
+ description: 'The value to compare with the first one',
171
+ },
172
+ ],
173
+ },
174
+ {
175
+ name: 'string',
176
+ displayName: 'String',
177
+ values: [
178
+ {
179
+ displayName: 'Value 1',
180
+ name: 'value1',
181
+ type: 'string',
182
+ default: '',
183
+ description: 'The value to compare with the second one',
184
+ },
185
+ {
186
+ displayName: 'Operation',
187
+ name: 'operation',
188
+ type: 'options',
189
+ noDataExpression: true,
190
+ options: [
191
+ {
192
+ name: 'Contains',
193
+ value: 'contains',
194
+ },
195
+ {
196
+ name: 'Not Contains',
197
+ value: 'notContains',
198
+ },
199
+ {
200
+ name: 'Ends With',
201
+ value: 'endsWith',
202
+ },
203
+ {
204
+ name: 'Not Ends With',
205
+ value: 'notEndsWith',
206
+ },
207
+ {
208
+ name: 'Equal',
209
+ value: 'equal',
210
+ },
211
+ {
212
+ name: 'Not Equal',
213
+ value: 'notEqual',
214
+ },
215
+ {
216
+ name: 'Regex Match',
217
+ value: 'regex',
218
+ },
219
+ {
220
+ name: 'Regex Not Match',
221
+ value: 'notRegex',
222
+ },
223
+ {
224
+ name: 'Starts With',
225
+ value: 'startsWith',
226
+ },
227
+ {
228
+ name: 'Not Starts With',
229
+ value: 'notStartsWith',
230
+ },
231
+ {
232
+ name: 'Is Empty',
233
+ value: 'isEmpty',
234
+ },
235
+ {
236
+ name: 'Is Not Empty',
237
+ value: 'isNotEmpty',
238
+ },
239
+ ],
240
+ default: 'equal',
241
+ description: 'Operation to decide where the the data should be mapped to',
242
+ },
243
+ {
244
+ displayName: 'Value 2',
245
+ name: 'value2',
246
+ type: 'string',
247
+ displayOptions: {
248
+ hide: {
249
+ operation: ['isEmpty', 'isNotEmpty', 'regex', 'notRegex'],
250
+ },
251
+ },
252
+ default: '',
253
+ description: 'The value to compare with the first one',
254
+ },
255
+ {
256
+ displayName: 'Regex',
257
+ name: 'value2',
258
+ type: 'string',
259
+ displayOptions: {
260
+ show: {
261
+ operation: ['regex', 'notRegex'],
262
+ },
263
+ },
264
+ default: '',
265
+ placeholder: '/text/i',
266
+ description: 'The regex which has to match',
267
+ },
268
+ ],
269
+ },
270
+ ],
271
+ },
272
+ {
273
+ displayName: 'Combine Conditions',
274
+ name: 'combineConditions',
275
+ type: 'options',
276
+ options: [
277
+ {
278
+ name: 'AND',
279
+ description: 'Items are passed to the next node only if they meet all the conditions',
280
+ value: 'AND',
281
+ },
282
+ {
283
+ name: 'OR',
284
+ description: 'Items are passed to the next node if they meet at least one condition',
285
+ value: 'OR',
286
+ },
287
+ ],
288
+ default: 'AND',
289
+ description: 'How to combine the conditions: AND requires all conditions to be true, OR requires at least one condition to be true',
290
+ },
291
+ ],
292
+ };
293
+ }
294
+ async execute() {
295
+ const returnData = [];
296
+ const items = this.getInputData();
297
+ const dataTypes = ['boolean', 'dateTime', 'number', 'string'];
298
+ itemLoop: for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
299
+ const item = items[itemIndex];
300
+ const combineConditions = this.getNodeParameter('combineConditions', itemIndex);
301
+ for (const dataType of dataTypes) {
302
+ const typeConditions = this.getNodeParameter(`conditions.${dataType}`, itemIndex, []);
303
+ for (const condition of typeConditions) {
304
+ let value1 = condition.value1;
305
+ let value2 = condition.value2;
306
+ if (dataType === 'dateTime') {
307
+ const node = this.getNode();
308
+ value1 = (0, GenericFunctions_1.convertDateTime)(node, value1);
309
+ value2 = (0, GenericFunctions_1.convertDateTime)(node, value2);
310
+ }
311
+ const compareResult = GenericFunctions_1.compareOperationFunctions[condition.operation](value1, value2);
312
+ if (compareResult && combineConditions === 'OR') {
313
+ returnData.push(item);
314
+ continue itemLoop;
315
+ }
316
+ if (!compareResult && combineConditions === 'AND') {
317
+ continue itemLoop;
318
+ }
319
+ }
320
+ }
321
+ if (combineConditions === 'AND')
322
+ returnData.push(item);
323
+ }
324
+ return [returnData];
325
+ }
326
+ }
327
+ exports.Filter = Filter;
328
+ //# sourceMappingURL=Filter.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.node.js","sourceRoot":"","sources":["../../../nodes/Filter/Filter.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ {
2
+ "node": "n8n-nodes-base.filter",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "details": "The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omited. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).",
6
+ "categories": ["Core Nodes"],
7
+ "resources": {
8
+ "primaryDocumentation": [
9
+ {
10
+ "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"
11
+ }
12
+ ],
13
+ "generic": []
14
+ },
15
+ "alias": ["Router", "Filter", "Condition", "Logic", "Boolean", "Branch"],
16
+ "subcategories": {
17
+ "Core Nodes": ["Flow"]
18
+ }
19
+ }
@@ -0,0 +1,5 @@
1
+ import type { INode, NodeParameterValue } from 'n8n-workflow';
2
+ export declare const compareOperationFunctions: {
3
+ [key: string]: (value1: NodeParameterValue, value2: NodeParameterValue) => boolean;
4
+ };
5
+ export declare const convertDateTime: (node: INode, value: NodeParameterValue) => number;
@@ -0,0 +1,85 @@
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.convertDateTime = exports.compareOperationFunctions = void 0;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ const moment_1 = __importDefault(require("moment"));
9
+ const isDateObject = (value) => Object.prototype.toString.call(value) === '[object Date]';
10
+ const isDateInvalid = (value) => (value === null || value === void 0 ? void 0 : value.toString()) === 'Invalid Date';
11
+ exports.compareOperationFunctions = {
12
+ after: (value1, value2) => (value1 || 0) > (value2 || 0),
13
+ before: (value1, value2) => (value1 || 0) < (value2 || 0),
14
+ contains: (value1, value2) => (value1 || '').toString().includes((value2 || '').toString()),
15
+ notContains: (value1, value2) => !(value1 || '').toString().includes((value2 || '').toString()),
16
+ endsWith: (value1, value2) => value1.endsWith(value2),
17
+ notEndsWith: (value1, value2) => !value1.endsWith(value2),
18
+ equal: (value1, value2) => value1 === value2,
19
+ notEqual: (value1, value2) => value1 !== value2,
20
+ larger: (value1, value2) => (value1 || 0) > (value2 || 0),
21
+ largerEqual: (value1, value2) => (value1 || 0) >= (value2 || 0),
22
+ smaller: (value1, value2) => (value1 || 0) < (value2 || 0),
23
+ smallerEqual: (value1, value2) => (value1 || 0) <= (value2 || 0),
24
+ startsWith: (value1, value2) => value1.startsWith(value2),
25
+ notStartsWith: (value1, value2) => !value1.startsWith(value2),
26
+ isEmpty: (value1) => [undefined, null, '', NaN].includes(value1) ||
27
+ (typeof value1 === 'object' && value1 !== null && !isDateObject(value1)
28
+ ? Object.entries(value1).length === 0
29
+ : false) ||
30
+ (isDateObject(value1) && isDateInvalid(value1)),
31
+ isNotEmpty: (value1) => !([undefined, null, '', NaN].includes(value1) ||
32
+ (typeof value1 === 'object' && value1 !== null && !isDateObject(value1)
33
+ ? Object.entries(value1).length === 0
34
+ : false) ||
35
+ (isDateObject(value1) && isDateInvalid(value1))),
36
+ regex: (value1, value2) => {
37
+ const regexMatch = (value2 || '').toString().match(new RegExp('^/(.*?)/([gimusy]*)$'));
38
+ let regex;
39
+ if (!regexMatch) {
40
+ regex = new RegExp((value2 || '').toString());
41
+ }
42
+ else if (regexMatch.length === 1) {
43
+ regex = new RegExp(regexMatch[1]);
44
+ }
45
+ else {
46
+ regex = new RegExp(regexMatch[1], regexMatch[2]);
47
+ }
48
+ return !!(value1 || '').toString().match(regex);
49
+ },
50
+ notRegex: (value1, value2) => {
51
+ const regexMatch = (value2 || '').toString().match(new RegExp('^/(.*?)/([gimusy]*)$'));
52
+ let regex;
53
+ if (!regexMatch) {
54
+ regex = new RegExp((value2 || '').toString());
55
+ }
56
+ else if (regexMatch.length === 1) {
57
+ regex = new RegExp(regexMatch[1]);
58
+ }
59
+ else {
60
+ regex = new RegExp(regexMatch[1], regexMatch[2]);
61
+ }
62
+ return !(value1 || '').toString().match(regex);
63
+ },
64
+ };
65
+ const convertDateTime = (node, value) => {
66
+ let returnValue = undefined;
67
+ if (typeof value === 'string') {
68
+ returnValue = new Date(value).getTime();
69
+ }
70
+ else if (typeof value === 'number') {
71
+ returnValue = value;
72
+ }
73
+ if (moment_1.default.isMoment(value)) {
74
+ returnValue = value.unix();
75
+ }
76
+ if (value instanceof Date) {
77
+ returnValue = value.getTime();
78
+ }
79
+ if (returnValue === undefined || isNaN(returnValue)) {
80
+ throw new n8n_workflow_1.NodeOperationError(node, `The value "${value}" is not a valid DateTime.`);
81
+ }
82
+ return returnValue;
83
+ };
84
+ exports.convertDateTime = convertDateTime;
85
+ //# sourceMappingURL=GenericFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Filter/GenericFunctions.ts"],"names":[],"mappings":"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"}