eslint-plugin-ts-data-forge 0.10.5 → 0.10.7

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 (107) hide show
  1. package/README.md +3 -3
  2. package/dist/plugin.d.mts +2 -2
  3. package/dist/plugin.d.mts.map +1 -1
  4. package/dist/plugin.mjs +1 -0
  5. package/dist/plugin.mjs.map +1 -1
  6. package/dist/rule-types.d.mts +5 -5
  7. package/dist/rules/ast-utils.d.mts +8 -9
  8. package/dist/rules/ast-utils.d.mts.map +1 -1
  9. package/dist/rules/ast-utils.mjs +3 -4
  10. package/dist/rules/ast-utils.mjs.map +1 -1
  11. package/dist/rules/import-binding.d.mts +38 -0
  12. package/dist/rules/import-binding.d.mts.map +1 -0
  13. package/dist/rules/import-binding.mjs +53 -0
  14. package/dist/rules/import-binding.mjs.map +1 -0
  15. package/dist/rules/mutable-result.mjs +37 -37
  16. package/dist/rules/mutable-result.mjs.map +1 -1
  17. package/dist/rules/no-unnecessary-type-guard.d.mts.map +1 -1
  18. package/dist/rules/no-unnecessary-type-guard.mjs +146 -143
  19. package/dist/rules/no-unnecessary-type-guard.mjs.map +1 -1
  20. package/dist/rules/prefer-arr-generate.d.mts +2 -2
  21. package/dist/rules/prefer-arr-generate.d.mts.map +1 -1
  22. package/dist/rules/prefer-arr-generate.mjs +146 -136
  23. package/dist/rules/prefer-arr-generate.mjs.map +1 -1
  24. package/dist/rules/prefer-arr-is-bounded-length-array.d.mts.map +1 -1
  25. package/dist/rules/prefer-arr-is-bounded-length-array.mjs +14 -16
  26. package/dist/rules/prefer-arr-is-bounded-length-array.mjs.map +1 -1
  27. package/dist/rules/prefer-arr-is-fixed-length-array.d.mts.map +1 -1
  28. package/dist/rules/prefer-arr-is-fixed-length-array.mjs +15 -17
  29. package/dist/rules/prefer-arr-is-fixed-length-array.mjs.map +1 -1
  30. package/dist/rules/prefer-arr-is-max-length-array.d.mts.map +1 -1
  31. package/dist/rules/prefer-arr-is-max-length-array.mjs +14 -16
  32. package/dist/rules/prefer-arr-is-max-length-array.mjs.map +1 -1
  33. package/dist/rules/prefer-arr-is-min-length-array.d.mts.map +1 -1
  34. package/dist/rules/prefer-arr-is-min-length-array.mjs +14 -16
  35. package/dist/rules/prefer-arr-is-min-length-array.mjs.map +1 -1
  36. package/dist/rules/prefer-arr-is-non-empty.d.mts.map +1 -1
  37. package/dist/rules/prefer-arr-is-non-empty.mjs +14 -16
  38. package/dist/rules/prefer-arr-is-non-empty.mjs.map +1 -1
  39. package/dist/rules/prefer-arr-scan.d.mts.map +1 -1
  40. package/dist/rules/prefer-arr-scan.mjs +9 -18
  41. package/dist/rules/prefer-arr-scan.mjs.map +1 -1
  42. package/dist/rules/prefer-arr-sum.d.mts.map +1 -1
  43. package/dist/rules/prefer-arr-sum.mjs +16 -21
  44. package/dist/rules/prefer-arr-sum.mjs.map +1 -1
  45. package/dist/rules/prefer-arr-uniq.d.mts.map +1 -1
  46. package/dist/rules/prefer-arr-uniq.mjs +38 -43
  47. package/dist/rules/prefer-arr-uniq.mjs.map +1 -1
  48. package/dist/rules/prefer-as-int.d.mts.map +1 -1
  49. package/dist/rules/prefer-as-int.mjs +19 -26
  50. package/dist/rules/prefer-as-int.mjs.map +1 -1
  51. package/dist/rules/prefer-canonical-array-slicing.d.mts.map +1 -1
  52. package/dist/rules/prefer-canonical-array-slicing.mjs +49 -16
  53. package/dist/rules/prefer-canonical-array-slicing.mjs.map +1 -1
  54. package/dist/rules/prefer-canonical-length-cast.mjs +15 -15
  55. package/dist/rules/prefer-canonical-length-cast.mjs.map +1 -1
  56. package/dist/rules/prefer-num-safe-parse-float.d.mts +1 -1
  57. package/dist/rules/prefer-num-safe-parse-float.d.mts.map +1 -1
  58. package/dist/rules/prefer-num-safe-parse-int.d.mts +1 -1
  59. package/dist/rules/prefer-num-safe-parse-int.d.mts.map +1 -1
  60. package/dist/rules/prefer-obj-over-entries-round-trip.d.mts.map +1 -1
  61. package/dist/rules/prefer-obj-over-entries-round-trip.mjs +100 -99
  62. package/dist/rules/prefer-obj-over-entries-round-trip.mjs.map +1 -1
  63. package/dist/rules/prefer-pipe-map-nullable.d.mts +2 -2
  64. package/dist/rules/prefer-pipe-map-nullable.d.mts.map +1 -1
  65. package/dist/rules/prefer-pipe-map-nullable.mjs +2 -4
  66. package/dist/rules/prefer-pipe-map-nullable.mjs.map +1 -1
  67. package/dist/rules/prefer-range-for-loop.d.mts.map +1 -1
  68. package/dist/rules/prefer-range-for-loop.mjs +18 -24
  69. package/dist/rules/prefer-range-for-loop.mjs.map +1 -1
  70. package/dist/rules/rules.d.mts +2 -2
  71. package/package.json +6 -6
  72. package/src/plugin.mts +4 -3
  73. package/src/rule-types.mts +5 -5
  74. package/src/rules/ast-utils.mts +14 -15
  75. package/src/rules/import-binding.mts +94 -0
  76. package/src/rules/mutable-result.mts +56 -56
  77. package/src/rules/no-unnecessary-type-guard.mts +203 -207
  78. package/src/rules/no-unnecessary-type-guard.test.mts +62 -2
  79. package/src/rules/prefer-arr-generate.mts +222 -214
  80. package/src/rules/prefer-arr-generate.test.mts +490 -133
  81. package/src/rules/prefer-arr-is-bounded-length-array.mts +22 -33
  82. package/src/rules/prefer-arr-is-fixed-length-array.mts +26 -38
  83. package/src/rules/prefer-arr-is-fixed-length-array.test.mts +16 -7
  84. package/src/rules/prefer-arr-is-max-length-array.mts +23 -36
  85. package/src/rules/prefer-arr-is-max-length-array.test.mts +16 -7
  86. package/src/rules/prefer-arr-is-min-length-array.mts +23 -36
  87. package/src/rules/prefer-arr-is-min-length-array.test.mts +16 -7
  88. package/src/rules/prefer-arr-is-non-empty.mts +17 -34
  89. package/src/rules/prefer-arr-is-non-empty.test.mts +110 -0
  90. package/src/rules/prefer-arr-scan.mts +17 -42
  91. package/src/rules/prefer-arr-scan.test.mts +55 -0
  92. package/src/rules/prefer-arr-sum.mts +22 -36
  93. package/src/rules/prefer-arr-uniq.mts +51 -62
  94. package/src/rules/prefer-arr-uniq.test.mts +46 -20
  95. package/src/rules/prefer-as-int.mts +27 -52
  96. package/src/rules/prefer-as-int.test.mts +79 -29
  97. package/src/rules/prefer-canonical-array-slicing.mts +101 -40
  98. package/src/rules/prefer-canonical-array-slicing.test.mts +133 -34
  99. package/src/rules/prefer-canonical-length-cast.mts +29 -29
  100. package/src/rules/prefer-canonical-length-guard.mts +2 -2
  101. package/src/rules/prefer-num-safe-parse-float.test.mts +255 -94
  102. package/src/rules/prefer-num-safe-parse-int.test.mts +212 -76
  103. package/src/rules/prefer-obj-over-entries-round-trip.mts +152 -170
  104. package/src/rules/prefer-obj-over-entries-round-trip.test.mts +48 -6
  105. package/src/rules/prefer-pipe-map-nullable.mts +17 -19
  106. package/src/rules/prefer-range-for-loop.mts +37 -61
  107. package/src/rules/prefer-range-for-loop.test.mts +2 -2
@@ -1,7 +1,7 @@
1
1
  import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
2
- import { buildNamedImportFix, getArgumentText, getImportDeclarations, getImportedLocalName, getNamedImports, } from 'eslint-rule-forge';
2
+ import { getArgumentText } from 'eslint-rule-forge';
3
3
  import { Arr } from 'ts-data-forge';
4
- import { TS_DATA_FORGE_MODULE } from './constants.mjs';
4
+ import { tsDataForgeValuesAt } from './import-binding.mjs';
5
5
  const MESSAGE_ID_OF = {
6
6
  map: 'useObjMap',
7
7
  filter: 'useObjFilter',
@@ -24,8 +24,6 @@ export const preferObjOverEntriesRoundTrip = {
24
24
  },
25
25
  create: (context) => {
26
26
  const sourceCode = context.sourceCode;
27
- const program = sourceCode.ast;
28
- const tsDataForgeImports = getImportDeclarations(program, TS_DATA_FORGE_MODULE);
29
27
  const mut_roundTrips = [];
30
28
 
31
29
 
@@ -71,32 +69,115 @@ export const preferObjOverEntriesRoundTrip = {
71
69
  mut_roundTrips.push({ node, roundTrip });
72
70
  },
73
71
  'Program:exit': () => {
74
- const namedImports = getNamedImports(tsDataForgeImports);
75
- const objName = getImportedLocalName(tsDataForgeImports, 'Obj') ?? 'Obj';
76
- const optionalName = getImportedLocalName(tsDataForgeImports, 'Optional') ?? 'Optional';
77
- const needsOptional = mut_roundTrips.some(({ roundTrip }) => roundTrip.body.kind === 'optional');
78
- const missingImports = ['Obj', 'Optional'].filter((name) => (name !== 'Optional' || needsOptional) &&
79
- !namedImports.includes(name));
72
+ const objAt = tsDataForgeValuesAt(sourceCode, ['Obj']).at;
73
+ const objOptionalAt = tsDataForgeValuesAt(sourceCode, [
74
+ 'Obj',
75
+ 'Optional',
76
+ ]).at;
80
77
 
81
78
 
82
- for (const [index, { node, roundTrip }] of mut_roundTrips.entries()) {
79
+ for (const { node, roundTrip } of mut_roundTrips) {
80
+ const binding = (roundTrip.body.kind === 'optional' ? objOptionalAt : objAt)(node);
81
+ const [objName, optionalName = 'Optional'] = binding?.localNames ?? [];
83
82
  context.report({
84
83
  node,
85
84
  messageId: MESSAGE_ID_OF[roundTrip.method],
86
- fix: (fixer) => {
87
- const recordText = getArgumentText(sourceCode, roundTrip.record);
88
- const replacement = `${objName}.${roundTrip.method}(${recordText}, ${buildParams(roundTrip)} => ${buildCallbackBody(roundTrip, optionalName)})`;
89
- const importFixes = index === 0 && missingImports.length > 0
90
- ? buildNamedImportFix(fixer, program, TS_DATA_FORGE_MODULE, missingImports)
91
- : [];
92
- return [...importFixes, fixer.replaceText(node, replacement)];
93
- },
85
+ fix: binding === undefined || objName === undefined
86
+ ? null
87
+ : (fixer) => {
88
+ const recordText = getArgumentText(sourceCode, roundTrip.record);
89
+ const replacement = `${objName}.${roundTrip.method}(${recordText}, ${buildParams(roundTrip)} => ${buildCallbackBody(roundTrip, optionalName)})`;
90
+ return [
91
+ ...binding.edits(fixer),
92
+ fixer.replaceText(node, replacement),
93
+ ];
94
+ },
94
95
  });
95
96
  }
96
97
  },
97
98
  };
98
99
  },
99
100
  };
101
+ const isElidedOrIdentifier = (element) => element === null ||
102
+ element === undefined ||
103
+ element.type === AST_NODE_TYPES.Identifier;
104
+
105
+
106
+
107
+
108
+
109
+
110
+ const parseEntryPattern = (pattern) => {
111
+ if (pattern.elements.length > 2) {
112
+ return undefined;
113
+ }
114
+ const [keyElement, valueElement] = pattern.elements;
115
+ return isElidedOrIdentifier(keyElement) && isElidedOrIdentifier(valueElement)
116
+ ? {
117
+ keyParam: keyElement ?? undefined,
118
+ valueParam: valueElement ?? undefined,
119
+ }
120
+ : undefined;
121
+ };
122
+ const isConstAssertion = (node) => node.typeAnnotation.type === AST_NODE_TYPES.TSTypeReference &&
123
+ node.typeAnnotation.typeName.type === AST_NODE_TYPES.Identifier &&
124
+ node.typeAnnotation.typeName.name === 'const';
125
+
126
+
127
+
128
+
129
+
130
+
131
+ const stripTypeWrappers = (node) => node.type === AST_NODE_TYPES.TSSatisfiesExpression ||
132
+ (node.type === AST_NODE_TYPES.TSAsExpression && isConstAssertion(node))
133
+ ? stripTypeWrappers(node.expression)
134
+ : node;
135
+
136
+
137
+
138
+
139
+
140
+ const parseKeptEntry = (node, keyParam) => {
141
+ if (keyParam === undefined) {
142
+ return undefined;
143
+ }
144
+ const tuple = stripTypeWrappers(node);
145
+ if (tuple.type !== AST_NODE_TYPES.ArrayExpression ||
146
+ !Arr.isFixedLengthTuple(2, tuple.elements)) {
147
+ return undefined;
148
+ }
149
+ const [key, value] = tuple.elements;
150
+ return key !== null &&
151
+ value !== null &&
152
+ key.type === AST_NODE_TYPES.Identifier &&
153
+ value.type !== AST_NODE_TYPES.SpreadElement &&
154
+ key.name === keyParam.name
155
+ ? { key, value }
156
+ : undefined;
157
+ };
158
+
159
+ const parseSingletonEntry = (node, keyParam) => {
160
+ const array = stripTypeWrappers(node);
161
+ if (array.type !== AST_NODE_TYPES.ArrayExpression ||
162
+ !Arr.isFixedLengthTuple(1, array.elements)) {
163
+ return undefined;
164
+ }
165
+ const [entry] = array.elements;
166
+ return entry === null || entry.type === AST_NODE_TYPES.SpreadElement
167
+ ? undefined
168
+ : parseKeptEntry(entry, keyParam);
169
+ };
170
+
171
+ const isEmptyArray = (node) => {
172
+ const array = stripTypeWrappers(node);
173
+ return (array.type === AST_NODE_TYPES.ArrayExpression && array.elements.length === 0);
174
+ };
175
+ const isObjectStaticCall = (node, name) => node.callee.type === AST_NODE_TYPES.MemberExpression &&
176
+ !node.callee.computed &&
177
+ node.callee.object.type === AST_NODE_TYPES.Identifier &&
178
+ node.callee.object.name === 'Object' &&
179
+ node.callee.property.type === AST_NODE_TYPES.Identifier &&
180
+ node.callee.property.name === name;
100
181
 
101
182
 
102
183
 
@@ -213,86 +294,6 @@ const parseEntriesRoundTrip = (node) => {
213
294
 
214
295
 
215
296
 
216
-
217
- const parseEntryPattern = (pattern) => {
218
- if (pattern.elements.length > 2) {
219
- return undefined;
220
- }
221
- const [keyElement, valueElement] = pattern.elements;
222
- return isElidedOrIdentifier(keyElement) && isElidedOrIdentifier(valueElement)
223
- ? {
224
- keyParam: keyElement ?? undefined,
225
- valueParam: valueElement ?? undefined,
226
- }
227
- : undefined;
228
- };
229
- const isElidedOrIdentifier = (element) => element === null ||
230
- element === undefined ||
231
- element.type === AST_NODE_TYPES.Identifier;
232
-
233
-
234
-
235
-
236
-
237
- const parseKeptEntry = (node, keyParam) => {
238
- if (keyParam === undefined) {
239
- return undefined;
240
- }
241
- const tuple = stripTypeWrappers(node);
242
- if (tuple.type !== AST_NODE_TYPES.ArrayExpression ||
243
- !Arr.isFixedLengthTuple(2, tuple.elements)) {
244
- return undefined;
245
- }
246
- const [key, value] = tuple.elements;
247
- return key !== null &&
248
- value !== null &&
249
- key.type === AST_NODE_TYPES.Identifier &&
250
- value.type !== AST_NODE_TYPES.SpreadElement &&
251
- key.name === keyParam.name
252
- ? { key, value }
253
- : undefined;
254
- };
255
-
256
- const parseSingletonEntry = (node, keyParam) => {
257
- const array = stripTypeWrappers(node);
258
- if (array.type !== AST_NODE_TYPES.ArrayExpression ||
259
- !Arr.isFixedLengthTuple(1, array.elements)) {
260
- return undefined;
261
- }
262
- const [entry] = array.elements;
263
- return entry === null || entry.type === AST_NODE_TYPES.SpreadElement
264
- ? undefined
265
- : parseKeptEntry(entry, keyParam);
266
- };
267
-
268
- const isEmptyArray = (node) => {
269
- const array = stripTypeWrappers(node);
270
- return (array.type === AST_NODE_TYPES.ArrayExpression && array.elements.length === 0);
271
- };
272
-
273
-
274
-
275
-
276
-
277
-
278
- const stripTypeWrappers = (node) => node.type === AST_NODE_TYPES.TSSatisfiesExpression ||
279
- (node.type === AST_NODE_TYPES.TSAsExpression && isConstAssertion(node))
280
- ? stripTypeWrappers(node.expression)
281
- : node;
282
- const isConstAssertion = (node) => node.typeAnnotation.type === AST_NODE_TYPES.TSTypeReference &&
283
- node.typeAnnotation.typeName.type === AST_NODE_TYPES.Identifier &&
284
- node.typeAnnotation.typeName.name === 'const';
285
- const isObjectStaticCall = (node, name) => node.callee.type === AST_NODE_TYPES.MemberExpression &&
286
- !node.callee.computed &&
287
- node.callee.object.type === AST_NODE_TYPES.Identifier &&
288
- node.callee.object.name === 'Object' &&
289
- node.callee.property.type === AST_NODE_TYPES.Identifier &&
290
- node.callee.property.name === name;
291
-
292
-
293
-
294
-
295
-
296
297
  const isReferencedOutside = (scope, name, dropped) => scope.variables
297
298
  .find((variable) => variable.name === name)
298
299
  ?.references.some((reference) => !dropped.has(reference.identifier)) ??
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-obj-over-entries-round-trip.mjs","sourceRoot":"","sources":["../../src/rules/prefer-obj-over-entries-round-trip.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-obj-over-entries-round-trip.mjs","sourceRoot":"","sources":["../../src/rules/prefer-obj-over-entries-round-trip.mts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ type MessageIds = 'useMapNullable' | 'suggestMapNullable';
15
15
  * first infers `'a'` and the second `string`, and `(v) => [v, 1]` becomes
16
16
  * `number[]` instead of `readonly [number, 1]`. The fix is therefore applied
17
17
  * automatically only when the function's return type is not inferred, or is
18
- * inferred with nothing such a widening could change; otherwise, and whenever
19
- * a comment or a type wrapper around `mapNullable` would be dropped, it is
18
+ * inferred with nothing such a widening could change; otherwise, and whenever a
19
+ * comment or a type wrapper around `mapNullable` would be dropped, it is
20
20
  * offered as a suggestion.
21
21
  */
22
22
  export declare const preferPipeMapNullable: TSESLint.RuleModule<MessageIds, Options>;
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-pipe-map-nullable.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-pipe-map-nullable.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAalC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAuPjE,CAAC"}
1
+ {"version":3,"file":"prefer-pipe-map-nullable.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-pipe-map-nullable.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAclC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAoPjE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
2
- import { buildCalleeResolver, getArgumentText, getImportDeclarations, hasForeignBinding, isTypeWrapper, skipTypeWrappers, } from 'eslint-rule-forge';
2
+ import { buildCalleeResolver, getArgumentText, getImportDeclarations, hasCommentWithin, hasForeignBinding, isTypeWrapper, skipTypeWrappers, } from 'eslint-rule-forge';
3
3
  import { Arr } from 'ts-data-forge';
4
4
  import * as ts from 'typescript';
5
5
  import { TS_DATA_FORGE_MODULE } from './constants.mjs';
@@ -152,9 +152,7 @@ export const preferPipeMapNullable = {
152
152
  [mapNullableCall.range[0], mapFn.range[0]],
153
153
  [mapFn.range[1], mapNullableCall.range[1]],
154
154
  ];
155
- const dropsComment = sourceCode
156
- .getCommentsInside(mapNullableCall)
157
- .some((comment) => droppedRanges.some(([start, end]) => start <= comment.range[0] && comment.range[1] <= end));
155
+ const dropsComment = hasCommentWithin(sourceCode, mapNullableCall, droppedRanges);
158
156
  const autofixable = !dropsComment &&
159
157
  !isTypeWrapper(mapNullableCall.callee) &&
160
158
  keepsResultType(mapNullableCall, mapFn);
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-pipe-map-nullable.mjs","sourceRoot":"","sources":["../../src/rules/prefer-pipe-map-nullable.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-pipe-map-nullable.mjs","sourceRoot":"","sources":["../../src/rules/prefer-pipe-map-nullable.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-range-for-loop.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-range-for-loop.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAWlC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,iBAAiB,CAAC;AAEpC,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAqP9D,CAAC"}
1
+ {"version":3,"file":"prefer-range-for-loop.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-range-for-loop.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAKlC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,iBAAiB,CAAC;AAEpC,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAmO9D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { AST_NODE_TYPES, ASTUtils, } from '@typescript-eslint/utils';
2
- import { buildNamedImportFix, getArgumentText, getImportDeclarations, getNamedImports, skipTypeWrappers, } from 'eslint-rule-forge';
2
+ import { getArgumentText, skipTypeWrappers } from 'eslint-rule-forge';
3
3
  import { Arr } from 'ts-data-forge';
4
- import { TS_DATA_FORGE_MODULE } from './constants.mjs';
4
+ import { tsDataForgeValueAt } from './import-binding.mjs';
5
5
  export const preferRangeForLoop = {
6
6
  meta: {
7
7
  type: 'suggestion',
@@ -17,8 +17,6 @@ export const preferRangeForLoop = {
17
17
  },
18
18
  create: (context) => {
19
19
  const sourceCode = context.sourceCode;
20
- const program = sourceCode.ast;
21
- const tsDataForgeImports = getImportDeclarations(program, TS_DATA_FORGE_MODULE);
22
20
 
23
21
 
24
22
 
@@ -141,11 +139,10 @@ export const preferRangeForLoop = {
141
139
  });
142
140
  },
143
141
  'Program:exit': () => {
144
- const namedImports = getNamedImports(tsDataForgeImports);
145
- const hasRangeImport = namedImports.includes('range');
146
- const importCarrier = mut_nodesToFix.find(({ fixable }) => fixable);
142
+ const rangeAt = tsDataForgeValueAt(sourceCode, 'range');
147
143
  for (const entry of mut_nodesToFix) {
148
144
  const { node, varName, begin, end, step } = entry;
145
+ const range = entry.fixable ? rangeAt(node) : undefined;
149
146
  context.report({
150
147
  node: node.init ?? node,
151
148
  messageId: 'useRangeForLoop',
@@ -154,22 +151,19 @@ export const preferRangeForLoop = {
154
151
  begin,
155
152
  end,
156
153
  },
157
- fix: entry.fixable
158
- ? (fixer) => {
154
+ fix: range === undefined
155
+ ? undefined
156
+ : (fixer) => {
159
157
  const bodyText = sourceCode.getText(node.body);
160
158
  const rangeArgs = step === undefined
161
159
  ? `${begin}, ${end}`
162
160
  : `${begin}, ${end}, ${step}`;
163
- const replacement = `for (const ${varName} of range(${rangeArgs})) ${bodyText}`;
164
-
165
-
166
-
167
- const importFixes = entry === importCarrier && !hasRangeImport
168
- ? buildNamedImportFix(fixer, program, TS_DATA_FORGE_MODULE, ['range'])
169
- : [];
170
- return [...importFixes, fixer.replaceText(node, replacement)];
171
- }
172
- : undefined,
161
+ const replacement = `for (const ${varName} of ${range.localName}(${rangeArgs})) ${bodyText}`;
162
+ return [
163
+ ...range.edits(fixer),
164
+ fixer.replaceText(node, replacement),
165
+ ];
166
+ },
173
167
  });
174
168
  }
175
169
  },
@@ -189,6 +183,11 @@ wrapped) => {
189
183
  typeof node.value === 'number' &&
190
184
  !Number.isSafeInteger(node.value));
191
185
  };
186
+ const isWithin = (
187
+
188
+ node,
189
+
190
+ container) => container.range[0] <= node.range[0] && node.range[1] <= container.range[1];
192
191
 
193
192
 
194
193
 
@@ -205,9 +204,4 @@ update) => sourceCode
205
204
  .some((reference) => reference.isWrite() &&
206
205
  reference.init !== true &&
207
206
  !isWithin(reference.identifier, update));
208
- const isWithin = (
209
-
210
- node,
211
-
212
- container) => container.range[0] <= node.range[0] && node.range[1] <= container.range[1];
213
207
  //# sourceMappingURL=prefer-range-for-loop.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-range-for-loop.mjs","sourceRoot":"","sources":["../../src/rules/prefer-range-for-loop.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-range-for-loop.mjs","sourceRoot":"","sources":["../../src/rules/prefer-range-for-loop.mts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@ export declare const tsDataForgeRules: {
11
11
  readonly 'prefer-is-non-null-object': import("@typescript-eslint/utils/ts-eslint").RuleModule<"useIsNonNullObject", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
12
12
  readonly 'prefer-range-for-loop': import("@typescript-eslint/utils/ts-eslint").RuleModule<"useRangeForLoop", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
13
13
  readonly 'prefer-is-record-and-has-key': import("@typescript-eslint/utils/ts-eslint").RuleModule<"useHasKey" | "useIsRecordAndHasKey", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
14
- readonly 'prefer-num-safe-parse-int': import("@typescript-eslint/utils/ts-eslint").RuleModule<"useSafeParseInt", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
15
- readonly 'prefer-num-safe-parse-float': import("@typescript-eslint/utils/ts-eslint").RuleModule<"useSafeParseFloat", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
14
+ readonly 'prefer-num-safe-parse-int': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceWithSafeParse" | "useSafeParseInt", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
15
+ readonly 'prefer-num-safe-parse-float': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceWithSafeParse" | "useSafeParseFloat", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
16
16
  readonly 'no-side-effect-import': import("@typescript-eslint/utils/ts-eslint").RuleModule<"removeSideEffectImport", readonly [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
17
17
  readonly 'no-unnecessary-type-guard': import("@typescript-eslint/utils/ts-eslint").RuleModule<"alwaysFalse" | "alwaysTrue" | "replaceTypeGuard", readonly [(Readonly<{
18
18
  ignore?: readonly string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-ts-data-forge",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "private": false,
5
5
  "description": "ESLint rules that steer code toward ts-data-forge idioms.",
6
6
  "keywords": [
@@ -35,17 +35,17 @@
35
35
  ],
36
36
  "dependencies": {
37
37
  "@typescript-eslint/utils": "^8.72.0",
38
- "eslint-rule-forge": "^0.4.0",
39
- "ts-data-forge": "14.10.0",
38
+ "eslint-rule-forge": "^0.5.0",
39
+ "ts-data-forge": "14.10.1",
40
40
  "ts-type-forge": "~9.2.2"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@typescript-eslint/parser": "8.72.0",
44
44
  "@typescript-eslint/rule-tester": "8.72.0",
45
45
  "dedent": "1.7.2",
46
- "eslint-config-typed": "7.1.0",
47
- "eslint-plugin-ts-fortress": "1.3.10",
48
- "eslint-plugin-ts-type-forge": "0.8.15",
46
+ "eslint-config-typed": "7.3.0",
47
+ "eslint-plugin-ts-fortress": "1.3.12",
48
+ "eslint-plugin-ts-type-forge": "0.8.17",
49
49
  "prettier": "3.9.10",
50
50
  "prettier-plugin-organize-imports": "4.3.0",
51
51
  "prettier-plugin-packagejson": "3.0.2",
package/src/plugin.mts CHANGED
@@ -5,9 +5,10 @@ import type { ESLintFlatConfig, ESLintPlugin } from './types.mjs';
5
5
  /**
6
6
  * Every rule this plugin ships, at `error`.
7
7
  *
8
- * The `satisfies` clause below is keyed off {@link tsDataForgeRules}, so leaving a
9
- * rule out, naming one that does not exist, or setting one to anything
10
- * but `error` fails to type-check. That is the whole check; no test repeats it.
8
+ * The `satisfies` clause below is keyed off {@link tsDataForgeRules}, so
9
+ * leaving a rule out, naming one that does not exist, or setting one to
10
+ * anything but `error` fails to type-check. That is the whole check; no test
11
+ * repeats it.
11
12
  */
12
13
  const recommendedRules = {
13
14
  'ts-data-forge/prefer-canonical-array-slicing': 'error',
@@ -15,9 +15,9 @@ type SpreadOptionsIfIsArray<
15
15
  : T;
16
16
 
17
17
  /**
18
- * Extracts the options tuple type of a rule from its TypeScript
19
- * implementation, so that option types stay in sync with the rule source
20
- * without converting `meta.schema` (JSON Schema) back into TypeScript types.
18
+ * Extracts the options tuple type of a rule from its TypeScript implementation,
19
+ * so that option types stay in sync with the rule source without converting
20
+ * `meta.schema` (JSON Schema) back into TypeScript types.
21
21
  */
22
22
  type RuleOptionsOf<Name extends keyof typeof tsDataForgeRules> =
23
23
  (typeof tsDataForgeRules)[Name] extends TSESLint.RuleModule<
@@ -215,7 +215,7 @@ namespace PreferIsRecordAndHasKey {
215
215
  * | :--------- | :--------- |
216
216
  * | type | suggestion |
217
217
  * | deprecated | false |
218
- * | fixable | code |
218
+ * | fixable | false |
219
219
  * ```
220
220
  */
221
221
  namespace PreferNumSafeParseInt {
@@ -230,7 +230,7 @@ namespace PreferNumSafeParseInt {
230
230
  * | :--------- | :--------- |
231
231
  * | type | suggestion |
232
232
  * | deprecated | false |
233
- * | fixable | code |
233
+ * | fixable | false |
234
234
  * ```
235
235
  */
236
236
  namespace PreferNumSafeParseFloat {
@@ -11,11 +11,6 @@ import {
11
11
  } from 'eslint-rule-forge';
12
12
  import type { DeepReadonly } from 'ts-type-forge';
13
13
 
14
- const isIntegerLiteral = (node: DeepReadonly<TSESTree.Expression>): boolean =>
15
- node.type === AST_NODE_TYPES.Literal &&
16
- typeof node.value === 'number' &&
17
- Number.isInteger(node.value);
18
-
19
14
  /**
20
15
  * Whether `node` is an array or a tuple at every layer of type wrappers (see
21
16
  * {@link typeWrapperLayers}): a cast does not make a string an array, and the
@@ -134,20 +129,13 @@ export const isSameArrayText = (
134
129
  sourceCode.getText(skipTypeWrappers(a)) ===
135
130
  sourceCode.getText(skipTypeWrappers(b));
136
131
 
137
- type LengthComparison = Readonly<{
138
- array: TSESTree.Expression;
139
- bound: TSESTree.Expression;
140
- kind: 'max' | 'min';
141
- }>;
142
-
143
132
  /**
144
133
  * Parses a `<array>.length <op> <bound>` comparison (in either operand order)
145
134
  * into its array expression, integer-literal/`const` `bound`, and whether it is
146
135
  * a lower (`min`) or upper (`max`) length bound. Returns `undefined` for
147
- * anything else. The comparison, the length and the bound are read through
148
- * type wrappers; the
149
- * `bound` returned is the literal or constant underneath, since a wrapper such
150
- * as `as number` would only widen the length a guard narrows to.
136
+ * anything else. The comparison, the length and the bound are read through type
137
+ * wrappers; the `bound` returned is the literal or constant underneath, since a
138
+ * wrapper such as `as number` would only widen the length a guard narrows to.
151
139
  *
152
140
  * - `xs.length >= n` / `n <= xs.length` → `min`
153
141
  * - `xs.length <= n` / `n >= xs.length` → `max`
@@ -244,6 +232,17 @@ export const isPartOfBoundedLengthCheck = (
244
232
  );
245
233
  };
246
234
 
235
+ const isIntegerLiteral = (node: DeepReadonly<TSESTree.Expression>): boolean =>
236
+ node.type === AST_NODE_TYPES.Literal &&
237
+ typeof node.value === 'number' &&
238
+ Number.isInteger(node.value);
239
+
240
+ type LengthComparison = Readonly<{
241
+ array: TSESTree.Expression;
242
+ bound: TSESTree.Expression;
243
+ kind: 'max' | 'min';
244
+ }>;
245
+
247
246
  /** The outermost of the type wrappers around `node`, or `node` itself. */
248
247
  const outermostTypeWrapper = (
249
248
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types