@codeperfect/eslint-plugin 1.0.0 → 2.0.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 (557) hide show
  1. package/README.md +26 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
  4. package/dist/application/custom-rules.d.ts.map +1 -0
  5. package/dist/application/custom-rules.js +74 -0
  6. package/dist/application/index.d.ts +4 -0
  7. package/dist/application/index.d.ts.map +1 -0
  8. package/dist/application/index.js +3 -0
  9. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
  12. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
  13. package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
  17. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
  18. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
  19. package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
  20. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
  22. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
  23. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +140 -0
  24. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
  25. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
  26. package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
  27. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
  28. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +85 -0
  29. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
  30. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
  31. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
  32. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
  33. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
  34. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
  35. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
  36. package/dist/domain/architecture/consistent-barrel-files/rule.js +43 -0
  37. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
  38. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
  39. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
  40. package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
  41. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
  42. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
  43. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
  44. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
  45. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
  46. package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
  47. package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
  48. package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
  49. package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
  50. package/dist/domain/architecture/index.d.ts.map +1 -0
  51. package/dist/domain/architecture/index.js +2 -0
  52. package/dist/{core → domain/core}/index.d.ts +2 -2
  53. package/dist/domain/core/index.d.ts.map +1 -0
  54. package/dist/domain/core/index.js +3 -0
  55. package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
  56. package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
  57. package/dist/domain/core/no-multiple-declarators/index.js +2 -0
  58. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
  59. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
  60. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
  61. package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
  62. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
  63. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
  64. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
  65. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
  66. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
  67. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
  68. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
  69. package/dist/domain/core/no-multiple-declarators/rule.js +219 -0
  70. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
  71. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
  72. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
  73. package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
  74. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
  75. package/dist/domain/core/no-multiple-declarators/types.js +38 -0
  76. package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
  77. package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
  78. package/dist/domain/core/prefer-interface-types/index.js +2 -0
  79. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
  80. package/dist/domain/core/prefer-interface-types/rule.js +145 -0
  81. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
  82. package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
  83. package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +1 -1
  84. package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
  85. package/dist/domain/custom-rule-documentation.js +35 -0
  86. package/dist/domain/docs/index.d.ts +4 -0
  87. package/dist/domain/docs/index.d.ts.map +1 -0
  88. package/dist/domain/docs/index.js +4 -0
  89. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
  90. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
  91. package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
  92. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
  93. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
  94. package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
  95. package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
  96. package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
  97. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
  98. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
  99. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
  100. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
  101. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
  102. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
  103. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
  104. package/dist/domain/docs/no-interface-member-docs/rule.js +168 -0
  105. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  106. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +157 -0
  107. package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
  108. package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
  109. package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
  110. package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
  111. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
  112. package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
  113. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
  114. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
  115. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
  116. package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
  117. package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
  118. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
  119. package/dist/domain/docs/require-example-language/examples.js +181 -0
  120. package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
  121. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
  122. package/dist/domain/docs/require-example-language/fixes.js +182 -0
  123. package/dist/domain/docs/require-example-language/index.d.ts +3 -0
  124. package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
  125. package/dist/domain/docs/require-example-language/index.js +2 -0
  126. package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
  127. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
  128. package/dist/domain/docs/require-example-language/reporting.js +148 -0
  129. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
  130. package/dist/domain/docs/require-example-language/rule.js +34 -0
  131. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
  132. package/dist/domain/docs/require-example-language/types.js +2 -0
  133. package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
  134. package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
  135. package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
  136. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  137. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
  138. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
  139. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
  140. package/dist/domain/docs/single-line-jsdoc/rule.js +196 -0
  141. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
  142. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
  143. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
  144. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  145. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  146. package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
  147. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  148. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  149. package/dist/domain/docs/test-helpers.d.ts.map +1 -0
  150. package/dist/domain/docs/test-helpers.js +107 -0
  151. package/dist/domain/index.d.ts +6 -0
  152. package/dist/domain/index.d.ts.map +1 -0
  153. package/dist/domain/index.js +6 -0
  154. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +92 -0
  155. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
  156. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +4 -0
  157. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
  158. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +4 -0
  159. package/dist/domain/testing/aaa/analyzer.analysis.js +247 -0
  160. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +93 -0
  161. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
  162. package/dist/domain/testing/aaa/analyzer.assertions.js +283 -0
  163. package/dist/domain/testing/aaa/analyzer.classification.d.ts +75 -0
  164. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
  165. package/dist/domain/testing/aaa/analyzer.classification.js +201 -0
  166. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
  167. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
  168. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
  169. package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
  170. package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
  171. package/dist/domain/testing/aaa/analyzer.js +59 -0
  172. package/dist/domain/testing/aaa/analyzer.super.d.ts +107 -0
  173. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
  174. package/dist/domain/testing/aaa/analyzer.super.js +228 -0
  175. package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
  176. package/dist/domain/testing/aaa/index.d.ts.map +1 -0
  177. package/dist/domain/testing/aaa/index.js +2 -0
  178. package/dist/domain/testing/aaa/types.d.ts +58 -0
  179. package/dist/domain/testing/aaa/types.d.ts.map +1 -0
  180. package/dist/domain/testing/aaa/types.js +2 -0
  181. package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
  182. package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  183. package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
  184. package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
  185. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  186. package/dist/domain/testing/assert-actual-expected-names/rule.js +113 -0
  187. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  188. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  189. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
  190. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
  191. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
  192. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
  193. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
  194. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
  195. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
  196. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
  197. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
  198. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
  199. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
  200. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
  201. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
  202. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
  203. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
  204. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
  205. package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
  206. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  207. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +34 -0
  208. package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
  209. package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  210. package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
  211. package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
  212. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  213. package/dist/domain/testing/enforce-aaa-structure/rule.js +85 -0
  214. package/dist/{testing → domain/testing}/index.d.ts +9 -8
  215. package/dist/domain/testing/index.d.ts.map +1 -0
  216. package/dist/domain/testing/index.js +10 -0
  217. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
  218. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
  219. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
  220. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
  221. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
  222. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
  223. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
  224. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
  225. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
  226. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
  227. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  228. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
  229. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  230. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  231. package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
  232. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
  233. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  234. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  235. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
  236. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  237. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
  238. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  239. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  240. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
  241. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  242. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  243. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
  244. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  245. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  246. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  247. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  248. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
  249. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  250. package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
  251. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
  252. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
  253. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
  254. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  255. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +36 -0
  256. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
  257. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  258. package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +86 -0
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +150 -0
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +81 -0
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +189 -0
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +92 -0
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
  285. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +62 -0
  286. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
  287. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
  288. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
  289. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
  293. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
  294. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
  295. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +203 -0
  296. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
  297. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
  298. package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
  299. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
  300. package/dist/domain/testing/require-aaa-sections/index.js +2 -0
  301. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
  302. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
  303. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
  304. package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
  305. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
  306. package/dist/domain/testing/require-aaa-sections/rule.js +129 -0
  307. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
  308. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
  309. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +217 -0
  310. package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
  311. package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
  312. package/dist/domain/testing/require-act-result-capture/index.js +2 -0
  313. package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
  314. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
  315. package/dist/domain/testing/require-act-result-capture/rule.js +106 -0
  316. package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
  317. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
  318. package/dist/domain/testing/require-test-companion/index.js +3 -0
  319. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
  320. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  321. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  322. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  323. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
  324. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
  325. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  326. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
  327. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
  328. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  329. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  330. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
  331. package/dist/domain/testing/require-test-companion/rule.js +57 -0
  332. package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
  333. package/dist/domain/testing/require-test-companion/types.js +2 -0
  334. package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
  335. package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
  336. package/dist/domain/testing/single-act-statement/index.js +2 -0
  337. package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
  338. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
  339. package/dist/domain/testing/single-act-statement/rule.js +34 -0
  340. package/dist/index.d.ts +4 -5
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/index.js +3 -6
  343. package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
  344. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
  345. package/dist/infrastructure/codeperfect-plugin.js +30 -0
  346. package/dist/infrastructure/index.d.ts +5 -0
  347. package/dist/infrastructure/index.d.ts.map +1 -0
  348. package/dist/infrastructure/index.js +4 -0
  349. package/dist/infrastructure/presets.d.ts +18 -0
  350. package/dist/infrastructure/presets.d.ts.map +1 -0
  351. package/dist/infrastructure/presets.js +81 -0
  352. package/package.json +54 -27
  353. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
  354. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
  355. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
  356. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
  357. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
  358. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  359. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
  360. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
  361. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
  362. package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
  363. package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
  364. package/dist/architecture/consistent-barrel-files/index.js +0 -4
  365. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
  366. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
  367. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  368. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
  369. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
  370. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
  371. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
  372. package/dist/architecture/consistent-barrel-files/rule.js +0 -58
  373. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  374. package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
  375. package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
  376. package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
  377. package/dist/architecture/consistent-barrel-files/types.js +0 -2
  378. package/dist/architecture/index.d.ts.map +0 -1
  379. package/dist/architecture/index.js +0 -2
  380. package/dist/benchmark-rules.d.ts +0 -83
  381. package/dist/benchmark-rules.d.ts.map +0 -1
  382. package/dist/benchmark-rules.js +0 -175
  383. package/dist/codeperfect-plugin.d.ts.map +0 -1
  384. package/dist/codeperfect-plugin.js +0 -29
  385. package/dist/core/index.d.ts.map +0 -1
  386. package/dist/core/index.js +0 -3
  387. package/dist/core/no-multiple-declarators/index.d.ts +0 -2
  388. package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
  389. package/dist/core/no-multiple-declarators/index.js +0 -2
  390. package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
  391. package/dist/core/no-multiple-declarators/rule.js +0 -100
  392. package/dist/core/prefer-interface-types/index.d.ts +0 -2
  393. package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
  394. package/dist/core/prefer-interface-types/index.js +0 -2
  395. package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
  396. package/dist/core/prefer-interface-types/rule.js +0 -145
  397. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  398. package/dist/core/prefer-interface-types/test-helpers.js +0 -116
  399. package/dist/custom-rule-documentation.d.ts.map +0 -1
  400. package/dist/custom-rule-documentation.js +0 -35
  401. package/dist/custom-rules.d.ts.map +0 -1
  402. package/dist/custom-rules.js +0 -70
  403. package/dist/docs/index.d.ts +0 -4
  404. package/dist/docs/index.d.ts.map +0 -1
  405. package/dist/docs/index.js +0 -4
  406. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  407. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  408. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
  409. package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
  410. package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
  411. package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
  412. package/dist/docs/no-interface-member-docs/index.js +0 -2
  413. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
  414. package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
  415. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
  416. package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
  417. package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
  418. package/dist/docs/no-interface-member-docs/rule.js +0 -168
  419. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  420. package/dist/docs/no-interface-member-docs/test-helpers.js +0 -157
  421. package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
  422. package/dist/docs/no-interface-member-docs/types.js +0 -2
  423. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
  424. package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
  425. package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
  426. package/dist/docs/require-example-language/example-utilities.js +0 -76
  427. package/dist/docs/require-example-language/examples.d.ts.map +0 -1
  428. package/dist/docs/require-example-language/examples.js +0 -181
  429. package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
  430. package/dist/docs/require-example-language/fixes.js +0 -182
  431. package/dist/docs/require-example-language/index.d.ts +0 -3
  432. package/dist/docs/require-example-language/index.d.ts.map +0 -1
  433. package/dist/docs/require-example-language/index.js +0 -2
  434. package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
  435. package/dist/docs/require-example-language/reporting.js +0 -145
  436. package/dist/docs/require-example-language/rule.d.ts.map +0 -1
  437. package/dist/docs/require-example-language/rule.js +0 -34
  438. package/dist/docs/require-example-language/types.d.ts.map +0 -1
  439. package/dist/docs/require-example-language/types.js +0 -2
  440. package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
  441. package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
  442. package/dist/docs/single-line-jsdoc/index.js +0 -2
  443. package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
  444. package/dist/docs/single-line-jsdoc/rule.js +0 -196
  445. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
  446. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
  447. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
  448. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
  449. package/dist/docs/test-helpers.d.ts.map +0 -1
  450. package/dist/docs/test-helpers.js +0 -107
  451. package/dist/presets.d.ts +0 -10
  452. package/dist/presets.d.ts.map +0 -1
  453. package/dist/presets.js +0 -50
  454. package/dist/rules/index.d.ts +0 -5
  455. package/dist/rules/index.d.ts.map +0 -1
  456. package/dist/rules/index.js +0 -6
  457. package/dist/testing/aaa/analyzer.d.ts +0 -36
  458. package/dist/testing/aaa/analyzer.d.ts.map +0 -1
  459. package/dist/testing/aaa/analyzer.js +0 -490
  460. package/dist/testing/aaa/index.d.ts.map +0 -1
  461. package/dist/testing/aaa/index.js +0 -2
  462. package/dist/testing/aaa/types.d.ts +0 -31
  463. package/dist/testing/aaa/types.d.ts.map +0 -1
  464. package/dist/testing/aaa/types.js +0 -2
  465. package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
  466. package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
  467. package/dist/testing/assert-actual-expected-names/index.js +0 -2
  468. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
  469. package/dist/testing/assert-actual-expected-names/rule.js +0 -54
  470. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
  471. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
  472. package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
  473. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  474. package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
  475. package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
  476. package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
  477. package/dist/testing/enforce-aaa-structure/index.js +0 -2
  478. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
  479. package/dist/testing/enforce-aaa-structure/rule.js +0 -48
  480. package/dist/testing/index.d.ts.map +0 -1
  481. package/dist/testing/index.js +0 -9
  482. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
  483. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
  484. package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
  485. package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
  486. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
  487. package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
  488. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
  489. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
  490. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
  491. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
  492. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
  493. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
  494. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
  495. package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
  496. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
  497. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
  498. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
  499. package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
  500. package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
  501. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
  502. package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
  503. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
  504. package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
  505. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
  506. package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
  507. package/dist/testing/require-aaa-sections/index.d.ts +0 -2
  508. package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
  509. package/dist/testing/require-aaa-sections/index.js +0 -2
  510. package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
  511. package/dist/testing/require-aaa-sections/rule.js +0 -111
  512. package/dist/testing/require-act-result-capture/index.d.ts +0 -2
  513. package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
  514. package/dist/testing/require-act-result-capture/index.js +0 -2
  515. package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
  516. package/dist/testing/require-act-result-capture/rule.js +0 -34
  517. package/dist/testing/require-test-companion/index.d.ts +0 -3
  518. package/dist/testing/require-test-companion/index.d.ts.map +0 -1
  519. package/dist/testing/require-test-companion/index.js +0 -3
  520. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
  521. package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
  522. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
  523. package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
  524. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  525. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
  526. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  527. package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
  528. package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
  529. package/dist/testing/require-test-companion/rule.js +0 -57
  530. package/dist/testing/require-test-companion/types.d.ts.map +0 -1
  531. package/dist/testing/require-test-companion/types.js +0 -2
  532. package/dist/testing/single-act-statement/index.d.ts +0 -2
  533. package/dist/testing/single-act-statement/index.d.ts.map +0 -1
  534. package/dist/testing/single-act-statement/index.js +0 -2
  535. package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
  536. package/dist/testing/single-act-statement/rule.js +0 -33
  537. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
  538. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
  539. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
  540. /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
  541. /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
  542. /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
  543. /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
  544. /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
  545. /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
  546. /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
  547. /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
  548. /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
  549. /package/dist/{docs → domain/docs}/single-line-jsdoc/rule.d.ts +0 -0
  550. /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
  551. /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
  552. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
  553. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
  554. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
  555. /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
  556. /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
  557. /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
@@ -1,175 +0,0 @@
1
- import { Linter } from "eslint";
2
- import { performance } from "node:perf_hooks";
3
- import { pathToFileURL } from "node:url";
4
- import { parser } from "typescript-eslint";
5
- import { consistentBarrelFilesRule, preferInterfaceTypesRule, preferViMockedImportRule, requireExampleLanguageRule, } from "./rules";
6
- /** Iteration count for each benchmark case. */
7
- const iterations = 25;
8
- /** Shared TypeScript language options for benchmark runs. */
9
- const languageOptions = {
10
- ecmaVersion: 2022,
11
- parser,
12
- sourceType: "module",
13
- };
14
- /** Benchmark cases covering the heavier package-owned rules. */
15
- const benchmarkCases = [
16
- {
17
- code: Array.from({ length: 200 }, (_unused, index) => {
18
- return `export interface Feature${index} { value: string }`;
19
- }).join("\n"),
20
- filename: "src/features.ts",
21
- ruleName: "prefer-interface-types",
22
- },
23
- {
24
- code: Array.from({ length: 150 }, (_unused, index) => {
25
- return [
26
- "/**",
27
- ` * @example feature${index}()`,
28
- " * ```typescript",
29
- ` * feature${index}();`,
30
- " * ```",
31
- " */",
32
- `export function feature${index}(): void {}`,
33
- ].join("\n");
34
- }).join("\n"),
35
- filename: "src/docs.ts",
36
- ruleName: "require-example-language",
37
- },
38
- {
39
- code: Array.from({ length: 100 }, (_unused, index) => {
40
- return [
41
- `const mockedFeature${index} = vi.fn();`,
42
- `vi.mock("./feature-${index}", () => ({ feature${index}: mockedFeature${index} }));`,
43
- ].join("\n");
44
- }).join("\n"),
45
- filename: "src/example.spec.ts",
46
- ruleName: "prefer-vi-mocked-import",
47
- },
48
- {
49
- code: Array.from({ length: 150 }, (_unused, index) => {
50
- return `export * from "./feature-${index}";`;
51
- }).join("\n"),
52
- filename: "src/index.ts",
53
- ruleName: "consistent-barrel-files",
54
- },
55
- ];
56
- /**
57
- * Formats a benchmark summary for console output.
58
- * @param summary Summary to format.
59
- * @returns Return value output.
60
- * @example
61
- * ```typescript
62
- * const line = formatBenchmarkSummary({
63
- * elapsedMilliseconds: 10,
64
- * iterations: 1,
65
- * ruleName: "prefer-interface-types",
66
- * });
67
- * ```
68
- */
69
- function formatBenchmarkSummary(summary) {
70
- return `${summary.ruleName}: ${summary.elapsedMilliseconds}ms total for ${summary.iterations} iterations`;
71
- }
72
- /**
73
- * Resolves the rule module used for a benchmark case.
74
- * @param ruleName Internal rule name.
75
- * @returns Return value output.
76
- * @throws {TypeError} When the benchmark case references an unsupported rule.
77
- * @example
78
- * ```typescript
79
- * const rule = getRuleModule("prefer-interface-types");
80
- * ```
81
- */
82
- function getRuleModule(ruleName) {
83
- switch (ruleName) {
84
- case "consistent-barrel-files": {
85
- return consistentBarrelFilesRule;
86
- }
87
- case "prefer-interface-types": {
88
- return preferInterfaceTypesRule;
89
- }
90
- case "prefer-vi-mocked-import": {
91
- return preferViMockedImportRule;
92
- }
93
- case "require-example-language": {
94
- return requireExampleLanguageRule;
95
- }
96
- default: {
97
- throw new TypeError(`Unsupported benchmark rule: ${ruleName}`);
98
- }
99
- }
100
- }
101
- /**
102
- * Runs the benchmark command and prints each summary.
103
- * @param iterationsOverride Optional iteration count used by the run.
104
- * @example
105
- * ```typescript
106
- * main(1);
107
- * ```
108
- */
109
- function main(iterationsOverride = iterations) {
110
- for (const summary of runBenchmarks(iterationsOverride)) {
111
- process.stdout.write(`${formatBenchmarkSummary(summary)}\n`);
112
- }
113
- }
114
- /**
115
- * Runs a benchmark case and returns the elapsed milliseconds.
116
- * @param benchmarkCase Benchmark definition.
117
- * @param iterationsOverride Optional iteration count used by the run.
118
- * @returns Return value output.
119
- * @example
120
- * ```typescript
121
- * const summary = runBenchmark(benchmarkCases[0], 1);
122
- * ```
123
- */
124
- function runBenchmark(benchmarkCase, iterationsOverride = iterations) {
125
- const linter = new Linter({ configType: "flat" });
126
- const pluginRules = Object.fromEntries([
127
- [benchmarkCase.ruleName, getRuleModule(benchmarkCase.ruleName)],
128
- ]);
129
- const start = performance.now();
130
- for (let iteration = 0; iteration < iterationsOverride; iteration += 1) {
131
- void linter.verify(benchmarkCase.code, [
132
- {
133
- files: ["**/*.ts"],
134
- languageOptions,
135
- plugins: {
136
- codeperfect: {
137
- rules: pluginRules,
138
- },
139
- },
140
- rules: {
141
- [`codeperfect/${benchmarkCase.ruleName}`]: "error",
142
- },
143
- },
144
- ], benchmarkCase.filename);
145
- }
146
- return {
147
- elapsedMilliseconds: Number((performance.now() - start).toFixed(2)),
148
- iterations: iterationsOverride,
149
- ruleName: benchmarkCase.ruleName,
150
- };
151
- }
152
- /**
153
- * Runs all benchmark cases and returns their summaries.
154
- * @param iterationsOverride Optional iteration count used by the run.
155
- * @returns Return value output.
156
- * @example
157
- * ```typescript
158
- * const summaries = runBenchmarks(1);
159
- * ```
160
- */
161
- function runBenchmarks(iterationsOverride = iterations) {
162
- return benchmarkCases.map((benchmarkCase) => runBenchmark(benchmarkCase, iterationsOverride));
163
- }
164
- /** Current CLI entry file when invoked from the terminal. */
165
- const [, currentEntry] = process.argv;
166
- /** Iteration count used by the CLI entry point. */
167
- const cliIterations = Number(process.env["BENCHMARK_RULE_ITERATIONS"] ?? iterations);
168
- if (currentEntry !== void 0 &&
169
- import.meta.url === pathToFileURL(currentEntry).href) {
170
- main(Number.isNaN(cliIterations) || cliIterations < 1
171
- ? iterations
172
- : cliIterations);
173
- }
174
- export { benchmarkCases, formatBenchmarkSummary, main, runBenchmark, runBenchmarks, };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JlbmNobWFyay1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMEJBQTBCLEdBQzNCLE1BQU0sU0FBUyxDQUFDO0FBMEJqQiwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBRXRCLDZEQUE2RDtBQUM3RCxNQUFNLGVBQWUsR0FBRztJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixNQUFNO0lBQ04sVUFBVSxFQUFFLFFBQVE7Q0FDWixDQUFDO0FBRVgsZ0VBQWdFO0FBQ2hFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkQsT0FBTywyQkFBMkIsS0FBSyxvQkFBb0IsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2IsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsd0JBQXdCO0tBQ25DO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRCxPQUFPO2dCQUNMLEtBQUs7Z0JBQ0ws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QU0sQ0FDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLFVBQVUsQ0FDdkQsQ0FBQztBQUVGLElBQ0UsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUNwRCxDQUFDO0lBQ0QsSUFBSSxDQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxHQUFHLENBQUM7UUFDOUMsQ0FBQyxDQUFDLFVBQVU7UUFDWixDQUFDLENBQUMsYUFBYSxDQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLElBQUksRUFDSixZQUFZLEVBQ1osYUFBYSxHQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSBcIm5vZGU6cGVyZl9ob29rc1wiO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gXCJub2RlOnVybFwiO1xuaW1wb3J0IHsgcGFyc2VyIH0gZnJvbSBcInR5cGVzY3JpcHQtZXNsaW50XCI7XG5cbmltcG9ydCB7XG4gIGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbn0gZnJvbSBcIi4vcnVsZXNcIjtcblxuLyoqIFNoYXBlIG9mIGEgYmVuY2htYXJrIGNhc2UuICovXG5pbnRlcmZhY2UgQmVuY2htYXJrQ2FzZSB7XG4gIC8qKiBTb3VyY2UgY29kZSBwYXNzZWQgdG8gRVNMaW50LiAqL1xuICBjb2RlOiBzdHJpbmc7XG5cbiAgLyoqIEZpbGVuYW1lIHVzZWQgZm9yIHRoZSBsaW50IHJ1bi4gKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcblxuICAvKiogUnVsZSBpZCBpbnNpZGUgdGhlIGludGVybmFsIHBsdWdpbi4gKi9cbiAgcnVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqIFN1bW1hcnkgcmV0dXJuZWQgYnkgYSBiZW5jaG1hcmsgcnVuLiAqL1xuaW50ZXJmYWNlIEJlbmNobWFya1N1bW1hcnkge1xuICAvKiogRWxhcHNlZCBtaWxsaXNlY29uZHMgYWNyb3NzIGFsbCBpdGVyYXRpb25zLiAqL1xuICBlbGFwc2VkTWlsbGlzZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqIEl0ZXJhdGlvbiBjb3VudCB1c2VkIGJ5IHRoZSBydW4uICovXG4gIGl0ZXJhdGlvbnM6IG51bWJlcjtcblxuICAvKiogUnVsZSBuYW1lIHVuZGVyIHRlc3QuICovXG4gIHJ1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBJdGVyYXRpb24gY291bnQgZm9yIGVhY2ggYmVuY2htYXJrIGNhc2UuICovXG5jb25zdCBpdGVyYXRpb25zID0gMjU7XG5cbi8qKiBTaGFyZWQgVHlwZVNjcmlwdCBsYW5ndWFnZSBvcHRpb25zIGZvciBiZW5jaG1hcmsgcnVucy4gKi9cbmNvbnN0IGxhbmd1YWdlT3B0aW9ucyA9IHtcbiAgZWNtYVZlcnNpb246IDIwMjIsXG4gIHBhcnNlcixcbiAgc291cmNlVHlwZTogXCJtb2R1bGVcIixcbn0gYXMgY29uc3Q7XG5cbi8qKiBCZW5jaG1hcmsgY2FzZXMgY292ZXJpbmcgdGhlIGhlYXZpZXIgcGFja2FnZS1vd25lZCBydWxlcy4gKi9cbmNvbnN0IGJlbmNobWFya0Nhc2VzID0gW1xuICB7XG4gICAgY29kZTogQXJyYXkuZnJvbSh7IGxlbmd0aDogMjAwIH0sIChfdW51c2VkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIGBleHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUke2luZGV4fSB7IHZhbHVlOiBzdHJpbmcgfWA7XG4gICAgfSkuam9pbihcIlxcblwiKSxcbiAgICBmaWxlbmFtZTogXCJzcmMvZmVhdHVyZXMudHNcIixcbiAgICBydWxlTmFtZTogXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gIH0sXG4gIHtcbiAgICBjb2RlOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNTAgfSwgKF91bnVzZWQsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBcIi8qKlwiLFxuICAgICAgICBgICogQGV4YW1wbGUgZmVhdHVyZSR7aW5kZXh9KClgLFxuICAgICAgICBcIiAqIGBgYHR5cGVzY3JpcHRcIixcbiAgICAgICAgYCAqIGZlYXR1cmUke2luZGV4fSgpO2AsXG4gICAgICAgIFwiICogYGBgXCIsXG4gICAgICAgIFwiICovXCIsXG4gICAgICAgIGBleHBvcnQgZnVuY3Rpb24gZmVhdHVyZSR7aW5kZXh9KCk6IHZvaWQge31gLFxuICAgICAgXS5qb2luKFwiXFxuXCIpO1xuICAgIH0pLmpvaW4oXCJcXG5cIiksXG4gICAgZmlsZW5hbWU6IFwic3JjL2RvY3MudHNcIixcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIGNvZGU6IEFycmF5LmZyb20oeyBsZW5ndGg6IDEwMCB9LCAoX3VudXNlZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGBjb25zdCBtb2NrZWRGZWF0dXJlJHtpbmRleH0gPSB2aS5mbigpO2AsXG4gICAgICAgIGB2aS5tb2NrKFwiLi9mZWF0dXJlLSR7aW5kZXh9XCIsICgpID0+ICh7IGZlYXR1cmUke2luZGV4fTogbW9ja2VkRmVhdHVyZSR7aW5kZXh9IH0pKTtgLFxuICAgICAgXS5qb2luKFwiXFxuXCIpO1xuICAgIH0pLmpvaW4oXCJcXG5cIiksXG4gICAgZmlsZW5hbWU6IFwic3JjL2V4YW1wbGUuc3BlYy50c1wiLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIH0sXG4gIHtcbiAgICBjb2RlOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNTAgfSwgKF91bnVzZWQsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gYGV4cG9ydCAqIGZyb20gXCIuL2ZlYXR1cmUtJHtpbmRleH1cIjtgO1xuICAgIH0pLmpvaW4oXCJcXG5cIiksXG4gICAgZmlsZW5hbWU6IFwic3JjL2luZGV4LnRzXCIsXG4gICAgcnVsZU5hbWU6IFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgfSxcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IFtCZW5jaG1hcmtDYXNlLCAuLi5CZW5jaG1hcmtDYXNlW11dO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBiZW5jaG1hcmsgc3VtbWFyeSBmb3IgY29uc29sZSBvdXRwdXQuXG4gKiBAcGFyYW0gc3VtbWFyeSBTdW1tYXJ5IHRvIGZvcm1hdC5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZSA9IGZvcm1hdEJlbmNobWFya1N1bW1hcnkoe1xuICogICBlbGFwc2VkTWlsbGlzZWNvbmRzOiAxMCxcbiAqICAgaXRlcmF0aW9uczogMSxcbiAqICAgcnVsZU5hbWU6IFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZm9ybWF0QmVuY2htYXJrU3VtbWFyeShzdW1tYXJ5OiBCZW5jaG1hcmtTdW1tYXJ5KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3N1bW1hcnkucnVsZU5hbWV9OiAke3N1bW1hcnkuZWxhcHNlZE1pbGxpc2Vjb25kc31tcyB0b3RhbCBmb3IgJHtzdW1tYXJ5Lml0ZXJhdGlvbnN9IGl0ZXJhdGlvbnNgO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBydWxlIG1vZHVsZSB1c2VkIGZvciBhIGJlbmNobWFyayBjYXNlLlxuICogQHBhcmFtIHJ1bGVOYW1lIEludGVybmFsIHJ1bGUgbmFtZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IFdoZW4gdGhlIGJlbmNobWFyayBjYXNlIHJlZmVyZW5jZXMgYW4gdW5zdXBwb3J0ZWQgcnVsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gZ2V0UnVsZU1vZHVsZShcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0UnVsZU1vZHVsZShydWxlTmFtZTogQmVuY2htYXJrQ2FzZVtcInJ1bGVOYW1lXCJdKTogUnVsZS5SdWxlTW9kdWxlIHtcbiAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgIGNhc2UgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiB7XG4gICAgICByZXR1cm4gY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZTtcbiAgICB9XG4gICAgY2FzZSBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIjoge1xuICAgICAgcmV0dXJuIHByZWZlckludGVyZmFjZVR5cGVzUnVsZTtcbiAgICB9XG4gICAgY2FzZSBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCI6IHtcbiAgICAgIHJldHVybiBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGU7XG4gICAgfVxuICAgIGNhc2UgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIjoge1xuICAgICAgcmV0dXJuIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCBiZW5jaG1hcmsgcnVsZTogJHtydWxlTmFtZX1gKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBiZW5jaG1hcmsgY29tbWFuZCBhbmQgcHJpbnRzIGVhY2ggc3VtbWFyeS5cbiAqIEBwYXJhbSBpdGVyYXRpb25zT3ZlcnJpZGUgT3B0aW9uYWwgaXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIHJ1bi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBtYWluKDEpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1haW4oaXRlcmF0aW9uc092ZXJyaWRlID0gaXRlcmF0aW9ucyk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHN1bW1hcnkgb2YgcnVuQmVuY2htYXJrcyhpdGVyYXRpb25zT3ZlcnJpZGUpKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7Zm9ybWF0QmVuY2htYXJrU3VtbWFyeShzdW1tYXJ5KX1cXG5gKTtcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgYSBiZW5jaG1hcmsgY2FzZSBhbmQgcmV0dXJucyB0aGUgZWxhcHNlZCBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gYmVuY2htYXJrQ2FzZSBCZW5jaG1hcmsgZGVmaW5pdGlvbi5cbiAqIEBwYXJhbSBpdGVyYXRpb25zT3ZlcnJpZGUgT3B0aW9uYWwgaXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIHJ1bi5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3VtbWFyeSA9IHJ1bkJlbmNobWFyayhiZW5jaG1hcmtDYXNlc1swXSwgMSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcnVuQmVuY2htYXJrKFxuICBiZW5jaG1hcmtDYXNlOiBCZW5jaG1hcmtDYXNlLFxuICBpdGVyYXRpb25zT3ZlcnJpZGUgPSBpdGVyYXRpb25zLFxuKTogQmVuY2htYXJrU3VtbWFyeSB7XG4gIGNvbnN0IGxpbnRlciA9IG5ldyBMaW50ZXIoeyBjb25maWdUeXBlOiBcImZsYXRcIiB9KTtcbiAgY29uc3QgcGx1Z2luUnVsZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoW1xuICAgIFtiZW5jaG1hcmtDYXNlLnJ1bGVOYW1lLCBnZXRSdWxlTW9kdWxlKGJlbmNobWFya0Nhc2UucnVsZU5hbWUpXSxcbiAgXSkgYXMgUmVjb3JkPHN0cmluZywgUnVsZS5SdWxlTW9kdWxlPjtcbiAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICBmb3IgKGxldCBpdGVyYXRpb24gPSAwOyBpdGVyYXRpb24gPCBpdGVyYXRpb25zT3ZlcnJpZGU7IGl0ZXJhdGlvbiArPSAxKSB7XG4gICAgdm9pZCBsaW50ZXIudmVyaWZ5KFxuICAgICAgYmVuY2htYXJrQ2FzZS5jb2RlLFxuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsZXM6IFtcIioqLyoudHNcIl0sXG4gICAgICAgICAgbGFuZ3VhZ2VPcHRpb25zLFxuICAgICAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgICAgIGNvZGVwZXJmZWN0OiB7XG4gICAgICAgICAgICAgIHJ1bGVzOiBwbHVnaW5SdWxlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBydWxlczoge1xuICAgICAgICAgICAgW2Bjb2RlcGVyZmVjdC8ke2JlbmNobWFya0Nhc2UucnVsZU5hbWV9YF06IFwiZXJyb3JcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGJlbmNobWFya0Nhc2UuZmlsZW5hbWUsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZWxhcHNlZE1pbGxpc2Vjb25kczogTnVtYmVyKChwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0KS50b0ZpeGVkKDIpKSxcbiAgICBpdGVyYXRpb25zOiBpdGVyYXRpb25zT3ZlcnJpZGUsXG4gICAgcnVsZU5hbWU6IGJlbmNobWFya0Nhc2UucnVsZU5hbWUsXG4gIH07XG59XG5cbi8qKlxuICogUnVucyBhbGwgYmVuY2htYXJrIGNhc2VzIGFuZCByZXR1cm5zIHRoZWlyIHN1bW1hcmllcy5cbiAqIEBwYXJhbSBpdGVyYXRpb25zT3ZlcnJpZGUgT3B0aW9uYWwgaXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIHJ1bi5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3VtbWFyaWVzID0gcnVuQmVuY2htYXJrcygxKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBydW5CZW5jaG1hcmtzKGl0ZXJhdGlvbnNPdmVycmlkZSA9IGl0ZXJhdGlvbnMpOiBCZW5jaG1hcmtTdW1tYXJ5W10ge1xuICByZXR1cm4gYmVuY2htYXJrQ2FzZXMubWFwKChiZW5jaG1hcmtDYXNlKSA9PlxuICAgIHJ1bkJlbmNobWFyayhiZW5jaG1hcmtDYXNlLCBpdGVyYXRpb25zT3ZlcnJpZGUpLFxuICApO1xufVxuXG4vKiogQ3VycmVudCBDTEkgZW50cnkgZmlsZSB3aGVuIGludm9rZWQgZnJvbSB0aGUgdGVybWluYWwuICovXG5jb25zdCBbLCBjdXJyZW50RW50cnldID0gcHJvY2Vzcy5hcmd2O1xuXG4vKiogSXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIENMSSBlbnRyeSBwb2ludC4gKi9cbmNvbnN0IGNsaUl0ZXJhdGlvbnMgPSBOdW1iZXIoXG4gIHByb2Nlc3MuZW52W1wiQkVOQ0hNQVJLX1JVTEVfSVRFUkFUSU9OU1wiXSA/PyBpdGVyYXRpb25zLFxuKTtcblxuaWYgKFxuICBjdXJyZW50RW50cnkgIT09IHZvaWQgMCAmJlxuICBpbXBvcnQubWV0YS51cmwgPT09IHBhdGhUb0ZpbGVVUkwoY3VycmVudEVudHJ5KS5ocmVmXG4pIHtcbiAgbWFpbihcbiAgICBOdW1iZXIuaXNOYU4oY2xpSXRlcmF0aW9ucykgfHwgY2xpSXRlcmF0aW9ucyA8IDFcbiAgICAgID8gaXRlcmF0aW9uc1xuICAgICAgOiBjbGlJdGVyYXRpb25zLFxuICApO1xufVxuXG5leHBvcnQge1xuICBiZW5jaG1hcmtDYXNlcyxcbiAgZm9ybWF0QmVuY2htYXJrU3VtbWFyeSxcbiAgbWFpbixcbiAgcnVuQmVuY2htYXJrLFxuICBydW5CZW5jaG1hcmtzLFxufTtcbmV4cG9ydCB0eXBlIHsgQmVuY2htYXJrQ2FzZSwgQmVuY2htYXJrU3VtbWFyeSB9O1xuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../src/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAiB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;CAKkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,29 +0,0 @@
1
- import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "./rules";
2
- /** Rule registry exposed by the package plugin. */
3
- const codeperfectRules = {
4
- "assert-actual-expected-names": assertActualExpectedNamesRule,
5
- "barrel-files-exports-only": barrelFilesExportsOnlyRule,
6
- "consistent-barrel-files": consistentBarrelFilesRule,
7
- "enforce-aaa-phase-purity": enforceAaaPhasePurityRule,
8
- "enforce-aaa-structure": enforceAaaStructureRule,
9
- "no-interface-member-docs": noInterfaceMemberDocumentationRule,
10
- "no-multiple-declarators": noMultipleDeclaratorsRule,
11
- "no-reexports-outside-barrels": noReexportsOutsideBarrelsRule,
12
- "prefer-interface-types": preferInterfaceTypesRule,
13
- "prefer-vi-mocked-import": preferViMockedImportRule,
14
- "require-aaa-sections": requireAaaSectionsRule,
15
- "require-act-result-capture": requireActResultCaptureRule,
16
- "require-example-language": requireExampleLanguageRule,
17
- "require-test-companion": requireTestCompanionRule,
18
- "single-act-statement": singleActStatementRule,
19
- "single-line-jsdoc": singleLineJsdocRule,
20
- };
21
- /** ESLint plugin object exported by the package. */
22
- const codeperfectPlugin = {
23
- meta: {
24
- name: "@codeperfect/eslint-plugin",
25
- },
26
- rules: codeperfectRules,
27
- };
28
- export { codeperfectPlugin, codeperfectRules };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvZGVwZXJmZWN0LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixrQ0FBa0MsRUFDbEMseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sU0FBUyxDQUFDO0FBRWpCLG1EQUFtRDtBQUNuRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLDhCQUE4QixFQUFFLDZCQUE2QjtJQUM3RCwyQkFBMkIsRUFBRSwwQkFBMEI7SUFDdkQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELDBCQUEwQixFQUFFLHlCQUF5QjtJQUNyRCx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQsMEJBQTBCLEVBQUUsa0NBQWtDO0lBQzlELHlCQUF5QixFQUFFLHlCQUF5QjtJQUNwRCw4QkFBOEIsRUFBRSw2QkFBNkI7SUFDN0Qsd0JBQXdCLEVBQUUsd0JBQXdCO0lBQ2xELHlCQUF5QixFQUFFLHdCQUF3QjtJQUNuRCxzQkFBc0IsRUFBRSxzQkFBc0I7SUFDOUMsNEJBQTRCLEVBQUUsMkJBQTJCO0lBQ3pELDBCQUEwQixFQUFFLDBCQUEwQjtJQUN0RCx3QkFBd0IsRUFBRSx3QkFBd0I7SUFDbEQsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLG1CQUFtQixFQUFFLG1CQUFtQjtDQUNVLENBQUM7QUFFckQsb0RBQW9EO0FBQ3BELE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLDRCQUE0QjtLQUNuQztJQUNELEtBQUssRUFBRSxnQkFBZ0I7Q0FDZ0MsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyLCBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQge1xuICBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gIGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIGVuZm9yY2VBYWFQaGFzZVB1cml0eVJ1bGUsXG4gIGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlLFxuICBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLFxuICBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZSxcbiAgcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGUsXG4gIHJlcXVpcmVBYWFTZWN0aW9uc1J1bGUsXG4gIHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSxcbiAgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUsXG4gIHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcbiAgc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgc2luZ2xlTGluZUpzZG9jUnVsZSxcbn0gZnJvbSBcIi4vcnVsZXNcIjtcblxuLyoqIFJ1bGUgcmVnaXN0cnkgZXhwb3NlZCBieSB0aGUgcGFja2FnZSBwbHVnaW4uICovXG5jb25zdCBjb2RlcGVyZmVjdFJ1bGVzID0ge1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIjogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBcImVuZm9yY2UtYWFhLXBoYXNlLXB1cml0eVwiOiBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIjogbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiOiBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIjogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiOiBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIjogcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBcInJlcXVpcmUtYWFhLXNlY3Rpb25zXCI6IHJlcXVpcmVBYWFTZWN0aW9uc1J1bGUsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIjogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCI6IHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiOiBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCI6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCBSdWxlLlJ1bGVNb2R1bGU+O1xuXG4vKiogRVNMaW50IHBsdWdpbiBvYmplY3QgZXhwb3J0ZWQgYnkgdGhlIHBhY2thZ2UuICovXG5jb25zdCBjb2RlcGVyZmVjdFBsdWdpbiA9IHtcbiAgbWV0YToge1xuICAgIG5hbWU6IFwiQGNvZGVwZXJmZWN0L2VzbGludC1wbHVnaW5cIixcbiAgfSxcbiAgcnVsZXM6IGNvZGVwZXJmZWN0UnVsZXMsXG59IHNhdGlzZmllcyBOb25OdWxsYWJsZTxMaW50ZXIuQ29uZmlnW1wicGx1Z2luc1wiXT5bc3RyaW5nXTtcblxuZXhwb3J0IHsgY29kZXBlcmZlY3RQbHVnaW4sIGNvZGVwZXJmZWN0UnVsZXMgfTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,3 +0,0 @@
1
- export { noMultipleDeclaratorsRule } from "./no-multiple-declarators";
2
- export { preferInterfaceTypesRule } from "./prefer-interface-types";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUgfSBmcm9tIFwiLi9uby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiO1xuZXhwb3J0IHsgcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlIH0gZnJvbSBcIi4vcHJlZmVyLWludGVyZmFjZS10eXBlc1wiO1xuIl19
@@ -1,2 +0,0 @@
1
- export { noMultipleDeclaratorsRule } from "./rule";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/no-multiple-declarators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,2 +0,0 @@
1
- export { noMultipleDeclaratorsRule } from "./rule";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9uby1tdWx0aXBsZS1kZWNsYXJhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlIH0gZnJvbSBcIi4vcnVsZVwiO1xuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/core/no-multiple-declarators/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkLnC,QAAA,MAAM,yBAAyB,EAAE,IAAI,CAAC,UAqBrC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,100 +0,0 @@
1
- import { createRuleDocumentation } from "../../custom-rule-documentation";
2
- const commentPattern = /\/\/|\/\*/u;
3
- const loopParentTypes = new Set(["ForInStatement", "ForOfStatement"]);
4
- const getSourceCode = (context) => context.sourceCode;
5
- const getSourceText = (sourceCode) => typeof sourceCode.text === "string" ? sourceCode.text : sourceCode.getText();
6
- const hasRange = (node) => Array.isArray(node?.range) && node.range.length === 2;
7
- const hasFixData = (node) => Array.isArray(node.range) &&
8
- node.range.length === 2 &&
9
- typeof node.kind === "string";
10
- const isLoopInitializer = (node) => {
11
- const { parent } = node;
12
- if (parent?.type === "ForStatement") {
13
- return parent.init === node;
14
- }
15
- if (parent !== void 0 && loopParentTypes.has(parent.type)) {
16
- return parent.left === node;
17
- }
18
- return false;
19
- };
20
- const isWrappedExport = (node) => node.parent?.type === "ExportDefaultDeclaration" ||
21
- node.parent?.type === "ExportNamedDeclaration";
22
- const getLineIndent = (sourceText, start) => {
23
- const lineStart = sourceText.lastIndexOf("\n", start - 1) + 1;
24
- const linePrefix = sourceText.slice(lineStart, start);
25
- return linePrefix.replace(/[^\t ].*$/u, "");
26
- };
27
- const hasSeparatorComment = (declarations, sourceText) => {
28
- for (const [index, declaration] of declarations.entries()) {
29
- const nextDeclaration = declarations[index + 1];
30
- if (nextDeclaration === void 0) {
31
- break;
32
- }
33
- if (!hasRange(declaration) || !hasRange(nextDeclaration)) {
34
- return true;
35
- }
36
- const separatorText = sourceText.slice(declaration.range[1], nextDeclaration.range[0]);
37
- if (commentPattern.test(separatorText)) {
38
- return true;
39
- }
40
- }
41
- return false;
42
- };
43
- const canFix = (node, declarations, sourceText) => {
44
- if (!hasFixData(node)) {
45
- return false;
46
- }
47
- if (isLoopInitializer(node) || isWrappedExport(node)) {
48
- return false;
49
- }
50
- return !hasSeparatorComment(declarations, sourceText);
51
- };
52
- const buildReplacement = (node, declarations, sourceCode) => {
53
- const sourceText = getSourceText(sourceCode);
54
- const indent = getLineIndent(sourceText, node.range[0]);
55
- return declarations
56
- .map((declaration) => `${node.kind} ${sourceCode.getText(declaration)};`)
57
- .join(`\n${indent}`);
58
- };
59
- const reportVariableDeclaration = (context, node) => {
60
- const declarations = node.declarations ?? [];
61
- if (declarations.length <= 1) {
62
- return;
63
- }
64
- const sourceCode = getSourceCode(context);
65
- const sourceText = getSourceText(sourceCode);
66
- const fixable = canFix(node, declarations, sourceText);
67
- if (fixable) {
68
- const fixedNode = node;
69
- context.report({
70
- fix: (fixer) => fixer.replaceTextRange(fixedNode.range, buildReplacement(fixedNode, declarations, sourceCode)),
71
- messageId: "singleDeclarator",
72
- node: node,
73
- });
74
- return;
75
- }
76
- context.report({
77
- messageId: "singleDeclarator",
78
- node: node,
79
- });
80
- };
81
- const noMultipleDeclaratorsRule = {
82
- create(context) {
83
- return {
84
- VariableDeclaration: (node) => {
85
- reportVariableDeclaration(context, node);
86
- },
87
- };
88
- },
89
- meta: {
90
- docs: createRuleDocumentation("no-multiple-declarators", "Require variable declarations to contain exactly one declarator per statement."),
91
- fixable: "code",
92
- messages: {
93
- singleDeclarator: "Declare exactly one variable per declaration statement.",
94
- },
95
- schema: [],
96
- type: "suggestion",
97
- },
98
- };
99
- export { noMultipleDeclaratorsRule };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL25vLW11bHRpcGxlLWRlY2xhcmF0b3JzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUE4QjFFLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQztBQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztBQUV0RSxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQXlCLEVBQW9CLEVBQUUsQ0FDcEUsT0FBTyxDQUFDLFVBQXlDLENBQUM7QUFFcEQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUE0QixFQUFVLEVBQUUsQ0FDN0QsT0FBTyxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRS9FLE1BQU0sUUFBUSxHQUFHLENBQ2YsSUFBMEIsRUFDVyxFQUFFLENBQ3ZDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUV4RCxNQUFNLFVBQVUsR0FBRyxDQUNqQixJQUE2QixFQUNxQyxFQUFFLENBQ3BFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0lBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7QUFFaEMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQTZCLEVBQVcsRUFBRTtJQUNuRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRXhCLElB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QjtJQUNqRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTztZQUNMLG1CQUFtQixFQUFFLENBQUMsSUFBZSxFQUFRLEVBQUU7Z0JBQzdDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxJQUErQixDQUFDLENBQUM7WUFDdEUsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLHVCQUF1QixDQUMzQix5QkFBeUIsRUFDekIsZ0ZBQWdGLENBQ2pGO1FBQ0QsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUU7WUFDUixnQkFBZ0IsRUFDZCx5REFBeUQ7U0FDNUQ7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO0tBQ25CO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjcmVhdGVSdWxlRG9jdW1lbnRhdGlvbiB9IGZyb20gXCIuLi8uLi9jdXN0b20tcnVsZS1kb2N1bWVudGF0aW9uXCI7XG5cbnR5cGUgUmFuZ2UgPSBbbnVtYmVyLCBudW1iZXJdO1xuXG5pbnRlcmZhY2UgQmFzZU5vZGUge1xuICBwYXJlbnQ/OiBCYXNlTm9kZTtcbiAgcmFuZ2U/OiBSYW5nZTtcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRm9ySW5Pck9mU3RhdGVtZW50Tm9kZSBleHRlbmRzIEJhc2VOb2RlIHtcbiAgbGVmdD86IEJhc2VOb2RlO1xufVxuXG5pbnRlcmZhY2UgRm9yU3RhdGVtZW50Tm9kZSBleHRlbmRzIEJhc2VOb2RlIHtcbiAgaW5pdD86IEJhc2VOb2RlIHwgbnVsbDtcbn1cblxuaW50ZXJmYWNlIFNvdXJjZUNvZGVBY2Nlc3Mge1xuICBnZXRUZXh0OiAobm9kZT86IEJhc2VOb2RlKSA9PiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSBleHRlbmRzIEJhc2VOb2RlIHtcbiAgZGVjbGFyYXRpb25zPzogVmFyaWFibGVEZWNsYXJhdG9yTm9kZVtdO1xuICBraW5kPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVmFyaWFibGVEZWNsYXJhdG9yTm9kZSBleHRlbmRzIEJhc2VOb2RlIHt9XG5cbmNvbnN0IGNvbW1lbnRQYXR0ZXJuID0gL1xcL1xcL3xcXC9cXCovdTtcbmNvbnN0IGxvb3BQYXJlbnRUeXBlcyA9IG5ldyBTZXQoW1wiRm9ySW5TdGF0ZW1lbnRcIiwgXCJGb3JPZlN0YXRlbWVudFwiXSk7XG5cbmNvbnN0IGdldFNvdXJjZUNvZGUgPSAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFNvdXJjZUNvZGVBY2Nlc3MgPT5cbiAgY29udGV4dC5zb3VyY2VDb2RlIGFzIHVua25vd24gYXMgU291cmNlQ29kZUFjY2VzcztcblxuY29uc3QgZ2V0U291cmNlVGV4dCA9IChzb3VyY2VDb2RlOiBTb3VyY2VDb2RlQWNjZXNzKTogc3RyaW5nID0+XG4gIHR5cGVvZiBzb3VyY2VDb2RlLnRleHQgPT09IFwic3RyaW5nXCIgPyBzb3VyY2VDb2RlLnRleHQgOiBzb3VyY2VDb2RlLmdldFRleHQoKTtcblxuY29uc3QgaGFzUmFuZ2UgPSAoXG4gIG5vZGU6IEJhc2VOb2RlIHwgdW5kZWZpbmVkLFxuKTogbm9kZSBpcyBCYXNlTm9kZSAmIHsgcmFuZ2U6IFJhbmdlIH0gPT5cbiAgQXJyYXkuaXNBcnJheShub2RlPy5yYW5nZSkgJiYgbm9kZS5yYW5nZS5sZW5ndGggPT09IDI7XG5cbmNvbnN0IGhhc0ZpeERhdGEgPSAoXG4gIG5vZGU6IFZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLFxuKTogbm9kZSBpcyBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSAmIHsga2luZDogc3RyaW5nOyByYW5nZTogUmFuZ2UgfSA9PlxuICBBcnJheS5pc0FycmF5KG5vZGUucmFuZ2UpICYmXG4gIG5vZGUucmFuZ2UubGVuZ3RoID09PSAyICYmXG4gIHR5cGVvZiBub2RlLmtpbmQgPT09IFwic3RyaW5nXCI7XG5cbmNvbnN0IGlzTG9vcEluaXRpYWxpemVyID0gKG5vZGU6IFZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHsgcGFyZW50IH0gPSBub2RlO1xuXG4gIGlmIChwYXJlbnQ/LnR5cGUgPT09IFwiRm9yU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4gKHBhcmVudCBhcyBGb3JTdGF0ZW1lbnROb2RlKS5pbml0ID09PSBub2RlO1xuICB9XG5cbiAgaWYgKHBhcmVudCAhPT0gdm9pZCAwICYmIGxvb3BQYXJlbnRUeXBlcy5oYXMocGFyZW50LnR5cGUpKSB7XG4gICAgcmV0dXJuIChwYXJlbnQgYXMgRm9ySW5Pck9mU3RhdGVtZW50Tm9kZSkubGVmdCA9PT0gbm9kZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGlzV3JhcHBlZEV4cG9ydCA9IChub2RlOiBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSk6IGJvb2xlYW4gPT5cbiAgbm9kZS5wYXJlbnQ/LnR5cGUgPT09IFwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCIgfHxcbiAgbm9kZS5wYXJlbnQ/LnR5cGUgPT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiO1xuXG5jb25zdCBnZXRMaW5lSW5kZW50ID0gKHNvdXJjZVRleHQ6IHN0cmluZywgc3RhcnQ6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGxpbmVTdGFydCA9IHNvdXJjZVRleHQubGFzdEluZGV4T2YoXCJcXG5cIiwgc3RhcnQgLSAxKSArIDE7XG4gIGNvbnN0IGxpbmVQcmVmaXggPSBzb3VyY2VUZXh0LnNsaWNlKGxpbmVTdGFydCwgc3RhcnQpO1xuXG4gIHJldHVybiBsaW5lUHJlZml4LnJlcGxhY2UoL1teXFx0IF0uKiQvdSwgXCJcIik7XG59O1xuXG5jb25zdCBoYXNTZXBhcmF0b3JDb21tZW50ID0gKFxuICBkZWNsYXJhdGlvbnM6IHJlYWRvbmx5IFZhcmlhYmxlRGVjbGFyYXRvck5vZGVbXSxcbiAgc291cmNlVGV4dDogc3RyaW5nLFxuKTogYm9vbGVhbiA9PiB7XG4gIGZvciAoY29uc3QgW2luZGV4LCBkZWNsYXJhdGlvbl0gb2YgZGVjbGFyYXRpb25zLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IG5leHREZWNsYXJhdGlvbiA9IGRlY2xhcmF0aW9uc1tpbmRleCArIDFdO1xuXG4gICAgaWYgKG5leHREZWNsYXJhdGlvbiA9PT0gdm9pZCAwKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAoIWhhc1JhbmdlKGRlY2xhcmF0aW9uKSB8fCAhaGFzUmFuZ2UobmV4dERlY2xhcmF0aW9uKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VwYXJhdG9yVGV4dCA9IHNvdXJjZVRleHQuc2xpY2UoXG4gICAgICBkZWNsYXJhdGlvbi5yYW5nZVsxXSxcbiAgICAgIG5leHREZWNsYXJhdGlvbi5yYW5nZVswXSxcbiAgICApO1xuXG4gICAgaWYgKGNvbW1lbnRQYXR0ZXJuLnRlc3Qoc2VwYXJhdG9yVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGNhbkZpeCA9IChcbiAgbm9kZTogVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIGRlY2xhcmF0aW9uczogcmVhZG9ubHkgVmFyaWFibGVEZWNsYXJhdG9yTm9kZVtdLFxuICBzb3VyY2VUZXh0OiBzdHJpbmcsXG4pOiBib29sZWFuID0+IHtcbiAgaWYgKCFoYXNGaXhEYXRhKG5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzTG9vcEluaXRpYWxpemVyKG5vZGUpIHx8IGlzV3JhcHBlZEV4cG9ydChub2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAhaGFzU2VwYXJhdG9yQ29tbWVudChkZWNsYXJhdGlvbnMsIHNvdXJjZVRleHQpO1xufTtcblxuY29uc3QgYnVpbGRSZXBsYWNlbWVudCA9IChcbiAgbm9kZTogVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgJiB7IGtpbmQ6IHN0cmluZzsgcmFuZ2U6IFJhbmdlIH0sXG4gIGRlY2xhcmF0aW9uczogcmVhZG9ubHkgKFZhcmlhYmxlRGVjbGFyYXRvck5vZGUgJiB7IHJhbmdlOiBSYW5nZSB9KVtdLFxuICBzb3VyY2VDb2RlOiBTb3VyY2VDb2RlQWNjZXNzLFxuKTogc3RyaW5nID0+IHtcbiAgY29uc3Qgc291cmNlVGV4dCA9IGdldFNvdXJjZVRleHQoc291cmNlQ29kZSk7XG4gIGNvbnN0IGluZGVudCA9IGdldExpbmVJbmRlbnQoc291cmNlVGV4dCwgbm9kZS5yYW5nZVswXSk7XG5cbiAgcmV0dXJuIGRlY2xhcmF0aW9uc1xuICAgIC5tYXAoKGRlY2xhcmF0aW9uKSA9PiBgJHtub2RlLmtpbmR9ICR7c291cmNlQ29kZS5nZXRUZXh0KGRlY2xhcmF0aW9uKX07YClcbiAgICAuam9pbihgXFxuJHtpbmRlbnR9YCk7XG59O1xuXG5jb25zdCByZXBvcnRWYXJpYWJsZURlY2xhcmF0aW9uID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBub2RlOiBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBkZWNsYXJhdGlvbnMgPSBub2RlLmRlY2xhcmF0aW9ucyA/PyBbXTtcblxuICBpZiAoZGVjbGFyYXRpb25zLmxlbmd0aCA8PSAxKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc291cmNlQ29kZSA9IGdldFNvdXJjZUNvZGUoY29udGV4dCk7XG4gIGNvbnN0IHNvdXJjZVRleHQgPSBnZXRTb3VyY2VUZXh0KHNvdXJjZUNvZGUpO1xuICBjb25zdCBmaXhhYmxlID0gY2FuRml4KG5vZGUsIGRlY2xhcmF0aW9ucywgc291cmNlVGV4dCk7XG5cbiAgaWYgKGZpeGFibGUpIHtcbiAgICBjb25zdCBmaXhlZE5vZGUgPSBub2RlIGFzIFZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlICYge1xuICAgICAga2luZDogc3RyaW5nO1xuICAgICAgcmFuZ2U6IFJhbmdlO1xuICAgIH07XG5cbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBmaXg6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeCA9PlxuICAgICAgICBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFxuICAgICAgICAgIGZpeGVkTm9kZS5yYW5nZSxcbiAgICAgICAgICBidWlsZFJlcGxhY2VtZW50KFxuICAgICAgICAgICAgZml4ZWROb2RlLFxuICAgICAgICAgICAgZGVjbGFyYXRpb25zIGFzIChWYXJpYWJsZURlY2xhcmF0b3JOb2RlICYgeyByYW5nZTogUmFuZ2UgfSlbXSxcbiAgICAgICAgICAgIHNvdXJjZUNvZGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIG1lc3NhZ2VJZDogXCJzaW5nbGVEZWNsYXJhdG9yXCIsXG4gICAgICBub2RlOiBub2RlIGFzIHVua25vd24gYXMgUnVsZS5Ob2RlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29udGV4dC5yZXBvcnQoe1xuICAgIG1lc3NhZ2VJZDogXCJzaW5nbGVEZWNsYXJhdG9yXCIsXG4gICAgbm9kZTogbm9kZSBhcyB1bmtub3duIGFzIFJ1bGUuTm9kZSxcbiAgfSk7XG59O1xuXG5jb25zdCBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIHJldHVybiB7XG4gICAgICBWYXJpYWJsZURlY2xhcmF0aW9uOiAobm9kZTogUnVsZS5Ob2RlKTogdm9pZCA9PiB7XG4gICAgICAgIHJlcG9ydFZhcmlhYmxlRGVjbGFyYXRpb24oY29udGV4dCwgbm9kZSBhcyBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiBjcmVhdGVSdWxlRG9jdW1lbnRhdGlvbihcbiAgICAgIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgICAgIFwiUmVxdWlyZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gY29udGFpbiBleGFjdGx5IG9uZSBkZWNsYXJhdG9yIHBlciBzdGF0ZW1lbnQuXCIsXG4gICAgKSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBtZXNzYWdlczoge1xuICAgICAgc2luZ2xlRGVjbGFyYXRvcjpcbiAgICAgICAgXCJEZWNsYXJlIGV4YWN0bHkgb25lIHZhcmlhYmxlIHBlciBkZWNsYXJhdGlvbiBzdGF0ZW1lbnQuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwic3VnZ2VzdGlvblwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSB9O1xuIl19
@@ -1,2 +0,0 @@
1
- export { preferInterfaceTypesRule } from "./rule";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/prefer-interface-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,2 +0,0 @@
1
- export { preferInterfaceTypesRule } from "./rule";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9wcmVmZXItaW50ZXJmYWNlLXR5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHByZWZlckludGVyZmFjZVR5cGVzUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/core/prefer-interface-types/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA4LnC,2EAA2E;AAC3E,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UA6BpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -1,145 +0,0 @@
1
- import { createRuleDocumentation } from "../../custom-rule-documentation";
2
- /**
3
- * Gets a nested type annotation from parameter wrappers.
4
- * @param node Parameter wrapper node.
5
- * @returns The nested type annotation when present.
6
- * @example
7
- * ```typescript
8
- * const annotation = getNestedTypeAnnotation({ argument: node });
9
- * ```
10
- */
11
- const getNestedTypeAnnotation = (node) => {
12
- if (node.argument !== void 0) {
13
- return getTypeAnnotationNode(node.argument);
14
- }
15
- if (node.parameter !== void 0) {
16
- return getTypeAnnotationNode(node.parameter);
17
- }
18
- return void 0;
19
- };
20
- /**
21
- * Extracts the type annotation from a node.
22
- * @param node Node that may contain a type annotation.
23
- * @returns The type annotation when present.
24
- * @example
25
- * ```typescript
26
- * const annotation = getTypeAnnotationNode(node);
27
- * ```
28
- */
29
- const getTypeAnnotationNode = (node) => {
30
- if (node === null || typeof node !== "object") {
31
- return void 0;
32
- }
33
- const directTypeAnnotation = node.typeAnnotation
34
- ?.typeAnnotation;
35
- if (directTypeAnnotation !== void 0) {
36
- return directTypeAnnotation;
37
- }
38
- return getNestedTypeAnnotation(node);
39
- };
40
- /**
41
- * Gets the return type annotation for a function-like node.
42
- * @param node Node that may contain a return type.
43
- * @returns The return type annotation when present.
44
- * @example
45
- * ```typescript
46
- * const annotation = getReturnTypeAnnotation(node);
47
- * ```
48
- */
49
- const getReturnTypeAnnotation = (node) => {
50
- if (node === null || typeof node !== "object") {
51
- return void 0;
52
- }
53
- const typedNode = node;
54
- return typedNode.returnType?.typeAnnotation;
55
- };
56
- /**
57
- * Gets getParameters.
58
- * @param node Input node value.
59
- * @returns Return value output.
60
- * @example
61
- * ```typescript
62
- * getParameters();
63
- * ```
64
- */
65
- const getParameters = (node) => {
66
- if (node === null || typeof node !== "object") {
67
- return [];
68
- }
69
- const typedNode = node;
70
- return Array.isArray(typedNode.params) ? typedNode.params : [];
71
- };
72
- /**
73
- * Checks whether the node represents a type literal.
74
- * @param node Type annotation node to check.
75
- * @returns True when the node is a type literal.
76
- * @example
77
- * ```typescript
78
- * const isLiteral = isTypeLiteral(annotation);
79
- * ```
80
- */
81
- const isTypeLiteral = (node) => node?.type === "TSTypeLiteral";
82
- /**
83
- * Reports an inline object type annotation.
84
- * @param context Rule execution context.
85
- * @param typeAnnotation Type annotation node to report.
86
- * @example
87
- * ```typescript
88
- * reportTypeLiteral(context, typeAnnotation);
89
- * ```
90
- */
91
- const reportTypeLiteral = (context, typeAnnotation) => {
92
- context.report({
93
- messageId: "preferNamedObject",
94
- node: typeAnnotation,
95
- });
96
- };
97
- /**
98
- * Checks function-like nodes for inline object types.
99
- * @param context Rule execution context.
100
- * @param node Function-like node to check.
101
- * @example
102
- * ```typescript
103
- * checkFunctionLike(context, node);
104
- * ```
105
- */
106
- const checkFunctionLike = (context, node) => {
107
- for (const parameter of getParameters(node)) {
108
- const typeAnnotation = getTypeAnnotationNode(parameter);
109
- if (isTypeLiteral(typeAnnotation)) {
110
- reportTypeLiteral(context, typeAnnotation);
111
- }
112
- }
113
- const returnTypeAnnotation = getReturnTypeAnnotation(node);
114
- if (isTypeLiteral(returnTypeAnnotation)) {
115
- reportTypeLiteral(context, returnTypeAnnotation);
116
- }
117
- };
118
- /** ESLint rule requiring named interface/type aliases for object types. */
119
- const preferInterfaceTypesRule = {
120
- create(context) {
121
- const listener = (node) => {
122
- checkFunctionLike(context, node);
123
- };
124
- return {
125
- ArrowFunctionExpression: listener,
126
- FunctionDeclaration: listener,
127
- FunctionExpression: listener,
128
- TSCallSignatureDeclaration: listener,
129
- TSConstructSignatureDeclaration: listener,
130
- TSDeclareFunction: listener,
131
- TSFunctionType: listener,
132
- TSMethodSignature: listener,
133
- };
134
- },
135
- meta: {
136
- docs: createRuleDocumentation("prefer-interface-types", "Require named interfaces or type aliases for object types in parameters and return types."),
137
- messages: {
138
- preferNamedObject: "Use a named interface or type alias instead of an inline object type.",
139
- },
140
- schema: [],
141
- type: "suggestion",
142
- },
143
- };
144
- export { preferInterfaceTypesRule };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL3ByZWZlci1pbnRlcmZhY2UtdHlwZXMvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQXFDMUU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzlCLElBQXdCLEVBQ1EsRUFBRTtJQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQWEsRUFDbUIsRUFBRTtJQUNsQyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxvQkFBb0IsR0FBSSxJQUFnQyxDQUFDLGNBQWM7UUFDM0UsRUFBRSxjQUFjLENBQUM7SUFFbkIsSUFBSSxvQkFBb0IsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sdUJBQXVCLENBQUMsSUFBMEIsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxDQUM5QixJQUFhLEVB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ImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgY3JlYXRlUnVsZURvY3VtZW50YXRpb24gfSBmcm9tIFwiLi4vLi4vY3VzdG9tLXJ1bGUtZG9jdW1lbnRhdGlvblwiO1xuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZ1bmN0aW9uTGlrZU5vZGUge1xuICAvKiogUGFyYW1zIGhlbHBlciB2YWx1ZS4gKi9cbiAgcGFyYW1zPzogdW5rbm93bltdO1xuXG4gIC8qKiBSZXR1cm5UeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgcmV0dXJuVHlwZT86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUGFyYW1ldGVyQ29udGFpbmVyIHtcbiAgLyoqIEFyZ3VtZW50IGhlbHBlciB2YWx1ZS4gKi9cbiAgYXJndW1lbnQ/OiB1bmtub3duO1xuXG4gIC8qKiBQYXJhbWV0ZXIgaGVscGVyIHZhbHVlLiAqL1xuICBwYXJhbWV0ZXI/OiB1bmtub3duO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgVHlwZUFubm90YXRpb25Db250YWluZXIge1xuICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlQW5ub3RhdGlvbj86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgVHlwZUFubm90YXRpb25Ob2RlIHtcbiAgLyoqIFR5cGUgZmllbGQgdmFsdWUuICovXG4gIHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZXRzIGEgbmVzdGVkIHR5cGUgYW5ub3RhdGlvbiBmcm9tIHBhcmFtZXRlciB3cmFwcGVycy5cbiAqIEBwYXJhbSBub2RlIFBhcmFtZXRlciB3cmFwcGVyIG5vZGUuXG4gKiBAcmV0dXJucyBUaGUgbmVzdGVkIHR5cGUgYW5ub3RhdGlvbiB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5ub3RhdGlvbiA9IGdldE5lc3RlZFR5cGVBbm5vdGF0aW9uKHsgYXJndW1lbnQ6IG5vZGUgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0TmVzdGVkVHlwZUFubm90YXRpb24gPSAoXG4gIG5vZGU6IFBhcmFtZXRlckNvbnRhaW5lcixcbik6IFR5cGVBbm5vdGF0aW9uTm9kZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChub2RlLmFyZ3VtZW50ICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZ2V0VHlwZUFubm90YXRpb25Ob2RlKG5vZGUuYXJndW1lbnQpO1xuICB9XG5cbiAgaWYgKG5vZGUucGFyYW1ldGVyICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZ2V0VHlwZUFubm90YXRpb25Ob2RlKG5vZGUucGFyYW1ldGVyKTtcbiAgfVxuXG4gIHJldHVybiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSB0eXBlIGFubm90YXRpb24gZnJvbSBhIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRoYXQgbWF5IGNvbnRhaW4gYSB0eXBlIGFubm90YXRpb24uXG4gKiBAcmV0dXJucyBUaGUgdHlwZSBhbm5vdGF0aW9uIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhbm5vdGF0aW9uID0gZ2V0VHlwZUFubm90YXRpb25Ob2RlKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFR5cGVBbm5vdGF0aW9uTm9kZSA9IChcbiAgbm9kZTogdW5rbm93bixcbik6IFR5cGVBbm5vdGF0aW9uTm9kZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChub2RlID09PSBudWxsIHx8IHR5cGVvZiBub2RlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGRpcmVjdFR5cGVBbm5vdGF0aW9uID0gKG5vZGUgYXMgVHlwZUFubm90YXRpb25Db250YWluZXIpLnR5cGVBbm5vdGF0aW9uXG4gICAgPy50eXBlQW5ub3RhdGlvbjtcblxuICBpZiAoZGlyZWN0VHlwZUFubm90YXRpb24gIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBkaXJlY3RUeXBlQW5ub3RhdGlvbjtcbiAgfVxuXG4gIHJldHVybiBnZXROZXN0ZWRUeXBlQW5ub3RhdGlvbihub2RlIGFzIFBhcmFtZXRlckNvbnRhaW5lcik7XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIHJldHVybiB0eXBlIGFubm90YXRpb24gZm9yIGEgZnVuY3Rpb24tbGlrZSBub2RlLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0aGF0IG1heSBjb250YWluIGEgcmV0dXJuIHR5cGUuXG4gKiBAcmV0dXJucyBUaGUgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbiB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5ub3RhdGlvbiA9IGdldFJldHVyblR5cGVBbm5vdGF0aW9uKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFJldHVyblR5cGVBbm5vdGF0aW9uID0gKFxuICBub2RlOiB1bmtub3duLFxuKTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdHlwZWROb2RlID0gbm9kZSBhcyBGdW5jdGlvbkxpa2VOb2RlO1xuXG4gIHJldHVybiB0eXBlZE5vZGUucmV0dXJuVHlwZT8udHlwZUFubm90YXRpb247XG59O1xuXG4vKipcbiAqIEdldHMgZ2V0UGFyYW1ldGVycy5cbiAqIEBwYXJhbSBub2RlIElucHV0IG5vZGUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldFBhcmFtZXRlcnMoKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJzID0gKG5vZGU6IHVua25vd24pOiB1bmtub3duW10gPT4ge1xuICBpZiAobm9kZSA9PT0gbnVsbCB8fCB0eXBlb2Ygbm9kZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHR5cGVkTm9kZSA9IG5vZGUgYXMgRnVuY3Rpb25MaWtlTm9kZTtcblxuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0eXBlZE5vZGUucGFyYW1zKSA/IHR5cGVkTm9kZS5wYXJhbXMgOiBbXTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIG5vZGUgcmVwcmVzZW50cyBhIHR5cGUgbGl0ZXJhbC5cbiAqIEBwYXJhbSBub2RlIFR5cGUgYW5ub3RhdGlvbiBub2RlIHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgdHlwZSBsaXRlcmFsLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlzTGl0ZXJhbCA9IGlzVHlwZUxpdGVyYWwoYW5ub3RhdGlvbik7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNUeXBlTGl0ZXJhbCA9IChcbiAgbm9kZTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuKTogbm9kZSBpcyBUeXBlQW5ub3RhdGlvbk5vZGUgPT4gbm9kZT8udHlwZSA9PT0gXCJUU1R5cGVMaXRlcmFsXCI7XG5cbi8qKlxuICogUmVwb3J0cyBhbiBpbmxpbmUgb2JqZWN0IHR5cGUgYW5ub3RhdGlvbi5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gdHlwZUFubm90YXRpb24gVHlwZSBhbm5vdGF0aW9uIG5vZGUgdG8gcmVwb3J0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydFR5cGVMaXRlcmFsKGNvbnRleHQsIHR5cGVBbm5vdGF0aW9uKTtcbiAqIGBgYFxuICovXG5jb25zdCByZXBvcnRUeXBlTGl0ZXJhbCA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgdHlwZUFubm90YXRpb246IFR5cGVBbm5vdGF0aW9uTm9kZSxcbik6IHZvaWQgPT4ge1xuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgbWVzc2FnZUlkOiBcInByZWZlck5hbWVkT2JqZWN0XCIsXG4gICAgbm9kZTogdHlwZUFubm90YXRpb24gYXMgdW5rbm93biBhcyBSdWxlLk5vZGUsXG4gIH0pO1xufTtcblxuLyoqXG4gKiBDaGVja3MgZnVuY3Rpb24tbGlrZSBub2RlcyBmb3IgaW5saW5lIG9iamVjdCB0eXBlcy5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gbm9kZSBGdW5jdGlvbi1saWtlIG5vZGUgdG8gY2hlY2suXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2hlY2tGdW5jdGlvbkxpa2UoY29udGV4dCwgbm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY2hlY2tGdW5jdGlvbkxpa2UgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IHZvaWQgPT4ge1xuICBmb3IgKGNvbnN0IHBhcmFtZXRlciBvZiBnZXRQYXJhbWV0ZXJzKG5vZGUpKSB7XG4gICAgY29uc3QgdHlwZUFubm90YXRpb24gPSBnZXRUeXBlQW5ub3RhdGlvbk5vZGUocGFyYW1ldGVyKTtcblxuICAgIGlmIChpc1R5cGVMaXRlcmFsKHR5cGVBbm5vdGF0aW9uKSkge1xuICAgICAgcmVwb3J0VHlwZUxpdGVyYWwoY29udGV4dCwgdHlwZUFubm90YXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJldHVyblR5cGVBbm5vdGF0aW9uID0gZ2V0UmV0dXJuVHlwZUFubm90YXRpb24obm9kZSk7XG5cbiAgaWYgKGlzVHlwZUxpdGVyYWwocmV0dXJuVHlwZUFubm90YXRpb24pKSB7XG4gICAgcmVwb3J0VHlwZUxpdGVyYWwoY29udGV4dCwgcmV0dXJuVHlwZUFubm90YXRpb24pO1xuICB9XG59O1xuXG4vKiogRVNMaW50IHJ1bGUgcmVxdWlyaW5nIG5hbWVkIGludGVyZmFjZS90eXBlIGFsaWFzZXMgZm9yIG9iamVjdCB0eXBlcy4gKi9cbmNvbnN0IHByZWZlckludGVyZmFjZVR5cGVzUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICBjb25zdCBsaXN0ZW5lciA9IChub2RlOiBSdWxlLk5vZGUpOiB2b2lkID0+IHtcbiAgICAgIGNoZWNrRnVuY3Rpb25MaWtlKGNvbnRleHQsIG5vZGUpO1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246IGxpc3RlbmVyLFxuICAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbjogbGlzdGVuZXIsXG4gICAgICBGdW5jdGlvbkV4cHJlc3Npb246IGxpc3RlbmVyLFxuICAgICAgVFNDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb246IGxpc3RlbmVyLFxuICAgICAgVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0RlY2xhcmVGdW5jdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0Z1bmN0aW9uVHlwZTogbGlzdGVuZXIsXG4gICAgICBUU01ldGhvZFNpZ25hdHVyZTogbGlzdGVuZXIsXG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uKFxuICAgICAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gICAgICBcIlJlcXVpcmUgbmFtZWQgaW50ZXJmYWNlcyBvciB0eXBlIGFsaWFzZXMgZm9yIG9iamVjdCB0eXBlcyBpbiBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdHlwZXMuXCIsXG4gICAgKSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgcHJlZmVyTmFtZWRPYmplY3Q6XG4gICAgICAgIFwiVXNlIGEgbmFtZWQgaW50ZXJmYWNlIG9yIHR5cGUgYWxpYXMgaW5zdGVhZCBvZiBhbiBpbmxpbmUgb2JqZWN0IHR5cGUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwic3VnZ2VzdGlvblwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlIH07XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/core/prefer-interface-types/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,qCAAqC;AACrC,UAAU,QAAQ;IAChB,iCAAiC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,qCAAqC;AACrC,UAAU,WAAW;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,qCAAqC;AACrC,UAAU,qBAAqB;IAC7B,kCAAkC;IAClC,cAAc,EAAE;QACd,wBAAwB;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,aAAa,QAAO,gBAczB,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,qBAE3C,CAAC;AAEH;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,QAKxB,CAAC;AAEjB;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,QAAO,QAIhB,CAAC;AAEjB;;;;;;;;GAQG;AACH,QAAA,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,QAIhC,CAAC;AAEjB;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,QAI5B,CAAC;AAEjB;;;;;;;;GAQG;AACH,QAAA,MAAM,kBAAkB,GAAI,WAAW,OAAO,CAAC,QAAQ,CAAC,KAAG,QAK3C,CAAC;AAEjB;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,GAAI,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,QAAQ,KAAG,IAOjE,CAAC;AAEF,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,GACZ,CAAC"}