eslint-plugin-typefest 1.0.9 → 1.2.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 (297) hide show
  1. package/README.md +95 -98
  2. package/dist/_internal/imported-value-symbols.d.ts.map +1 -1
  3. package/dist/_internal/imported-value-symbols.js +1 -2
  4. package/dist/_internal/imported-value-symbols.js.map +1 -1
  5. package/dist/_internal/rule-catalog.d.ts.map +1 -1
  6. package/dist/_internal/rule-catalog.js +2 -0
  7. package/dist/_internal/rule-catalog.js.map +1 -1
  8. package/dist/_internal/rules-registry.d.ts.map +1 -1
  9. package/dist/_internal/rules-registry.js +0 -6
  10. package/dist/_internal/rules-registry.js.map +1 -1
  11. package/dist/_internal/typed-rule.d.ts +7 -1
  12. package/dist/_internal/typed-rule.d.ts.map +1 -1
  13. package/dist/_internal/typed-rule.js +3 -1
  14. package/dist/_internal/typed-rule.js.map +1 -1
  15. package/dist/plugin.cjs +72 -301
  16. package/dist/plugin.cjs.map +3 -3
  17. package/dist/rules/prefer-ts-extras-array-at.d.ts.map +1 -1
  18. package/dist/rules/prefer-ts-extras-array-at.js +0 -1
  19. package/dist/rules/prefer-ts-extras-array-at.js.map +1 -1
  20. package/dist/rules/prefer-ts-extras-array-concat.d.ts.map +1 -1
  21. package/dist/rules/prefer-ts-extras-array-concat.js +0 -1
  22. package/dist/rules/prefer-ts-extras-array-concat.js.map +1 -1
  23. package/dist/rules/prefer-ts-extras-array-first.d.ts.map +1 -1
  24. package/dist/rules/prefer-ts-extras-array-first.js +0 -1
  25. package/dist/rules/prefer-ts-extras-array-first.js.map +1 -1
  26. package/dist/rules/prefer-ts-extras-array-includes.d.ts.map +1 -1
  27. package/dist/rules/prefer-ts-extras-array-includes.js +0 -1
  28. package/dist/rules/prefer-ts-extras-array-includes.js.map +1 -1
  29. package/dist/rules/prefer-ts-extras-array-join.d.ts.map +1 -1
  30. package/dist/rules/prefer-ts-extras-array-join.js +0 -1
  31. package/dist/rules/prefer-ts-extras-array-join.js.map +1 -1
  32. package/dist/rules/prefer-ts-extras-array-last.d.ts.map +1 -1
  33. package/dist/rules/prefer-ts-extras-array-last.js +0 -1
  34. package/dist/rules/prefer-ts-extras-array-last.js.map +1 -1
  35. package/dist/rules/prefer-ts-extras-as-writable.d.ts.map +1 -1
  36. package/dist/rules/prefer-ts-extras-as-writable.js +0 -1
  37. package/dist/rules/prefer-ts-extras-as-writable.js.map +1 -1
  38. package/dist/rules/prefer-ts-extras-assert-defined.d.ts.map +1 -1
  39. package/dist/rules/prefer-ts-extras-assert-defined.js +0 -1
  40. package/dist/rules/prefer-ts-extras-assert-defined.js.map +1 -1
  41. package/dist/rules/prefer-ts-extras-assert-error.d.ts.map +1 -1
  42. package/dist/rules/prefer-ts-extras-assert-error.js +0 -1
  43. package/dist/rules/prefer-ts-extras-assert-error.js.map +1 -1
  44. package/dist/rules/prefer-ts-extras-assert-present.d.ts.map +1 -1
  45. package/dist/rules/prefer-ts-extras-assert-present.js +0 -1
  46. package/dist/rules/prefer-ts-extras-assert-present.js.map +1 -1
  47. package/dist/rules/prefer-ts-extras-is-defined-filter.d.ts.map +1 -1
  48. package/dist/rules/prefer-ts-extras-is-defined-filter.js +0 -1
  49. package/dist/rules/prefer-ts-extras-is-defined-filter.js.map +1 -1
  50. package/dist/rules/prefer-ts-extras-is-defined.d.ts.map +1 -1
  51. package/dist/rules/prefer-ts-extras-is-defined.js +0 -1
  52. package/dist/rules/prefer-ts-extras-is-defined.js.map +1 -1
  53. package/dist/rules/prefer-ts-extras-is-empty.d.ts.map +1 -1
  54. package/dist/rules/prefer-ts-extras-is-empty.js +0 -1
  55. package/dist/rules/prefer-ts-extras-is-empty.js.map +1 -1
  56. package/dist/rules/prefer-ts-extras-is-equal-type.d.ts.map +1 -1
  57. package/dist/rules/prefer-ts-extras-is-equal-type.js +0 -1
  58. package/dist/rules/prefer-ts-extras-is-equal-type.js.map +1 -1
  59. package/dist/rules/prefer-ts-extras-is-finite.d.ts.map +1 -1
  60. package/dist/rules/prefer-ts-extras-is-finite.js +0 -1
  61. package/dist/rules/prefer-ts-extras-is-finite.js.map +1 -1
  62. package/dist/rules/prefer-ts-extras-is-infinite.d.ts.map +1 -1
  63. package/dist/rules/prefer-ts-extras-is-infinite.js +0 -1
  64. package/dist/rules/prefer-ts-extras-is-infinite.js.map +1 -1
  65. package/dist/rules/prefer-ts-extras-is-integer.d.ts.map +1 -1
  66. package/dist/rules/prefer-ts-extras-is-integer.js +0 -1
  67. package/dist/rules/prefer-ts-extras-is-integer.js.map +1 -1
  68. package/dist/rules/prefer-ts-extras-is-present-filter.d.ts.map +1 -1
  69. package/dist/rules/prefer-ts-extras-is-present-filter.js +0 -1
  70. package/dist/rules/prefer-ts-extras-is-present-filter.js.map +1 -1
  71. package/dist/rules/prefer-ts-extras-is-present.d.ts.map +1 -1
  72. package/dist/rules/prefer-ts-extras-is-present.js +0 -1
  73. package/dist/rules/prefer-ts-extras-is-present.js.map +1 -1
  74. package/dist/rules/prefer-ts-extras-is-safe-integer.d.ts.map +1 -1
  75. package/dist/rules/prefer-ts-extras-is-safe-integer.js +0 -1
  76. package/dist/rules/prefer-ts-extras-is-safe-integer.js.map +1 -1
  77. package/dist/rules/prefer-ts-extras-key-in.d.ts.map +1 -1
  78. package/dist/rules/prefer-ts-extras-key-in.js +0 -1
  79. package/dist/rules/prefer-ts-extras-key-in.js.map +1 -1
  80. package/dist/rules/prefer-ts-extras-not.d.ts.map +1 -1
  81. package/dist/rules/prefer-ts-extras-not.js +0 -1
  82. package/dist/rules/prefer-ts-extras-not.js.map +1 -1
  83. package/dist/rules/prefer-ts-extras-object-entries.d.ts.map +1 -1
  84. package/dist/rules/prefer-ts-extras-object-entries.js +0 -1
  85. package/dist/rules/prefer-ts-extras-object-entries.js.map +1 -1
  86. package/dist/rules/prefer-ts-extras-object-from-entries.d.ts.map +1 -1
  87. package/dist/rules/prefer-ts-extras-object-from-entries.js +0 -1
  88. package/dist/rules/prefer-ts-extras-object-from-entries.js.map +1 -1
  89. package/dist/rules/prefer-ts-extras-object-has-in.d.ts.map +1 -1
  90. package/dist/rules/prefer-ts-extras-object-has-in.js +0 -1
  91. package/dist/rules/prefer-ts-extras-object-has-in.js.map +1 -1
  92. package/dist/rules/prefer-ts-extras-object-has-own.d.ts.map +1 -1
  93. package/dist/rules/prefer-ts-extras-object-has-own.js +0 -1
  94. package/dist/rules/prefer-ts-extras-object-has-own.js.map +1 -1
  95. package/dist/rules/prefer-ts-extras-object-keys.d.ts.map +1 -1
  96. package/dist/rules/prefer-ts-extras-object-keys.js +0 -1
  97. package/dist/rules/prefer-ts-extras-object-keys.js.map +1 -1
  98. package/dist/rules/prefer-ts-extras-object-map-values.d.ts.map +1 -1
  99. package/dist/rules/prefer-ts-extras-object-map-values.js +0 -1
  100. package/dist/rules/prefer-ts-extras-object-map-values.js.map +1 -1
  101. package/dist/rules/prefer-ts-extras-object-values.d.ts.map +1 -1
  102. package/dist/rules/prefer-ts-extras-object-values.js +0 -1
  103. package/dist/rules/prefer-ts-extras-object-values.js.map +1 -1
  104. package/dist/rules/prefer-ts-extras-safe-cast-to.d.ts.map +1 -1
  105. package/dist/rules/prefer-ts-extras-safe-cast-to.js +0 -1
  106. package/dist/rules/prefer-ts-extras-safe-cast-to.js.map +1 -1
  107. package/dist/rules/prefer-ts-extras-string-split.d.ts.map +1 -1
  108. package/dist/rules/prefer-ts-extras-string-split.js +0 -1
  109. package/dist/rules/prefer-ts-extras-string-split.js.map +1 -1
  110. package/dist/rules/prefer-type-fest-abstract-constructor.d.ts.map +1 -1
  111. package/dist/rules/prefer-type-fest-abstract-constructor.js +0 -1
  112. package/dist/rules/prefer-type-fest-abstract-constructor.js.map +1 -1
  113. package/dist/rules/prefer-type-fest-and-all.d.ts.map +1 -1
  114. package/dist/rules/prefer-type-fest-and-all.js +0 -1
  115. package/dist/rules/prefer-type-fest-and-all.js.map +1 -1
  116. package/dist/rules/prefer-type-fest-array-length.d.ts.map +1 -1
  117. package/dist/rules/prefer-type-fest-array-length.js +0 -1
  118. package/dist/rules/prefer-type-fest-array-length.js.map +1 -1
  119. package/dist/rules/prefer-type-fest-arrayable.d.ts.map +1 -1
  120. package/dist/rules/prefer-type-fest-arrayable.js +0 -1
  121. package/dist/rules/prefer-type-fest-arrayable.js.map +1 -1
  122. package/dist/rules/prefer-type-fest-async-return-type.d.ts.map +1 -1
  123. package/dist/rules/prefer-type-fest-async-return-type.js +0 -1
  124. package/dist/rules/prefer-type-fest-async-return-type.js.map +1 -1
  125. package/dist/rules/prefer-type-fest-asyncify.d.ts.map +1 -1
  126. package/dist/rules/prefer-type-fest-asyncify.js +0 -1
  127. package/dist/rules/prefer-type-fest-asyncify.js.map +1 -1
  128. package/dist/rules/prefer-type-fest-conditional-except.d.ts.map +1 -1
  129. package/dist/rules/prefer-type-fest-conditional-except.js +0 -1
  130. package/dist/rules/prefer-type-fest-conditional-except.js.map +1 -1
  131. package/dist/rules/prefer-type-fest-conditional-keys.d.ts.map +1 -1
  132. package/dist/rules/prefer-type-fest-conditional-keys.js +0 -1
  133. package/dist/rules/prefer-type-fest-conditional-keys.js.map +1 -1
  134. package/dist/rules/prefer-type-fest-conditional-pick-deep.d.ts.map +1 -1
  135. package/dist/rules/prefer-type-fest-conditional-pick-deep.js +0 -1
  136. package/dist/rules/prefer-type-fest-conditional-pick-deep.js.map +1 -1
  137. package/dist/rules/prefer-type-fest-conditional-pick.d.ts.map +1 -1
  138. package/dist/rules/prefer-type-fest-conditional-pick.js +0 -1
  139. package/dist/rules/prefer-type-fest-conditional-pick.js.map +1 -1
  140. package/dist/rules/prefer-type-fest-constructor.d.ts.map +1 -1
  141. package/dist/rules/prefer-type-fest-constructor.js +0 -1
  142. package/dist/rules/prefer-type-fest-constructor.js.map +1 -1
  143. package/dist/rules/prefer-type-fest-distributed-omit.d.ts.map +1 -1
  144. package/dist/rules/prefer-type-fest-distributed-omit.js +0 -1
  145. package/dist/rules/prefer-type-fest-distributed-omit.js.map +1 -1
  146. package/dist/rules/prefer-type-fest-distributed-pick.d.ts.map +1 -1
  147. package/dist/rules/prefer-type-fest-distributed-pick.js +0 -1
  148. package/dist/rules/prefer-type-fest-distributed-pick.js.map +1 -1
  149. package/dist/rules/prefer-type-fest-if.d.ts.map +1 -1
  150. package/dist/rules/prefer-type-fest-if.js +0 -1
  151. package/dist/rules/prefer-type-fest-if.js.map +1 -1
  152. package/dist/rules/prefer-type-fest-iterable-element.d.ts.map +1 -1
  153. package/dist/rules/prefer-type-fest-iterable-element.js +0 -1
  154. package/dist/rules/prefer-type-fest-iterable-element.js.map +1 -1
  155. package/dist/rules/prefer-type-fest-json-array.d.ts.map +1 -1
  156. package/dist/rules/prefer-type-fest-json-array.js +0 -1
  157. package/dist/rules/prefer-type-fest-json-array.js.map +1 -1
  158. package/dist/rules/prefer-type-fest-json-object.d.ts.map +1 -1
  159. package/dist/rules/prefer-type-fest-json-object.js +0 -1
  160. package/dist/rules/prefer-type-fest-json-object.js.map +1 -1
  161. package/dist/rules/prefer-type-fest-json-primitive.d.ts.map +1 -1
  162. package/dist/rules/prefer-type-fest-json-primitive.js +0 -1
  163. package/dist/rules/prefer-type-fest-json-primitive.js.map +1 -1
  164. package/dist/rules/prefer-type-fest-json-value.d.ts.map +1 -1
  165. package/dist/rules/prefer-type-fest-json-value.js +0 -1
  166. package/dist/rules/prefer-type-fest-json-value.js.map +1 -1
  167. package/dist/rules/prefer-type-fest-keys-of-union.d.ts.map +1 -1
  168. package/dist/rules/prefer-type-fest-keys-of-union.js +0 -1
  169. package/dist/rules/prefer-type-fest-keys-of-union.js.map +1 -1
  170. package/dist/rules/prefer-type-fest-less-than-or-equal.d.ts.map +1 -1
  171. package/dist/rules/prefer-type-fest-less-than-or-equal.js +0 -1
  172. package/dist/rules/prefer-type-fest-less-than-or-equal.js.map +1 -1
  173. package/dist/rules/prefer-type-fest-less-than.d.ts.map +1 -1
  174. package/dist/rules/prefer-type-fest-less-than.js +0 -1
  175. package/dist/rules/prefer-type-fest-less-than.js.map +1 -1
  176. package/dist/rules/prefer-type-fest-literal-union.d.ts.map +1 -1
  177. package/dist/rules/prefer-type-fest-literal-union.js +0 -1
  178. package/dist/rules/prefer-type-fest-literal-union.js.map +1 -1
  179. package/dist/rules/prefer-type-fest-merge-exclusive.d.ts.map +1 -1
  180. package/dist/rules/prefer-type-fest-merge-exclusive.js +0 -1
  181. package/dist/rules/prefer-type-fest-merge-exclusive.js.map +1 -1
  182. package/dist/rules/prefer-type-fest-merge.d.ts.map +1 -1
  183. package/dist/rules/prefer-type-fest-merge.js +0 -1
  184. package/dist/rules/prefer-type-fest-merge.js.map +1 -1
  185. package/dist/rules/prefer-type-fest-non-empty-tuple.d.ts.map +1 -1
  186. package/dist/rules/prefer-type-fest-non-empty-tuple.js +0 -1
  187. package/dist/rules/prefer-type-fest-non-empty-tuple.js.map +1 -1
  188. package/dist/rules/prefer-type-fest-omit-index-signature.d.ts.map +1 -1
  189. package/dist/rules/prefer-type-fest-omit-index-signature.js +0 -1
  190. package/dist/rules/prefer-type-fest-omit-index-signature.js.map +1 -1
  191. package/dist/rules/prefer-type-fest-optional.d.ts.map +1 -1
  192. package/dist/rules/prefer-type-fest-optional.js +0 -1
  193. package/dist/rules/prefer-type-fest-optional.js.map +1 -1
  194. package/dist/rules/prefer-type-fest-or-all.d.ts.map +1 -1
  195. package/dist/rules/prefer-type-fest-or-all.js +0 -1
  196. package/dist/rules/prefer-type-fest-or-all.js.map +1 -1
  197. package/dist/rules/prefer-type-fest-partial-deep.d.ts.map +1 -1
  198. package/dist/rules/prefer-type-fest-partial-deep.js +0 -1
  199. package/dist/rules/prefer-type-fest-partial-deep.js.map +1 -1
  200. package/dist/rules/prefer-type-fest-pick-index-signature.d.ts.map +1 -1
  201. package/dist/rules/prefer-type-fest-pick-index-signature.js +0 -1
  202. package/dist/rules/prefer-type-fest-pick-index-signature.js.map +1 -1
  203. package/dist/rules/prefer-type-fest-primitive.d.ts.map +1 -1
  204. package/dist/rules/prefer-type-fest-primitive.js +0 -1
  205. package/dist/rules/prefer-type-fest-primitive.js.map +1 -1
  206. package/dist/rules/prefer-type-fest-readonly-deep.d.ts.map +1 -1
  207. package/dist/rules/prefer-type-fest-readonly-deep.js +0 -1
  208. package/dist/rules/prefer-type-fest-readonly-deep.js.map +1 -1
  209. package/dist/rules/prefer-type-fest-require-all-or-none.d.ts.map +1 -1
  210. package/dist/rules/prefer-type-fest-require-all-or-none.js +0 -1
  211. package/dist/rules/prefer-type-fest-require-all-or-none.js.map +1 -1
  212. package/dist/rules/prefer-type-fest-require-at-least-one.d.ts.map +1 -1
  213. package/dist/rules/prefer-type-fest-require-at-least-one.js +0 -1
  214. package/dist/rules/prefer-type-fest-require-at-least-one.js.map +1 -1
  215. package/dist/rules/prefer-type-fest-require-one-or-none.d.ts.map +1 -1
  216. package/dist/rules/prefer-type-fest-require-one-or-none.js +0 -1
  217. package/dist/rules/prefer-type-fest-require-one-or-none.js.map +1 -1
  218. package/dist/rules/prefer-type-fest-required-deep.d.ts.map +1 -1
  219. package/dist/rules/prefer-type-fest-required-deep.js +0 -1
  220. package/dist/rules/prefer-type-fest-required-deep.js.map +1 -1
  221. package/dist/rules/prefer-type-fest-schema.d.ts.map +1 -1
  222. package/dist/rules/prefer-type-fest-schema.js +0 -1
  223. package/dist/rules/prefer-type-fest-schema.js.map +1 -1
  224. package/dist/rules/prefer-type-fest-set-non-nullable.d.ts.map +1 -1
  225. package/dist/rules/prefer-type-fest-set-non-nullable.js +0 -1
  226. package/dist/rules/prefer-type-fest-set-non-nullable.js.map +1 -1
  227. package/dist/rules/prefer-type-fest-set-optional.d.ts.map +1 -1
  228. package/dist/rules/prefer-type-fest-set-optional.js +0 -1
  229. package/dist/rules/prefer-type-fest-set-optional.js.map +1 -1
  230. package/dist/rules/prefer-type-fest-set-readonly.d.ts.map +1 -1
  231. package/dist/rules/prefer-type-fest-set-readonly.js +0 -1
  232. package/dist/rules/prefer-type-fest-set-readonly.js.map +1 -1
  233. package/dist/rules/prefer-type-fest-set-required.d.ts.map +1 -1
  234. package/dist/rules/prefer-type-fest-set-required.js +0 -1
  235. package/dist/rules/prefer-type-fest-set-required.js.map +1 -1
  236. package/dist/rules/prefer-type-fest-set-return-type.d.ts.map +1 -1
  237. package/dist/rules/prefer-type-fest-set-return-type.js +0 -1
  238. package/dist/rules/prefer-type-fest-set-return-type.js.map +1 -1
  239. package/dist/rules/prefer-type-fest-simplify.d.ts.map +1 -1
  240. package/dist/rules/prefer-type-fest-simplify.js +0 -1
  241. package/dist/rules/prefer-type-fest-simplify.js.map +1 -1
  242. package/dist/rules/prefer-type-fest-stringified.d.ts.map +1 -1
  243. package/dist/rules/prefer-type-fest-stringified.js +0 -1
  244. package/dist/rules/prefer-type-fest-stringified.js.map +1 -1
  245. package/dist/rules/prefer-type-fest-union-member.d.ts.map +1 -1
  246. package/dist/rules/prefer-type-fest-union-member.js +0 -1
  247. package/dist/rules/prefer-type-fest-union-member.js.map +1 -1
  248. package/dist/rules/prefer-type-fest-union-to-intersection.d.ts.map +1 -1
  249. package/dist/rules/prefer-type-fest-union-to-intersection.js +0 -1
  250. package/dist/rules/prefer-type-fest-union-to-intersection.js.map +1 -1
  251. package/dist/rules/prefer-type-fest-union-to-tuple.d.ts.map +1 -1
  252. package/dist/rules/prefer-type-fest-union-to-tuple.js +0 -1
  253. package/dist/rules/prefer-type-fest-union-to-tuple.js.map +1 -1
  254. package/dist/rules/prefer-type-fest-unknown-array.d.ts.map +1 -1
  255. package/dist/rules/prefer-type-fest-unknown-array.js +0 -1
  256. package/dist/rules/prefer-type-fest-unknown-array.js.map +1 -1
  257. package/dist/rules/prefer-type-fest-unknown-map.d.ts.map +1 -1
  258. package/dist/rules/prefer-type-fest-unknown-map.js +0 -1
  259. package/dist/rules/prefer-type-fest-unknown-map.js.map +1 -1
  260. package/dist/rules/prefer-type-fest-unknown-record.d.ts.map +1 -1
  261. package/dist/rules/prefer-type-fest-unknown-record.js +0 -1
  262. package/dist/rules/prefer-type-fest-unknown-record.js.map +1 -1
  263. package/dist/rules/prefer-type-fest-unknown-set.d.ts.map +1 -1
  264. package/dist/rules/prefer-type-fest-unknown-set.js +0 -1
  265. package/dist/rules/prefer-type-fest-unknown-set.js.map +1 -1
  266. package/dist/rules/prefer-type-fest-unwrap-tagged.d.ts.map +1 -1
  267. package/dist/rules/prefer-type-fest-unwrap-tagged.js +0 -1
  268. package/dist/rules/prefer-type-fest-unwrap-tagged.js.map +1 -1
  269. package/dist/rules/prefer-type-fest-value-of.d.ts.map +1 -1
  270. package/dist/rules/prefer-type-fest-value-of.js +0 -1
  271. package/dist/rules/prefer-type-fest-value-of.js.map +1 -1
  272. package/dist/rules/prefer-type-fest-writable-deep.d.ts.map +1 -1
  273. package/dist/rules/prefer-type-fest-writable-deep.js +0 -1
  274. package/dist/rules/prefer-type-fest-writable-deep.js.map +1 -1
  275. package/dist/rules/prefer-type-fest-writable.d.ts.map +1 -1
  276. package/dist/rules/prefer-type-fest-writable.js +0 -1
  277. package/dist/rules/prefer-type-fest-writable.js.map +1 -1
  278. package/docs/rules/presets/all.md +0 -3
  279. package/docs/rules/presets/experimental.md +97 -100
  280. package/docs/rules/presets/index.md +0 -3
  281. package/docs/rules/presets/strict.md +0 -1
  282. package/package.json +70 -70
  283. package/dist/rules/prefer-ts-extras-array-find-last-index.d.ts +0 -13
  284. package/dist/rules/prefer-ts-extras-array-find-last-index.d.ts.map +0 -1
  285. package/dist/rules/prefer-ts-extras-array-find-last-index.js +0 -63
  286. package/dist/rules/prefer-ts-extras-array-find-last-index.js.map +0 -1
  287. package/dist/rules/prefer-ts-extras-array-find-last.d.ts +0 -13
  288. package/dist/rules/prefer-ts-extras-array-find-last.d.ts.map +0 -1
  289. package/dist/rules/prefer-ts-extras-array-find-last.js +0 -66
  290. package/dist/rules/prefer-ts-extras-array-find-last.js.map +0 -1
  291. package/dist/rules/prefer-ts-extras-array-find.d.ts +0 -13
  292. package/dist/rules/prefer-ts-extras-array-find.d.ts.map +0 -1
  293. package/dist/rules/prefer-ts-extras-array-find.js +0 -63
  294. package/dist/rules/prefer-ts-extras-array-find.js.map +0 -1
  295. package/docs/rules/prefer-ts-extras-array-find-last-index.md +0 -108
  296. package/docs/rules/prefer-ts-extras-array-find-last.md +0 -108
  297. package/docs/rules/prefer-ts-extras-array-find.md +0 -108
@@ -1,108 +0,0 @@
1
- # prefer-ts-extras-array-find-last-index
2
-
3
- Prefer [`arrayFindLastIndex`](https://github.com/sindresorhus/ts-extras/blob/main/source/array-find-last-index.ts) from `ts-extras` over `array.findLastIndex(...)`.
4
-
5
- `arrayFindLastIndex(...)` improves predicate inference in typed arrays.
6
-
7
- ## Targeted pattern scope
8
-
9
- This rule focuses on direct `array.findLastIndex(predicate)` calls that can be migrated to `arrayFindLastIndex(array, predicate)` with deterministic fixes.
10
-
11
- - `array.findLastIndex(predicate)` call sites that can use `arrayFindLastIndex(array, predicate)`.
12
-
13
- Alias indirection, wrapper helpers, and non-canonical call shapes are excluded to keep `arrayFindLastIndex(array, predicate)` migrations safe.
14
-
15
- ## What this rule reports
16
-
17
- This rule reports `array.findLastIndex(predicate)` call sites when `arrayFindLastIndex(array, predicate)` is the intended replacement.
18
-
19
- - `array.findLastIndex(predicate)` call sites that can use `arrayFindLastIndex(array, predicate)`.
20
-
21
- ## Why this rule exists
22
-
23
- `arrayFindLastIndex` standardizes reverse index lookup and keeps call signatures aligned with other `ts-extras` search helpers.
24
-
25
- - Reverse index scans are explicit at the call site.
26
- - Search code avoids mixed native/helper patterns.
27
- - Index-based follow-up logic stays uniform across modules.
28
-
29
- ## ❌ Incorrect
30
-
31
- ```ts
32
- const index = monitors.findLastIndex((entry) => entry.id === targetId);
33
- ```
34
-
35
- ## ✅ Correct
36
-
37
- ```ts
38
- const index = arrayFindLastIndex(monitors, (entry) => entry.id === targetId);
39
- ```
40
-
41
- ## Behavior and migration notes
42
-
43
- - Runtime behavior matches native `Array.prototype.findLastIndex`.
44
- - Search still proceeds from right to left.
45
- - If no element matches, the result is `-1`.
46
-
47
- ## Additional examples
48
-
49
- ### ❌ Incorrect — Additional example
50
-
51
- ```ts
52
- const index = logs.findLastIndex((entry) => entry.level === "warn");
53
- ```
54
-
55
- ### ✅ Correct — Additional example
56
-
57
- ```ts
58
- const index = arrayFindLastIndex(logs, (entry) => entry.level === "warn");
59
- ```
60
-
61
- ### ✅ Correct — Repository-wide usage
62
-
63
- ```ts
64
- const retryIndex = arrayFindLastIndex(attempts, (attempt) => !attempt.success);
65
- ```
66
-
67
- ## ESLint flat config example
68
-
69
- ```ts
70
- import typefest from "eslint-plugin-typefest";
71
-
72
- export default [
73
- {
74
- plugins: { typefest },
75
- rules: {
76
- "typefest/prefer-ts-extras-array-find-last-index": "error",
77
- },
78
- },
79
- ];
80
- ```
81
-
82
- ## When not to use it
83
-
84
- Disable this rule if your codebase has standardized on native `.findLastIndex()`.
85
-
86
- ## Package documentation
87
-
88
- ts-extras package documentation:
89
-
90
- `ts-extras@0.17.x` does not currently expose `arrayFindLastIndex` in its published API, so there is no canonical `source/*.ts` link for this helper yet.
91
-
92
- Reference links:
93
-
94
- - [`ts-extras` API list (README)](https://github.com/sindresorhus/ts-extras/blob/main/readme.md#api)
95
- - [`ts-extras` source directory](https://github.com/sindresorhus/ts-extras/tree/main/source)
96
-
97
- > **Rule catalog ID:** R005
98
-
99
- ## Further reading
100
-
101
- - [`ts-extras` README](https://github.com/sindresorhus/ts-extras)
102
- - [`ts-extras` package reference](https://www.npmjs.com/package/ts-extras)
103
- - [TypeScript Handbook: Narrowing](https://www.typescriptlang.org/docs/handbook/2/narrowing.html)
104
-
105
- ## Adoption resources
106
-
107
- - [Rule adoption checklist](./guides/adoption-checklist.md)
108
- - [Rollout and fix safety](./guides/rollout-and-fix-safety.md)
@@ -1,108 +0,0 @@
1
- # prefer-ts-extras-array-find-last
2
-
3
- Prefer [`arrayFindLast`](https://github.com/sindresorhus/ts-extras/blob/main/source/array-find-last.ts) from `ts-extras` over `array.findLast(...)`.
4
-
5
- `arrayFindLast(...)` improves predicate inference and value narrowing in typed arrays.
6
-
7
- ## Targeted pattern scope
8
-
9
- This rule focuses on direct `array.findLast(predicate)` calls that can be migrated to `arrayFindLast(array, predicate)` with deterministic fixes.
10
-
11
- - `array.findLast(predicate)` call sites that can use `arrayFindLast(array, predicate)`.
12
-
13
- Alias indirection, wrapper helpers, and non-canonical call shapes are excluded to keep `arrayFindLast(array, predicate)` migrations safe.
14
-
15
- ## What this rule reports
16
-
17
- This rule reports `array.findLast(predicate)` call sites when `arrayFindLast(array, predicate)` is the intended replacement.
18
-
19
- - `array.findLast(predicate)` call sites that can use `arrayFindLast(array, predicate)`.
20
-
21
- ## Why this rule exists
22
-
23
- `arrayFindLast` makes reverse-direction predicate lookups explicit and keeps them aligned with the `ts-extras` helper style.
24
-
25
- - Reverse scans are easier to spot during code review.
26
- - Call signatures stay consistent with `arrayFind` / `arrayFindLastIndex`.
27
- - Utility code that depends on "latest match" is easier to audit.
28
-
29
- ## ❌ Incorrect
30
-
31
- ```ts
32
- const monitor = monitors.findLast((entry) => entry.id === targetId);
33
- ```
34
-
35
- ## ✅ Correct
36
-
37
- ```ts
38
- const monitor = arrayFindLast(monitors, (entry) => entry.id === targetId);
39
- ```
40
-
41
- ## Behavior and migration notes
42
-
43
- - Runtime behavior matches native `Array.prototype.findLast`.
44
- - Search direction remains right-to-left.
45
- - Result is the matching element, or `undefined` if no match exists.
46
-
47
- ## Additional examples
48
-
49
- ### ❌ Incorrect — Additional example
50
-
51
- ```ts
52
- const latest = events.findLast((entry) => entry.type === "login");
53
- ```
54
-
55
- ### ✅ Correct — Additional example
56
-
57
- ```ts
58
- const latest = arrayFindLast(events, (entry) => entry.type === "login");
59
- ```
60
-
61
- ### ✅ Correct — Repository-wide usage
62
-
63
- ```ts
64
- const trailingError = arrayFindLast(logs, (entry) => entry.level === "error");
65
- ```
66
-
67
- ## ESLint flat config example
68
-
69
- ```ts
70
- import typefest from "eslint-plugin-typefest";
71
-
72
- export default [
73
- {
74
- plugins: { typefest },
75
- rules: {
76
- "typefest/prefer-ts-extras-array-find-last": "error",
77
- },
78
- },
79
- ];
80
- ```
81
-
82
- ## When not to use it
83
-
84
- Disable this rule if your team intentionally uses native `.findLast()` everywhere.
85
-
86
- ## Package documentation
87
-
88
- ts-extras package documentation:
89
-
90
- `ts-extras@0.17.x` does not currently expose `arrayFindLast` in its published API, so there is no canonical `source/*.ts` link for this helper yet.
91
-
92
- Reference links:
93
-
94
- - [`ts-extras` API list (README)](https://github.com/sindresorhus/ts-extras/blob/main/readme.md#api)
95
- - [`ts-extras` source directory](https://github.com/sindresorhus/ts-extras/tree/main/source)
96
-
97
- > **Rule catalog ID:** R004
98
-
99
- ## Further reading
100
-
101
- - [`ts-extras` README](https://github.com/sindresorhus/ts-extras)
102
- - [`ts-extras` package reference](https://www.npmjs.com/package/ts-extras)
103
- - [TypeScript Handbook: Narrowing](https://www.typescriptlang.org/docs/handbook/2/narrowing.html)
104
-
105
- ## Adoption resources
106
-
107
- - [Rule adoption checklist](./guides/adoption-checklist.md)
108
- - [Rollout and fix safety](./guides/rollout-and-fix-safety.md)
@@ -1,108 +0,0 @@
1
- # prefer-ts-extras-array-find
2
-
3
- Prefer [`arrayFind`](https://github.com/sindresorhus/ts-extras/blob/main/source/array-find.ts) from `ts-extras` over `array.find(...)`.
4
-
5
- `arrayFind(...)` improves predicate inference and value narrowing in typed arrays.
6
-
7
- ## Targeted pattern scope
8
-
9
- This rule focuses on direct `array.find(predicate)` calls that can be migrated to `arrayFind(array, predicate)` with deterministic fixes.
10
-
11
- - `array.find(predicate)` call sites that can use `arrayFind(array, predicate)`.
12
-
13
- Alias indirection, wrapper helpers, and non-canonical call shapes are excluded to keep `arrayFind(array, predicate)` migrations safe.
14
-
15
- ## What this rule reports
16
-
17
- This rule reports `array.find(predicate)` call sites when `arrayFind(array, predicate)` is the intended replacement.
18
-
19
- - `array.find(predicate)` call sites that can use `arrayFind(array, predicate)`.
20
-
21
- ## Why this rule exists
22
-
23
- `arrayFind` keeps predicate-driven lookup aligned with the other `ts-extras` helper APIs and improves inference in generic code.
24
-
25
- - Predicate call sites are standardized across modules.
26
- - Result types are easier to follow in utility layers.
27
- - Local type assertions after `find` calls are reduced.
28
-
29
- ## ❌ Incorrect
30
-
31
- ```ts
32
- const monitor = monitors.find((entry) => entry.id === targetId);
33
- ```
34
-
35
- ## ✅ Correct
36
-
37
- ```ts
38
- const monitor = arrayFind(monitors, (entry) => entry.id === targetId);
39
- ```
40
-
41
- ## Behavior and migration notes
42
-
43
- - Runtime behavior matches native `Array.prototype.find`.
44
- - Search still returns the first matching element.
45
- - If no element matches, the result is `undefined`.
46
-
47
- ## Additional examples
48
-
49
- ### ❌ Incorrect — Additional example
50
-
51
- ```ts
52
- const user = users.find((item) => item.id === userId);
53
- ```
54
-
55
- ### ✅ Correct — Additional example
56
-
57
- ```ts
58
- const user = arrayFind(users, (item) => item.id === userId);
59
- ```
60
-
61
- ### ✅ Correct — Repository-wide usage
62
-
63
- ```ts
64
- const firstError = arrayFind(logs, (entry) => entry.level === "error");
65
- ```
66
-
67
- ## ESLint flat config example
68
-
69
- ```ts
70
- import typefest from "eslint-plugin-typefest";
71
-
72
- export default [
73
- {
74
- plugins: { typefest },
75
- rules: {
76
- "typefest/prefer-ts-extras-array-find": "error",
77
- },
78
- },
79
- ];
80
- ```
81
-
82
- ## When not to use it
83
-
84
- Disable this rule if your team requires native `.find()` for consistency with existing shared APIs.
85
-
86
- ## Package documentation
87
-
88
- ts-extras package documentation:
89
-
90
- `ts-extras@0.17.x` does not currently expose `arrayFind` in its published API, so there is no canonical `source/*.ts` link for this helper yet.
91
-
92
- Reference links:
93
-
94
- - [`ts-extras` API list (README)](https://github.com/sindresorhus/ts-extras/blob/main/readme.md#api)
95
- - [`ts-extras` source directory](https://github.com/sindresorhus/ts-extras/tree/main/source)
96
-
97
- > **Rule catalog ID:** R003
98
-
99
- ## Further reading
100
-
101
- - [`ts-extras` README](https://github.com/sindresorhus/ts-extras)
102
- - [`ts-extras` package reference](https://www.npmjs.com/package/ts-extras)
103
- - [TypeScript Handbook: Narrowing](https://www.typescriptlang.org/docs/handbook/2/narrowing.html)
104
-
105
- ## Adoption resources
106
-
107
- - [Rule adoption checklist](./guides/adoption-checklist.md)
108
- - [Rollout and fix safety](./guides/rollout-and-fix-safety.md)