n8n-nodes-base 1.20.0 → 1.21.1

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 (185) 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/ActiveCampaign/ActiveCampaign.node.js +1 -1
  5. package/dist/nodes/ActiveCampaign/ActiveCampaign.node.js.map +1 -1
  6. package/dist/nodes/Airtable/v2/methods/listSearch.js +1 -1
  7. package/dist/nodes/Airtable/v2/methods/listSearch.js.map +1 -1
  8. package/dist/nodes/Airtable/v2/methods/loadOptions.js +2 -2
  9. package/dist/nodes/Airtable/v2/methods/loadOptions.js.map +1 -1
  10. package/dist/nodes/Airtable/v2/methods/resourceMapping.js +1 -1
  11. package/dist/nodes/Airtable/v2/methods/resourceMapping.js.map +1 -1
  12. package/dist/nodes/Code/Code.node.json +1 -1
  13. package/dist/nodes/CompareDatasets/CompareDatasets.node.json +1 -1
  14. package/dist/nodes/CompareDatasets/GenericFunctions.js +6 -5
  15. package/dist/nodes/CompareDatasets/GenericFunctions.js.map +1 -1
  16. package/dist/nodes/Crypto/Crypto.node.json +1 -1
  17. package/dist/nodes/DateTime/DateTime.node.json +1 -1
  18. package/dist/nodes/DateTime/V2/DateTimeV2.node.js +1 -0
  19. package/dist/nodes/DateTime/V2/DateTimeV2.node.js.map +1 -1
  20. package/dist/nodes/EmailReadImap/EmailReadImap.node.json +1 -1
  21. package/dist/nodes/EmailSend/EmailSend.node.json +0 -3
  22. package/dist/nodes/ErrorTrigger/ErrorTrigger.node.json +1 -1
  23. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow.node.json +1 -1
  24. package/dist/nodes/Facebook/FacebookTrigger.node.js +1 -1
  25. package/dist/nodes/Facebook/FacebookTrigger.node.js.map +1 -1
  26. package/dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js +1 -1
  27. package/dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js.map +1 -1
  28. package/dist/nodes/FileMaker/FileMaker.node.js +2 -0
  29. package/dist/nodes/FileMaker/FileMaker.node.js.map +1 -1
  30. package/dist/nodes/Filter/Filter.node.js +1 -1
  31. package/dist/nodes/Filter/Filter.node.js.map +1 -1
  32. package/dist/nodes/Filter/Filter.node.json +1 -1
  33. package/dist/nodes/Form/FormTrigger.node.d.ts +3 -4
  34. package/dist/nodes/Form/FormTrigger.node.js +9 -247
  35. package/dist/nodes/Form/FormTrigger.node.js.map +1 -1
  36. package/dist/nodes/Form/FormTrigger.node.json +1 -1
  37. package/dist/nodes/Form/common.descriptions.d.ts +18 -0
  38. package/dist/nodes/Form/common.descriptions.js +237 -0
  39. package/dist/nodes/Form/common.descriptions.js.map +1 -0
  40. package/dist/nodes/Form/interfaces.d.ts +2 -0
  41. package/dist/nodes/Form/utils.d.ts +11 -1
  42. package/dist/nodes/Form/utils.js +70 -2
  43. package/dist/nodes/Form/utils.js.map +1 -1
  44. package/dist/nodes/Form/v1/FormTriggerV1.node.d.ts +14 -0
  45. package/dist/nodes/Form/v1/FormTriggerV1.node.js +82 -0
  46. package/dist/nodes/Form/v1/FormTriggerV1.node.js.map +1 -0
  47. package/dist/nodes/Form/v2/FormTriggerV2.node.d.ts +14 -0
  48. package/dist/nodes/Form/v2/FormTriggerV2.node.js +84 -0
  49. package/dist/nodes/Form/v2/FormTriggerV2.node.js.map +1 -0
  50. package/dist/nodes/Github/GithubTrigger.node.js +2 -2
  51. package/dist/nodes/Github/GithubTrigger.node.js.map +1 -1
  52. package/dist/nodes/Google/Ads/CampaignDescription.js +2 -2
  53. package/dist/nodes/Google/Ads/GoogleAds.node.js +1 -1
  54. package/dist/nodes/Google/BigQuery/v2/actions/database/insert.operation.js +1 -1
  55. package/dist/nodes/Google/BigQuery/v2/actions/database/insert.operation.js.map +1 -1
  56. package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js +1 -1
  57. package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js.map +1 -1
  58. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js +1 -1
  59. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js.map +1 -1
  60. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js +1 -1
  61. package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js.map +1 -1
  62. package/dist/nodes/Google/Sheet/v2/methods/listSearch.js +4 -1
  63. package/dist/nodes/Google/Sheet/v2/methods/listSearch.js.map +1 -1
  64. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js +4 -1
  65. package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js.map +1 -1
  66. package/dist/nodes/Html/Html.node.json +1 -1
  67. package/dist/nodes/If/If.node.d.ts +3 -4
  68. package/dist/nodes/If/If.node.js +10 -406
  69. package/dist/nodes/If/If.node.js.map +1 -1
  70. package/dist/nodes/If/V1/IfV1.node.d.ts +6 -0
  71. package/dist/nodes/If/V1/IfV1.node.js +414 -0
  72. package/dist/nodes/If/V1/IfV1.node.js.map +1 -0
  73. package/dist/nodes/If/V2/IfV2.node.d.ts +6 -0
  74. package/dist/nodes/If/V2/IfV2.node.js +101 -0
  75. package/dist/nodes/If/V2/IfV2.node.js.map +1 -0
  76. package/dist/nodes/If/test/v2/IfV2.date-time.json +163 -0
  77. package/dist/nodes/If/test/v2/IfV2.number.json +165 -0
  78. package/dist/nodes/If/test/v2/IfV2.other.json +182 -0
  79. package/dist/nodes/If/test/v2/IfV2.string.json +178 -0
  80. package/dist/nodes/ItemLists/ItemLists.node.js +1 -0
  81. package/dist/nodes/ItemLists/ItemLists.node.js.map +1 -1
  82. package/dist/nodes/Kafka/Kafka.node.js +3 -1
  83. package/dist/nodes/Kafka/Kafka.node.js.map +1 -1
  84. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +24 -1
  85. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
  86. package/dist/nodes/Markdown/Markdown.node.json +1 -1
  87. package/dist/nodes/Merge/Merge.node.json +1 -1
  88. package/dist/nodes/Merge/v2/MergeV2.node.js +1 -1
  89. package/dist/nodes/Merge/v2/MergeV2.node.js.map +1 -1
  90. package/dist/nodes/MySql/v2/actions/database/insert.operation.js +1 -1
  91. package/dist/nodes/MySql/v2/actions/database/update.operation.js +1 -1
  92. package/dist/nodes/MySql/v2/actions/database/upsert.operation.js +1 -1
  93. package/dist/nodes/N8n/N8n.node.json +1 -1
  94. package/dist/nodes/NocoDB/OperationDescription.js +1 -1
  95. package/dist/nodes/NocoDB/OperationDescription.js.map +1 -1
  96. package/dist/nodes/OpenAi/OpenAi.node.js +6 -0
  97. package/dist/nodes/OpenAi/OpenAi.node.js.map +1 -1
  98. package/dist/nodes/Postgres/PostgresTrigger.node.js +1 -1
  99. package/dist/nodes/Postgres/v2/actions/database/insert.operation.js +1 -1
  100. package/dist/nodes/Postgres/v2/actions/database/update.operation.js +1 -1
  101. package/dist/nodes/Postgres/v2/actions/database/upsert.operation.js +1 -1
  102. package/dist/nodes/Postgres/v2/helpers/utils.d.ts +2 -2
  103. package/dist/nodes/Postgres/v2/methods/resourceMapping.js +1 -1
  104. package/dist/nodes/Postgres/v2/methods/resourceMapping.js.map +1 -1
  105. package/dist/nodes/RenameKeys/RenameKeys.node.js +1 -1
  106. package/dist/nodes/RenameKeys/RenameKeys.node.js.map +1 -1
  107. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js +26 -2
  108. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js.map +1 -1
  109. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.json +1 -1
  110. package/dist/nodes/RssFeedRead/RssFeedRead.node.json +0 -3
  111. package/dist/nodes/Schedule/ScheduleTrigger.node.json +1 -4
  112. package/dist/nodes/Set/v2/SetV2.node.js +1 -1
  113. package/dist/nodes/Slack/V2/GenericFunctions.js +2 -2
  114. package/dist/nodes/Slack/V2/GenericFunctions.js.map +1 -1
  115. package/dist/nodes/SseTrigger/SseTrigger.node.json +1 -1
  116. package/dist/nodes/StopAndError/StopAndError.node.json +1 -1
  117. package/dist/nodes/TheHive/GenericFunctions.js +1 -1
  118. package/dist/nodes/TheHive/GenericFunctions.js.map +1 -1
  119. package/dist/nodes/Transform/Aggregate/Aggregate.node.d.ts +5 -0
  120. package/dist/nodes/Transform/Aggregate/Aggregate.node.js +365 -0
  121. package/dist/nodes/Transform/Aggregate/Aggregate.node.js.map +1 -0
  122. package/dist/nodes/Transform/Aggregate/Aggregate.node.json +19 -0
  123. package/dist/nodes/Transform/Aggregate/aggregate.svg +14 -0
  124. package/dist/nodes/Transform/Aggregate/test/workflow.aggregate.json +207 -0
  125. package/dist/nodes/Transform/Aggregate/utils.d.ts +2 -0
  126. package/dist/nodes/Transform/Aggregate/utils.js +48 -0
  127. package/dist/nodes/Transform/Aggregate/utils.js.map +1 -0
  128. package/dist/nodes/Transform/Limit/Limit.node.d.ts +5 -0
  129. package/dist/nodes/Transform/Limit/Limit.node.js +68 -0
  130. package/dist/nodes/Transform/Limit/Limit.node.js.map +1 -0
  131. package/dist/nodes/Transform/Limit/Limit.node.json +19 -0
  132. package/dist/nodes/Transform/Limit/limit.svg +16 -0
  133. package/dist/nodes/Transform/Limit/test/workflow.limit.json +97 -0
  134. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.d.ts +5 -0
  135. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js +221 -0
  136. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js.map +1 -0
  137. package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.json +29 -0
  138. package/dist/nodes/Transform/RemoveDuplicates/removeDuplicates.svg +15 -0
  139. package/dist/nodes/Transform/RemoveDuplicates/test/workflow.removeDuplicates.json +325 -0
  140. package/dist/nodes/Transform/RemoveDuplicates/utils.d.ts +3 -0
  141. package/dist/nodes/Transform/RemoveDuplicates/utils.js +37 -0
  142. package/dist/nodes/Transform/RemoveDuplicates/utils.js.map +1 -0
  143. package/dist/nodes/Transform/Sort/Sort.node.d.ts +5 -0
  144. package/dist/nodes/Transform/Sort/Sort.node.js +257 -0
  145. package/dist/nodes/Transform/Sort/Sort.node.js.map +1 -0
  146. package/dist/nodes/Transform/Sort/Sort.node.json +19 -0
  147. package/dist/nodes/Transform/Sort/sort.svg +6 -0
  148. package/dist/nodes/Transform/Sort/test/workflow.sort.json +213 -0
  149. package/dist/nodes/Transform/Sort/utils.d.ts +3 -0
  150. package/dist/nodes/Transform/Sort/utils.js +27 -0
  151. package/dist/nodes/Transform/Sort/utils.js.map +1 -0
  152. package/dist/nodes/Transform/SplitOut/SplitOut.node.d.ts +5 -0
  153. package/dist/nodes/Transform/SplitOut/SplitOut.node.js +223 -0
  154. package/dist/nodes/Transform/SplitOut/SplitOut.node.js.map +1 -0
  155. package/dist/nodes/Transform/SplitOut/SplitOut.node.json +19 -0
  156. package/dist/nodes/Transform/SplitOut/splitOut.svg +14 -0
  157. package/dist/nodes/Transform/SplitOut/test/workflow.splitOut.json +354 -0
  158. package/dist/nodes/Transform/SplitOut/test/workflow.splitOutObject.json +386 -0
  159. package/dist/nodes/Transform/Summarize/Summarize.node.d.ts +5 -0
  160. package/dist/nodes/Transform/Summarize/Summarize.node.js +311 -0
  161. package/dist/nodes/Transform/Summarize/Summarize.node.js.map +1 -0
  162. package/dist/nodes/Transform/Summarize/Summarize.node.json +32 -0
  163. package/dist/nodes/Transform/Summarize/summarize.svg +10 -0
  164. package/dist/nodes/Transform/Summarize/test/workflow.summarize.json +296 -0
  165. package/dist/nodes/Transform/Summarize/utils.d.ts +22 -0
  166. package/dist/nodes/Transform/Summarize/utils.js +206 -0
  167. package/dist/nodes/Transform/Summarize/utils.js.map +1 -0
  168. package/dist/nodes/Transform/utils/utils.d.ts +1 -0
  169. package/dist/nodes/Transform/utils/utils.js +18 -0
  170. package/dist/nodes/Transform/utils/utils.js.map +1 -0
  171. package/dist/nodes/Wait/Wait.node.d.ts +3 -2
  172. package/dist/nodes/Wait/Wait.node.js +199 -129
  173. package/dist/nodes/Wait/Wait.node.js.map +1 -1
  174. package/dist/nodes/Wait/Wait.node.json +1 -1
  175. package/dist/nodes/Webhook/Webhook.node.js +26 -10
  176. package/dist/nodes/Webhook/Webhook.node.js.map +1 -1
  177. package/dist/nodes/Webhook/Webhook.node.json +1 -1
  178. package/dist/nodes/Webhook/description.js +31 -2
  179. package/dist/nodes/Webhook/description.js.map +1 -1
  180. package/dist/types/nodes.json +74 -66
  181. package/package.json +10 -4
  182. /package/dist/nodes/If/test/{IF.boolean.json → v1/IF.boolean.json} +0 -0
  183. /package/dist/nodes/If/test/{IF.date-time.json → v1/IF.date-time.json} +0 -0
  184. /package/dist/nodes/If/test/{IF.number.json → v1/IF.number.json} +0 -0
  185. /package/dist/nodes/If/test/{IF.string.json → v1/IF.string.json} +0 -0
@@ -0,0 +1,257 @@
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.Sort = void 0;
7
+ const get_1 = __importDefault(require("lodash/get"));
8
+ const isEqual_1 = __importDefault(require("lodash/isEqual"));
9
+ const lt_1 = __importDefault(require("lodash/lt"));
10
+ const n8n_workflow_1 = require("n8n-workflow");
11
+ const utils_1 = require("./utils");
12
+ class Sort {
13
+ constructor() {
14
+ this.description = {
15
+ displayName: 'Sort',
16
+ name: 'sort',
17
+ icon: 'file:sort.svg',
18
+ group: ['transform'],
19
+ subtitle: '',
20
+ version: 1,
21
+ description: 'Change items order',
22
+ defaults: {
23
+ name: 'Sort',
24
+ },
25
+ inputs: ['main'],
26
+ outputs: ['main'],
27
+ properties: [
28
+ {
29
+ displayName: 'Type',
30
+ name: 'type',
31
+ type: 'options',
32
+ options: [
33
+ {
34
+ name: 'Simple',
35
+ value: 'simple',
36
+ },
37
+ {
38
+ name: 'Random',
39
+ value: 'random',
40
+ },
41
+ {
42
+ name: 'Code',
43
+ value: 'code',
44
+ },
45
+ ],
46
+ default: 'simple',
47
+ description: 'The fields of the input items to compare to see if they are the same',
48
+ },
49
+ {
50
+ displayName: 'Fields To Sort By',
51
+ name: 'sortFieldsUi',
52
+ type: 'fixedCollection',
53
+ typeOptions: {
54
+ multipleValues: true,
55
+ },
56
+ placeholder: 'Add Field To Sort By',
57
+ options: [
58
+ {
59
+ displayName: '',
60
+ name: 'sortField',
61
+ values: [
62
+ {
63
+ displayName: 'Field Name',
64
+ name: 'fieldName',
65
+ type: 'string',
66
+ required: true,
67
+ default: '',
68
+ description: 'The field to sort by',
69
+ placeholder: 'e.g. id',
70
+ hint: ' Enter the field name as text',
71
+ requiresDataPath: 'single',
72
+ },
73
+ {
74
+ displayName: 'Order',
75
+ name: 'order',
76
+ type: 'options',
77
+ options: [
78
+ {
79
+ name: 'Ascending',
80
+ value: 'ascending',
81
+ },
82
+ {
83
+ name: 'Descending',
84
+ value: 'descending',
85
+ },
86
+ ],
87
+ default: 'ascending',
88
+ description: 'The order to sort by',
89
+ },
90
+ ],
91
+ },
92
+ ],
93
+ default: {},
94
+ description: 'The fields of the input items to compare to see if they are the same',
95
+ displayOptions: {
96
+ show: {
97
+ type: ['simple'],
98
+ },
99
+ },
100
+ },
101
+ {
102
+ displayName: 'Code',
103
+ name: 'code',
104
+ type: 'string',
105
+ typeOptions: {
106
+ alwaysOpenEditWindow: true,
107
+ editor: 'code',
108
+ rows: 10,
109
+ },
110
+ default: `// The two items to compare are in the variables a and b
111
+ // Access the fields in a.json and b.json
112
+ // Return -1 if a should go before b
113
+ // Return 1 if b should go before a
114
+ // Return 0 if there's no difference
115
+
116
+ fieldName = 'myField';
117
+
118
+ if (a.json[fieldName] < b.json[fieldName]) {
119
+ return -1;
120
+ }
121
+ if (a.json[fieldName] > b.json[fieldName]) {
122
+ return 1;
123
+ }
124
+ return 0;`,
125
+ description: 'Javascript code to determine the order of any two items',
126
+ displayOptions: {
127
+ show: {
128
+ type: ['code'],
129
+ },
130
+ },
131
+ },
132
+ {
133
+ displayName: 'Options',
134
+ name: 'options',
135
+ type: 'collection',
136
+ placeholder: 'Add Field',
137
+ default: {},
138
+ displayOptions: {
139
+ show: {
140
+ type: ['simple'],
141
+ },
142
+ },
143
+ options: [
144
+ {
145
+ displayName: 'Disable Dot Notation',
146
+ name: 'disableDotNotation',
147
+ type: 'boolean',
148
+ default: false,
149
+ description: 'Whether to disallow referencing child fields using `parent.child` in the field name',
150
+ },
151
+ ],
152
+ },
153
+ ],
154
+ };
155
+ }
156
+ async execute() {
157
+ const items = this.getInputData();
158
+ let returnData = [...items];
159
+ const type = this.getNodeParameter('type', 0);
160
+ const disableDotNotation = this.getNodeParameter('options.disableDotNotation', 0, false);
161
+ if (type === 'random') {
162
+ (0, utils_1.shuffleArray)(returnData);
163
+ return [returnData];
164
+ }
165
+ if (type === 'simple') {
166
+ const sortFieldsUi = this.getNodeParameter('sortFieldsUi', 0);
167
+ const sortFields = sortFieldsUi.sortField;
168
+ if (!(sortFields === null || sortFields === void 0 ? void 0 : sortFields.length)) {
169
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No sorting specified. Please add a field to sort by');
170
+ }
171
+ for (const { fieldName } of sortFields) {
172
+ let found = false;
173
+ for (const item of items) {
174
+ if (!disableDotNotation) {
175
+ if ((0, get_1.default)(item.json, fieldName) !== undefined) {
176
+ found = true;
177
+ }
178
+ }
179
+ else if (item.json.hasOwnProperty(fieldName)) {
180
+ found = true;
181
+ }
182
+ }
183
+ if (!found && disableDotNotation && fieldName.includes('.')) {
184
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Couldn't find the field '${fieldName}' in the input data`, {
185
+ description: "If you're trying to use a nested field, make sure you turn off 'disable dot notation' in the node options",
186
+ });
187
+ }
188
+ else if (!found) {
189
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Couldn't find the field '${fieldName}' in the input data`);
190
+ }
191
+ }
192
+ const sortFieldsWithDirection = sortFields.map((field) => ({
193
+ name: field.fieldName,
194
+ dir: field.order === 'ascending' ? 1 : -1,
195
+ }));
196
+ returnData.sort((a, b) => {
197
+ let result = 0;
198
+ for (const field of sortFieldsWithDirection) {
199
+ let equal;
200
+ if (!disableDotNotation) {
201
+ const _a = typeof (0, get_1.default)(a.json, field.name) === 'string'
202
+ ? (0, get_1.default)(a.json, field.name).toLowerCase()
203
+ : (0, get_1.default)(a.json, field.name);
204
+ const _b = typeof (0, get_1.default)(b.json, field.name) === 'string'
205
+ ? (0, get_1.default)(b.json, field.name).toLowerCase()
206
+ : (0, get_1.default)(b.json, field.name);
207
+ equal = (0, isEqual_1.default)(_a, _b);
208
+ }
209
+ else {
210
+ const _a = typeof a.json[field.name] === 'string'
211
+ ? a.json[field.name].toLowerCase()
212
+ : a.json[field.name];
213
+ const _b = typeof b.json[field.name] === 'string'
214
+ ? b.json[field.name].toLowerCase()
215
+ : b.json[field.name];
216
+ equal = (0, isEqual_1.default)(_a, _b);
217
+ }
218
+ if (!equal) {
219
+ let lessThan;
220
+ if (!disableDotNotation) {
221
+ const _a = typeof (0, get_1.default)(a.json, field.name) === 'string'
222
+ ? (0, get_1.default)(a.json, field.name).toLowerCase()
223
+ : (0, get_1.default)(a.json, field.name);
224
+ const _b = typeof (0, get_1.default)(b.json, field.name) === 'string'
225
+ ? (0, get_1.default)(b.json, field.name).toLowerCase()
226
+ : (0, get_1.default)(b.json, field.name);
227
+ lessThan = (0, lt_1.default)(_a, _b);
228
+ }
229
+ else {
230
+ const _a = typeof a.json[field.name] === 'string'
231
+ ? a.json[field.name].toLowerCase()
232
+ : a.json[field.name];
233
+ const _b = typeof b.json[field.name] === 'string'
234
+ ? b.json[field.name].toLowerCase()
235
+ : b.json[field.name];
236
+ lessThan = (0, lt_1.default)(_a, _b);
237
+ }
238
+ if (lessThan) {
239
+ result = -1 * field.dir;
240
+ }
241
+ else {
242
+ result = 1 * field.dir;
243
+ }
244
+ break;
245
+ }
246
+ }
247
+ return result;
248
+ });
249
+ }
250
+ else {
251
+ returnData = utils_1.sortByCode.call(this, returnData);
252
+ }
253
+ return [returnData];
254
+ }
255
+ }
256
+ exports.Sort = Sort;
257
+ //# sourceMappingURL=Sort.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sort.node.js","sourceRoot":"","sources":["../../../../nodes/Transform/Sort/Sort.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ {
2
+ "node": "n8n-nodes-base.sort",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "details": "",
6
+ "categories": ["Core Nodes"],
7
+ "resources": {
8
+ "primaryDocumentation": [
9
+ {
10
+ "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sort/"
11
+ }
12
+ ],
13
+ "generic": []
14
+ },
15
+ "alias": ["Sort", "Order", "Transform", "Array", "List", "Item"],
16
+ "subcategories": {
17
+ "Core Nodes": ["Data Transformation"]
18
+ }
19
+ }
@@ -0,0 +1,6 @@
1
+ <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M130.5 422.5C123.873 422.5 118.5 417.127 118.5 410.5L118.5 59.5C118.5 52.8726 123.873 47.5 130.5 47.5L154.5 47.5C161.127 47.5 166.5 52.8726 166.5 59.5L166.5 410.5C166.5 417.127 161.127 422.5 154.5 422.5L130.5 422.5Z" fill="#8287EB"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M36.0768 333.482C45.4754 324.136 60.6713 324.178 70.0178 333.577L142.5 406.464L214.982 333.577C224.329 324.178 239.525 324.136 248.923 333.482C258.322 342.829 258.364 358.025 249.018 367.423L159.518 457.423C155.013 461.953 148.888 464.5 142.5 464.5C136.112 464.5 129.987 461.953 125.482 457.423L35.9822 367.423C26.6358 358.025 26.6781 342.829 36.0768 333.482Z" fill="#8287EB"/>
4
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M381.5 89.5C388.127 89.5 393.5 94.8726 393.5 101.5L393.5 452.5C393.5 459.127 388.127 464.5 381.5 464.5L357.5 464.5C350.873 464.5 345.5 459.127 345.5 452.5L345.5 101.5C345.5 94.8726 350.873 89.5 357.5 89.5L381.5 89.5Z" fill="#8287EB"/>
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M475.923 178.518C466.525 187.864 451.329 187.822 441.982 178.423L369.5 105.536L297.018 178.423C287.671 187.822 272.475 187.864 263.077 178.518C253.678 169.171 253.636 153.975 262.982 144.577L352.482 54.5768C356.987 50.0469 363.112 47.5 369.5 47.5C375.888 47.5 382.013 50.0469 386.518 54.5768L476.018 144.577C485.364 153.975 485.322 169.171 475.923 178.518Z" fill="#8287EB"/>
6
+ </svg>
@@ -0,0 +1,213 @@
1
+ {
2
+ "name": "sort test",
3
+ "nodes": [
4
+ {
5
+ "parameters": {},
6
+ "id": "6c90bf81-0c0e-4c5f-9f0c-297f06d9668a",
7
+ "name": "When clicking \"Execute Workflow\"",
8
+ "type": "n8n-nodes-base.manualTrigger",
9
+ "typeVersion": 1,
10
+ "position": [-440, 300]
11
+ },
12
+ {
13
+ "parameters": {
14
+ "jsCode": "return [\n {id: 3, char: 'c'},\n {id: 4, char: 'd'},\n {id: 5, char: 'e'},\n {id: 1, char: 'a'},\n {id: 2, char: 'b'},\n];"
15
+ },
16
+ "id": "2e0011d5-c6a0-4a40-ab8c-9d011cde40d5",
17
+ "name": "Code",
18
+ "type": "n8n-nodes-base.code",
19
+ "typeVersion": 1,
20
+ "position": [-180, 300]
21
+ },
22
+ {
23
+ "parameters": {
24
+ "sortFieldsUi": {
25
+ "sortField": [
26
+ {
27
+ "fieldName": "char",
28
+ "order": "descending"
29
+ },
30
+ {
31
+ "fieldName": "id",
32
+ "order": "descending"
33
+ }
34
+ ]
35
+ },
36
+ "options": {}
37
+ },
38
+ "id": "20031848-2374-45b2-98db-69d7b8d055ad",
39
+ "name": "Item Lists1",
40
+ "type": "n8n-nodes-base.sort",
41
+ "typeVersion": 1,
42
+ "position": [80, 300]
43
+ },
44
+ {
45
+ "parameters": {
46
+ "sortFieldsUi": {
47
+ "sortField": [
48
+ {
49
+ "fieldName": "id"
50
+ }
51
+ ]
52
+ },
53
+ "options": {}
54
+ },
55
+ "id": "93dd8c32-21e1-4762-a340-b3e8c6866811",
56
+ "name": "Item Lists",
57
+ "type": "n8n-nodes-base.sort",
58
+ "typeVersion": 1,
59
+ "position": [80, 120]
60
+ },
61
+ {
62
+ "parameters": {
63
+ "type": "code",
64
+ "code": "// The two items to compare are in the variables a and b\n// Access the fields in a.json and b.json\n// Return -1 if a should go before b\n// Return 1 if b should go before a\n// Return 0 if there's no difference\n\nfieldName = 'id';\n\nif (a.json[fieldName] < b.json[fieldName]) {\n\t\treturn -1;\n}\nif (a.json[fieldName] > b.json[fieldName]) {\n\t\treturn 1;\n}\nreturn 0;"
65
+ },
66
+ "id": "112c72e6-b5d9-4d6d-87fc-2621fbaa5bf7",
67
+ "name": "Item Lists2",
68
+ "type": "n8n-nodes-base.sort",
69
+ "typeVersion": 1,
70
+ "position": [80, 500]
71
+ }
72
+ ],
73
+ "pinData": {
74
+ "Item Lists": [
75
+ {
76
+ "json": {
77
+ "id": 1,
78
+ "char": "a"
79
+ }
80
+ },
81
+ {
82
+ "json": {
83
+ "id": 2,
84
+ "char": "b"
85
+ }
86
+ },
87
+ {
88
+ "json": {
89
+ "id": 3,
90
+ "char": "c"
91
+ }
92
+ },
93
+ {
94
+ "json": {
95
+ "id": 4,
96
+ "char": "d"
97
+ }
98
+ },
99
+ {
100
+ "json": {
101
+ "id": 5,
102
+ "char": "e"
103
+ }
104
+ }
105
+ ],
106
+ "Item Lists1": [
107
+ {
108
+ "json": {
109
+ "id": 5,
110
+ "char": "e"
111
+ }
112
+ },
113
+ {
114
+ "json": {
115
+ "id": 4,
116
+ "char": "d"
117
+ }
118
+ },
119
+ {
120
+ "json": {
121
+ "id": 3,
122
+ "char": "c"
123
+ }
124
+ },
125
+ {
126
+ "json": {
127
+ "id": 2,
128
+ "char": "b"
129
+ }
130
+ },
131
+ {
132
+ "json": {
133
+ "id": 1,
134
+ "char": "a"
135
+ }
136
+ }
137
+ ],
138
+ "Item Lists2": [
139
+ {
140
+ "json": {
141
+ "id": 1,
142
+ "char": "a"
143
+ }
144
+ },
145
+ {
146
+ "json": {
147
+ "id": 2,
148
+ "char": "b"
149
+ }
150
+ },
151
+ {
152
+ "json": {
153
+ "id": 3,
154
+ "char": "c"
155
+ }
156
+ },
157
+ {
158
+ "json": {
159
+ "id": 4,
160
+ "char": "d"
161
+ }
162
+ },
163
+ {
164
+ "json": {
165
+ "id": 5,
166
+ "char": "e"
167
+ }
168
+ }
169
+ ]
170
+ },
171
+ "connections": {
172
+ "When clicking \"Execute Workflow\"": {
173
+ "main": [
174
+ [
175
+ {
176
+ "node": "Code",
177
+ "type": "main",
178
+ "index": 0
179
+ }
180
+ ]
181
+ ]
182
+ },
183
+ "Code": {
184
+ "main": [
185
+ [
186
+ {
187
+ "node": "Item Lists1",
188
+ "type": "main",
189
+ "index": 0
190
+ },
191
+ {
192
+ "node": "Item Lists",
193
+ "type": "main",
194
+ "index": 0
195
+ },
196
+ {
197
+ "node": "Item Lists2",
198
+ "type": "main",
199
+ "index": 0
200
+ }
201
+ ]
202
+ ]
203
+ }
204
+ },
205
+ "active": false,
206
+ "settings": {},
207
+ "versionId": "6f896427-a3be-44bc-898f-c1a6f58fa1e1",
208
+ "id": "105",
209
+ "meta": {
210
+ "instanceId": "36203ea1ce3cef713fa25999bd9874ae26b9e4c2c3a90a365f2882a154d031d0"
211
+ },
212
+ "tags": []
213
+ }
@@ -0,0 +1,3 @@
1
+ import { type IExecuteFunctions, type INodeExecutionData } from 'n8n-workflow';
2
+ export declare const shuffleArray: (array: any[]) => void;
3
+ export declare function sortByCode(this: IExecuteFunctions, items: INodeExecutionData[]): INodeExecutionData[];
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortByCode = exports.shuffleArray = void 0;
4
+ const vm2_1 = require("@n8n/vm2");
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const shuffleArray = (array) => {
7
+ for (let i = array.length - 1; i > 0; i--) {
8
+ const j = Math.floor(Math.random() * (i + 1));
9
+ [array[i], array[j]] = [array[j], array[i]];
10
+ }
11
+ };
12
+ exports.shuffleArray = shuffleArray;
13
+ const returnRegExp = /\breturn\b/g;
14
+ function sortByCode(items) {
15
+ const code = this.getNodeParameter('code', 0);
16
+ if (!returnRegExp.test(code)) {
17
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Sort code doesn't return. Please add a 'return' statement to your code");
18
+ }
19
+ const mode = this.getMode();
20
+ const vm = new vm2_1.NodeVM({
21
+ console: mode === 'manual' ? 'redirect' : 'inherit',
22
+ sandbox: { items },
23
+ });
24
+ return vm.run(`module.exports = items.sort((a, b) => { ${code} })`);
25
+ }
26
+ exports.sortByCode = sortByCode;
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../nodes/Transform/Sort/utils.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,+CAAmG;AAE5F,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE;IAC5C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB;AAEF,MAAM,YAAY,GAAG,aAAa,CAAC;AACnC,SAAgB,UAAU,CAEzB,KAA2B;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAW,CAAC;IACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,wEAAwE,CACxE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAI,YAAM,CAAC;QACrB,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACnD,OAAO,EAAE,EAAE,KAAK,EAAE;KAClB,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC,GAAG,CAAC,2CAA2C,IAAI,KAAK,CAAC,CAAC;AACrE,CAAC;AAnBD,gCAmBC"}
@@ -0,0 +1,5 @@
1
+ import { type IExecuteFunctions, type INodeExecutionData, type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class SplitOut implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }