@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
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "mismatch", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=stringCaseMismatches.d.ts.map
@@ -1,13 +1,10 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
- import { typescriptLanguage } from "@flint.fyi/typescript-language";
2
+ import { getStaticStringValue, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import * as ts$1 from "typescript";
4
4
  //#region src/rules/stringCaseMismatches.ts
5
5
  function isLowerCase(text) {
6
6
  return text === text.toLowerCase();
7
7
  }
8
- function isStringLiteral$1(node) {
9
- return ts$1.isStringLiteral(node) || ts$1.isNoSubstitutionTemplateLiteral(node);
10
- }
11
8
  function isUpperCase(text) {
12
9
  return text === text.toUpperCase();
13
10
  }
@@ -29,8 +26,8 @@ var stringCaseMismatches_default = ruleCreator.createRule(typescriptLanguage, {
29
26
  const operator = node.parent.operatorToken.kind;
30
27
  if (operator !== ts$1.SyntaxKind.EqualsEqualsToken && operator !== ts$1.SyntaxKind.EqualsEqualsEqualsToken && operator !== ts$1.SyntaxKind.ExclamationEqualsToken && operator !== ts$1.SyntaxKind.ExclamationEqualsEqualsToken) return;
31
28
  const otherSide = node.parent.left === node ? node.parent.right : node.parent.left;
32
- if (!isStringLiteral$1(otherSide)) return;
33
- const value = otherSide.text;
29
+ const value = getStaticStringValue(otherSide);
30
+ if (value === void 0) return;
34
31
  const isToLower = node.expression.name.text === "toLowerCase";
35
32
  const expectedCase = isToLower ? "lowercase" : "uppercase";
36
33
  if (isToLower ? isLowerCase(value) : isUpperCase(value)) return;
@@ -54,5 +51,3 @@ var stringCaseMismatches_default = ruleCreator.createRule(typescriptLanguage, {
54
51
  });
55
52
  //#endregion
56
53
  export { stringCaseMismatches_default as default };
57
-
58
- //# sourceMappingURL=stringCaseMismatches.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferCodePointAt" | "preferFromCodePoint", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=stringCodePoints.d.ts.map
@@ -32,8 +32,8 @@ var stringCodePoints_default = ruleCreator.createRule(typescriptLanguage, {
32
32
  }
33
33
  });
34
34
  },
35
- PropertyAccessExpression(node, { sourceFile, typeChecker }) {
36
- if (node.name.text === "fromCharCode" && ts$1.isIdentifier(node.expression) && isGlobalDeclarationOfName(node.expression, "String", typeChecker)) context.report({
35
+ PropertyAccessExpression(node, { program, sourceFile, typeChecker }) {
36
+ if (node.name.text === "fromCharCode" && ts$1.isIdentifier(node.expression) && isGlobalDeclarationOfName(node.expression, "String", typeChecker, program)) context.report({
37
37
  message: "preferFromCodePoint",
38
38
  range: {
39
39
  begin: node.name.getStart(sourceFile),
@@ -46,5 +46,3 @@ var stringCodePoints_default = ruleCreator.createRule(typescriptLanguage, {
46
46
  });
47
47
  //#endregion
48
48
  export { stringCodePoints_default as default };
49
-
50
- //# sourceMappingURL=stringCodePoints.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferSliceOverSubstring", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=stringSliceMethods.d.ts.map
@@ -43,5 +43,3 @@ var stringSliceMethods_default = ruleCreator.createRule(typescriptLanguage, {
43
43
  });
44
44
  //#endregion
45
45
  export { stringSliceMethods_default as default };
46
-
47
- //# sourceMappingURL=stringSliceMethods.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferEndsWith" | "preferStartsWith", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=stringStartsEndsWith.d.ts.map
@@ -75,5 +75,3 @@ var stringStartsEndsWith_default = ruleCreator.createRule(typescriptLanguage, {
75
75
  });
76
76
  //#endregion
77
77
  export { stringStartsEndsWith_default as default };
78
-
79
- //# sourceMappingURL=stringStartsEndsWith.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferStructuredClone", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=structuredCloneMethods.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { isGlobalDeclarationOfName, typescriptLanguage } from "@flint.fyi/typescript-language";
3
- import * as ts$1 from "typescript";
3
+ import { isCallExpression, isIdentifier, isPropertyAccessExpression, isSpreadElement } from "typescript";
4
4
  //#region src/rules/structuredCloneMethods.ts
5
- function isJsonMethod(node, methodName, typeChecker) {
6
- return ts$1.isCallExpression(node) && ts$1.isPropertyAccessExpression(node.expression) && ts$1.isIdentifier(node.expression.expression) && isGlobalDeclarationOfName(node.expression.expression, "JSON", typeChecker) && node.expression.expression.text === "JSON" && node.expression.name.text === methodName;
5
+ function isJsonMethod(node, methodName, typeChecker, program) {
6
+ return isCallExpression(node) && isPropertyAccessExpression(node.expression) && isIdentifier(node.expression.expression) && isGlobalDeclarationOfName(node.expression.expression, "JSON", typeChecker, program) && node.expression.expression.text === "JSON" && node.expression.name.text === methodName;
7
7
  }
8
8
  var structuredCloneMethods_default = ruleCreator.createRule(typescriptLanguage, {
9
9
  about: {
@@ -17,12 +17,12 @@ var structuredCloneMethods_default = ruleCreator.createRule(typescriptLanguage,
17
17
  suggestions: ["Replace with structuredClone()."]
18
18
  } },
19
19
  setup(context) {
20
- return { visitors: { CallExpression(node, { sourceFile, typeChecker }) {
21
- if (!isJsonMethod(node, "parse", typeChecker) || node.arguments.length !== 1) return;
20
+ return { visitors: { CallExpression(node, { program, sourceFile, typeChecker }) {
21
+ if (!isJsonMethod(node, "parse", typeChecker, program) || node.arguments.length !== 1) return;
22
22
  const argument = node.arguments[0];
23
- if (ts$1.isSpreadElement(argument) || !isJsonMethod(argument, "stringify", typeChecker) || argument.arguments.length !== 1) return;
23
+ if (isSpreadElement(argument) || !isJsonMethod(argument, "stringify", typeChecker, program) || argument.arguments.length !== 1) return;
24
24
  const stringifyArgument = argument.arguments[0];
25
- if (ts$1.isSpreadElement(stringifyArgument)) return;
25
+ if (isSpreadElement(stringifyArgument)) return;
26
26
  context.report({
27
27
  message: "preferStructuredClone",
28
28
  range: {
@@ -35,5 +35,3 @@ var structuredCloneMethods_default = ruleCreator.createRule(typescriptLanguage,
35
35
  });
36
36
  //#endregion
37
37
  export { structuredCloneMethods_default as default };
38
-
39
- //# sourceMappingURL=structuredCloneMethods.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "missingDescription", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=symbolDescriptions.d.ts.map
@@ -28,5 +28,3 @@ var symbolDescriptions_default = ruleCreator.createRule(typescriptLanguage, {
28
28
  });
29
29
  //#endregion
30
30
  export { symbolDescriptions_default as default };
31
-
32
- //# sourceMappingURL=symbolDescriptions.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noThisAlias", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=thisAliases.d.ts.map
@@ -40,5 +40,3 @@ var thisAliases_default = ruleCreator.createRule(typescriptLanguage, {
40
40
  });
41
41
  //#endregion
42
42
  export { thisAliases_default as default };
43
-
44
- //# sourceMappingURL=thisAliases.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "thisBeforeSuper" | "superBeforeSuper", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=thisBeforeSuper.d.ts.map
@@ -82,5 +82,3 @@ var thisBeforeSuper_default = ruleCreator.createRule(typescriptLanguage, {
82
82
  });
83
83
  //#endregion
84
84
  export { thisBeforeSuper_default as default };
85
-
86
- //# sourceMappingURL=thisBeforeSuper.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "throwError" | "throwUndefined", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=throwErrors.d.ts.map
@@ -1,21 +1,21 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { getConstrainedTypeAtLocation } from "./utils/getConstrainedType.js";
3
3
  import { declarationIncludesGlobal, getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
4
- import * as ts$1 from "typescript";
4
+ import { TypeFlags } from "typescript";
5
5
  import * as tsutils from "ts-api-utils";
6
6
  //#region src/rules/throwErrors.ts
7
- function isBuiltinErrorType(type) {
7
+ function isBuiltinErrorType(type, program) {
8
8
  const symbol = type.getSymbol();
9
9
  if (symbol?.getName() !== "Error") return false;
10
- return !!symbol.getDeclarations()?.some(declarationIncludesGlobal);
10
+ return !!symbol.getDeclarations()?.some((declaration) => declarationIncludesGlobal(declaration, program));
11
11
  }
12
- function isErrorType(type) {
13
- if (isBuiltinErrorType(type)) return true;
14
- if (type.isUnion()) return type.types.every((t) => isErrorType(t));
15
- if (type.isIntersection()) return type.types.some((t) => isErrorType(t));
12
+ function isErrorType(type, program) {
13
+ if (isBuiltinErrorType(type, program)) return true;
14
+ if (type.isUnion()) return type.types.every((t) => isErrorType(t, program));
15
+ if (type.isIntersection()) return type.types.some((t) => isErrorType(t, program));
16
16
  const baseTypes = type.getBaseTypes();
17
17
  if (baseTypes) {
18
- for (const baseType of baseTypes) if (isErrorType(baseType)) return true;
18
+ for (const baseType of baseTypes) if (isErrorType(baseType, program)) return true;
19
19
  }
20
20
  return false;
21
21
  }
@@ -38,10 +38,10 @@ var throwErrors_default = ruleCreator.createRule(typescriptLanguage, {
38
38
  }
39
39
  },
40
40
  setup(context) {
41
- return { visitors: { ThrowStatement(node, { sourceFile, typeChecker }) {
41
+ return { visitors: { ThrowStatement(node, { program, sourceFile, typeChecker }) {
42
42
  const type = getConstrainedTypeAtLocation(node.expression, typeChecker);
43
- if (tsutils.isTypeFlagSet(type, ts$1.TypeFlags.Any | ts$1.TypeFlags.Unknown) || isErrorType(type)) return;
44
- if (type.isUnion() ? type.types.every((t) => tsutils.isTypeFlagSet(t, ts$1.TypeFlags.Undefined)) : tsutils.isTypeFlagSet(type, ts$1.TypeFlags.Undefined)) {
43
+ if (tsutils.isTypeFlagSet(type, TypeFlags.Any | TypeFlags.Unknown) || isErrorType(type, program)) return;
44
+ if (type.isUnion() ? type.types.every((t) => tsutils.isTypeFlagSet(t, TypeFlags.Undefined)) : tsutils.isTypeFlagSet(type, TypeFlags.Undefined)) {
45
45
  context.report({
46
46
  message: "throwUndefined",
47
47
  range: getTSNodeRange(node.expression, sourceFile)
@@ -57,5 +57,3 @@ var throwErrors_default = ruleCreator.createRule(typescriptLanguage, {
57
57
  });
58
58
  //#endregion
59
59
  export { throwErrors_default as default };
60
-
61
- //# sourceMappingURL=throwErrors.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "topLevelAwait", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=topLevelAwaits.d.ts.map
@@ -45,5 +45,3 @@ var topLevelAwaits_default = ruleCreator.createRule(typescriptLanguage, {
45
45
  });
46
46
  //#endregion
47
47
  export { topLevelAwaits_default as default };
48
-
49
- //# sourceMappingURL=topLevelAwaits.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "invalidDirective", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=tripleSlashReferenceValidity.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  //#region src/rules/tripleSlashReferenceValidity.ts
4
4
  const referenceMatcher = /^\/\/\/\s*<\s*reference(?:\s+([\w-]+\s*=\s*"[^"]*"|[\w-]+\s*=\s*'[^']*'|[^\s/>]+))?\s*\/>/i;
5
- const validDirectives = new Set([
5
+ const validDirectives = /* @__PURE__ */ new Set([
6
6
  "lib",
7
7
  "no-default-lib",
8
8
  "path",
@@ -50,5 +50,3 @@ var tripleSlashReferenceValidity_default = ruleCreator.createRule(typescriptLang
50
50
  });
51
51
  //#endregion
52
52
  export { tripleSlashReferenceValidity_default as default };
53
-
54
- //# sourceMappingURL=tripleSlashReferenceValidity.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noTripleSlashReference", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=tripleSlashReferences.d.ts.map
@@ -30,5 +30,3 @@ var tripleSlashReferences_default = ruleCreator.createRule(typescriptLanguage, {
30
30
  });
31
31
  //#endregion
32
32
  export { tripleSlashReferences_default as default };
33
-
34
- //# sourceMappingURL=tripleSlashReferences.js.map
@@ -19,4 +19,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
19
19
  minimumDescriptionLength: z.ZodDefault<z.ZodNumber>;
20
20
  }>;
21
21
  export default _default;
22
- //# sourceMappingURL=tsComments.d.ts.map
@@ -1,25 +1,25 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import * as tsutils from "ts-api-utils";
4
- import { z } from "zod/v4";
4
+ import { z as z$1 } from "zod/v4";
5
5
  //#region src/rules/tsComments.ts
6
- const directiveConfigSchema = z.union([
7
- z.literal(true),
8
- z.literal(false),
9
- z.literal("allow-with-description"),
10
- z.object({ descriptionFormat: z.string().describe("A regular expression that the description must match for it to be considered valid.") })
6
+ const directiveConfigSchema = z$1.union([
7
+ z$1.literal(true),
8
+ z$1.literal(false),
9
+ z$1.literal("allow-with-description"),
10
+ z$1.object({ descriptionFormat: z$1.string().describe("A regular expression that the description must match for it to be considered valid.") })
11
11
  ]);
12
12
  const options = {
13
13
  allowTsExpectError: directiveConfigSchema.default(false).describe("Whether to allow `@ts-expect-error` directives, and with which restrictions."),
14
14
  allowTsIgnore: directiveConfigSchema.default(false).describe("Whether to allow `@ts-ignore` directives."),
15
15
  allowTsNocheck: directiveConfigSchema.default(false).describe("Whether to allow `@ts-nocheck` directives."),
16
- minimumDescriptionLength: z.number().int().min(0).default(10).describe("The minimum length required for a description when using 'allow-with-description'.")
16
+ minimumDescriptionLength: z$1.number().int().min(0).default(10).describe("The minimum length required for a description when using 'allow-with-description'.")
17
17
  };
18
18
  const tsDirectiveRegex = /^(?:\/\/\/?|\/\*)\s*@ts-(ignore|expect-error|nocheck|check)(?<description>[\s:*].*)?/i;
19
19
  function createFixedComment(text, fromDirective, toDirective) {
20
20
  return text.replace(new RegExp(`@ts-${fromDirective}`, "i"), `@ts-${toDirective}`);
21
21
  }
22
- const directiveConfigKeys = new Map([
22
+ const directiveConfigKeys = /* @__PURE__ */ new Map([
23
23
  ["ts-expect-error", "allowTsExpectError"],
24
24
  ["ts-ignore", "allowTsIgnore"],
25
25
  ["ts-nocheck", "allowTsNocheck"]
@@ -126,5 +126,3 @@ var tsComments_default = ruleCreator.createRule(typescriptLanguage, {
126
126
  });
127
127
  //#endregion
128
128
  export { tsComments_default as default };
129
-
130
- //# sourceMappingURL=tsComments.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "tslintComment", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=tslintComments.d.ts.map
@@ -32,5 +32,3 @@ var tslintComments_default = ruleCreator.createRule(typescriptLanguage, {
32
32
  });
33
33
  //#endregion
34
34
  export { tslintComments_default as default };
35
-
36
- //# sourceMappingURL=tslintComments.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "preferAs", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=typeAssertionStyles.d.ts.map
@@ -28,5 +28,3 @@ var typeAssertionStyles_default = ruleCreator.createRule(typescriptLanguage, {
28
28
  });
29
29
  //#endregion
30
30
  export { typeAssertionStyles_default as default };
31
-
32
- //# sourceMappingURL=typeAssertionStyles.js.map
@@ -17,4 +17,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
17
17
  }>>;
18
18
  }>;
19
19
  export default _default;
20
- //# sourceMappingURL=typeImports.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { forEachChild, getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import ts, { SyntaxKind } from "typescript";
4
- import { z } from "zod/v4";
4
+ import { z as z$1 } from "zod/v4";
5
5
  //#region src/rules/typeImports.ts
6
6
  function containsDecorator(node) {
7
7
  if (node.kind === SyntaxKind.Decorator) return true;
@@ -165,8 +165,8 @@ var typeImports_default = ruleCreator.createRule(typescriptLanguage, {
165
165
  }
166
166
  },
167
167
  options: {
168
- fixStyle: z.enum(["inline-type-imports", "separate-type-imports"]).default("inline-type-imports"),
169
- prefer: z.enum(["no-type-imports", "type-imports"]).default("type-imports")
168
+ fixStyle: z$1.enum(["inline-type-imports", "separate-type-imports"]).default("inline-type-imports"),
169
+ prefer: z$1.enum(["no-type-imports", "type-imports"]).default("type-imports")
170
170
  },
171
171
  setup(context) {
172
172
  return { visitors: { SourceFile(node, { options, program, sourceFile, typeChecker }) {
@@ -279,5 +279,3 @@ var typeImports_default = ruleCreator.createRule(typescriptLanguage, {
279
279
  });
280
280
  //#endregion
281
281
  export { typeImports_default as default };
282
-
283
- //# sourceMappingURL=typeImports.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "invalidValue", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=typeofComparisons.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
- import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
2
+ import { getStaticStringValue, getTSNodeRange, typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import { SyntaxKind } from "typescript";
4
4
  //#region src/rules/typeofComparisons.ts
5
- const validTypeofValues = new Set([
5
+ const validTypeofValues = /* @__PURE__ */ new Set([
6
6
  "bigint",
7
7
  "boolean",
8
8
  "function",
@@ -12,9 +12,6 @@ const validTypeofValues = new Set([
12
12
  "symbol",
13
13
  "undefined"
14
14
  ]);
15
- function getStringValue(node) {
16
- return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral ? node.text : void 0;
17
- }
18
15
  function getTypeofOperand(node) {
19
16
  return node.kind === SyntaxKind.TypeOfExpression && node.expression;
20
17
  }
@@ -41,8 +38,8 @@ var typeofComparisons_default = ruleCreator.createRule(typescriptLanguage, {
41
38
  if (leftTypeofOperand) comparisonValue = node.right;
42
39
  else if (rightTypeofOperand) comparisonValue = node.left;
43
40
  else return;
44
- const stringValue = getStringValue(comparisonValue);
45
- if (stringValue != null && !validTypeofValues.has(stringValue)) context.report({
41
+ const stringValue = getStaticStringValue(comparisonValue);
42
+ if (stringValue !== void 0 && !validTypeofValues.has(stringValue)) context.report({
46
43
  message: "invalidValue",
47
44
  range: getTSNodeRange(comparisonValue, sourceFile)
48
45
  });
@@ -54,5 +51,3 @@ var typeofComparisons_default = ruleCreator.createRule(typescriptLanguage, {
54
51
  });
55
52
  //#endregion
56
53
  export { typeofComparisons_default as default };
57
-
58
- //# sourceMappingURL=typeofComparisons.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noUnassigned", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unassignedVariables.d.ts.map
@@ -30,5 +30,3 @@ var unassignedVariables_default = ruleCreator.createRule(typescriptLanguage, {
30
30
  });
31
31
  //#endregion
32
32
  export { unassignedVariables_default as default };
33
-
34
- //# sourceMappingURL=unassignedVariables.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "directComparison", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=undefinedTypeofChecks.d.ts.map
@@ -37,5 +37,3 @@ var undefinedTypeofChecks_default = ruleCreator.createRule(typescriptLanguage, {
37
37
  });
38
38
  //#endregion
39
39
  export { undefinedTypeofChecks_default as default };
40
-
41
- //# sourceMappingURL=undefinedTypeofChecks.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "undefinedVariable", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=undefinedVariables.d.ts.map
@@ -35,5 +35,3 @@ var undefinedVariables_default = ruleCreator.createRule(typescriptLanguage, {
35
35
  });
36
36
  //#endregion
37
37
  export { undefinedVariables_default as default };
38
-
39
- //# sourceMappingURL=undefinedVariables.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "noBOM", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unicodeBOMs.d.ts.map
@@ -35,5 +35,3 @@ var unicodeBOMs_default = ruleCreator.createRule(typescriptLanguage, {
35
35
  });
36
36
  //#endregion
37
37
  export { unicodeBOMs_default as default };
38
-
39
- //# sourceMappingURL=unicodeBOMs.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessaryBinds" | "arrowBind", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryBinds.d.ts.map
@@ -74,5 +74,3 @@ var unnecessaryBinds_default = ruleCreator.createRule(typescriptLanguage, {
74
74
  });
75
75
  //#endregion
76
76
  export { unnecessaryBinds_default as default };
77
-
78
- //# sourceMappingURL=unnecessaryBinds.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessaryBlock", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryBlocks.d.ts.map
@@ -56,5 +56,3 @@ var unnecessaryBlocks_default = ruleCreator.createRule(typescriptLanguage, {
56
56
  });
57
57
  //#endregion
58
58
  export { unnecessaryBlocks_default as default };
59
-
60
- //# sourceMappingURL=unnecessaryBlocks.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessary", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryBooleanCasts.d.ts.map
@@ -54,5 +54,3 @@ var unnecessaryBooleanCasts_default = ruleCreator.createRule(typescriptLanguage,
54
54
  });
55
55
  //#endregion
56
56
  export { unnecessaryBooleanCasts_default as default };
57
-
58
- //# sourceMappingURL=unnecessaryBooleanCasts.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessaryCatch", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryCatches.d.ts.map
@@ -44,5 +44,3 @@ var unnecessaryCatches_default = ruleCreator.createRule(typescriptLanguage, {
44
44
  });
45
45
  //#endregion
46
46
  export { unnecessaryCatches_default as default };
47
-
48
- //# sourceMappingURL=unnecessaryCatches.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "impossibleRange" | "ineffectiveCheck" | "redundantComparison" | "selfComparison", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryComparisons.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { ruleCreator } from "./ruleCreator.js";
2
2
  import { isComparisonOperator } from "./utils/operators.js";
3
- import { getTSNodeRange, hasSameTokens, typescriptLanguage, unwrapParenthesizedNode } from "@flint.fyi/typescript-language";
3
+ import { getStaticNumberValue, getTSNodeRange, hasSameTokens, typescriptLanguage, unwrapParenthesizedNode } from "@flint.fyi/typescript-language";
4
4
  import { SyntaxKind } from "typescript";
5
5
  //#region src/rules/unnecessaryComparisons.ts
6
6
  function checkImpossibleRange(comparisons, sourceFile) {
@@ -113,8 +113,8 @@ function collectComparisonsFromChain(node, operatorKind) {
113
113
  }
114
114
  function extractComparisonInfo(node) {
115
115
  if (!isComparisonOperator(node.operatorToken)) return null;
116
- const leftNumeric = extractNumericLiteral(node.left);
117
- const rightNumeric = extractNumericLiteral(node.right);
116
+ const leftNumeric = getStaticNumberValue(node.left) ?? null;
117
+ const rightNumeric = getStaticNumberValue(node.right) ?? null;
118
118
  if (leftNumeric !== null && rightNumeric !== null || leftNumeric === null && rightNumeric === null) {
119
119
  if (leftNumeric === null && rightNumeric === null) return {
120
120
  direction: getComparisonDirection(node.operatorToken.kind),
@@ -143,13 +143,6 @@ function extractComparisonInfo(node) {
143
143
  variable: node.left
144
144
  };
145
145
  }
146
- function extractNumericLiteral(node) {
147
- const unwrapped = unwrapParenthesizedNode(node);
148
- if (unwrapped.kind === SyntaxKind.NumericLiteral) return Number(unwrapped.text);
149
- if (unwrapped.kind === SyntaxKind.PrefixUnaryExpression && unwrapped.operator === SyntaxKind.MinusToken && unwrapped.operand.kind === SyntaxKind.NumericLiteral) return -Number(unwrapped.operand.text);
150
- if (unwrapped.kind === SyntaxKind.PrefixUnaryExpression && unwrapped.operator === SyntaxKind.PlusToken && unwrapped.operand.kind === SyntaxKind.NumericLiteral) return Number(unwrapped.operand.text);
151
- return null;
152
- }
153
146
  function flipDirection(direction) {
154
147
  switch (direction) {
155
148
  case "lower": return "upper";
@@ -296,5 +289,3 @@ var unnecessaryComparisons_default = ruleCreator.createRule(typescriptLanguage,
296
289
  });
297
290
  //#endregion
298
291
  export { unnecessaryComparisons_default as default };
299
-
300
- //# sourceMappingURL=unnecessaryComparisons.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessaryConcatenation", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryConcatenation.d.ts.map
@@ -24,5 +24,3 @@ var unnecessaryConcatenation_default = ruleCreator.createRule(typescriptLanguage
24
24
  });
25
25
  //#endregion
26
26
  export { unnecessaryConcatenation_default as default };
27
-
28
- //# sourceMappingURL=unnecessaryConcatenation.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "unnecessary", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryEscapes.d.ts.map
@@ -2,7 +2,7 @@ import { ruleCreator } from "./ruleCreator.js";
2
2
  import { typescriptLanguage } from "@flint.fyi/typescript-language";
3
3
  import ts from "typescript";
4
4
  //#region src/rules/unnecessaryEscapes.ts
5
- const validEscapes = new Set([
5
+ const validEscapes = /* @__PURE__ */ new Set([
6
6
  "0",
7
7
  "\"",
8
8
  "'",
@@ -130,5 +130,3 @@ var unnecessaryEscapes_default = ruleCreator.createRule(typescriptLanguage, {
130
130
  });
131
131
  //#endregion
132
132
  export { unnecessaryEscapes_default as default };
133
-
134
- //# sourceMappingURL=unnecessaryEscapes.js.map
@@ -7,4 +7,3 @@ declare const _default: import("@flint.fyi/core").Rule<{
7
7
  readonly url: string;
8
8
  }, "constantArguments" | "incorrectClampOrder", undefined>;
9
9
  export default _default;
10
- //# sourceMappingURL=unnecessaryMathClamps.d.ts.map