@flint.fyi/ts 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/lib/plugin.d.ts +359 -364
  2. package/lib/plugin.js +0 -2
  3. package/lib/rules/accessorPairGroups.d.ts +0 -1
  4. package/lib/rules/accessorPairGroups.js +0 -2
  5. package/lib/rules/accessorPairTypes.d.ts +0 -1
  6. package/lib/rules/accessorPairTypes.js +0 -2
  7. package/lib/rules/accessorThisRecursion.d.ts +0 -1
  8. package/lib/rules/accessorThisRecursion.js +0 -2
  9. package/lib/rules/anyArguments.d.ts +0 -1
  10. package/lib/rules/anyArguments.js +0 -2
  11. package/lib/rules/anyAssignments.d.ts +0 -1
  12. package/lib/rules/anyAssignments.js +0 -2
  13. package/lib/rules/anyCalls.d.ts +0 -1
  14. package/lib/rules/anyCalls.js +0 -2
  15. package/lib/rules/anyMemberAccess.d.ts +0 -1
  16. package/lib/rules/anyMemberAccess.js +0 -2
  17. package/lib/rules/anyReturns.d.ts +0 -1
  18. package/lib/rules/anyReturns.js +0 -2
  19. package/lib/rules/arguments.d.ts +0 -1
  20. package/lib/rules/arguments.js +0 -2
  21. package/lib/rules/arrayCallbackReturns.d.ts +0 -1
  22. package/lib/rules/arrayCallbackReturns.js +1 -3
  23. package/lib/rules/arrayConstructors.d.ts +0 -1
  24. package/lib/rules/arrayConstructors.js +2 -4
  25. package/lib/rules/arrayDeleteUnnecessaryCounts.d.ts +0 -1
  26. package/lib/rules/arrayDeleteUnnecessaryCounts.js +0 -2
  27. package/lib/rules/arrayElementDeletions.d.ts +0 -1
  28. package/lib/rules/arrayElementDeletions.js +0 -2
  29. package/lib/rules/arrayEmptyCallbackSlots.d.ts +0 -1
  30. package/lib/rules/arrayEmptyCallbackSlots.js +4 -11
  31. package/lib/rules/arrayExistenceChecksConsistency.d.ts +0 -1
  32. package/lib/rules/arrayExistenceChecksConsistency.js +1 -3
  33. package/lib/rules/arrayFilteredFinds.d.ts +0 -1
  34. package/lib/rules/arrayFilteredFinds.js +4 -12
  35. package/lib/rules/arrayFinds.d.ts +0 -1
  36. package/lib/rules/arrayFinds.js +0 -2
  37. package/lib/rules/arrayFlatMapMethods.d.ts +0 -1
  38. package/lib/rules/arrayFlatMapMethods.js +2 -4
  39. package/lib/rules/arrayFlatMethods.d.ts +0 -1
  40. package/lib/rules/arrayFlatMethods.js +0 -2
  41. package/lib/rules/arrayFlatUnnecessaryDepths.d.ts +0 -1
  42. package/lib/rules/arrayFlatUnnecessaryDepths.js +2 -4
  43. package/lib/rules/arrayIncludes.d.ts +0 -1
  44. package/lib/rules/arrayIncludes.js +3 -11
  45. package/lib/rules/arrayIncludesMethods.d.ts +0 -1
  46. package/lib/rules/arrayIncludesMethods.js +0 -2
  47. package/lib/rules/arrayIndexOfMethods.d.ts +0 -1
  48. package/lib/rules/arrayIndexOfMethods.js +0 -2
  49. package/lib/rules/arrayLoops.d.ts +0 -1
  50. package/lib/rules/arrayLoops.js +0 -2
  51. package/lib/rules/arrayMapIdentities.d.ts +0 -1
  52. package/lib/rules/arrayMapIdentities.js +0 -2
  53. package/lib/rules/arrayMutableReverses.d.ts +0 -1
  54. package/lib/rules/arrayMutableReverses.js +0 -2
  55. package/lib/rules/arrayMutableSorts.d.ts +0 -1
  56. package/lib/rules/arrayMutableSorts.js +2 -4
  57. package/lib/rules/arrayReduceTypeArguments.d.ts +0 -1
  58. package/lib/rules/arrayReduceTypeArguments.js +0 -2
  59. package/lib/rules/arraySliceUnnecessaryEnd.d.ts +0 -1
  60. package/lib/rules/arraySliceUnnecessaryEnd.js +0 -2
  61. package/lib/rules/arraySomeMethods.d.ts +0 -1
  62. package/lib/rules/arraySomeMethods.js +0 -2
  63. package/lib/rules/arrayTernarySpreadingConsistency.d.ts +0 -1
  64. package/lib/rules/arrayTernarySpreadingConsistency.js +0 -2
  65. package/lib/rules/arrayTypes.d.ts +0 -1
  66. package/lib/rules/arrayTypes.js +4 -6
  67. package/lib/rules/arrayUnnecessaryLengthChecks.d.ts +0 -1
  68. package/lib/rules/arrayUnnecessaryLengthChecks.js +0 -2
  69. package/lib/rules/asConstAssertions.d.ts +0 -1
  70. package/lib/rules/asConstAssertions.js +0 -2
  71. package/lib/rules/assignmentOperatorShorthands.d.ts +0 -1
  72. package/lib/rules/assignmentOperatorShorthands.js +0 -2
  73. package/lib/rules/asyncFunctionAwaits.d.ts +0 -1
  74. package/lib/rules/asyncFunctionAwaits.js +0 -2
  75. package/lib/rules/asyncPromiseExecutors.d.ts +0 -1
  76. package/lib/rules/asyncPromiseExecutors.js +2 -4
  77. package/lib/rules/asyncUnnecessaryPromiseWrappers.d.ts +0 -1
  78. package/lib/rules/asyncUnnecessaryPromiseWrappers.js +0 -2
  79. package/lib/rules/atAccesses.d.ts +0 -1
  80. package/lib/rules/atAccesses.js +0 -2
  81. package/lib/rules/builtinCoercions.d.ts +0 -1
  82. package/lib/rules/builtinCoercions.js +2 -4
  83. package/lib/rules/builtinConstructorNews.d.ts +0 -1
  84. package/lib/rules/builtinConstructorNews.js +4 -6
  85. package/lib/rules/caseDeclarations.d.ts +0 -1
  86. package/lib/rules/caseDeclarations.js +0 -2
  87. package/lib/rules/caseDuplicates.d.ts +0 -1
  88. package/lib/rules/caseDuplicates.js +0 -2
  89. package/lib/rules/caseFallthroughs.d.ts +0 -1
  90. package/lib/rules/caseFallthroughs.js +0 -2
  91. package/lib/rules/catchCallbackTypes.d.ts +0 -1
  92. package/lib/rules/catchCallbackTypes.js +10 -12
  93. package/lib/rules/caughtVariableNames.d.ts +0 -1
  94. package/lib/rules/caughtVariableNames.js +0 -2
  95. package/lib/rules/chainedAssignments.d.ts +0 -1
  96. package/lib/rules/chainedAssignments.js +0 -2
  97. package/lib/rules/charAtComparisons.d.ts +0 -1
  98. package/lib/rules/charAtComparisons.js +5 -10
  99. package/lib/rules/classAssignments.d.ts +0 -1
  100. package/lib/rules/classAssignments.js +0 -2
  101. package/lib/rules/classFieldDeclarations.d.ts +0 -1
  102. package/lib/rules/classFieldDeclarations.js +0 -2
  103. package/lib/rules/classLiteralProperties.d.ts +0 -1
  104. package/lib/rules/classLiteralProperties.js +0 -2
  105. package/lib/rules/classMemberDuplicates.d.ts +0 -1
  106. package/lib/rules/classMemberDuplicates.js +0 -2
  107. package/lib/rules/classMethodsThis.d.ts +0 -1
  108. package/lib/rules/classMethodsThis.js +3 -5
  109. package/lib/rules/combinedPushes.d.ts +0 -1
  110. package/lib/rules/combinedPushes.js +0 -2
  111. package/lib/rules/consecutiveNonNullAssertions.d.ts +0 -1
  112. package/lib/rules/consecutiveNonNullAssertions.js +0 -2
  113. package/lib/rules/consoleCalls.d.ts +0 -1
  114. package/lib/rules/consoleCalls.js +2 -4
  115. package/lib/rules/constantAssignments.d.ts +0 -1
  116. package/lib/rules/constantAssignments.js +0 -2
  117. package/lib/rules/constructorGenericCalls.d.ts +0 -1
  118. package/lib/rules/constructorGenericCalls.js +3 -5
  119. package/lib/rules/constructorReturns.d.ts +0 -1
  120. package/lib/rules/constructorReturns.js +0 -2
  121. package/lib/rules/constructorSupers.d.ts +0 -1
  122. package/lib/rules/constructorSupers.js +0 -2
  123. package/lib/rules/dateConstructorClones.d.ts +0 -1
  124. package/lib/rules/dateConstructorClones.js +2 -4
  125. package/lib/rules/dateNowTimestamps.d.ts +0 -1
  126. package/lib/rules/dateNowTimestamps.js +7 -9
  127. package/lib/rules/debuggerStatements.d.ts +0 -1
  128. package/lib/rules/debuggerStatements.js +0 -2
  129. package/lib/rules/defaultCaseLast.d.ts +0 -1
  130. package/lib/rules/defaultCaseLast.js +0 -2
  131. package/lib/rules/defaultParameterLast.d.ts +0 -1
  132. package/lib/rules/defaultParameterLast.js +0 -2
  133. package/lib/rules/deprecated.d.ts +0 -1
  134. package/lib/rules/deprecated.js +0 -2
  135. package/lib/rules/destructuringConsistency.d.ts +0 -1
  136. package/lib/rules/destructuringConsistency.js +27 -35
  137. package/lib/rules/duplicateArguments.d.ts +0 -1
  138. package/lib/rules/duplicateArguments.js +0 -2
  139. package/lib/rules/dynamicDeletes.d.ts +0 -1
  140. package/lib/rules/dynamicDeletes.js +0 -2
  141. package/lib/rules/elseIfDuplicates.d.ts +0 -1
  142. package/lib/rules/elseIfDuplicates.js +0 -2
  143. package/lib/rules/elseReturns.d.ts +0 -1
  144. package/lib/rules/elseReturns.js +0 -2
  145. package/lib/rules/emptyBlocks.d.ts +0 -1
  146. package/lib/rules/emptyBlocks.js +1 -3
  147. package/lib/rules/emptyDestructures.d.ts +0 -1
  148. package/lib/rules/emptyDestructures.js +0 -2
  149. package/lib/rules/emptyEnums.d.ts +0 -1
  150. package/lib/rules/emptyEnums.js +0 -2
  151. package/lib/rules/emptyExports.d.ts +0 -1
  152. package/lib/rules/emptyExports.js +1 -3
  153. package/lib/rules/emptyFiles.d.ts +0 -1
  154. package/lib/rules/emptyFiles.js +0 -2
  155. package/lib/rules/emptyFunctions.d.ts +0 -1
  156. package/lib/rules/emptyFunctions.js +0 -2
  157. package/lib/rules/emptyModuleAttributes.d.ts +0 -1
  158. package/lib/rules/emptyModuleAttributes.js +0 -2
  159. package/lib/rules/emptyObjectTypes.d.ts +0 -1
  160. package/lib/rules/emptyObjectTypes.js +0 -2
  161. package/lib/rules/emptyStaticBlocks.d.ts +0 -1
  162. package/lib/rules/emptyStaticBlocks.js +0 -2
  163. package/lib/rules/emptyTypeParameterLists.d.ts +0 -1
  164. package/lib/rules/emptyTypeParameterLists.js +0 -2
  165. package/lib/rules/enumInitializers.d.ts +0 -1
  166. package/lib/rules/enumInitializers.js +0 -2
  167. package/lib/rules/enumMemberLiterals.d.ts +0 -1
  168. package/lib/rules/enumMemberLiterals.js +2 -4
  169. package/lib/rules/enumValueConsistency.d.ts +0 -1
  170. package/lib/rules/enumValueConsistency.js +0 -2
  171. package/lib/rules/enumValueDuplicates.d.ts +0 -1
  172. package/lib/rules/enumValueDuplicates.js +3 -20
  173. package/lib/rules/equalityOperatorNegations.d.ts +0 -1
  174. package/lib/rules/equalityOperatorNegations.js +3 -5
  175. package/lib/rules/equalityOperators.d.ts +0 -1
  176. package/lib/rules/equalityOperators.js +0 -2
  177. package/lib/rules/errorMessages.d.ts +0 -1
  178. package/lib/rules/errorMessages.js +6 -12
  179. package/lib/rules/errorSubclassProperties.d.ts +0 -1
  180. package/lib/rules/errorSubclassProperties.js +2 -4
  181. package/lib/rules/errorUnnecessaryCaptureStackTraces.d.ts +0 -1
  182. package/lib/rules/errorUnnecessaryCaptureStackTraces.js +2 -4
  183. package/lib/rules/escapeSequenceCasing.d.ts +0 -1
  184. package/lib/rules/escapeSequenceCasing.js +0 -2
  185. package/lib/rules/evals.d.ts +0 -1
  186. package/lib/rules/evals.js +2 -4
  187. package/lib/rules/evolvingVariableTypes.d.ts +0 -1
  188. package/lib/rules/evolvingVariableTypes.js +0 -2
  189. package/lib/rules/exceptionAssignments.d.ts +0 -1
  190. package/lib/rules/exceptionAssignments.js +0 -2
  191. package/lib/rules/explicitAnys.d.ts +0 -1
  192. package/lib/rules/explicitAnys.js +0 -2
  193. package/lib/rules/exponentiationOperators.d.ts +0 -1
  194. package/lib/rules/exponentiationOperators.js +2 -4
  195. package/lib/rules/exportFromImports.d.ts +0 -1
  196. package/lib/rules/exportFromImports.js +2 -4
  197. package/lib/rules/exportMutables.d.ts +0 -1
  198. package/lib/rules/exportMutables.js +0 -2
  199. package/lib/rules/exportUniqueNames.d.ts +0 -1
  200. package/lib/rules/exportUniqueNames.js +0 -2
  201. package/lib/rules/extraneousClasses.d.ts +0 -1
  202. package/lib/rules/extraneousClasses.js +5 -7
  203. package/lib/rules/fetchMethodBodies.d.ts +0 -1
  204. package/lib/rules/fetchMethodBodies.js +0 -2
  205. package/lib/rules/finallyStatementSafety.d.ts +0 -1
  206. package/lib/rules/finallyStatementSafety.js +0 -2
  207. package/lib/rules/forDirections.d.ts +0 -1
  208. package/lib/rules/forDirections.js +0 -2
  209. package/lib/rules/forInArrays.d.ts +0 -1
  210. package/lib/rules/forInArrays.js +0 -2
  211. package/lib/rules/forInGuards.d.ts +0 -1
  212. package/lib/rules/forInGuards.js +0 -2
  213. package/lib/rules/functionApplySpreads.d.ts +0 -1
  214. package/lib/rules/functionApplySpreads.js +0 -2
  215. package/lib/rules/functionAssignments.d.ts +0 -1
  216. package/lib/rules/functionAssignments.js +0 -2
  217. package/lib/rules/functionCurryingRedundancy.d.ts +0 -1
  218. package/lib/rules/functionCurryingRedundancy.js +0 -2
  219. package/lib/rules/functionDeclarationStyles.d.ts +0 -1
  220. package/lib/rules/functionDeclarationStyles.js +3 -5
  221. package/lib/rules/functionNameMatches.d.ts +0 -1
  222. package/lib/rules/functionNameMatches.js +0 -2
  223. package/lib/rules/functionNewCalls.d.ts +0 -1
  224. package/lib/rules/functionNewCalls.js +5 -7
  225. package/lib/rules/generatorFunctionYields.d.ts +0 -1
  226. package/lib/rules/generatorFunctionYields.js +0 -2
  227. package/lib/rules/getterReturns.d.ts +0 -1
  228. package/lib/rules/getterReturns.js +0 -2
  229. package/lib/rules/globalAssignments.d.ts +0 -1
  230. package/lib/rules/globalAssignments.js +6 -8
  231. package/lib/rules/globalObjectCalls.d.ts +0 -1
  232. package/lib/rules/globalObjectCalls.js +1 -3
  233. package/lib/rules/globalThisAliases.d.ts +0 -1
  234. package/lib/rules/globalThisAliases.js +8 -10
  235. package/lib/rules/impliedEvals.d.ts +0 -1
  236. package/lib/rules/impliedEvals.js +26 -28
  237. package/lib/rules/importEmptyBlocks.d.ts +0 -1
  238. package/lib/rules/importEmptyBlocks.js +0 -2
  239. package/lib/rules/importTypeSideEffects.d.ts +0 -1
  240. package/lib/rules/importTypeSideEffects.js +0 -2
  241. package/lib/rules/indexedObjectTypes.d.ts +0 -1
  242. package/lib/rules/indexedObjectTypes.js +4 -6
  243. package/lib/rules/instanceOfArrays.d.ts +0 -1
  244. package/lib/rules/instanceOfArrays.js +2 -4
  245. package/lib/rules/irregularWhitespaces.d.ts +0 -1
  246. package/lib/rules/irregularWhitespaces.js +5 -7
  247. package/lib/rules/isNaNComparisons.d.ts +0 -1
  248. package/lib/rules/isNaNComparisons.js +5 -7
  249. package/lib/rules/literalConstructorWrappers.d.ts +0 -1
  250. package/lib/rules/literalConstructorWrappers.js +10 -12
  251. package/lib/rules/mathMethods.d.ts +0 -1
  252. package/lib/rules/mathMethods.js +14 -16
  253. package/lib/rules/meaninglessVoidOperators.d.ts +0 -1
  254. package/lib/rules/meaninglessVoidOperators.js +0 -2
  255. package/lib/rules/misleadingVoidExpressions.d.ts +0 -1
  256. package/lib/rules/misleadingVoidExpressions.js +0 -2
  257. package/lib/rules/moduleSpecifierLists.d.ts +0 -1
  258. package/lib/rules/moduleSpecifierLists.js +0 -2
  259. package/lib/rules/multilineAmbiguities.d.ts +0 -1
  260. package/lib/rules/multilineAmbiguities.js +0 -2
  261. package/lib/rules/namedDefaultExports.d.ts +0 -1
  262. package/lib/rules/namedDefaultExports.js +0 -2
  263. package/lib/rules/namespaceDeclarations.d.ts +0 -1
  264. package/lib/rules/namespaceDeclarations.js +3 -5
  265. package/lib/rules/namespaceImplicitAmbientImports.d.ts +0 -1
  266. package/lib/rules/namespaceImplicitAmbientImports.js +0 -2
  267. package/lib/rules/namespaceKeywords.d.ts +0 -1
  268. package/lib/rules/namespaceKeywords.js +0 -2
  269. package/lib/rules/nativeObjectExtensions.d.ts +0 -1
  270. package/lib/rules/nativeObjectExtensions.js +4 -6
  271. package/lib/rules/negativeIndexLengthMethods.d.ts +0 -1
  272. package/lib/rules/negativeIndexLengthMethods.js +7 -9
  273. package/lib/rules/negativeZeroComparisons.d.ts +0 -1
  274. package/lib/rules/negativeZeroComparisons.js +0 -2
  275. package/lib/rules/nestedStandaloneIfs.d.ts +0 -1
  276. package/lib/rules/nestedStandaloneIfs.js +1 -3
  277. package/lib/rules/newDefinitions.d.ts +0 -1
  278. package/lib/rules/newDefinitions.js +0 -2
  279. package/lib/rules/newExpressions.d.ts +0 -1
  280. package/lib/rules/newExpressions.js +0 -2
  281. package/lib/rules/newNativeNonConstructors.d.ts +0 -1
  282. package/lib/rules/newNativeNonConstructors.js +2 -4
  283. package/lib/rules/nonNullAssertedNullishCoalesces.d.ts +0 -1
  284. package/lib/rules/nonNullAssertedNullishCoalesces.js +0 -2
  285. package/lib/rules/nonNullAssertedOptionalChains.d.ts +0 -1
  286. package/lib/rules/nonNullAssertedOptionalChains.js +0 -2
  287. package/lib/rules/nonNullAssertionPlacement.d.ts +0 -1
  288. package/lib/rules/nonNullAssertionPlacement.js +1 -3
  289. package/lib/rules/nonNullableTypeAssertions.d.ts +0 -1
  290. package/lib/rules/nonNullableTypeAssertions.js +0 -2
  291. package/lib/rules/nonOctalDecimalEscapes.d.ts +0 -1
  292. package/lib/rules/nonOctalDecimalEscapes.js +0 -2
  293. package/lib/rules/nullishCheckStyle.d.ts +0 -1
  294. package/lib/rules/nullishCheckStyle.js +3 -5
  295. package/lib/rules/nullishCoalescingOperators.d.ts +0 -1
  296. package/lib/rules/nullishCoalescingOperators.js +7 -9
  297. package/lib/rules/numberMethodRanges.d.ts +0 -1
  298. package/lib/rules/numberMethodRanges.js +1 -3
  299. package/lib/rules/numberStaticMethods.d.ts +0 -1
  300. package/lib/rules/numberStaticMethods.js +3 -5
  301. package/lib/rules/numericErasingOperations.d.ts +0 -1
  302. package/lib/rules/numericErasingOperations.js +2 -4
  303. package/lib/rules/numericLiteralParsing.d.ts +0 -1
  304. package/lib/rules/numericLiteralParsing.js +11 -22
  305. package/lib/rules/numericPrecision.d.ts +0 -1
  306. package/lib/rules/numericPrecision.js +0 -2
  307. package/lib/rules/numericSeparatorGroups.d.ts +0 -1
  308. package/lib/rules/numericSeparatorGroups.js +0 -2
  309. package/lib/rules/objectAssignSpreads.d.ts +0 -1
  310. package/lib/rules/objectAssignSpreads.js +4 -6
  311. package/lib/rules/objectCalls.d.ts +0 -1
  312. package/lib/rules/objectCalls.js +2 -4
  313. package/lib/rules/objectEntriesMethods.d.ts +0 -1
  314. package/lib/rules/objectEntriesMethods.js +13 -15
  315. package/lib/rules/objectHasOwns.d.ts +0 -1
  316. package/lib/rules/objectHasOwns.js +7 -9
  317. package/lib/rules/objectKeyDuplicates.d.ts +0 -1
  318. package/lib/rules/objectKeyDuplicates.js +0 -2
  319. package/lib/rules/objectProto.d.ts +0 -1
  320. package/lib/rules/objectProto.js +0 -2
  321. package/lib/rules/objectPrototypeBuiltIns.d.ts +0 -1
  322. package/lib/rules/objectPrototypeBuiltIns.js +1 -3
  323. package/lib/rules/objectShorthand.d.ts +0 -1
  324. package/lib/rules/objectShorthand.js +0 -2
  325. package/lib/rules/objectSpreadUnnecessaryFallbacks.d.ts +0 -1
  326. package/lib/rules/objectSpreadUnnecessaryFallbacks.js +0 -2
  327. package/lib/rules/objectTypeDefinitions.d.ts +0 -1
  328. package/lib/rules/objectTypeDefinitions.js +0 -2
  329. package/lib/rules/octalEscapes.d.ts +0 -1
  330. package/lib/rules/octalEscapes.js +0 -2
  331. package/lib/rules/octalNumbers.d.ts +0 -1
  332. package/lib/rules/octalNumbers.js +0 -2
  333. package/lib/rules/operatorAssignmentShorthand.d.ts +0 -1
  334. package/lib/rules/operatorAssignmentShorthand.js +3 -5
  335. package/lib/rules/overloadSignaturesAdjacent.d.ts +0 -1
  336. package/lib/rules/overloadSignaturesAdjacent.js +0 -2
  337. package/lib/rules/parameterReassignments.d.ts +0 -1
  338. package/lib/rules/parameterReassignments.js +0 -2
  339. package/lib/rules/parseIntRadixes.d.ts +0 -1
  340. package/lib/rules/parseIntRadixes.js +10 -15
  341. package/lib/rules/propertyAccessNotation.d.ts +0 -1
  342. package/lib/rules/propertyAccessNotation.js +3 -5
  343. package/lib/rules/recursionOnlyArguments.d.ts +0 -1
  344. package/lib/rules/recursionOnlyArguments.js +8 -17
  345. package/lib/rules/redundantTypeConstituents.d.ts +0 -1
  346. package/lib/rules/redundantTypeConstituents.js +0 -2
  347. package/lib/rules/regexAllGlobalFlags.d.ts +0 -1
  348. package/lib/rules/regexAllGlobalFlags.js +0 -2
  349. package/lib/rules/regexAmbiguousInvalidity.d.ts +0 -1
  350. package/lib/rules/regexAmbiguousInvalidity.js +2 -4
  351. package/lib/rules/regexCharacterClassRanges.d.ts +0 -1
  352. package/lib/rules/regexCharacterClassRanges.js +0 -2
  353. package/lib/rules/regexCharacterClassSetOperations.d.ts +0 -1
  354. package/lib/rules/regexCharacterClassSetOperations.js +0 -2
  355. package/lib/rules/regexCharacterClasses.d.ts +0 -1
  356. package/lib/rules/regexCharacterClasses.js +1 -3
  357. package/lib/rules/regexConciseCharacterClassNegations.d.ts +0 -1
  358. package/lib/rules/regexConciseCharacterClassNegations.js +0 -2
  359. package/lib/rules/regexContradictoryAssertions.d.ts +0 -1
  360. package/lib/rules/regexContradictoryAssertions.js +0 -2
  361. package/lib/rules/regexControlCharacterEscapes.d.ts +0 -1
  362. package/lib/rules/regexControlCharacterEscapes.js +0 -2
  363. package/lib/rules/regexControlCharacters.d.ts +0 -1
  364. package/lib/rules/regexControlCharacters.js +0 -2
  365. package/lib/rules/regexDigitMatchers.d.ts +0 -1
  366. package/lib/rules/regexDigitMatchers.js +0 -2
  367. package/lib/rules/regexDollarEscapes.d.ts +0 -1
  368. package/lib/rules/regexDollarEscapes.js +0 -2
  369. package/lib/rules/regexDuplicateCharacterClassCharacters.d.ts +0 -1
  370. package/lib/rules/regexDuplicateCharacterClassCharacters.js +0 -2
  371. package/lib/rules/regexEmptyAlternatives.d.ts +0 -1
  372. package/lib/rules/regexEmptyAlternatives.js +0 -2
  373. package/lib/rules/regexEmptyCapturingGroups.d.ts +0 -1
  374. package/lib/rules/regexEmptyCapturingGroups.js +0 -2
  375. package/lib/rules/regexEmptyCharacterClasses.d.ts +0 -1
  376. package/lib/rules/regexEmptyCharacterClasses.js +0 -2
  377. package/lib/rules/regexEmptyGroups.d.ts +0 -1
  378. package/lib/rules/regexEmptyGroups.js +0 -2
  379. package/lib/rules/regexEmptyLazyQuantifiers.d.ts +0 -1
  380. package/lib/rules/regexEmptyLazyQuantifiers.js +0 -2
  381. package/lib/rules/regexEmptyLookaroundsAssertions.d.ts +0 -1
  382. package/lib/rules/regexEmptyLookaroundsAssertions.js +0 -2
  383. package/lib/rules/regexEmptyStringLiterals.d.ts +0 -1
  384. package/lib/rules/regexEmptyStringLiterals.js +0 -2
  385. package/lib/rules/regexEscapeBackspaces.d.ts +0 -1
  386. package/lib/rules/regexEscapeBackspaces.js +0 -2
  387. package/lib/rules/regexExecutors.d.ts +0 -1
  388. package/lib/rules/regexExecutors.js +2 -4
  389. package/lib/rules/regexGraphemeStringLiterals.d.ts +0 -1
  390. package/lib/rules/regexGraphemeStringLiterals.js +0 -2
  391. package/lib/rules/regexHexadecimalEscapes.d.ts +0 -1
  392. package/lib/rules/regexHexadecimalEscapes.js +0 -2
  393. package/lib/rules/regexIgnoreCaseFlags.d.ts +0 -1
  394. package/lib/rules/regexIgnoreCaseFlags.js +0 -2
  395. package/lib/rules/regexInvisibleCharacters.d.ts +0 -1
  396. package/lib/rules/regexInvisibleCharacters.js +0 -2
  397. package/lib/rules/regexLetterCasing.d.ts +0 -1
  398. package/lib/rules/regexLetterCasing.js +0 -2
  399. package/lib/rules/regexLiterals.d.ts +0 -1
  400. package/lib/rules/regexLiterals.js +4 -9
  401. package/lib/rules/regexLookaroundAssertions.d.ts +0 -1
  402. package/lib/rules/regexLookaroundAssertions.js +0 -2
  403. package/lib/rules/regexLookaroundQuantifierOptimizations.d.ts +0 -1
  404. package/lib/rules/regexLookaroundQuantifierOptimizations.js +0 -2
  405. package/lib/rules/regexMatchNotation.d.ts +0 -1
  406. package/lib/rules/regexMatchNotation.js +0 -2
  407. package/lib/rules/regexMisleadingCapturingGroups.d.ts +0 -1
  408. package/lib/rules/regexMisleadingCapturingGroups.js +0 -2
  409. package/lib/rules/regexMisleadingQuantifiers.d.ts +0 -1
  410. package/lib/rules/regexMisleadingQuantifiers.js +0 -2
  411. package/lib/rules/regexMisleadingUnicodeCharacters.d.ts +0 -1
  412. package/lib/rules/regexMisleadingUnicodeCharacters.js +0 -2
  413. package/lib/rules/regexNamedBackreferences.d.ts +0 -1
  414. package/lib/rules/regexNamedBackreferences.js +0 -2
  415. package/lib/rules/regexNamedCaptureGroups.d.ts +0 -1
  416. package/lib/rules/regexNamedCaptureGroups.js +0 -2
  417. package/lib/rules/regexNamedReplacements.d.ts +0 -1
  418. package/lib/rules/regexNamedReplacements.js +0 -2
  419. package/lib/rules/regexNonStandardFlags.d.ts +0 -1
  420. package/lib/rules/regexNonStandardFlags.js +1 -3
  421. package/lib/rules/regexObscureRanges.d.ts +0 -1
  422. package/lib/rules/regexObscureRanges.js +0 -2
  423. package/lib/rules/regexOctalEscapes.d.ts +0 -1
  424. package/lib/rules/regexOctalEscapes.js +0 -2
  425. package/lib/rules/regexPlusQuantifiers.d.ts +0 -1
  426. package/lib/rules/regexPlusQuantifiers.js +0 -2
  427. package/lib/rules/regexPredefinedAssertions.d.ts +0 -1
  428. package/lib/rules/regexPredefinedAssertions.js +0 -2
  429. package/lib/rules/regexQuestionQuantifiers.d.ts +0 -1
  430. package/lib/rules/regexQuestionQuantifiers.js +0 -2
  431. package/lib/rules/regexRepeatQuantifiers.d.ts +0 -1
  432. package/lib/rules/regexRepeatQuantifiers.js +0 -2
  433. package/lib/rules/regexResultArrayGroups.d.ts +0 -1
  434. package/lib/rules/regexResultArrayGroups.js +0 -2
  435. package/lib/rules/regexSetOperationOptimizations.d.ts +0 -1
  436. package/lib/rules/regexSetOperationOptimizations.js +0 -2
  437. package/lib/rules/regexStandaloneBackslashes.d.ts +0 -1
  438. package/lib/rules/regexStandaloneBackslashes.js +0 -2
  439. package/lib/rules/regexStarQuantifiers.d.ts +0 -1
  440. package/lib/rules/regexStarQuantifiers.js +0 -2
  441. package/lib/rules/regexSuperLinearBacktracking.d.ts +0 -1
  442. package/lib/rules/regexSuperLinearBacktracking.js +0 -2
  443. package/lib/rules/regexSuperLinearMoves.d.ts +0 -1
  444. package/lib/rules/regexSuperLinearMoves.js +0 -2
  445. package/lib/rules/regexTestMethods.d.ts +0 -1
  446. package/lib/rules/regexTestMethods.js +0 -2
  447. package/lib/rules/regexUnicodeCodepointEscapes.d.ts +0 -1
  448. package/lib/rules/regexUnicodeCodepointEscapes.js +0 -2
  449. package/lib/rules/regexUnicodeEscapes.d.ts +0 -1
  450. package/lib/rules/regexUnicodeEscapes.js +0 -2
  451. package/lib/rules/regexUnicodeFlag.d.ts +0 -1
  452. package/lib/rules/regexUnicodeFlag.js +0 -2
  453. package/lib/rules/regexUnicodeProperties.d.ts +0 -1
  454. package/lib/rules/regexUnicodeProperties.js +0 -2
  455. package/lib/rules/regexUnnecessaryAssertions.d.ts +0 -1
  456. package/lib/rules/regexUnnecessaryAssertions.js +0 -2
  457. package/lib/rules/regexUnnecessaryBackreferences.d.ts +0 -1
  458. package/lib/rules/regexUnnecessaryBackreferences.js +0 -2
  459. package/lib/rules/regexUnnecessaryCharacterClasses.d.ts +0 -1
  460. package/lib/rules/regexUnnecessaryCharacterClasses.js +0 -2
  461. package/lib/rules/regexUnnecessaryCharacterRanges.d.ts +0 -1
  462. package/lib/rules/regexUnnecessaryCharacterRanges.js +0 -2
  463. package/lib/rules/regexUnnecessaryDisjunctions.d.ts +0 -1
  464. package/lib/rules/regexUnnecessaryDisjunctions.js +0 -2
  465. package/lib/rules/regexUnnecessaryDollarReplacements.d.ts +0 -1
  466. package/lib/rules/regexUnnecessaryDollarReplacements.js +0 -2
  467. package/lib/rules/regexUnnecessaryEscapes.d.ts +0 -1
  468. package/lib/rules/regexUnnecessaryEscapes.js +2 -4
  469. package/lib/rules/regexUnnecessaryLookaroundAssertions.d.ts +0 -1
  470. package/lib/rules/regexUnnecessaryLookaroundAssertions.js +0 -2
  471. package/lib/rules/regexUnnecessaryNestedAssertions.d.ts +0 -1
  472. package/lib/rules/regexUnnecessaryNestedAssertions.js +0 -2
  473. package/lib/rules/regexUnnecessaryNestedQuantifiers.d.ts +0 -1
  474. package/lib/rules/regexUnnecessaryNestedQuantifiers.js +0 -2
  475. package/lib/rules/regexUnnecessaryNonCapturingGroups.d.ts +0 -1
  476. package/lib/rules/regexUnnecessaryNonCapturingGroups.js +0 -2
  477. package/lib/rules/regexUnnecessaryNumericQuantifiers.d.ts +0 -1
  478. package/lib/rules/regexUnnecessaryNumericQuantifiers.js +0 -2
  479. package/lib/rules/regexUnnecessaryOptionalAssertions.d.ts +0 -1
  480. package/lib/rules/regexUnnecessaryOptionalAssertions.js +0 -2
  481. package/lib/rules/regexUnnecessaryReferentialBackreferences.d.ts +0 -1
  482. package/lib/rules/regexUnnecessaryReferentialBackreferences.js +0 -2
  483. package/lib/rules/regexUnnecessarySetOperands.d.ts +0 -1
  484. package/lib/rules/regexUnnecessarySetOperands.js +0 -2
  485. package/lib/rules/regexUnusedCapturingGroups.d.ts +0 -1
  486. package/lib/rules/regexUnusedCapturingGroups.js +0 -2
  487. package/lib/rules/regexUnusedFlags.d.ts +0 -1
  488. package/lib/rules/regexUnusedFlags.js +0 -2
  489. package/lib/rules/regexUnusedLazyQuantifiers.d.ts +0 -1
  490. package/lib/rules/regexUnusedLazyQuantifiers.js +0 -2
  491. package/lib/rules/regexUnusedQuantifiers.d.ts +0 -1
  492. package/lib/rules/regexUnusedQuantifiers.js +0 -2
  493. package/lib/rules/regexValidity.d.ts +0 -1
  494. package/lib/rules/regexValidity.js +1 -3
  495. package/lib/rules/regexWordMatchers.d.ts +0 -1
  496. package/lib/rules/regexWordMatchers.js +0 -2
  497. package/lib/rules/regexZeroQuantifiers.d.ts +0 -1
  498. package/lib/rules/regexZeroQuantifiers.js +0 -2
  499. package/lib/rules/requireImports.d.ts +0 -1
  500. package/lib/rules/requireImports.js +0 -2
  501. package/lib/rules/responseJsonMethods.d.ts +0 -1
  502. package/lib/rules/responseJsonMethods.js +0 -2
  503. package/lib/rules/restrictedIdentifiers.d.ts +0 -1
  504. package/lib/rules/restrictedIdentifiers.js +2 -4
  505. package/lib/rules/restrictedImports.d.ts +0 -1
  506. package/lib/rules/restrictedImports.js +5 -7
  507. package/lib/rules/returnAssignments.d.ts +0 -1
  508. package/lib/rules/returnAssignments.js +0 -2
  509. package/lib/rules/returnThisTypes.d.ts +0 -1
  510. package/lib/rules/returnThisTypes.js +0 -2
  511. package/lib/rules/ruleCreator.d.ts +0 -1
  512. package/lib/rules/ruleCreator.js +0 -2
  513. package/lib/rules/selfAssignments.d.ts +0 -1
  514. package/lib/rules/selfAssignments.js +0 -2
  515. package/lib/rules/sequences.d.ts +0 -1
  516. package/lib/rules/sequences.js +0 -2
  517. package/lib/rules/setSizeLengthChecks.d.ts +0 -1
  518. package/lib/rules/setSizeLengthChecks.js +13 -15
  519. package/lib/rules/setterReturns.d.ts +0 -1
  520. package/lib/rules/setterReturns.js +0 -2
  521. package/lib/rules/shadowedRestrictedNames.d.ts +0 -1
  522. package/lib/rules/shadowedRestrictedNames.js +1 -3
  523. package/lib/rules/singleVariableDeclarations.d.ts +0 -1
  524. package/lib/rules/singleVariableDeclarations.js +0 -2
  525. package/lib/rules/sizeComparisonOperators.d.ts +0 -1
  526. package/lib/rules/sizeComparisonOperators.js +5 -7
  527. package/lib/rules/sparseArrays.d.ts +0 -1
  528. package/lib/rules/sparseArrays.js +0 -2
  529. package/lib/rules/staticMemberOnlyClasses.d.ts +0 -1
  530. package/lib/rules/staticMemberOnlyClasses.js +0 -2
  531. package/lib/rules/stringCaseMismatches.d.ts +0 -1
  532. package/lib/rules/stringCaseMismatches.js +3 -8
  533. package/lib/rules/stringCodePoints.d.ts +0 -1
  534. package/lib/rules/stringCodePoints.js +2 -4
  535. package/lib/rules/stringSliceMethods.d.ts +0 -1
  536. package/lib/rules/stringSliceMethods.js +0 -2
  537. package/lib/rules/stringStartsEndsWith.d.ts +0 -1
  538. package/lib/rules/stringStartsEndsWith.js +0 -2
  539. package/lib/rules/structuredCloneMethods.d.ts +0 -1
  540. package/lib/rules/structuredCloneMethods.js +7 -9
  541. package/lib/rules/symbolDescriptions.d.ts +0 -1
  542. package/lib/rules/symbolDescriptions.js +0 -2
  543. package/lib/rules/thisAliases.d.ts +0 -1
  544. package/lib/rules/thisAliases.js +0 -2
  545. package/lib/rules/thisBeforeSuper.d.ts +0 -1
  546. package/lib/rules/thisBeforeSuper.js +0 -2
  547. package/lib/rules/throwErrors.d.ts +0 -1
  548. package/lib/rules/throwErrors.js +11 -13
  549. package/lib/rules/topLevelAwaits.d.ts +0 -1
  550. package/lib/rules/topLevelAwaits.js +0 -2
  551. package/lib/rules/tripleSlashReferenceValidity.d.ts +0 -1
  552. package/lib/rules/tripleSlashReferenceValidity.js +1 -3
  553. package/lib/rules/tripleSlashReferences.d.ts +0 -1
  554. package/lib/rules/tripleSlashReferences.js +0 -2
  555. package/lib/rules/tsComments.d.ts +0 -1
  556. package/lib/rules/tsComments.js +8 -10
  557. package/lib/rules/tslintComments.d.ts +0 -1
  558. package/lib/rules/tslintComments.js +0 -2
  559. package/lib/rules/typeAssertionStyles.d.ts +0 -1
  560. package/lib/rules/typeAssertionStyles.js +0 -2
  561. package/lib/rules/typeImports.d.ts +0 -1
  562. package/lib/rules/typeImports.js +3 -5
  563. package/lib/rules/typeofComparisons.d.ts +0 -1
  564. package/lib/rules/typeofComparisons.js +4 -9
  565. package/lib/rules/unassignedVariables.d.ts +0 -1
  566. package/lib/rules/unassignedVariables.js +0 -2
  567. package/lib/rules/undefinedTypeofChecks.d.ts +0 -1
  568. package/lib/rules/undefinedTypeofChecks.js +0 -2
  569. package/lib/rules/undefinedVariables.d.ts +0 -1
  570. package/lib/rules/undefinedVariables.js +0 -2
  571. package/lib/rules/unicodeBOMs.d.ts +0 -1
  572. package/lib/rules/unicodeBOMs.js +0 -2
  573. package/lib/rules/unnecessaryBinds.d.ts +0 -1
  574. package/lib/rules/unnecessaryBinds.js +0 -2
  575. package/lib/rules/unnecessaryBlocks.d.ts +0 -1
  576. package/lib/rules/unnecessaryBlocks.js +0 -2
  577. package/lib/rules/unnecessaryBooleanCasts.d.ts +0 -1
  578. package/lib/rules/unnecessaryBooleanCasts.js +0 -2
  579. package/lib/rules/unnecessaryCatches.d.ts +0 -1
  580. package/lib/rules/unnecessaryCatches.js +0 -2
  581. package/lib/rules/unnecessaryComparisons.d.ts +0 -1
  582. package/lib/rules/unnecessaryComparisons.js +3 -12
  583. package/lib/rules/unnecessaryConcatenation.d.ts +0 -1
  584. package/lib/rules/unnecessaryConcatenation.js +0 -2
  585. package/lib/rules/unnecessaryEscapes.d.ts +0 -1
  586. package/lib/rules/unnecessaryEscapes.js +1 -3
  587. package/lib/rules/unnecessaryMathClamps.d.ts +0 -1
  588. package/lib/rules/unnecessaryMathClamps.js +13 -21
  589. package/lib/rules/unnecessaryNumericFractions.d.ts +0 -1
  590. package/lib/rules/unnecessaryNumericFractions.js +0 -2
  591. package/lib/rules/unnecessaryRenames.d.ts +0 -1
  592. package/lib/rules/unnecessaryRenames.js +0 -2
  593. package/lib/rules/unnecessaryTernaries.d.ts +0 -1
  594. package/lib/rules/unnecessaryTernaries.js +0 -2
  595. package/lib/rules/unnecessaryUseStricts.d.ts +0 -1
  596. package/lib/rules/unnecessaryUseStricts.js +0 -2
  597. package/lib/rules/unsafeNegations.d.ts +0 -1
  598. package/lib/rules/unsafeNegations.js +1 -3
  599. package/lib/rules/utils/collectAccessorPairs.d.ts +0 -1
  600. package/lib/rules/utils/collectAccessorPairs.js +0 -2
  601. package/lib/rules/utils/countCommentsInRange.d.ts +0 -1
  602. package/lib/rules/utils/countCommentsInRange.js +0 -2
  603. package/lib/rules/utils/discriminateAnyType.d.ts +0 -1
  604. package/lib/rules/utils/discriminateAnyType.js +0 -2
  605. package/lib/rules/utils/equalityOperators.d.ts +0 -1
  606. package/lib/rules/utils/equalityOperators.js +0 -2
  607. package/lib/rules/utils/forEachReturnStatement.d.ts +0 -1
  608. package/lib/rules/utils/forEachReturnStatement.js +0 -2
  609. package/lib/rules/utils/formatReportedType.d.ts +0 -1
  610. package/lib/rules/utils/formatReportedType.js +0 -2
  611. package/lib/rules/utils/getConstrainedType.d.ts +0 -1
  612. package/lib/rules/utils/getConstrainedType.js +0 -2
  613. package/lib/rules/utils/getFunctionName.d.ts +0 -1
  614. package/lib/rules/utils/getFunctionName.js +0 -2
  615. package/lib/rules/utils/getRegExpConstruction.d.ts +2 -4
  616. package/lib/rules/utils/getRegExpConstruction.js +7 -8
  617. package/lib/rules/utils/getRegExpLiteralDetails.d.ts +0 -1
  618. package/lib/rules/utils/getRegExpLiteralDetails.js +0 -2
  619. package/lib/rules/utils/getThisExpression.d.ts +0 -1
  620. package/lib/rules/utils/getThisExpression.js +0 -2
  621. package/lib/rules/utils/isArrayOrTupleTypeAtLocation.d.ts +0 -1
  622. package/lib/rules/utils/isArrayOrTupleTypeAtLocation.js +0 -2
  623. package/lib/rules/utils/isBuiltinSymbolLike.d.ts +0 -1
  624. package/lib/rules/utils/isBuiltinSymbolLike.js +1 -3
  625. package/lib/rules/utils/isDirectEqualityCheck.d.ts +0 -1
  626. package/lib/rules/utils/isDirectEqualityCheck.js +0 -2
  627. package/lib/rules/utils/isErrorSubclass.d.ts +2 -2
  628. package/lib/rules/utils/isErrorSubclass.js +5 -7
  629. package/lib/rules/utils/isInBooleanContext.d.ts +0 -1
  630. package/lib/rules/utils/isInBooleanContext.js +0 -2
  631. package/lib/rules/utils/isTypeRecursive.d.ts +0 -1
  632. package/lib/rules/utils/isTypeRecursive.js +0 -2
  633. package/lib/rules/utils/isUnsafeAssignment.d.ts +0 -1
  634. package/lib/rules/utils/isUnsafeAssignment.js +1 -3
  635. package/lib/rules/utils/operators.d.ts +0 -1
  636. package/lib/rules/utils/operators.js +0 -2
  637. package/lib/rules/utils/parseRegexpAst.d.ts +0 -1
  638. package/lib/rules/utils/parseRegexpAst.js +0 -2
  639. package/lib/rules/utils/parseRegexpAstFull.d.ts +0 -1
  640. package/lib/rules/utils/parseRegexpAstFull.js +0 -2
  641. package/lib/rules/utils/skipParentheses.d.ts +0 -1
  642. package/lib/rules/utils/skipParentheses.js +0 -2
  643. package/lib/rules/variableDeletions.d.ts +0 -1
  644. package/lib/rules/variableDeletions.js +0 -2
  645. package/lib/rules/voidOperator.d.ts +0 -1
  646. package/lib/rules/voidOperator.js +0 -2
  647. package/lib/rules/withStatements.d.ts +0 -1
  648. package/lib/rules/withStatements.js +0 -2
  649. package/lib/rules/wrapperObjects.d.ts +0 -1
  650. package/lib/rules/wrapperObjects.js +3 -5
  651. package/lib/type-utils/getSpecifierNames.d.ts +0 -1
  652. package/lib/type-utils/getSpecifierNames.js +0 -2
  653. package/lib/type-utils/isDeclaredInModuleBlock.d.ts +0 -1
  654. package/lib/type-utils/isDeclaredInModuleBlock.js +0 -2
  655. package/lib/type-utils/isFromFile.d.ts +0 -1
  656. package/lib/type-utils/isFromFile.js +0 -2
  657. package/lib/type-utils/isFromPackage.d.ts +2 -3
  658. package/lib/type-utils/isFromPackage.js +0 -3
  659. package/lib/type-utils/matchesSpecifier.d.ts +2 -3
  660. package/lib/type-utils/matchesSpecifier.js +1 -3
  661. package/lib/type-utils/schemas.d.ts +0 -1
  662. package/lib/type-utils/schemas.js +13 -15
  663. package/package.json +6 -7
@@ -4,7 +4,7 @@ import { isTypeRecursive } from "./utils/isTypeRecursive.js";
4
4
  import { getTSNodeRange, hasSameTokens, typescriptLanguage, unwrapParenthesizedNode } from "@flint.fyi/typescript-language";
5
5
  import * as ts$1 from "typescript";
6
6
  //#region src/rules/negativeIndexLengthMethods.ts
7
- const typedArrayNames = new Set([
7
+ const typedArrayNames = /* @__PURE__ */ new Set([
8
8
  "BigInt64Array",
9
9
  "BigUint64Array",
10
10
  "Float32Array",
@@ -17,10 +17,10 @@ const typedArrayNames = new Set([
17
17
  "Uint16Array",
18
18
  "Uint32Array"
19
19
  ]);
20
- const methodConfigurations = new Map([
20
+ const methodConfigurations = /* @__PURE__ */ new Map([
21
21
  ["at", {
22
22
  argumentIndexes: [0],
23
- supportedTypes: new Set([
23
+ supportedTypes: /* @__PURE__ */ new Set([
24
24
  "Array",
25
25
  "String",
26
26
  ...typedArrayNames
@@ -28,7 +28,7 @@ const methodConfigurations = new Map([
28
28
  }],
29
29
  ["slice", {
30
30
  argumentIndexes: [0, 1],
31
- supportedTypes: new Set([
31
+ supportedTypes: /* @__PURE__ */ new Set([
32
32
  "Array",
33
33
  "String",
34
34
  ...typedArrayNames
@@ -36,7 +36,7 @@ const methodConfigurations = new Map([
36
36
  }],
37
37
  ["splice", {
38
38
  argumentIndexes: [0],
39
- supportedTypes: new Set(["Array"])
39
+ supportedTypes: /* @__PURE__ */ new Set(["Array"])
40
40
  }],
41
41
  ["subarray", {
42
42
  argumentIndexes: [0, 1],
@@ -44,11 +44,11 @@ const methodConfigurations = new Map([
44
44
  }],
45
45
  ["toSpliced", {
46
46
  argumentIndexes: [0],
47
- supportedTypes: new Set(["Array"])
47
+ supportedTypes: /* @__PURE__ */ new Set(["Array"])
48
48
  }],
49
49
  ["with", {
50
50
  argumentIndexes: [0],
51
- supportedTypes: new Set(["Array", ...typedArrayNames])
51
+ supportedTypes: /* @__PURE__ */ new Set(["Array", ...typedArrayNames])
52
52
  }]
53
53
  ]);
54
54
  function getNegativeIndexLengthNode(node, target, sourceFile) {
@@ -176,5 +176,3 @@ var negativeIndexLengthMethods_default = ruleCreator.createRule(typescriptLangua
176
176
  });
177
177
  //#endregion
178
178
  export { negativeIndexLengthMethods_default as default };
179
-
180
- //# sourceMappingURL=negativeIndexLengthMethods.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unexpectedNegativeZeroComparison", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=negativeZeroComparisons.d.ts.map
@@ -44,5 +44,3 @@ var negativeZeroComparisons_default = ruleCreator.createRule(typescriptLanguage,
44
44
  });
45
45
  //#endregion
46
46
  export { negativeZeroComparisons_default as default };
47
-
48
- //# sourceMappingURL=negativeZeroComparisons.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "lonelyIfInElse" | "lonelyIfInIf", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=nestedStandaloneIfs.d.ts.map
@@ -9,7 +9,7 @@ function hasCommentsInRange(sourceFile, start, end) {
9
9
  function isIfWithoutElse(node) {
10
10
  return ts.isIfStatement(node) && node.elseStatement === void 0;
11
11
  }
12
- const lowerPrecedenceThanLogicalAnd = new Set([
12
+ const lowerPrecedenceThanLogicalAnd = /* @__PURE__ */ new Set([
13
13
  SyntaxKind.BinaryExpression,
14
14
  SyntaxKind.ConditionalExpression,
15
15
  SyntaxKind.YieldExpression
@@ -101,5 +101,3 @@ var nestedStandaloneIfs_default = ruleCreator.createRule(typescriptLanguage, {
101
101
  });
102
102
  //#endregion
103
103
  export { nestedStandaloneIfs_default as default };
104
-
105
- //# sourceMappingURL=nestedStandaloneIfs.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "classMethodNamedNew" | "interfaceConstructSignature" | "interfaceMethodNamedConstructor", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=newDefinitions.d.ts.map
@@ -80,5 +80,3 @@ var newDefinitions_default = ruleCreator.createRule(typescriptLanguage, {
80
80
  });
81
81
  //#endregion
82
82
  export { newDefinitions_default as default };
83
-
84
- //# sourceMappingURL=newDefinitions.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noStandaloneNew", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=newExpressions.d.ts.map
@@ -34,5 +34,3 @@ var newExpressions_default = ruleCreator.createRule(typescriptLanguage, {
34
34
  });
35
35
  //#endregion
36
36
  export { newExpressions_default as default };
37
-
38
- //# sourceMappingURL=newExpressions.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noNewNonConstructor", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=newNativeNonConstructors.d.ts.map
@@ -14,10 +14,10 @@ var newNativeNonConstructors_default = ruleCreator.createRule(typescriptLanguage
14
14
  suggestions: ["Remove the `new` keyword and call the function directly."]
15
15
  } },
16
16
  setup(context) {
17
- return { visitors: { NewExpression: (node, { sourceFile, typeChecker }) => {
17
+ return { visitors: { NewExpression: (node, { program, sourceFile, typeChecker }) => {
18
18
  if (node.expression.kind !== SyntaxKind.Identifier) return;
19
19
  const name = node.expression.text;
20
- if (!["BigInt", "Symbol"].includes(name) || !isGlobalDeclaration(node.expression, typeChecker)) return;
20
+ if (!["BigInt", "Symbol"].includes(name) || !isGlobalDeclaration(node.expression, typeChecker, program)) return;
21
21
  context.report({
22
22
  data: { name },
23
23
  fix: {
@@ -35,5 +35,3 @@ var newNativeNonConstructors_default = ruleCreator.createRule(typescriptLanguage
35
35
  });
36
36
  //#endregion
37
37
  export { newNativeNonConstructors_default as default };
38
-
39
- //# sourceMappingURL=newNativeNonConstructors.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessaryNonNullAssertion", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=nonNullAssertedNullishCoalesces.d.ts.map
@@ -59,5 +59,3 @@ var nonNullAssertedNullishCoalesces_default = ruleCreator.createRule(typescriptL
59
59
  });
60
60
  //#endregion
61
61
  export { nonNullAssertedNullishCoalesces_default as default };
62
-
63
- //# sourceMappingURL=nonNullAssertedNullishCoalesces.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "nonNullOptionalChain", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=nonNullAssertedOptionalChains.d.ts.map
@@ -65,5 +65,3 @@ var nonNullAssertedOptionalChains_default = ruleCreator.createRule(typescriptLan
65
65
  });
66
66
  //#endregion
67
67
  export { nonNullAssertedOptionalChains_default as default };
68
-
69
- //# sourceMappingURL=nonNullAssertedOptionalChains.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "confusingAssign" | "confusingEqual" | "confusingOperator", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=nonNullAssertionPlacement.d.ts.map
@@ -5,7 +5,7 @@ import { SyntaxKind } from "typescript";
5
5
  function endsWithNonNullAssertion(node, sourceFile) {
6
6
  return node.getLastToken(sourceFile)?.kind === SyntaxKind.ExclamationToken;
7
7
  }
8
- const confusingOperatorTexts = new Map([
8
+ const confusingOperatorTexts = /* @__PURE__ */ new Map([
9
9
  [SyntaxKind.EqualsEqualsEqualsToken, "==="],
10
10
  [SyntaxKind.EqualsEqualsToken, "=="],
11
11
  [SyntaxKind.EqualsToken, "="],
@@ -90,5 +90,3 @@ var nonNullAssertionPlacement_default = ruleCreator.createRule(typescriptLanguag
90
90
  });
91
91
  //#endregion
92
92
  export { nonNullAssertionPlacement_default as default };
93
-
94
- //# sourceMappingURL=nonNullAssertionPlacement.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferNonNullAssertion", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=nonNullableTypeAssertions.d.ts.map
@@ -74,5 +74,3 @@ var nonNullableTypeAssertions_default = ruleCreator.createRule(typescriptLanguag
74
74
  });
75
75
  //#endregion
76
76
  export { nonNullableTypeAssertions_default as default };
77
-
78
- //# sourceMappingURL=nonNullableTypeAssertions.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unexpectedEscape", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=nonOctalDecimalEscapes.d.ts.map
@@ -44,5 +44,3 @@ var nonOctalDecimalEscapes_default = ruleCreator.createRule(typescriptLanguage,
44
44
  });
45
45
  //#endregion
46
46
  export { nonOctalDecimalEscapes_default as default };
47
-
48
- //# sourceMappingURL=nonOctalDecimalEscapes.js.map
@@ -18,4 +18,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
18
18
  }>>;
19
19
  }>;
20
20
  export default _default;
21
- //# sourceMappingURL=nullishCheckStyle.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { isNullishLiteral, isUndefinedIdentifier, toEqualityOperator, toLooseOperator, toStrictOperator } from "./utils/equalityOperators.js";
3
3
  import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
4
4
  import { isNullKeyword } from "ts-api-utils";
5
- import { z } from "zod/v4";
5
+ import { z as z$1 } from "zod/v4";
6
6
  //#region src/rules/nullishCheckStyle.ts
7
7
  var nullishCheckStyle_default = ruleCreator.createRule(typescriptLanguage, {
8
8
  about: {
@@ -32,12 +32,12 @@ var nullishCheckStyle_default = ruleCreator.createRule(typescriptLanguage, {
32
32
  }
33
33
  },
34
34
  options: {
35
- looseNullishComparisonStyle: z.enum([
35
+ looseNullishComparisonStyle: z$1.enum([
36
36
  "prefer-null",
37
37
  "prefer-undefined",
38
38
  "ignore"
39
39
  ]).default("prefer-null"),
40
- nullishComparisonStrictness: z.enum([
40
+ nullishComparisonStrictness: z$1.enum([
41
41
  "double-equals",
42
42
  "triple-equals",
43
43
  "ignore"
@@ -140,5 +140,3 @@ var nullishCheckStyle_default = ruleCreator.createRule(typescriptLanguage, {
140
140
  });
141
141
  //#endregion
142
142
  export { nullishCheckStyle_default as default };
143
-
144
- //# sourceMappingURL=nullishCheckStyle.js.map
@@ -19,4 +19,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
19
19
  ignoreTernaryTests: z.ZodDefault<z.ZodBoolean>;
20
20
  }>;
21
21
  export default _default;
22
- //# sourceMappingURL=nullishCoalescingOperators.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getTSNodeRange, hasSameTokens, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import ts from "typescript";
4
4
  import * as tsutils from "ts-api-utils";
5
- import { z } from "zod/v4";
5
+ import { z as z$1 } from "zod/v4";
6
6
  //#region src/rules/nullishCoalescingOperators.ts
7
7
  function analyzeConditionalForNullish(node, sourceFile) {
8
8
  const { condition, whenFalse, whenTrue } = node;
@@ -228,21 +228,21 @@ var nullishCoalescingOperators_default = ruleCreator.createRule(typescriptLangua
228
228
  }
229
229
  },
230
230
  options: {
231
- ignoreConditionalTests: z.boolean().default(true).describe("Whether to skip cases where the expression is in a conditional context."),
232
- ignoreIfStatements: z.boolean().default(false).describe("Whether to skip if statement patterns with nullish checks."),
233
- ignoreMixedLogicalExpressions: z.boolean().default(false).describe("Whether to skip expressions that mix && and || operators."),
234
- ignorePrimitives: z.union([z.boolean(), z.record(z.enum([
231
+ ignoreConditionalTests: z$1.boolean().default(true).describe("Whether to skip cases where the expression is in a conditional context."),
232
+ ignoreIfStatements: z$1.boolean().default(false).describe("Whether to skip if statement patterns with nullish checks."),
233
+ ignoreMixedLogicalExpressions: z$1.boolean().default(false).describe("Whether to skip expressions that mix && and || operators."),
234
+ ignorePrimitives: z$1.union([z$1.boolean(), z$1.record(z$1.enum([
235
235
  "bigint",
236
236
  "boolean",
237
237
  "number",
238
238
  "string"
239
- ]), z.boolean())]).default({
239
+ ]), z$1.boolean())]).default({
240
240
  bigint: false,
241
241
  boolean: false,
242
242
  number: false,
243
243
  string: false
244
244
  }).describe("Whether to skip primitive types. Can be a boolean or an object with per-type configuration."),
245
- ignoreTernaryTests: z.boolean().default(false).describe("Whether to skip ternary expressions.")
245
+ ignoreTernaryTests: z$1.boolean().default(false).describe("Whether to skip ternary expressions.")
246
246
  },
247
247
  setup(context) {
248
248
  function getOptionalChainInsertPosition(node, test, sourceFile) {
@@ -319,5 +319,3 @@ var nullishCoalescingOperators_default = ruleCreator.createRule(typescriptLangua
319
319
  });
320
320
  //#endregion
321
321
  export { nullishCoalescingOperators_default as default };
322
-
323
- //# sourceMappingURL=nullishCoalescingOperators.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "outOfRange", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=numberMethodRanges.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import { SyntaxKind } from "typescript";
4
4
  //#region src/rules/numberMethodRanges.ts
5
- const methodSpecs = new Map([
5
+ const methodSpecs = /* @__PURE__ */ new Map([
6
6
  ["toExponential", {
7
7
  max: 100,
8
8
  min: 0,
@@ -70,5 +70,3 @@ var numberMethodRanges_default = ruleCreator.createRule(typescriptLanguage, {
70
70
  });
71
71
  //#endregion
72
72
  export { numberMethodRanges_default as default };
73
-
74
- //# sourceMappingURL=numberMethodRanges.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferNumberMethod", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=numberStaticMethods.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getTSNodeRange, isGlobalVariable, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import ts from "typescript";
4
4
  //#region src/rules/numberStaticMethods.ts
5
- const globalReplacements = new Map([["isFinite", "Number.isFinite"], ["isNaN", "Number.isNaN"]]);
5
+ const globalReplacements = /* @__PURE__ */ new Map([["isFinite", "Number.isFinite"], ["isNaN", "Number.isNaN"]]);
6
6
  function isDeclarationName(node) {
7
7
  return ts.isFunctionDeclaration(node.parent) && node.parent.name === node || ts.isVariableDeclaration(node.parent) && node.parent.name === node || ts.isParameter(node.parent) && node.parent.name === node;
8
8
  }
@@ -27,9 +27,9 @@ var numberStaticMethods_default = ruleCreator.createRule(typescriptLanguage, {
27
27
  suggestions: ["Replace `{{ name }}` with `{{ replacement }}`."]
28
28
  } },
29
29
  setup(context) {
30
- return { visitors: { Identifier: (node, { sourceFile, typeChecker }) => {
30
+ return { visitors: { Identifier: (node, { program, sourceFile, typeChecker }) => {
31
31
  const replacement = globalReplacements.get(node.text);
32
- if (!replacement || isPropertyAccessOfNode(node) || isPropertyShorthandOfNode(node) || isDeclarationName(node) || !isGlobalVariable(node, typeChecker) || isLeftHandSide(node)) return;
32
+ if (!replacement || isPropertyAccessOfNode(node) || isPropertyShorthandOfNode(node) || isDeclarationName(node) || !isGlobalVariable(node, typeChecker, program) || isLeftHandSide(node)) return;
33
33
  const range = getTSNodeRange(node, sourceFile);
34
34
  context.report({
35
35
  data: {
@@ -49,5 +49,3 @@ var numberStaticMethods_default = ruleCreator.createRule(typescriptLanguage, {
49
49
  });
50
50
  //#endregion
51
51
  export { numberStaticMethods_default as default };
52
-
53
- //# sourceMappingURL=numberStaticMethods.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "erasingOperation", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=numericErasingOperations.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
- import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
2
+ import { getStaticNumberValue, getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import ts from "typescript";
4
4
  //#region src/rules/numericErasingOperations.ts
5
5
  function isZeroLiteral(node) {
6
- return node.kind === ts.SyntaxKind.NumericLiteral && node.text === "0";
6
+ return Object.is(getStaticNumberValue(node), 0);
7
7
  }
8
8
  var numericErasingOperations_default = ruleCreator.createRule(typescriptLanguage, {
9
9
  about: {
@@ -42,5 +42,3 @@ var numericErasingOperations_default = ruleCreator.createRule(typescriptLanguage
42
42
  });
43
43
  //#endregion
44
44
  export { numericErasingOperations_default as default };
45
-
46
- //# sourceMappingURL=numericErasingOperations.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferLiteral", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=numericLiteralParsing.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
- import { getTSNodeRange, isGlobalDeclaration, typescriptLanguage } from "@flint.fyi/typescript-language";
2
+ import { getStaticNumberValue, getStaticStringValue, getTSNodeRange, isGlobalDeclaration, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import { SyntaxKind } from "typescript";
4
4
  import { nullThrows } from "@flint.fyi/utils";
5
5
  //#region src/rules/numericLiteralParsing.ts
@@ -13,19 +13,6 @@ function convertToLiteral(value, radix) {
13
13
  default: return value;
14
14
  }
15
15
  }
16
- function getRadixValue(node) {
17
- if (node.kind !== SyntaxKind.NumericLiteral) return;
18
- const value = Number(node.text);
19
- if (![
20
- 2,
21
- 8,
22
- 16
23
- ].includes(value)) return;
24
- return value;
25
- }
26
- function getStringValue(node) {
27
- return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral ? node.text : void 0;
28
- }
29
16
  var numericLiteralParsing_default = ruleCreator.createRule(typescriptLanguage, {
30
17
  about: {
31
18
  description: "Reports parseInt calls with binary, hexadecimal, or octal strings that can be replaced with numeric literals.",
@@ -40,10 +27,14 @@ var numericLiteralParsing_default = ruleCreator.createRule(typescriptLanguage, {
40
27
  setup(context) {
41
28
  function checkParseIntCall(node, sourceFile) {
42
29
  if (node.arguments.length !== 2) return;
43
- const stringValue = getStringValue(nullThrows(node.arguments[0], "First argument is expected to be present by prior length check"));
30
+ const stringValue = getStaticStringValue(nullThrows(node.arguments[0], "First argument is expected to be present by prior length check"));
44
31
  if (!stringValue) return;
45
- const radixValue = getRadixValue(nullThrows(node.arguments[1], "Second argument is expected to be present by prior length check"));
46
- if (!radixValue) return;
32
+ const radixValue = getStaticNumberValue(nullThrows(node.arguments[1], "Second argument is expected to be present by prior length check"));
33
+ if (radixValue === void 0 || ![
34
+ 2,
35
+ 8,
36
+ 16
37
+ ].includes(radixValue)) return;
47
38
  context.report({
48
39
  data: {
49
40
  literal: convertToLiteral(stringValue, radixValue),
@@ -53,14 +44,12 @@ var numericLiteralParsing_default = ruleCreator.createRule(typescriptLanguage, {
53
44
  range: getTSNodeRange(node, sourceFile)
54
45
  });
55
46
  }
56
- return { visitors: { CallExpression: (node, { sourceFile, typeChecker }) => {
47
+ return { visitors: { CallExpression: (node, { program, sourceFile, typeChecker }) => {
57
48
  if (node.expression.kind === SyntaxKind.Identifier) {
58
- if (node.expression.text === "parseInt" && isGlobalDeclaration(node.expression, typeChecker)) checkParseIntCall(node, sourceFile);
59
- } else if (node.expression.kind === SyntaxKind.PropertyAccessExpression && node.expression.expression.kind === SyntaxKind.Identifier && node.expression.expression.text === "Number" && node.expression.name.kind === SyntaxKind.Identifier && node.expression.name.text === "parseInt" && isGlobalDeclaration(node.expression.expression, typeChecker)) checkParseIntCall(node, sourceFile);
49
+ if (node.expression.text === "parseInt" && isGlobalDeclaration(node.expression, typeChecker, program)) checkParseIntCall(node, sourceFile);
50
+ } else if (node.expression.kind === SyntaxKind.PropertyAccessExpression && node.expression.expression.kind === SyntaxKind.Identifier && node.expression.expression.text === "Number" && node.expression.name.kind === SyntaxKind.Identifier && node.expression.name.text === "parseInt" && isGlobalDeclaration(node.expression.expression, typeChecker, program)) checkParseIntCall(node, sourceFile);
60
51
  } } };
61
52
  }
62
53
  });
63
54
  //#endregion
64
55
  export { numericLiteralParsing_default as default };
65
-
66
- //# sourceMappingURL=numericLiteralParsing.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "lossOfPrecision", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=numericPrecision.d.ts.map
@@ -98,5 +98,3 @@ var numericPrecision_default = ruleCreator.createRule(typescriptLanguage, {
98
98
  });
99
99
  //#endregion
100
100
  export { numericPrecision_default as default };
101
-
102
- //# sourceMappingURL=numericPrecision.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "invalidGrouping", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=numericSeparatorGroups.d.ts.map
@@ -97,5 +97,3 @@ var numericSeparatorGroups_default = ruleCreator.createRule(typescriptLanguage,
97
97
  });
98
98
  //#endregion
99
99
  export { numericSeparatorGroups_default as default };
100
-
101
- //# sourceMappingURL=numericSeparatorGroups.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferObjectLiteral" | "preferObjectSpread", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=objectAssignSpreads.d.ts.map
@@ -11,8 +11,8 @@ function hasArgumentsWithAccessors(node) {
11
11
  function hasArraySpread(node) {
12
12
  return node.arguments.some((argument) => argument.kind === SyntaxKind.SpreadElement);
13
13
  }
14
- function isObjectAssignCall(node, typeChecker) {
15
- return node.expression.kind === SyntaxKind.PropertyAccessExpression && node.expression.name.kind === SyntaxKind.Identifier && node.expression.name.text === "assign" && node.expression.expression.kind === SyntaxKind.Identifier && isGlobalDeclarationOfName(node.expression.expression, "Object", typeChecker);
14
+ function isObjectAssignCall(node, typeChecker, program) {
15
+ return node.expression.kind === SyntaxKind.PropertyAccessExpression && node.expression.name.kind === SyntaxKind.Identifier && node.expression.name.text === "assign" && node.expression.expression.kind === SyntaxKind.Identifier && isGlobalDeclarationOfName(node.expression.expression, "Object", typeChecker, program);
16
16
  }
17
17
  var objectAssignSpreads_default = ruleCreator.createRule(typescriptLanguage, {
18
18
  about: {
@@ -37,8 +37,8 @@ var objectAssignSpreads_default = ruleCreator.createRule(typescriptLanguage, {
37
37
  }
38
38
  },
39
39
  setup(context) {
40
- return { visitors: { CallExpression: (node, { sourceFile, typeChecker }) => {
41
- if (!isObjectAssignCall(node, typeChecker) || node.arguments.length < 1) return;
40
+ return { visitors: { CallExpression: (node, { program, sourceFile, typeChecker }) => {
41
+ if (!isObjectAssignCall(node, typeChecker, program) || node.arguments.length < 1) return;
42
42
  if (node.arguments[0].kind !== SyntaxKind.ObjectLiteralExpression || hasArraySpread(node) || hasArgumentsWithAccessors(node)) return;
43
43
  context.report({
44
44
  message: node.arguments.length === 1 ? "preferObjectLiteral" : "preferObjectSpread",
@@ -49,5 +49,3 @@ var objectAssignSpreads_default = ruleCreator.createRule(typescriptLanguage, {
49
49
  });
50
50
  //#endregion
51
51
  export { objectAssignSpreads_default as default };
52
-
53
- //# sourceMappingURL=objectAssignSpreads.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferObjectLiteral", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=objectCalls.d.ts.map
@@ -18,8 +18,8 @@ var objectCalls_default = ruleCreator.createRule(typescriptLanguage, {
18
18
  suggestions: ["Replace `Object()` or `new Object()` with `{}` to create an empty object.", "Use `Object.create(null)` when you need an object without a prototype."]
19
19
  } },
20
20
  setup(context) {
21
- function checkNode(node, { sourceFile, typeChecker }) {
22
- if (node.expression.kind !== SyntaxKind.Identifier || !isGlobalDeclarationOfName(node.expression, "Object", typeChecker)) return;
21
+ function checkNode(node, { program, sourceFile, typeChecker }) {
22
+ if (node.expression.kind !== SyntaxKind.Identifier || !isGlobalDeclarationOfName(node.expression, "Object", typeChecker, program)) return;
23
23
  const reportNode = node.kind === SyntaxKind.NewExpression ? node.getChildAt(0, sourceFile) : node.expression;
24
24
  context.report({
25
25
  message: "preferObjectLiteral",
@@ -34,5 +34,3 @@ var objectCalls_default = ruleCreator.createRule(typescriptLanguage, {
34
34
  });
35
35
  //#endregion
36
36
  export { objectCalls_default as default };
37
-
38
- //# sourceMappingURL=objectCalls.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferFromEntries", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=objectEntriesMethods.d.ts.map
@@ -7,20 +7,20 @@ import { SyntaxKind } from "typescript";
7
7
  function isArrowFunctionWithParams(node) {
8
8
  return node.kind === SyntaxKind.ArrowFunction && !!node.parameters.length;
9
9
  }
10
- function isEmptyObject(node, typeChecker) {
10
+ function isEmptyObject(node, typeChecker, program) {
11
11
  const unwrapped = skipParentheses(node);
12
- return isEmptyObjectLiteral(unwrapped) || isObjectCreateNull(unwrapped, typeChecker);
12
+ return isEmptyObjectLiteral(unwrapped) || isObjectCreateNull(unwrapped, typeChecker, program);
13
13
  }
14
14
  function isEmptyObjectLiteral(node) {
15
15
  return node.kind === SyntaxKind.ObjectLiteralExpression && !node.properties.length;
16
16
  }
17
- function isObjectAssignPattern(callback, typeChecker) {
17
+ function isObjectAssignPattern(callback, typeChecker, program) {
18
18
  if (callback.parameters.length < 1) return false;
19
19
  const firstParameter = callback.parameters[0];
20
20
  if (firstParameter.name.kind !== SyntaxKind.Identifier) return false;
21
21
  const accumulatorName = firstParameter.name.text;
22
22
  const body = skipParentheses(callback.body);
23
- if (!isObjectMethodCall(body, "assign", typeChecker) || body.arguments.length !== 2 || !isGlobalDeclarationOfName(body.expression.expression, "Object", typeChecker)) return false;
23
+ if (!isObjectMethodCall(body, "assign", typeChecker, program) || body.arguments.length !== 2 || !isGlobalDeclarationOfName(body.expression.expression, "Object", typeChecker, program)) return false;
24
24
  const firstArg = body.arguments[0];
25
25
  if (firstArg.kind !== SyntaxKind.Identifier || firstArg.text !== accumulatorName) return false;
26
26
  const secondArg = body.arguments[1];
@@ -28,17 +28,17 @@ function isObjectAssignPattern(callback, typeChecker) {
28
28
  const property = secondArg.properties[0];
29
29
  return property.kind === SyntaxKind.PropertyAssignment && property.name.kind === SyntaxKind.ComputedPropertyName;
30
30
  }
31
- function isObjectCreateNull(node, typeChecker) {
32
- if (!isObjectMethodCall(node, "create", typeChecker) || !isGlobalDeclarationOfName(node.expression.expression, "Object", typeChecker) || node.arguments.length !== 1) return false;
31
+ function isObjectCreateNull(node, typeChecker, program) {
32
+ if (!isObjectMethodCall(node, "create", typeChecker, program) || !isGlobalDeclarationOfName(node.expression.expression, "Object", typeChecker, program) || node.arguments.length !== 1) return false;
33
33
  return node.arguments[0].kind === SyntaxKind.NullKeyword;
34
34
  }
35
- function isObjectMethodCall(node, text, typeChecker) {
36
- return node.kind === SyntaxKind.CallExpression && node.expression.kind === SyntaxKind.PropertyAccessExpression && node.expression.name.kind === SyntaxKind.Identifier && node.expression.name.text === text && isGlobalDeclarationOfName(node.expression.expression, "Object", typeChecker);
35
+ function isObjectMethodCall(node, text, typeChecker, program) {
36
+ return node.kind === SyntaxKind.CallExpression && node.expression.kind === SyntaxKind.PropertyAccessExpression && node.expression.name.kind === SyntaxKind.Identifier && node.expression.name.text === text && isGlobalDeclarationOfName(node.expression.expression, "Object", typeChecker, program);
37
37
  }
38
- function isReduceCallWithEmptyObject(node, typeChecker) {
38
+ function isReduceCallWithEmptyObject(node, typeChecker, program) {
39
39
  if (node.expression.kind !== SyntaxKind.PropertyAccessExpression || node.expression.name.kind !== SyntaxKind.Identifier || node.expression.name.text !== "reduce" || node.questionDotToken !== void 0 || node.arguments.length !== 2) return false;
40
40
  const initialValue = node.arguments[1];
41
- return isEmptyObject(initialValue, typeChecker) && isArrayOrTupleTypeAtLocation(node.expression.expression, typeChecker);
41
+ return isEmptyObject(initialValue, typeChecker, program) && isArrayOrTupleTypeAtLocation(node.expression.expression, typeChecker);
42
42
  }
43
43
  function isSpreadAccumulatorPattern(callback) {
44
44
  if (callback.parameters.length < 1) return false;
@@ -64,11 +64,11 @@ var objectEntriesMethods_default = ruleCreator.createRule(typescriptLanguage, {
64
64
  suggestions: ["Convert the array to key-value pairs with map() and use Object.fromEntries()."]
65
65
  } },
66
66
  setup(context) {
67
- return { visitors: { CallExpression: (node, { sourceFile, typeChecker }) => {
68
- if (!isReduceCallWithEmptyObject(node, typeChecker)) return;
67
+ return { visitors: { CallExpression: (node, { program, sourceFile, typeChecker }) => {
68
+ if (!isReduceCallWithEmptyObject(node, typeChecker, program)) return;
69
69
  const callback = node.arguments[0];
70
70
  if (!isArrowFunctionWithParams(callback) || callback.body.kind === SyntaxKind.Block) return;
71
- if (!isObjectAssignPattern(callback, typeChecker) && !isSpreadAccumulatorPattern(callback)) return;
71
+ if (!isObjectAssignPattern(callback, typeChecker, program) && !isSpreadAccumulatorPattern(callback)) return;
72
72
  context.report({
73
73
  message: "preferFromEntries",
74
74
  range: getTSNodeRange(node, sourceFile)
@@ -78,5 +78,3 @@ var objectEntriesMethods_default = ruleCreator.createRule(typescriptLanguage, {
78
78
  });
79
79
  //#endregion
80
80
  export { objectEntriesMethods_default as default };
81
-
82
- //# sourceMappingURL=objectEntriesMethods.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferHasOwn", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=objectHasOwns.d.ts.map