@nordcraft/search 1.0.37 → 1.0.39

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.
@@ -1,18 +1,606 @@
1
1
  import { isToddleFormula } from '@nordcraft/core/dist/formula/formulaTypes';
2
+ import { omitKeys, set } from '@nordcraft/core/dist/utils/collections';
2
3
  import { isDefined } from '@nordcraft/core/dist/utils/util';
3
4
  export const legacyFormulaRule = {
4
5
  code: 'legacy formula',
5
6
  level: 'warning',
6
7
  category: 'Deprecation',
7
- visit: (report, { path, files, value, nodeType }) => {
8
- if (nodeType !== 'formula' ||
9
- value.type !== 'function' ||
10
- !isLegacyFormula(value, files)) {
8
+ visit: (report, data) => {
9
+ if (!isIssue(data)) {
11
10
  return;
12
11
  }
13
- report(path, { name: value.name });
12
+ report(data.path, { name: data.value.name },
13
+ // The TYPE formula cannot be autofixed since the types have changed between the 2 implementations
14
+ data.value.name !== 'TYPE' ? ['replace-legacy-formula'] : undefined);
15
+ },
16
+ fixes: {
17
+ 'replace-legacy-formula': (data) => {
18
+ if (!isIssue(data)) {
19
+ return;
20
+ }
21
+ switch (data.value.name) {
22
+ // Known legacy formulas first
23
+ case 'AND': {
24
+ const { name, ...legacyAndFormula } = data.value;
25
+ const andFormula = {
26
+ ...legacyAndFormula,
27
+ type: 'and',
28
+ arguments: legacyAndFormula.arguments.map((a) => {
29
+ const { name, ...argument } = a;
30
+ return argument;
31
+ }),
32
+ };
33
+ return set(data.files, data.path, andFormula);
34
+ }
35
+ case 'CONCAT': {
36
+ const newConcatFormula = {
37
+ ...data.value,
38
+ name: '@toddle/concatenate',
39
+ display_name: 'Concatenate',
40
+ };
41
+ return set(data.files, data.path, newConcatFormula);
42
+ }
43
+ case 'DEFAULT': {
44
+ const newDefaultFormula = {
45
+ ...data.value,
46
+ name: '@toddle/defaultTo',
47
+ // The old DEFAULT formula did not support variableArguments
48
+ variableArguments: true,
49
+ display_name: 'Default to',
50
+ };
51
+ return set(data.files, data.path, newDefaultFormula);
52
+ }
53
+ case 'DELETE': {
54
+ const newDeleteFormula = {
55
+ ...data.value,
56
+ name: '@toddle/deleteKey',
57
+ display_name: 'Delete',
58
+ };
59
+ return set(data.files, data.path, newDeleteFormula);
60
+ }
61
+ case 'DROP_LAST': {
62
+ const newDropLastFormula = {
63
+ ...data.value,
64
+ name: '@toddle/dropLast',
65
+ display_name: 'Drop Last',
66
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
67
+ };
68
+ return set(data.files, data.path, newDropLastFormula);
69
+ }
70
+ case 'EQ': {
71
+ const newEqualsFormula = {
72
+ ...data.value,
73
+ name: '@toddle/equals',
74
+ display_name: 'Equals',
75
+ };
76
+ return set(data.files, data.path, newEqualsFormula);
77
+ }
78
+ case 'FIND INDEX': {
79
+ const newFindIndexFormula = {
80
+ ...data.value,
81
+ name: '@toddle/findIndex',
82
+ display_name: 'Find index',
83
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
84
+ };
85
+ return set(data.files, data.path, newFindIndexFormula);
86
+ }
87
+ case 'FLAT': {
88
+ const newFlattenFormula = {
89
+ ...data.value,
90
+ name: '@toddle/flatten',
91
+ display_name: 'Flatten',
92
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
93
+ };
94
+ return set(data.files, data.path, newFlattenFormula);
95
+ }
96
+ case 'GT': {
97
+ const newGreaterThanFormula = {
98
+ ...data.value,
99
+ name: '@toddle/greaterThan',
100
+ display_name: 'Greater than',
101
+ };
102
+ return set(data.files, data.path, newGreaterThanFormula);
103
+ }
104
+ case 'GTE': {
105
+ const newGreaterOrEqualFormula = {
106
+ ...data.value,
107
+ name: '@toddle/greaterOrEqueal',
108
+ display_name: 'Greater or equal',
109
+ };
110
+ return set(data.files, data.path, newGreaterOrEqualFormula);
111
+ }
112
+ case 'GROUP_BY': {
113
+ const newGroupbyFormula = {
114
+ ...data.value,
115
+ name: '@toddle/groupBy',
116
+ display_name: 'Group by',
117
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
118
+ };
119
+ return set(data.files, data.path, newGroupbyFormula);
120
+ }
121
+ case 'IF': {
122
+ const legacyIfFormula = omitKeys(data.value, ['arguments', 'name']);
123
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
124
+ const ifArguments = data.value.arguments ?? [];
125
+ const switchFormula = {
126
+ ...legacyIfFormula,
127
+ type: 'switch',
128
+ cases: [
129
+ {
130
+ condition: ifArguments[0]?.formula,
131
+ formula: ifArguments[1]?.formula,
132
+ },
133
+ ],
134
+ default: ifArguments[2]?.formula,
135
+ };
136
+ return set(data.files, data.path, switchFormula);
137
+ }
138
+ case 'INDEX OF': {
139
+ const newIndexofFormula = {
140
+ ...data.value,
141
+ name: '@toddle/indexOf',
142
+ display_name: 'Index of',
143
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
144
+ };
145
+ return set(data.files, data.path, newIndexofFormula);
146
+ }
147
+ case 'JSON_PARSE': {
148
+ const newJsonParseFormula = {
149
+ ...data.value,
150
+ name: '@toddle/parseJSON',
151
+ display_name: 'Parse JSON',
152
+ arguments: renameArguments({ Input: 'JSON string' }, data.value.arguments),
153
+ };
154
+ return set(data.files, data.path, newJsonParseFormula);
155
+ }
156
+ case 'KEY_BY': {
157
+ const newKeyByFormula = {
158
+ ...data.value,
159
+ name: '@toddle/keyBy',
160
+ display_name: 'Key by',
161
+ arguments: renameArguments({
162
+ ...ARRAY_ARGUMENT_MAPPINGS,
163
+ 'Key formula': 'Formula',
164
+ }, data.value.arguments),
165
+ };
166
+ return set(data.files, data.path, newKeyByFormula);
167
+ }
168
+ case 'LIST': {
169
+ const newArrayFormula = {
170
+ type: 'array',
171
+ arguments: data.value.arguments,
172
+ };
173
+ return set(data.files, data.path, newArrayFormula);
174
+ }
175
+ case 'LOWER': {
176
+ const newLowercaseFormula = {
177
+ ...data.value,
178
+ name: '@toddle/lowercase',
179
+ display_name: 'Lower case',
180
+ };
181
+ return set(data.files, data.path, newLowercaseFormula);
182
+ }
183
+ case 'LT': {
184
+ const newLessThanFormula = {
185
+ ...data.value,
186
+ name: '@toddle/lessThan',
187
+ display_name: 'Less than',
188
+ };
189
+ return set(data.files, data.path, newLessThanFormula);
190
+ }
191
+ case 'LTE': {
192
+ const newLessOrEqualFormula = {
193
+ ...data.value,
194
+ name: '@toddle/lessOrEqual',
195
+ display_name: 'Less or equal',
196
+ };
197
+ return set(data.files, data.path, newLessOrEqualFormula);
198
+ }
199
+ case 'MOD': {
200
+ const newModuloFormula = {
201
+ ...data.value,
202
+ arguments: renameArguments({ Dividor: 'Divider' }, data.value.arguments),
203
+ name: '@toddle/modulo',
204
+ display_name: 'Modulo',
205
+ };
206
+ return set(data.files, data.path, newModuloFormula);
207
+ }
208
+ case 'NEQ': {
209
+ const newNotEqualFormula = {
210
+ ...data.value,
211
+ name: '@toddle/notEqual',
212
+ display_name: 'Not equal',
213
+ };
214
+ return set(data.files, data.path, newNotEqualFormula);
215
+ }
216
+ case 'OR': {
217
+ const { name, ...legacyOrFormula } = data.value;
218
+ // Replace the AND formula with an 'and' formula
219
+ const andFormula = {
220
+ ...legacyOrFormula,
221
+ type: 'or',
222
+ arguments: legacyOrFormula.arguments.map((a) => {
223
+ const { name, ...argument } = a;
224
+ return argument;
225
+ }),
226
+ };
227
+ return set(data.files, data.path, andFormula);
228
+ }
229
+ case 'RANDOM': {
230
+ const newRandomNumberFormula = {
231
+ ...data.value,
232
+ name: '@toddle/randomNumber',
233
+ display_name: 'Random number',
234
+ };
235
+ return set(data.files, data.path, newRandomNumberFormula);
236
+ }
237
+ case 'SIZE': {
238
+ const newSizeFormula = {
239
+ ...data.value,
240
+ name: '@toddle/size',
241
+ display_name: 'Size',
242
+ };
243
+ return set(data.files, data.path, newSizeFormula);
244
+ }
245
+ case 'SQRT': {
246
+ const newSqrtFormula = {
247
+ ...data.value,
248
+ name: '@toddle/squareRoot',
249
+ display_name: 'Square Root',
250
+ };
251
+ return set(data.files, data.path, newSqrtFormula);
252
+ }
253
+ case 'STARTS_WITH': {
254
+ const newStartsWithFormula = {
255
+ ...data.value,
256
+ name: '@toddle/startsWith',
257
+ display_name: 'Starts with',
258
+ arguments: renameArguments({ Input: 'String' }, data.value.arguments),
259
+ };
260
+ return set(data.files, data.path, newStartsWithFormula);
261
+ }
262
+ case 'TAKE_LAST': {
263
+ const newTakeLastFormula = {
264
+ ...data.value,
265
+ name: '@toddle/takeLast',
266
+ display_name: 'Take last',
267
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
268
+ };
269
+ return set(data.files, data.path, newTakeLastFormula);
270
+ }
271
+ case 'TYPE':
272
+ // We can't autofix this one as the types have changed
273
+ break;
274
+ case 'UPPER': {
275
+ const newUpperFormula = {
276
+ ...data.value,
277
+ name: '@toddle/uppercase',
278
+ display_name: 'Uppercase',
279
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
280
+ };
281
+ return set(data.files, data.path, newUpperFormula);
282
+ }
283
+ case 'URI_ENCODE': {
284
+ const newUriEncodeFormula = {
285
+ ...data.value,
286
+ name: '@toddle/encodeURIComponent',
287
+ display_name: 'Encode URI Component',
288
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
289
+ arguments: data.value.arguments?.map((arg) => ({
290
+ ...arg,
291
+ // Let's fix this typo as well
292
+ name: arg.name === 'URI' ? 'URIComponent' : arg.name,
293
+ })),
294
+ };
295
+ return set(data.files, data.path, newUriEncodeFormula);
296
+ }
297
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //
298
+ // ℹ️ Below is handling of the builtin formulas that can be updated ℹ️ //
299
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //
300
+ case 'ABSOLUTE': {
301
+ const newAbsoluteFormula = {
302
+ ...data.value,
303
+ name: '@toddle/absolute',
304
+ display_name: 'Absolute',
305
+ };
306
+ return set(data.files, data.path, newAbsoluteFormula);
307
+ }
308
+ case 'ADD': {
309
+ const newAddFormula = {
310
+ ...data.value,
311
+ name: '@toddle/add',
312
+ display_name: 'Add',
313
+ };
314
+ return set(data.files, data.path, newAddFormula);
315
+ }
316
+ case 'APPEND': {
317
+ const newAppendFormula = {
318
+ ...data.value,
319
+ name: '@toddle/append',
320
+ display_name: 'Append',
321
+ };
322
+ return set(data.files, data.path, newAppendFormula);
323
+ }
324
+ case 'BOOLEAN': {
325
+ const newBooleanFormula = {
326
+ ...data.value,
327
+ name: '@toddle/boolean',
328
+ display_name: 'Boolean',
329
+ };
330
+ return set(data.files, data.path, newBooleanFormula);
331
+ }
332
+ case 'CLAMP': {
333
+ const newClampFormula = {
334
+ ...data.value,
335
+ name: '@toddle/clamp',
336
+ display_name: 'Clamp',
337
+ };
338
+ return set(data.files, data.path, newClampFormula);
339
+ }
340
+ case 'DIVIDE': {
341
+ const newDivideFormula = {
342
+ ...data.value,
343
+ name: '@toddle/divide',
344
+ display_name: 'Divide',
345
+ };
346
+ return set(data.files, data.path, newDivideFormula);
347
+ }
348
+ case 'DROP': {
349
+ const newDropFormula = {
350
+ ...data.value,
351
+ name: '@toddle/drop',
352
+ display_name: 'Drop',
353
+ };
354
+ return set(data.files, data.path, newDropFormula);
355
+ }
356
+ case 'ENTRIES': {
357
+ const newEntriesFormula = {
358
+ ...data.value,
359
+ name: '@toddle/entries',
360
+ display_name: 'Entries',
361
+ };
362
+ return set(data.files, data.path, newEntriesFormula);
363
+ }
364
+ case 'EVERY': {
365
+ const newEveryFormula = {
366
+ ...data.value,
367
+ name: '@toddle/every',
368
+ display_name: 'Every',
369
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
370
+ };
371
+ return set(data.files, data.path, newEveryFormula);
372
+ }
373
+ case 'FILTER': {
374
+ const newFilterFormula = {
375
+ ...data.value,
376
+ name: '@toddle/filter',
377
+ display_name: 'Filter',
378
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
379
+ };
380
+ return set(data.files, data.path, newFilterFormula);
381
+ }
382
+ case 'FIND': {
383
+ const newFindFormula = {
384
+ ...data.value,
385
+ name: '@toddle/find',
386
+ display_name: 'Find',
387
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
388
+ };
389
+ return set(data.files, data.path, newFindFormula);
390
+ }
391
+ case 'FROMENTRIES': {
392
+ const newFromentriesFormula = {
393
+ ...data.value,
394
+ name: '@toddle/fromEntries',
395
+ display_name: 'From entries',
396
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
397
+ };
398
+ return set(data.files, data.path, newFromentriesFormula);
399
+ }
400
+ case 'GET': {
401
+ const newGetFormula = {
402
+ ...data.value,
403
+ name: '@toddle/get',
404
+ display_name: 'Get',
405
+ };
406
+ return set(data.files, data.path, newGetFormula);
407
+ }
408
+ case 'INCLUDES': {
409
+ const newIncludesFormula = {
410
+ ...data.value,
411
+ name: '@toddle/includes',
412
+ display_name: 'Includes',
413
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
414
+ };
415
+ return set(data.files, data.path, newIncludesFormula);
416
+ }
417
+ case 'JOIN': {
418
+ const newJoinFormula = {
419
+ ...data.value,
420
+ name: '@toddle/join',
421
+ display_name: 'Join',
422
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
423
+ };
424
+ return set(data.files, data.path, newJoinFormula);
425
+ }
426
+ case 'MAP': {
427
+ const newMapFormula = {
428
+ ...data.value,
429
+ name: '@toddle/map',
430
+ display_name: 'Map',
431
+ arguments: renameArguments({
432
+ ...ARRAY_ARGUMENT_MAPPINGS,
433
+ 'Mapping fx': 'Formula',
434
+ }, data.value.arguments),
435
+ };
436
+ return set(data.files, data.path, newMapFormula);
437
+ }
438
+ case 'MAX': {
439
+ const newMaxFormula = {
440
+ ...data.value,
441
+ name: '@toddle/max',
442
+ display_name: 'Max',
443
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
444
+ };
445
+ return set(data.files, data.path, newMaxFormula);
446
+ }
447
+ case 'MIN': {
448
+ const newMinFormula = {
449
+ ...data.value,
450
+ name: '@toddle/min',
451
+ display_name: 'Min',
452
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
453
+ };
454
+ return set(data.files, data.path, newMinFormula);
455
+ }
456
+ case 'MINUS': {
457
+ const newMinusFormula = {
458
+ ...data.value,
459
+ name: '@toddle/minus',
460
+ display_name: 'Minus',
461
+ };
462
+ return set(data.files, data.path, newMinusFormula);
463
+ }
464
+ case 'MULTIPLY': {
465
+ const newMultiplyFormula = {
466
+ ...data.value,
467
+ name: '@toddle/multiply',
468
+ display_name: 'Multiply',
469
+ };
470
+ return set(data.files, data.path, newMultiplyFormula);
471
+ }
472
+ case 'NOT': {
473
+ const newNotFormula = {
474
+ ...data.value,
475
+ name: '@toddle/not',
476
+ display_name: 'Not',
477
+ };
478
+ return set(data.files, data.path, newNotFormula);
479
+ }
480
+ case 'NUMBER': {
481
+ const newNumberFormula = {
482
+ ...data.value,
483
+ name: '@toddle/number',
484
+ display_name: 'Number',
485
+ };
486
+ return set(data.files, data.path, newNumberFormula);
487
+ }
488
+ case 'RANGE': {
489
+ const newRangeFormula = {
490
+ ...data.value,
491
+ name: '@toddle/range',
492
+ display_name: 'Range',
493
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
494
+ arguments: data.value.arguments?.map((arg, i) => ({
495
+ ...arg,
496
+ // The Max argument didn't always have a name
497
+ name: i === 1 && typeof arg.name !== 'string' ? 'Max' : arg.name,
498
+ })),
499
+ };
500
+ return set(data.files, data.path, newRangeFormula);
501
+ }
502
+ case 'REDUCE': {
503
+ const newReduceFormula = {
504
+ ...data.value,
505
+ name: '@toddle/reduce',
506
+ display_name: 'Reduce',
507
+ arguments: renameArguments({ 'Reducer fx': 'Formula' }, data.value.arguments),
508
+ };
509
+ return set(data.files, data.path, newReduceFormula);
510
+ }
511
+ case 'REPLACEALL': {
512
+ const newReplaceallFormula = {
513
+ ...data.value,
514
+ name: '@toddle/replaceAll',
515
+ display_name: 'Replace all',
516
+ arguments: renameArguments(
517
+ // Yes, there was a typo in the old argument name
518
+ { 'String to repalce': 'Search' }, data.value.arguments),
519
+ };
520
+ return set(data.files, data.path, newReplaceallFormula);
521
+ }
522
+ case 'REVERSE': {
523
+ const newReverseFormula = {
524
+ ...data.value,
525
+ name: '@toddle/reverse',
526
+ display_name: 'Reverse',
527
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
528
+ };
529
+ return set(data.files, data.path, newReverseFormula);
530
+ }
531
+ case 'ROUND': {
532
+ const newRoundFormula = {
533
+ ...data.value,
534
+ name: '@toddle/round',
535
+ display_name: 'Round',
536
+ };
537
+ return set(data.files, data.path, newRoundFormula);
538
+ }
539
+ case 'SET': {
540
+ const newSetFormula = {
541
+ ...data.value,
542
+ name: '@toddle/set',
543
+ display_name: 'Set',
544
+ };
545
+ return set(data.files, data.path, newSetFormula);
546
+ }
547
+ case 'SOME': {
548
+ const newSomeFormula = {
549
+ ...data.value,
550
+ name: '@toddle/some',
551
+ display_name: 'Some',
552
+ arguments: renameArguments(PREDICATE_ARGUMENT_MAPPINGS, data.value.arguments),
553
+ };
554
+ return set(data.files, data.path, newSomeFormula);
555
+ }
556
+ case 'SPLIT': {
557
+ const newSplitFormula = {
558
+ ...data.value,
559
+ name: '@toddle/split',
560
+ display_name: 'Split',
561
+ };
562
+ return set(data.files, data.path, newSplitFormula);
563
+ }
564
+ case 'STRING': {
565
+ const newStringFormula = {
566
+ ...data.value,
567
+ name: '@toddle/string',
568
+ display_name: 'String',
569
+ };
570
+ return set(data.files, data.path, newStringFormula);
571
+ }
572
+ case 'SUM': {
573
+ const newSumFormula = {
574
+ ...data.value,
575
+ name: '@toddle/sum',
576
+ display_name: 'Sum',
577
+ };
578
+ return set(data.files, data.path, newSumFormula);
579
+ }
580
+ case 'TAKE': {
581
+ const newTakeFormula = {
582
+ ...data.value,
583
+ name: '@toddle/take',
584
+ display_name: 'Take',
585
+ arguments: renameArguments(ARRAY_ARGUMENT_MAPPINGS, data.value.arguments),
586
+ };
587
+ return set(data.files, data.path, newTakeFormula);
588
+ }
589
+ case 'TRIM': {
590
+ const newTrimFormula = {
591
+ ...data.value,
592
+ name: '@toddle/trim',
593
+ display_name: 'Trim',
594
+ };
595
+ return set(data.files, data.path, newTrimFormula);
596
+ }
597
+ }
598
+ },
14
599
  },
15
600
  };
601
+ const isIssue = (data) => data.nodeType === 'formula' &&
602
+ data.value.type === 'function' &&
603
+ isLegacyFormula(data.value, data.files);
16
604
  const isLegacyFormula = (formula, files) => {
17
605
  const pluginFormula = files.formulas?.[formula.name];
18
606
  if (isUpperCase(formula.name) &&
@@ -31,21 +619,34 @@ const isUpperCase = (str) => str === str.toUpperCase();
31
619
  const legacyFormulas = new Set([
32
620
  'and',
33
621
  'concat',
34
- 'count',
35
622
  'default',
36
623
  'delete',
624
+ 'drop_last',
37
625
  'eq',
626
+ 'find index',
38
627
  'flat',
39
628
  'gt',
40
629
  'gte',
630
+ 'group_by',
41
631
  'if',
632
+ 'index of',
633
+ 'json_parse',
634
+ 'key_by',
42
635
  'list',
636
+ 'lower',
43
637
  'lt',
44
638
  'lte',
45
639
  'mod',
46
640
  'neq',
47
641
  'or',
642
+ 'random',
643
+ 'size',
644
+ 'sqrt',
645
+ 'starts_with',
646
+ 'take_last',
48
647
  'type',
648
+ 'upper',
649
+ 'uri_encode',
49
650
  ]);
50
651
  // cSpell: disable
51
652
  const builtInFormulas = new Set([
@@ -139,4 +740,17 @@ const builtInFormulas = new Set([
139
740
  'uppercase',
140
741
  ]);
141
742
  // cSpell: enable
743
+ const ARRAY_ARGUMENT_MAPPINGS = { List: 'Array' };
744
+ const PREDICATE_ARGUMENT_MAPPINGS = {
745
+ ...ARRAY_ARGUMENT_MAPPINGS,
746
+ 'Predicate fx': 'Formula',
747
+ };
748
+ const renameArguments = (mappings, args) => args?.map((arg) => ({
749
+ ...arg,
750
+ // Let's adjust the names
751
+ name: typeof arg.name === 'string'
752
+ ? // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
753
+ (mappings[arg.name] ?? arg.name)
754
+ : arg.name,
755
+ })) ?? [];
142
756
  //# sourceMappingURL=legacyFormulaRule.js.map