eslint-plugin-ts-data-forge 0.8.1 → 0.8.3
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.
- package/dist/plugin.d.mts +1 -1
- package/dist/plugin.d.mts.map +1 -1
- package/dist/plugin.mjs +1 -0
- package/dist/plugin.mjs.map +1 -1
- package/dist/rule-types.d.mts +3 -3
- package/dist/rule-types.d.mts.map +1 -1
- package/dist/rules/ast-utils.d.mts +59 -3
- package/dist/rules/ast-utils.d.mts.map +1 -1
- package/dist/rules/ast-utils.mjs +142 -31
- package/dist/rules/ast-utils.mjs.map +1 -1
- package/dist/rules/branded-number-types.mjs.map +1 -1
- package/dist/rules/import-utils.d.mts +1 -1
- package/dist/rules/import-utils.d.mts.map +1 -1
- package/dist/rules/import-utils.mjs +26 -13
- package/dist/rules/import-utils.mjs.map +1 -1
- package/dist/rules/no-side-effect-import.d.mts +1 -1
- package/dist/rules/no-side-effect-import.d.mts.map +1 -1
- package/dist/rules/no-unnecessary-type-guard.d.mts.map +1 -1
- package/dist/rules/no-unnecessary-type-guard.mjs +161 -101
- package/dist/rules/no-unnecessary-type-guard.mjs.map +1 -1
- package/dist/rules/prefer-arr-is-array.d.mts.map +1 -1
- package/dist/rules/prefer-arr-is-array.mjs +25 -11
- package/dist/rules/prefer-arr-is-array.mjs.map +1 -1
- package/dist/rules/prefer-arr-is-bounded-length-array.d.mts +1 -1
- package/dist/rules/prefer-arr-is-bounded-length-array.d.mts.map +1 -1
- package/dist/rules/prefer-arr-is-bounded-length-array.mjs +11 -21
- package/dist/rules/prefer-arr-is-bounded-length-array.mjs.map +1 -1
- package/dist/rules/prefer-arr-is-fixed-length-array.d.mts +1 -1
- package/dist/rules/prefer-arr-is-fixed-length-array.d.mts.map +1 -1
- package/dist/rules/prefer-arr-is-fixed-length-array.mjs +16 -28
- package/dist/rules/prefer-arr-is-fixed-length-array.mjs.map +1 -1
- package/dist/rules/prefer-arr-is-max-length-array.d.mts +1 -1
- package/dist/rules/prefer-arr-is-max-length-array.d.mts.map +1 -1
- package/dist/rules/prefer-arr-is-max-length-array.mjs +16 -24
- package/dist/rules/prefer-arr-is-max-length-array.mjs.map +1 -1
- package/dist/rules/prefer-arr-is-min-length-array.d.mts +1 -1
- package/dist/rules/prefer-arr-is-min-length-array.d.mts.map +1 -1
- package/dist/rules/prefer-arr-is-min-length-array.mjs +16 -24
- package/dist/rules/prefer-arr-is-min-length-array.mjs.map +1 -1
- package/dist/rules/prefer-arr-is-non-empty.d.mts.map +1 -1
- package/dist/rules/prefer-arr-is-non-empty.mjs +9 -22
- package/dist/rules/prefer-arr-is-non-empty.mjs.map +1 -1
- package/dist/rules/prefer-arr-scan.d.mts +6 -5
- package/dist/rules/prefer-arr-scan.d.mts.map +1 -1
- package/dist/rules/prefer-arr-scan.mjs +68 -31
- package/dist/rules/prefer-arr-scan.mjs.map +1 -1
- package/dist/rules/prefer-arr-sum.d.mts.map +1 -1
- package/dist/rules/prefer-arr-sum.mjs +57 -40
- package/dist/rules/prefer-arr-sum.mjs.map +1 -1
- package/dist/rules/prefer-arr-uniq.d.mts.map +1 -1
- package/dist/rules/prefer-arr-uniq.mjs +59 -30
- package/dist/rules/prefer-arr-uniq.mjs.map +1 -1
- package/dist/rules/prefer-as-int.d.mts.map +1 -1
- package/dist/rules/prefer-as-int.mjs +27 -24
- package/dist/rules/prefer-as-int.mjs.map +1 -1
- package/dist/rules/prefer-canonical-array-slicing.d.mts.map +1 -1
- package/dist/rules/prefer-canonical-array-slicing.mjs +59 -28
- package/dist/rules/prefer-canonical-array-slicing.mjs.map +1 -1
- package/dist/rules/prefer-canonical-length-cast.d.mts.map +1 -1
- package/dist/rules/prefer-canonical-length-cast.mjs +41 -16
- package/dist/rules/prefer-canonical-length-cast.mjs.map +1 -1
- package/dist/rules/prefer-canonical-length-guard.d.mts.map +1 -1
- package/dist/rules/prefer-canonical-length-guard.mjs +18 -8
- package/dist/rules/prefer-canonical-length-guard.mjs.map +1 -1
- package/dist/rules/prefer-comparison-over-nullish-guard.d.mts.map +1 -1
- package/dist/rules/prefer-comparison-over-nullish-guard.mjs +31 -6
- package/dist/rules/prefer-comparison-over-nullish-guard.mjs.map +1 -1
- package/dist/rules/prefer-is-non-null-object.d.mts.map +1 -1
- package/dist/rules/prefer-is-non-null-object.mjs +56 -40
- package/dist/rules/prefer-is-non-null-object.mjs.map +1 -1
- package/dist/rules/prefer-is-record-and-has-key.d.mts.map +1 -1
- package/dist/rules/prefer-is-record-and-has-key.mjs +18 -8
- package/dist/rules/prefer-is-record-and-has-key.mjs.map +1 -1
- package/dist/rules/prefer-num-safe-parse-float.d.mts +3 -1
- package/dist/rules/prefer-num-safe-parse-float.d.mts.map +1 -1
- package/dist/rules/prefer-num-safe-parse-float.mjs +27 -10
- package/dist/rules/prefer-num-safe-parse-float.mjs.map +1 -1
- package/dist/rules/prefer-num-safe-parse-int.d.mts.map +1 -1
- package/dist/rules/prefer-num-safe-parse-int.mjs +24 -11
- package/dist/rules/prefer-num-safe-parse-int.mjs.map +1 -1
- package/dist/rules/prefer-obj-over-entries-round-trip.d.mts.map +1 -1
- package/dist/rules/prefer-obj-over-entries-round-trip.mjs +22 -11
- package/dist/rules/prefer-obj-over-entries-round-trip.mjs.map +1 -1
- package/dist/rules/prefer-range-for-loop.d.mts.map +1 -1
- package/dist/rules/prefer-range-for-loop.mjs +15 -8
- package/dist/rules/prefer-range-for-loop.mjs.map +1 -1
- package/dist/types.d.mts +2 -2
- package/dist/types.d.mts.map +1 -1
- package/package.json +25 -23
- package/src/plugin.mts +5 -4
- package/src/plugin.test.mts +0 -13
- package/src/rule-types.mts +3 -3
- package/src/rules/ast-utils.mts +192 -37
- package/src/rules/branded-number-types.mts +1 -1
- package/src/rules/import-utils.mts +41 -17
- package/src/rules/no-side-effect-import.mts +1 -1
- package/src/rules/no-unnecessary-type-guard.mts +249 -148
- package/src/rules/no-unnecessary-type-guard.test.mts +100 -0
- package/src/rules/prefer-arr-is-array.mts +32 -13
- package/src/rules/prefer-arr-is-array.test.mts +40 -0
- package/src/rules/prefer-arr-is-bounded-length-array.mts +22 -26
- package/src/rules/prefer-arr-is-bounded-length-array.test.mts +68 -0
- package/src/rules/prefer-arr-is-fixed-length-array.mts +26 -38
- package/src/rules/prefer-arr-is-fixed-length-array.test.mts +63 -0
- package/src/rules/prefer-arr-is-max-length-array.mts +26 -27
- package/src/rules/prefer-arr-is-max-length-array.test.mts +67 -0
- package/src/rules/prefer-arr-is-min-length-array.mts +26 -27
- package/src/rules/prefer-arr-is-min-length-array.test.mts +70 -0
- package/src/rules/prefer-arr-is-non-empty.mts +19 -24
- package/src/rules/prefer-arr-is-non-empty.test.mts +79 -0
- package/src/rules/prefer-arr-scan.mts +107 -37
- package/src/rules/prefer-arr-scan.test.mts +149 -0
- package/src/rules/prefer-arr-sum.mts +87 -50
- package/src/rules/prefer-arr-sum.test.mts +97 -0
- package/src/rules/prefer-arr-uniq.mts +83 -33
- package/src/rules/prefer-arr-uniq.test.mts +71 -0
- package/src/rules/prefer-as-int.mts +38 -38
- package/src/rules/prefer-as-int.test.mts +51 -0
- package/src/rules/prefer-canonical-array-slicing.mts +84 -29
- package/src/rules/prefer-canonical-array-slicing.test.mts +92 -0
- package/src/rules/prefer-canonical-length-cast.mts +56 -18
- package/src/rules/prefer-canonical-length-cast.test.mts +111 -0
- package/src/rules/prefer-canonical-length-guard.mts +25 -11
- package/src/rules/prefer-canonical-length-guard.test.mts +99 -0
- package/src/rules/prefer-comparison-over-nullish-guard.mts +42 -9
- package/src/rules/prefer-comparison-over-nullish-guard.test.mts +136 -0
- package/src/rules/prefer-is-non-null-object.mts +57 -33
- package/src/rules/prefer-is-non-null-object.test.mts +42 -0
- package/src/rules/prefer-is-record-and-has-key.mts +27 -12
- package/src/rules/prefer-is-record-and-has-key.test.mts +34 -0
- package/src/rules/prefer-num-safe-parse-float.mts +37 -13
- package/src/rules/prefer-num-safe-parse-float.test.mts +79 -0
- package/src/rules/prefer-num-safe-parse-int.mts +41 -15
- package/src/rules/prefer-num-safe-parse-int.test.mts +64 -0
- package/src/rules/prefer-obj-over-entries-round-trip.mts +34 -12
- package/src/rules/prefer-range-for-loop.mts +21 -9
- package/src/rules/prefer-range-for-loop.test.mts +75 -0
- package/src/rules/rules.mts +1 -1
- package/src/types.mts +2 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
|
|
2
2
|
import { Arr } from 'ts-data-forge';
|
|
3
3
|
import * as ts from 'typescript';
|
|
4
|
+
import { skipTypeWrappers, toArgumentText, typeWrapperLayers, } from './ast-utils.mjs';
|
|
4
5
|
import { buildImportFixes, getNamedImports, getTsDataForgeImport, } from './import-utils.mjs';
|
|
5
6
|
|
|
6
7
|
const SLICING_METHODS = new Set(['slice', 'subarray']);
|
|
@@ -92,6 +93,7 @@ const SLICING_METHODS = new Set(['slice', 'subarray']);
|
|
|
92
93
|
|
|
93
94
|
|
|
94
95
|
|
|
96
|
+
|
|
95
97
|
|
|
96
98
|
|
|
97
99
|
export const preferArrScan = {
|
|
@@ -122,8 +124,9 @@ export const preferArrScan = {
|
|
|
122
124
|
|
|
123
125
|
node) => {
|
|
124
126
|
const tsNode = services?.esTreeNodeToTSNodeMap?.get(node);
|
|
125
|
-
if (checker === undefined || tsNode === undefined)
|
|
127
|
+
if (checker === undefined || tsNode === undefined) {
|
|
126
128
|
return true;
|
|
129
|
+
}
|
|
127
130
|
const type = checker.getTypeAtLocation(tsNode);
|
|
128
131
|
return (type.isUnion() ? type.types : [type]).some((constituent) => (constituent.flags &
|
|
129
132
|
(ts.TypeFlags.Null |
|
|
@@ -150,13 +153,14 @@ export const preferArrScan = {
|
|
|
150
153
|
initial,
|
|
151
154
|
|
|
152
155
|
accumulation) => {
|
|
153
|
-
if (callback.async || callback.generator)
|
|
156
|
+
if (callback.async || callback.generator) {
|
|
154
157
|
return undefined;
|
|
158
|
+
}
|
|
155
159
|
|
|
156
160
|
|
|
157
161
|
|
|
158
162
|
if (callback.params.length < 2 ||
|
|
159
|
-
callback.params.length
|
|
163
|
+
3 < callback.params.length ||
|
|
160
164
|
callback.params.some((param) => param.type !== AST_NODE_TYPES.Identifier ||
|
|
161
165
|
param.typeAnnotation !== undefined)) {
|
|
162
166
|
return undefined;
|
|
@@ -173,25 +177,33 @@ export const preferArrScan = {
|
|
|
173
177
|
}
|
|
174
178
|
const scope = sourceCode.getScope(callback);
|
|
175
179
|
const accumulator = scope.variables.find((variable) => variable.name === accumulatorParam.name);
|
|
176
|
-
if (accumulator === undefined)
|
|
180
|
+
if (accumulator === undefined) {
|
|
177
181
|
return undefined;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
178
186
|
|
|
179
187
|
|
|
180
188
|
|
|
181
189
|
|
|
182
190
|
|
|
183
|
-
|
|
191
|
+
|
|
192
|
+
const carriesNullish = [seed, element].some((node) => typeWrapperLayers(node).some(isNullish));
|
|
184
193
|
const mut_lastReads = [];
|
|
185
194
|
for (const reference of accumulator.references) {
|
|
186
195
|
const identifier = reference.identifier;
|
|
187
196
|
|
|
188
|
-
if (identifier === accumulatorRef)
|
|
197
|
+
if (identifier === accumulatorRef) {
|
|
189
198
|
continue;
|
|
190
|
-
|
|
199
|
+
}
|
|
200
|
+
if (identifier.type !== AST_NODE_TYPES.Identifier) {
|
|
191
201
|
return undefined;
|
|
202
|
+
}
|
|
192
203
|
const lastRead = enclosingLastRead(identifier);
|
|
193
|
-
if (lastRead === undefined)
|
|
204
|
+
if (lastRead === undefined) {
|
|
194
205
|
return undefined;
|
|
206
|
+
}
|
|
195
207
|
const guard = carriesNullish ? undefined : nullishGuardAround(lastRead);
|
|
196
208
|
mut_lastReads.push({
|
|
197
209
|
range: (guard ?? lastRead).range,
|
|
@@ -200,20 +212,29 @@ export const preferArrScan = {
|
|
|
200
212
|
}
|
|
201
213
|
|
|
202
214
|
|
|
203
|
-
if (overlaps(mut_lastReads))
|
|
215
|
+
if (overlaps(mut_lastReads)) {
|
|
204
216
|
return undefined;
|
|
217
|
+
}
|
|
205
218
|
|
|
206
219
|
|
|
207
|
-
if (mut_lastReads.length === 0)
|
|
220
|
+
if (mut_lastReads.length === 0) {
|
|
208
221
|
return undefined;
|
|
222
|
+
}
|
|
209
223
|
const parameterText = callback.params
|
|
210
224
|
.map((param) => sourceCode.getText(param))
|
|
211
225
|
.join(', ');
|
|
212
226
|
const elementText = applySplices(sourceCode.getText(element), element.range[0], mut_lastReads);
|
|
213
|
-
const arrayText =
|
|
227
|
+
const arrayText = toArgumentText(
|
|
214
228
|
|
|
215
|
-
call.callee.object);
|
|
216
|
-
|
|
229
|
+
call.callee.object, sourceCode);
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
const bodyText = elementText.trimStart().startsWith('{') ||
|
|
234
|
+
element.type === AST_NODE_TYPES.SequenceExpression
|
|
235
|
+
? `(${elementText})`
|
|
236
|
+
: elementText;
|
|
237
|
+
return `Arr.scan(${arrayText}, (${parameterText}) => ${bodyText}, ${toArgumentText(seed, sourceCode)})`;
|
|
217
238
|
};
|
|
218
239
|
|
|
219
240
|
|
|
@@ -224,8 +245,9 @@ export const preferArrScan = {
|
|
|
224
245
|
const indexReadsOf = (
|
|
225
246
|
|
|
226
247
|
callback) => {
|
|
227
|
-
if (!Arr.isFixedLengthArray(2, callback.params))
|
|
248
|
+
if (!Arr.isFixedLengthArray(2, callback.params)) {
|
|
228
249
|
return undefined;
|
|
250
|
+
}
|
|
229
251
|
const [elementParam, indexParam] = callback.params;
|
|
230
252
|
if (elementParam.type !== AST_NODE_TYPES.Identifier ||
|
|
231
253
|
indexParam.type !== AST_NODE_TYPES.Identifier) {
|
|
@@ -237,8 +259,9 @@ export const preferArrScan = {
|
|
|
237
259
|
if (elementVariable === undefined || indexVariable === undefined) {
|
|
238
260
|
return undefined;
|
|
239
261
|
}
|
|
240
|
-
if (elementVariable.references.length > 0)
|
|
262
|
+
if (elementVariable.references.length > 0) {
|
|
241
263
|
return undefined;
|
|
264
|
+
}
|
|
242
265
|
return indexVariable.references.map((reference) => reference.identifier);
|
|
243
266
|
};
|
|
244
267
|
return {
|
|
@@ -249,7 +272,9 @@ export const preferArrScan = {
|
|
|
249
272
|
return;
|
|
250
273
|
}
|
|
251
274
|
const methodName = node.callee.property.name;
|
|
252
|
-
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
const arrayText = sourceCode.getText(skipTypeWrappers(node.callee.object));
|
|
253
278
|
if (SLICING_METHODS.has(methodName)) {
|
|
254
279
|
mut_slices.push({ call: node, arrayText });
|
|
255
280
|
}
|
|
@@ -261,11 +286,13 @@ export const preferArrScan = {
|
|
|
261
286
|
}
|
|
262
287
|
switch (methodName) {
|
|
263
288
|
case 'map': {
|
|
264
|
-
if (rest.length > 0)
|
|
289
|
+
if (rest.length > 0) {
|
|
265
290
|
break;
|
|
291
|
+
}
|
|
266
292
|
const indexReads = indexReadsOf(callback);
|
|
267
|
-
if (indexReads === undefined)
|
|
293
|
+
if (indexReads === undefined) {
|
|
268
294
|
break;
|
|
295
|
+
}
|
|
269
296
|
mut_candidates.push({
|
|
270
297
|
call: node,
|
|
271
298
|
arrayText,
|
|
@@ -278,8 +305,9 @@ export const preferArrScan = {
|
|
|
278
305
|
|
|
279
306
|
|
|
280
307
|
|
|
281
|
-
if (rest.length !== 1 || !appendsToItsAccumulator(callback))
|
|
308
|
+
if (rest.length !== 1 || !appendsToItsAccumulator(callback)) {
|
|
282
309
|
break;
|
|
310
|
+
}
|
|
283
311
|
const [initial] = rest;
|
|
284
312
|
const accumulation = accumulationOf(callback);
|
|
285
313
|
mut_accumulations.push({
|
|
@@ -325,8 +353,9 @@ export const preferArrScan = {
|
|
|
325
353
|
const rebuild = mut_slices.find((slice) => slice.arrayText === candidate.arrayText &&
|
|
326
354
|
encloses(candidate.body, slice.call) &&
|
|
327
355
|
candidate.indexReads.some((read) => slice.call.arguments.some((argument) => encloses(argument, read))));
|
|
328
|
-
if (rebuild === undefined)
|
|
356
|
+
if (rebuild === undefined) {
|
|
329
357
|
continue;
|
|
358
|
+
}
|
|
330
359
|
context.report({
|
|
331
360
|
node: candidate.call,
|
|
332
361
|
messageId: 'preferArrScanPrefix',
|
|
@@ -412,8 +441,9 @@ const appendsToItsAccumulator = (
|
|
|
412
441
|
|
|
413
442
|
callback) => {
|
|
414
443
|
const [accumulatorParam] = callback.params;
|
|
415
|
-
if (accumulatorParam?.type !== AST_NODE_TYPES.Identifier)
|
|
444
|
+
if (accumulatorParam?.type !== AST_NODE_TYPES.Identifier) {
|
|
416
445
|
return false;
|
|
446
|
+
}
|
|
417
447
|
const { body } = callback;
|
|
418
448
|
const spelling = body.type === AST_NODE_TYPES.ArrayExpression
|
|
419
449
|
? body.elements[0]
|
|
@@ -424,9 +454,11 @@ callback) => {
|
|
|
424
454
|
body.callee.property.name === 'toPushed'
|
|
425
455
|
? body.arguments[0]
|
|
426
456
|
: undefined;
|
|
427
|
-
const target = spelling
|
|
428
|
-
?
|
|
429
|
-
: spelling
|
|
457
|
+
const target = spelling === undefined || spelling === null
|
|
458
|
+
? undefined
|
|
459
|
+
: skipTypeWrappers(spelling.type === AST_NODE_TYPES.SpreadElement
|
|
460
|
+
? spelling.argument
|
|
461
|
+
: spelling);
|
|
430
462
|
return (target?.type === AST_NODE_TYPES.Identifier &&
|
|
431
463
|
target.name === accumulatorParam.name);
|
|
432
464
|
};
|
|
@@ -442,22 +474,26 @@ const accumulationOf = (
|
|
|
442
474
|
|
|
443
475
|
callback) => {
|
|
444
476
|
const [accumulatorParam] = callback.params;
|
|
445
|
-
if (accumulatorParam?.type !== AST_NODE_TYPES.Identifier)
|
|
477
|
+
if (accumulatorParam?.type !== AST_NODE_TYPES.Identifier) {
|
|
446
478
|
return undefined;
|
|
479
|
+
}
|
|
447
480
|
const { body } = callback;
|
|
448
481
|
|
|
449
482
|
|
|
450
483
|
if (body.type === AST_NODE_TYPES.ArrayExpression) {
|
|
451
|
-
if (!Arr.isFixedLengthArray(2, body.elements))
|
|
484
|
+
if (!Arr.isFixedLengthArray(2, body.elements)) {
|
|
452
485
|
return undefined;
|
|
486
|
+
}
|
|
453
487
|
const [spread, element] = body.elements;
|
|
488
|
+
const spreadTarget = spread?.type === AST_NODE_TYPES.SpreadElement
|
|
489
|
+
? skipTypeWrappers(spread.argument)
|
|
490
|
+
: undefined;
|
|
454
491
|
return element === null ||
|
|
455
492
|
element.type === AST_NODE_TYPES.SpreadElement ||
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
spread.argument.name !== accumulatorParam.name
|
|
493
|
+
spreadTarget?.type !== AST_NODE_TYPES.Identifier ||
|
|
494
|
+
spreadTarget.name !== accumulatorParam.name
|
|
459
495
|
? undefined
|
|
460
|
-
: { accumulatorParam, accumulatorRef:
|
|
496
|
+
: { accumulatorParam, accumulatorRef: spreadTarget, element };
|
|
461
497
|
}
|
|
462
498
|
|
|
463
499
|
|
|
@@ -470,7 +506,8 @@ callback) => {
|
|
|
470
506
|
!Arr.isFixedLengthArray(2, body.arguments)) {
|
|
471
507
|
return undefined;
|
|
472
508
|
}
|
|
473
|
-
const [
|
|
509
|
+
const [wrappedTarget, element] = body.arguments;
|
|
510
|
+
const target = skipTypeWrappers(wrappedTarget);
|
|
474
511
|
return element.type === AST_NODE_TYPES.SpreadElement ||
|
|
475
512
|
target.type !== AST_NODE_TYPES.Identifier ||
|
|
476
513
|
target.name !== accumulatorParam.name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-arr-scan.mjs","sourceRoot":"","sources":["../../src/rules/prefer-arr-scan.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAM5B,uFAAuF;AACvF,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AA4C5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,MAAM,CAAC,MAAM,aAAa,GAA6C;IACrE,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,8PAA8P;SACjQ;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,mBAAmB,EACjB,iRAAiR;YACnR,uBAAuB,EACrB,6LAA6L;SAChM;KACF;IAED,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;QAE/B,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC;QAE3C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAEpD;;;;WAIG;QACH,MAAM,SAAS,GAAG;QAChB,8EAA8E;QAC9E,IAAmB,EACV,EAAE;YACX,MAAM,MAAM,GAAG,QAAQ,EAAE,qBAAqB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1D,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE/D,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/C,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAChD,CAAC,WAAW,EAAE,EAAE,CACd,CAAC,WAAW,CAAC,KAAK;gBAChB,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI;oBAChB,EAAE,CAAC,SAAS,CAAC,SAAS;oBACtB,EAAE,CAAC,SAAS,CAAC,IAAI;oBACjB,EAAE,CAAC,SAAS,CAAC,GAAG;oBAChB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC,CACJ,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,cAAc,GAAsB,EAAE,CAAC;QAE7C,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,MAAM,iBAAiB,GAA4B,EAAE,CAAC;QAEtD;;;;WAIG;QACH,MAAM,kBAAkB,GAAG;QACzB,8EAA8E;QAC9E,IAA6B;QAC7B,8EAA8E;QAC9E,QAAwE;QACxE,8EAA8E;QAC9E,OAAsB;QACtB,8EAA8E;QAC9E,YAA0B,EACN,EAAE;YACtB,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAO,SAAS,CAAC;YAE3D,qEAAqE;YACrE,sEAAsE;YACtE,yDAAyD;YACzD,IACE,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC1B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBACxC,KAAK,CAAC,cAAc,KAAK,SAAS,CACrC,EACD,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YAEnE,2EAA2E;YAC3E,IACE,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;gBAC/C,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC5C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YAEhC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;gBAChE,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE5C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CACtD,CAAC;YAEF,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAEhD,0EAA0E;YAC1E,0EAA0E;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,uDAAuD;YACvD,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAa,EAAE,CAAC;YAEnC,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;gBAExC,kEAAkE;gBAClE,IAAI,UAAU,KAAK,cAAc;oBAAE,SAAS;gBAE5C,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBAAE,OAAO,SAAS,CAAC;gBAEpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAE/C,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAE7C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAExE,aAAa,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,KAAK;oBAChC,IAAI,EAAE,gBAAgB,CAAC,IAAI;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,aAAa,CAAC;gBAAE,OAAO,SAAS,CAAC;YAE9C,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEjD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;iBAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,WAAW,GAAG,YAAY,CAC9B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAC3B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAChB,aAAa,CACd,CAAC;YAEF,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO;YAClC,oEAAoE;YACnE,IAAI,CAAC,MAAoC,CAAC,MAAM,CAClD,CAAC;YAEF,OAAO,YAAY,SAAS,MAAM,aAAa,QAAQ,WAAW,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACrG,CAAC,CAAC;QAEF;;;;;WAKG;QACH,MAAM,YAAY,GAAG;QACnB,8EAA8E;QAC9E,QAAwE,EAClC,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAElE,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAEnD,IACE,YAAY,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;gBAC/C,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAC7C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE5C,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAClD,CAAC;YAEF,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACxC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAChD,CAAC;YAEF,IAAI,eAAe,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACjE,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAE5D,OAAO,aAAa,CAAC,UAAU,CAAC,GAAG,CACjC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAA2B,CACrD,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EACvD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAE7C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzD,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAE3C,IACE,QAAQ,KAAK,SAAS;oBACtB,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,uBAAuB;wBACvD,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB,CAAC,EACtD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,KAAK,EAAE,CAAC;wBACX,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;4BAAE,MAAM;wBAE3B,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;wBAE1C,IAAI,UAAU,KAAK,SAAS;4BAAE,MAAM;wBAEpC,cAAc,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,IAAI;4BACV,SAAS;4BACT,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,UAAU;yBACX,CAAC,CAAC;wBAEH,MAAM;oBACR,CAAC;oBAED,KAAK,QAAQ,EAAE,CAAC;wBACd,mEAAmE;wBACnE,8DAA8D;wBAC9D,mBAAmB;wBACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;4BAAE,MAAM;wBAEnE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;wBAEvB,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;wBAE9C,iBAAiB,CAAC,IAAI,CAAC;4BACrB,IAAI,EAAE,IAAI;4BACV,WAAW,EACT,OAAO,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;gCACjD,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;yBAChE,CAAC,CAAC;wBAEH,MAAM;oBACR,CAAC;oBAED;wBACE,MAAM;gBACV,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,2EAA2E;YAC3E,mBAAmB;YACnB,cAAc,EAAE,GAAG,EAAE;gBACnB,MAAM,YAAY,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAExE,mEAAmE;gBACnE,oDAAoD;gBACpD,MAAM,kBAAkB,GAAG,YAAY;oBACrC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,iBAAiB,CAAC,IAAI,CACpB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,KAAK,SAAS,CACzD,EAAE,IAAI,CAAC;gBAEZ,KAAK,MAAM,YAAY,IAAI,iBAAiB,EAAE,CAAC;oBAC7C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;oBAE3C,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,yBAAyB;wBACpC,GAAG,EACD,WAAW,KAAK,SAAS;4BACvB,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gCACT,GAAG,CAAC,IAAI,KAAK,kBAAkB;oCAC7B,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE;wCAClD,KAAK;qCACN,CAAC;oCACJ,CAAC,CAAC,EAAE,CAAC;gCACP,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC;6BACrC;qBACR,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;wBACvC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;wBACpC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACrC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CACzB,CACF,CACJ,CAAC;oBAEF,IAAI,OAAO,KAAK,SAAS;wBAAE,SAAS;oBAEpC,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,qBAAqB;wBAChC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE;qBACrC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,EAAE;CACV,CAAC;AAEX;;;;GAIG;AACH,MAAM,iBAAiB,GAAG;AACxB,8EAA8E;AAC9E,UAA+B,EACM,EAAE;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAEjC,IACE,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,MAAM,KAAK,UAAU;QAC5B,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAE3B,IACE,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;QAC3C,IAAI,CAAC,MAAM,KAAK,MAAM;QACtB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IAElC,4DAA4D;IAC5D,OAAO,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;QACrD,QAAQ,CAAC,QAAQ,KAAK,GAAG;QACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;QACjD,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG;AACzB,8EAA8E;AAC9E,IAA6B,EACW,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAE3B,OAAO,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;QACrD,MAAM,CAAC,QAAQ,KAAK,IAAI;QACxB,MAAM,CAAC,IAAI,KAAK,IAAI;QACpB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,QAAQ,GAAG,CAAC,OAA0B,EAAW,EAAE,CACvD,OAAO;KACJ,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC3C,IAAI,CACH,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CACxB,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;AAEN;;;GAGG;AACH,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,MAAc,EACd,OAA0B,EAClB,EAAE,CACV,OAAO;KACJ,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC3C,MAAM,CACL,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CACnB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,EAC3G,IAAI,CACL,CAAC;AAEN;;;GAGG;AACH,MAAM,QAAQ,GAAG;AACf,8EAA8E;AAC9E,KAAoB;AACpB,8EAA8E;AAC9E,KAAoB,EACX,EAAE,CACX,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG;AAC9B,8EAA8E;AAC9E,QAAwE,EAC/D,EAAE;IACX,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE3C,IAAI,gBAAgB,EAAE,IAAI,KAAK,cAAc,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAEvE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAE1B,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;QAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;YACpD,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;YAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,MAAM,GACV,QAAQ,EAAE,IAAI,KAAK,cAAc,CAAC,aAAa;QAC7C,CAAC,CAAC,QAAQ,CAAC,QAAQ;QACnB,CAAC,CAAC,QAAQ,CAAC;IAEf,OAAO,CACL,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,UAAU;QAC1C,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CACtC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG;AACrB,8EAA8E;AAC9E,QAAwE,EAC9C,EAAE;IAC5B,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE3C,IAAI,gBAAgB,EAAE,IAAI,KAAK,cAAc,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAE3E,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAE1B,2EAA2E;IAC3E,gCAAgC;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAEhE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAExC,OAAO,OAAO,KAAK,IAAI;YACrB,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;YAC7C,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,aAAa;YAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;YAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI;YAC9C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACrE,CAAC;IAED,0EAA0E;IAC1E,sCAAsC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,IACE,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;YAC/C,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;YAClD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;YACnC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAC1C,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAEzC,OAAO,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;YAClD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;YACzC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI;YACrC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"prefer-arr-scan.mjs","sourceRoot":"","sources":["../../src/rules/prefer-arr-scan.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-arr-sum.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-arr-sum.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-arr-sum.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-arr-sum.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAclC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;AAE9C,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA2RxD,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
|
|
2
2
|
import { Arr, pipe } from 'ts-data-forge';
|
|
3
|
+
import { skipTypeWrappers, toArgumentText, typeWrapperLayers, } from './ast-utils.mjs';
|
|
3
4
|
import { buildImportFixes, getNamedImports, getTsDataForgeImport, } from './import-utils.mjs';
|
|
4
5
|
export const preferArrSum = {
|
|
5
6
|
meta: {
|
|
@@ -23,17 +24,23 @@ export const preferArrSum = {
|
|
|
23
24
|
return {
|
|
24
25
|
CallExpression: (node) => {
|
|
25
26
|
|
|
27
|
+
|
|
26
28
|
if (node.callee.type !== AST_NODE_TYPES.MemberExpression ||
|
|
29
|
+
node.callee.computed ||
|
|
27
30
|
node.callee.property.type !== AST_NODE_TYPES.Identifier ||
|
|
28
31
|
node.callee.property.name !== 'reduce') {
|
|
29
32
|
return;
|
|
30
33
|
}
|
|
31
34
|
const arrayExpression = node.callee.object;
|
|
32
35
|
|
|
33
|
-
if (!Arr.isFixedLengthTuple(2, node.arguments))
|
|
36
|
+
if (!Arr.isFixedLengthTuple(2, node.arguments)) {
|
|
34
37
|
return;
|
|
38
|
+
}
|
|
35
39
|
const reducer = node.arguments[0];
|
|
36
|
-
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
const initialValue = skipTypeWrappers(node.arguments[1]);
|
|
37
44
|
|
|
38
45
|
if (initialValue.type !== AST_NODE_TYPES.Literal ||
|
|
39
46
|
initialValue.value !== 0) {
|
|
@@ -51,46 +58,55 @@ export const preferArrSum = {
|
|
|
51
58
|
}
|
|
52
59
|
const body = reducer.body;
|
|
53
60
|
const checker = services?.program?.getTypeChecker();
|
|
54
|
-
if (checker === undefined)
|
|
61
|
+
if (checker === undefined) {
|
|
55
62
|
return;
|
|
63
|
+
}
|
|
64
|
+
if (body.type !== AST_NODE_TYPES.BinaryExpression ||
|
|
65
|
+
body.operator !== '+') {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const left = skipTypeWrappers(body.left);
|
|
69
|
+
const right = skipTypeWrappers(body.right);
|
|
70
|
+
|
|
71
|
+
if (left.type === AST_NODE_TYPES.Identifier &&
|
|
72
|
+
left.name === param1.name &&
|
|
73
|
+
right.type === AST_NODE_TYPES.Identifier &&
|
|
74
|
+
right.name === param2.name) {
|
|
56
75
|
|
|
57
|
-
if (body.type === AST_NODE_TYPES.BinaryExpression &&
|
|
58
|
-
body.operator === '+' &&
|
|
59
|
-
body.left.type === AST_NODE_TYPES.Identifier &&
|
|
60
|
-
body.left.name === param1.name &&
|
|
61
|
-
body.right.type === AST_NODE_TYPES.Identifier &&
|
|
62
|
-
body.right.name === param2.name) {
|
|
63
76
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
77
|
+
|
|
78
|
+
const isNumberArray = (
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
expression) => {
|
|
82
|
+
const type = pipe(services?.esTreeNodeToTSNodeMap?.get(expression)).mapNullable((tsNode) => checker.getTypeAtLocation(tsNode)).value;
|
|
83
|
+
if (type === undefined ||
|
|
84
|
+
(!checker.isArrayType(type) && !checker.isTupleType(type))) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
67
87
|
|
|
68
88
|
|
|
69
89
|
const typeArguments = checker.getTypeArguments(
|
|
70
90
|
|
|
71
91
|
type);
|
|
72
|
-
if (Arr.isNonEmpty(typeArguments)) {
|
|
73
|
-
const elementType = typeArguments[0];
|
|
74
|
-
const numberType = checker.getNumberType();
|
|
75
92
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
return (Arr.isNonEmpty(typeArguments) &&
|
|
94
|
+
checker.isTypeAssignableTo(typeArguments[0], checker.getNumberType()));
|
|
95
|
+
};
|
|
96
|
+
if (typeWrapperLayers(arrayExpression).every(isNumberArray)) {
|
|
97
|
+
mut_nodesToFix.push({
|
|
98
|
+
node,
|
|
99
|
+
arrayExpression,
|
|
100
|
+
messageId: 'useArrSum',
|
|
101
|
+
});
|
|
84
102
|
}
|
|
85
103
|
return;
|
|
86
104
|
}
|
|
87
105
|
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const leftObj = body.left.object;
|
|
93
|
-
const rightObj = body.right.object;
|
|
106
|
+
if (left.type === AST_NODE_TYPES.MemberExpression &&
|
|
107
|
+
right.type === AST_NODE_TYPES.MemberExpression) {
|
|
108
|
+
const leftObj = skipTypeWrappers(left.object);
|
|
109
|
+
const rightObj = skipTypeWrappers(right.object);
|
|
94
110
|
if (leftObj.type !== AST_NODE_TYPES.Identifier ||
|
|
95
111
|
leftObj.name !== param1.name ||
|
|
96
112
|
rightObj.type !== AST_NODE_TYPES.Identifier ||
|
|
@@ -98,30 +114,31 @@ export const preferArrSum = {
|
|
|
98
114
|
return;
|
|
99
115
|
}
|
|
100
116
|
|
|
101
|
-
const leftProp =
|
|
102
|
-
const rightProp =
|
|
117
|
+
const leftProp = left.property;
|
|
118
|
+
const rightProp = right.property;
|
|
103
119
|
let mut_propName;
|
|
104
120
|
if (leftProp.type === AST_NODE_TYPES.Identifier &&
|
|
105
|
-
!
|
|
121
|
+
!left.computed &&
|
|
106
122
|
rightProp.type === AST_NODE_TYPES.Identifier &&
|
|
107
|
-
!
|
|
123
|
+
!right.computed &&
|
|
108
124
|
leftProp.name === rightProp.name) {
|
|
109
125
|
mut_propName = leftProp.name;
|
|
110
126
|
}
|
|
111
127
|
else if (leftProp.type === AST_NODE_TYPES.Literal &&
|
|
112
|
-
|
|
128
|
+
left.computed &&
|
|
113
129
|
rightProp.type === AST_NODE_TYPES.Literal &&
|
|
114
|
-
|
|
130
|
+
right.computed &&
|
|
115
131
|
leftProp.value === rightProp.value &&
|
|
116
132
|
typeof leftProp.value === 'string') {
|
|
117
133
|
mut_propName = leftProp.value;
|
|
118
134
|
}
|
|
119
|
-
if (mut_propName === undefined)
|
|
135
|
+
if (mut_propName === undefined) {
|
|
120
136
|
return;
|
|
137
|
+
}
|
|
121
138
|
|
|
122
139
|
if (services?.program !== undefined && services.program !== null) {
|
|
123
|
-
const tsLeftProp = services.esTreeNodeToTSNodeMap?.get(
|
|
124
|
-
const tsRightProp = services.esTreeNodeToTSNodeMap?.get(
|
|
140
|
+
const tsLeftProp = services.esTreeNodeToTSNodeMap?.get(left);
|
|
141
|
+
const tsRightProp = services.esTreeNodeToTSNodeMap?.get(right);
|
|
125
142
|
if (tsLeftProp !== undefined && tsRightProp !== undefined) {
|
|
126
143
|
const leftPropType = checker.getTypeAtLocation(tsLeftProp);
|
|
127
144
|
const rightPropType = checker.getTypeAtLocation(tsRightProp);
|
|
@@ -135,7 +152,7 @@ export const preferArrSum = {
|
|
|
135
152
|
}
|
|
136
153
|
|
|
137
154
|
const mapperParam = param1.name;
|
|
138
|
-
const mapper =
|
|
155
|
+
const mapper = left.computed
|
|
139
156
|
? `${mapperParam} => ${mapperParam}['${mut_propName}']`
|
|
140
157
|
: `${mapperParam} => ${mapperParam}.${mut_propName}`;
|
|
141
158
|
mut_nodesToFix.push({
|
|
@@ -150,7 +167,7 @@ export const preferArrSum = {
|
|
|
150
167
|
const namedImports = getNamedImports(tsDataForgeImport);
|
|
151
168
|
const hasArrImport = namedImports.includes('Arr');
|
|
152
169
|
for (const [index, nodeInfo] of mut_nodesToFix.entries()) {
|
|
153
|
-
const arrayText =
|
|
170
|
+
const arrayText = toArgumentText(nodeInfo.arrayExpression, sourceCode);
|
|
154
171
|
context.report({
|
|
155
172
|
node: nodeInfo.node,
|
|
156
173
|
messageId: nodeInfo.messageId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-arr-sum.mjs","sourceRoot":"","sources":["../../src/rules/prefer-arr-sum.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAM5B,MAAM,CAAC,MAAM,YAAY,GAA6C;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,uGAAuG;SAC1G;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,SAAS,EAAE,2DAA2D;YACtE,WAAW,EACT,yEAAyE;SAC5E;KACF;IAED,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;QAE/B,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;QAEnD,MAAM,cAAc,GAKd,EAAE,CAAC;QAET,OAAO;YACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,2BAA2B;gBAC3B,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;oBACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EACtC,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAE3C,qEAAqE;gBACrE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-arr-sum.mjs","sourceRoot":"","sources":["../../src/rules/prefer-arr-sum.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-arr-uniq.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-arr-uniq.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-arr-uniq.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-arr-uniq.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAUlC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAmLzD,CAAC"}
|