@codeperfect/eslint-plugin 1.0.0 → 2.1.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 (587) 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 +145 -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 +90 -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 +51 -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 +222 -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 +148 -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} +3 -1
  84. package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
  85. package/dist/domain/custom-rule-documentation.js +36 -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 +171 -0
  105. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  106. package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.js +2 -2
  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 +37 -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 +4 -0
  137. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  138. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
  139. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
  140. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
  141. package/dist/domain/docs/single-line-jsdoc/rule.js +201 -0
  142. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
  143. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
  144. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
  145. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  146. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  147. package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
  148. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  149. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  150. package/dist/domain/docs/test-helpers.d.ts.map +1 -0
  151. package/dist/domain/docs/test-helpers.js +107 -0
  152. package/dist/domain/index.d.ts +6 -0
  153. package/dist/domain/index.d.ts.map +1 -0
  154. package/dist/domain/index.js +6 -0
  155. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +34 -0
  156. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
  157. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +145 -0
  158. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
  159. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +203 -0
  160. package/dist/domain/testing/aaa/analyzer.analysis.js +82 -0
  161. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +4 -0
  162. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +1 -0
  163. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +4 -0
  164. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +18 -0
  165. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
  166. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +4 -0
  167. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +1 -0
  168. package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +4 -0
  169. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +95 -0
  170. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
  171. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +185 -0
  172. package/dist/domain/testing/aaa/analyzer.assertions.js +33 -0
  173. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +64 -0
  174. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
  175. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +105 -0
  176. package/dist/domain/testing/aaa/analyzer.classification.d.ts +16 -0
  177. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
  178. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +77 -0
  179. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
  180. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +203 -0
  181. package/dist/domain/testing/aaa/analyzer.classification.js +31 -0
  182. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
  183. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
  184. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
  185. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +4 -0
  186. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +1 -0
  187. package/dist/domain/testing/aaa/analyzer.classification.mutations.js +4 -0
  188. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +15 -0
  189. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
  190. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +34 -0
  191. package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
  192. package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
  193. package/dist/domain/testing/aaa/analyzer.js +59 -0
  194. package/dist/domain/testing/aaa/analyzer.super.d.ts +106 -0
  195. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
  196. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +27 -0
  197. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
  198. package/dist/domain/testing/aaa/analyzer.super.helpers.js +66 -0
  199. package/dist/domain/testing/aaa/analyzer.super.js +211 -0
  200. package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
  201. package/dist/domain/testing/aaa/index.d.ts.map +1 -0
  202. package/dist/domain/testing/aaa/index.js +2 -0
  203. package/dist/domain/testing/aaa/types.d.ts +58 -0
  204. package/dist/domain/testing/aaa/types.d.ts.map +1 -0
  205. package/dist/domain/testing/aaa/types.js +2 -0
  206. package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
  207. package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  208. package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
  209. package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
  210. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  211. package/dist/domain/testing/assert-actual-expected-names/rule.js +116 -0
  212. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  213. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  214. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
  215. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
  216. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
  217. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
  218. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
  219. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
  220. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
  221. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +4 -0
  222. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +1 -0
  223. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +4 -0
  224. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +4 -0
  225. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +1 -0
  226. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +4 -0
  227. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
  228. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
  229. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
  230. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
  231. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
  232. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
  233. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
  234. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
  235. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
  236. package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
  237. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  238. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +37 -0
  239. package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
  240. package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  241. package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
  242. package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
  243. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  244. package/dist/domain/testing/enforce-aaa-structure/rule.js +88 -0
  245. package/dist/{testing → domain/testing}/index.d.ts +9 -8
  246. package/dist/domain/testing/index.d.ts.map +1 -0
  247. package/dist/domain/testing/index.js +10 -0
  248. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
  249. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
  250. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
  251. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
  252. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
  253. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
  254. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
  255. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
  256. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
  257. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
  258. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  259. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
  260. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  261. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  262. package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
  263. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
  264. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  265. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  266. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
  267. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  268. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
  269. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  270. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  271. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
  272. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  273. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  274. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
  275. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  276. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  277. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  278. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  279. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
  280. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  281. package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
  282. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
  283. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
  284. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
  285. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  286. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +39 -0
  287. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
  288. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  289. package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +97 -0
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +174 -0
  293. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
  294. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
  295. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
  296. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
  297. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
  298. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +84 -0
  299. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
  300. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
  301. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +195 -0
  302. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
  303. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
  304. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +96 -0
  305. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
  306. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
  307. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
  308. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
  309. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
  310. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
  311. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
  312. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
  313. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
  314. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
  315. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
  316. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +88 -0
  317. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
  318. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
  319. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
  320. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
  321. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
  322. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
  323. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
  324. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
  325. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
  326. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +187 -0
  327. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
  328. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
  329. package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
  330. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
  331. package/dist/domain/testing/require-aaa-sections/index.js +2 -0
  332. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
  333. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
  334. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
  335. package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
  336. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
  337. package/dist/domain/testing/require-aaa-sections/rule.js +134 -0
  338. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
  339. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
  340. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +216 -0
  341. package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
  342. package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
  343. package/dist/domain/testing/require-act-result-capture/index.js +2 -0
  344. package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
  345. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
  346. package/dist/domain/testing/require-act-result-capture/rule.js +109 -0
  347. package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
  348. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
  349. package/dist/domain/testing/require-test-companion/index.js +3 -0
  350. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
  351. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  352. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  353. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  354. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
  355. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
  356. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  357. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
  358. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
  359. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  360. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  361. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
  362. package/dist/domain/testing/require-test-companion/rule.js +82 -0
  363. package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
  364. package/dist/domain/testing/require-test-companion/types.js +2 -0
  365. package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
  366. package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
  367. package/dist/domain/testing/single-act-statement/index.js +2 -0
  368. package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
  369. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
  370. package/dist/domain/testing/single-act-statement/rule.js +37 -0
  371. package/dist/index.d.ts +4 -5
  372. package/dist/index.d.ts.map +1 -1
  373. package/dist/index.js +3 -6
  374. package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
  375. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
  376. package/dist/infrastructure/codeperfect-plugin.js +30 -0
  377. package/dist/infrastructure/index.d.ts +5 -0
  378. package/dist/infrastructure/index.d.ts.map +1 -0
  379. package/dist/infrastructure/index.js +4 -0
  380. package/dist/infrastructure/presets.d.ts +18 -0
  381. package/dist/infrastructure/presets.d.ts.map +1 -0
  382. package/dist/infrastructure/presets.js +81 -0
  383. package/package.json +67 -32
  384. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
  385. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
  386. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
  387. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
  388. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
  389. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  390. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
  391. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
  392. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
  393. package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
  394. package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
  395. package/dist/architecture/consistent-barrel-files/index.js +0 -4
  396. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
  397. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
  398. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  399. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
  400. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
  401. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
  402. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
  403. package/dist/architecture/consistent-barrel-files/rule.js +0 -58
  404. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  405. package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
  406. package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
  407. package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
  408. package/dist/architecture/consistent-barrel-files/types.js +0 -2
  409. package/dist/architecture/index.d.ts.map +0 -1
  410. package/dist/architecture/index.js +0 -2
  411. package/dist/benchmark-rules.d.ts +0 -83
  412. package/dist/benchmark-rules.d.ts.map +0 -1
  413. package/dist/benchmark-rules.js +0 -175
  414. package/dist/codeperfect-plugin.d.ts.map +0 -1
  415. package/dist/codeperfect-plugin.js +0 -29
  416. package/dist/core/index.d.ts.map +0 -1
  417. package/dist/core/index.js +0 -3
  418. package/dist/core/no-multiple-declarators/index.d.ts +0 -2
  419. package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
  420. package/dist/core/no-multiple-declarators/index.js +0 -2
  421. package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
  422. package/dist/core/no-multiple-declarators/rule.js +0 -100
  423. package/dist/core/prefer-interface-types/index.d.ts +0 -2
  424. package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
  425. package/dist/core/prefer-interface-types/index.js +0 -2
  426. package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
  427. package/dist/core/prefer-interface-types/rule.js +0 -145
  428. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  429. package/dist/core/prefer-interface-types/test-helpers.js +0 -116
  430. package/dist/custom-rule-documentation.d.ts.map +0 -1
  431. package/dist/custom-rule-documentation.js +0 -35
  432. package/dist/custom-rules.d.ts.map +0 -1
  433. package/dist/custom-rules.js +0 -70
  434. package/dist/docs/index.d.ts +0 -4
  435. package/dist/docs/index.d.ts.map +0 -1
  436. package/dist/docs/index.js +0 -4
  437. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  438. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  439. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
  440. package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
  441. package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
  442. package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
  443. package/dist/docs/no-interface-member-docs/index.js +0 -2
  444. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
  445. package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
  446. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
  447. package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
  448. package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
  449. package/dist/docs/no-interface-member-docs/rule.js +0 -168
  450. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  451. package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
  452. package/dist/docs/no-interface-member-docs/types.js +0 -2
  453. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
  454. package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
  455. package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
  456. package/dist/docs/require-example-language/example-utilities.js +0 -76
  457. package/dist/docs/require-example-language/examples.d.ts.map +0 -1
  458. package/dist/docs/require-example-language/examples.js +0 -181
  459. package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
  460. package/dist/docs/require-example-language/fixes.js +0 -182
  461. package/dist/docs/require-example-language/index.d.ts +0 -3
  462. package/dist/docs/require-example-language/index.d.ts.map +0 -1
  463. package/dist/docs/require-example-language/index.js +0 -2
  464. package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
  465. package/dist/docs/require-example-language/reporting.js +0 -145
  466. package/dist/docs/require-example-language/rule.d.ts.map +0 -1
  467. package/dist/docs/require-example-language/rule.js +0 -34
  468. package/dist/docs/require-example-language/types.d.ts.map +0 -1
  469. package/dist/docs/require-example-language/types.js +0 -2
  470. package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
  471. package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
  472. package/dist/docs/single-line-jsdoc/index.js +0 -2
  473. package/dist/docs/single-line-jsdoc/rule.d.ts +0 -5
  474. package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
  475. package/dist/docs/single-line-jsdoc/rule.js +0 -196
  476. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
  477. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
  478. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
  479. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
  480. package/dist/docs/test-helpers.d.ts.map +0 -1
  481. package/dist/docs/test-helpers.js +0 -107
  482. package/dist/presets.d.ts +0 -10
  483. package/dist/presets.d.ts.map +0 -1
  484. package/dist/presets.js +0 -50
  485. package/dist/rules/index.d.ts +0 -5
  486. package/dist/rules/index.d.ts.map +0 -1
  487. package/dist/rules/index.js +0 -6
  488. package/dist/testing/aaa/analyzer.d.ts +0 -36
  489. package/dist/testing/aaa/analyzer.d.ts.map +0 -1
  490. package/dist/testing/aaa/analyzer.js +0 -490
  491. package/dist/testing/aaa/index.d.ts.map +0 -1
  492. package/dist/testing/aaa/index.js +0 -2
  493. package/dist/testing/aaa/types.d.ts +0 -31
  494. package/dist/testing/aaa/types.d.ts.map +0 -1
  495. package/dist/testing/aaa/types.js +0 -2
  496. package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
  497. package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
  498. package/dist/testing/assert-actual-expected-names/index.js +0 -2
  499. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
  500. package/dist/testing/assert-actual-expected-names/rule.js +0 -54
  501. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
  502. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
  503. package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
  504. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  505. package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
  506. package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
  507. package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
  508. package/dist/testing/enforce-aaa-structure/index.js +0 -2
  509. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
  510. package/dist/testing/enforce-aaa-structure/rule.js +0 -48
  511. package/dist/testing/index.d.ts.map +0 -1
  512. package/dist/testing/index.js +0 -9
  513. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
  514. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
  515. package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
  516. package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
  517. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
  518. package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
  519. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
  520. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
  521. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
  522. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
  523. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
  524. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
  525. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
  526. package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
  527. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
  528. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
  529. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
  530. package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
  531. package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
  532. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
  533. package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
  534. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
  535. package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
  536. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
  537. package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
  538. package/dist/testing/require-aaa-sections/index.d.ts +0 -2
  539. package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
  540. package/dist/testing/require-aaa-sections/index.js +0 -2
  541. package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
  542. package/dist/testing/require-aaa-sections/rule.js +0 -111
  543. package/dist/testing/require-act-result-capture/index.d.ts +0 -2
  544. package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
  545. package/dist/testing/require-act-result-capture/index.js +0 -2
  546. package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
  547. package/dist/testing/require-act-result-capture/rule.js +0 -34
  548. package/dist/testing/require-test-companion/index.d.ts +0 -3
  549. package/dist/testing/require-test-companion/index.d.ts.map +0 -1
  550. package/dist/testing/require-test-companion/index.js +0 -3
  551. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
  552. package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
  553. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
  554. package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
  555. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  556. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
  557. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  558. package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
  559. package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
  560. package/dist/testing/require-test-companion/rule.js +0 -57
  561. package/dist/testing/require-test-companion/types.d.ts.map +0 -1
  562. package/dist/testing/require-test-companion/types.js +0 -2
  563. package/dist/testing/single-act-statement/index.d.ts +0 -2
  564. package/dist/testing/single-act-statement/index.d.ts.map +0 -1
  565. package/dist/testing/single-act-statement/index.js +0 -2
  566. package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
  567. package/dist/testing/single-act-statement/rule.js +0 -33
  568. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
  569. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
  570. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
  571. /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
  572. /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
  573. /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
  574. /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
  575. /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
  576. /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
  577. /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
  578. /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
  579. /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
  580. /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
  581. /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
  582. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
  583. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
  584. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
  585. /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
  586. /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
  587. /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
@@ -0,0 +1,182 @@
1
+ import { parseFenceLine, removeEmptyFences } from "./empty-fence-fixes.js";
2
+ /**
3
+ * Applies a language to a fence line when needed.
4
+ * @param context Fence state and line data.
5
+ * @returns Updated line and fence state.
6
+ * @example
7
+ * ```typescript
8
+ * const result = applyFenceLanguage({ inFence: false, line: " * ```" });
9
+ * ```
10
+ */
11
+ function applyFenceLanguage(context) {
12
+ const { inFence, line } = context;
13
+ const fenceInfo = parseFenceLine(line);
14
+ if (fenceInfo === void 0) {
15
+ return { inFence, line };
16
+ }
17
+ const shouldAddLanguage = !inFence && fenceInfo.language.length === 0;
18
+ const nextLine = shouldAddLanguage
19
+ ? `${fenceInfo.leading}\`\`\`typescript`
20
+ : line;
21
+ return { inFence: !inFence, line: nextLine };
22
+ }
23
+ /**
24
+ * Builds a full example with a fenced block when missing entirely.
25
+ * @param example Example metadata.
26
+ * @returns Example text with a fenced block.
27
+ * @example
28
+ * ```typescript
29
+ * const text = buildMissingFenceFix(example);
30
+ * ```
31
+ */
32
+ function buildMissingFenceFix(example) {
33
+ const contentLines = normalizeContentLines({
34
+ content: example.content,
35
+ prefix: example.prefix,
36
+ });
37
+ return [
38
+ `${example.prefix}@example`,
39
+ `${example.prefix}\`\`\`typescript`,
40
+ ...contentLines.map((contentLine) => contentLine.length > 0
41
+ ? `${example.prefix} ${contentLine}`
42
+ : example.prefix),
43
+ `${example.prefix}\`\`\``,
44
+ ].join("\n");
45
+ }
46
+ /**
47
+ * Adds missing languages to existing fenced blocks.
48
+ * @param original Original comment text.
49
+ * @returns Updated comment text when changes are made.
50
+ * @example
51
+ * ```typescript
52
+ * const updated = buildMissingLanguageFix("* ```\n* ok\n* ```");
53
+ * ```
54
+ */
55
+ function buildMissingLanguageFix(original) {
56
+ const lineBreak = original.includes("\r\n") ? "\r\n" : "\n";
57
+ const lines = original.split(/\r?\n/u);
58
+ let inFence = false;
59
+ const updatedLines = lines.map((line) => {
60
+ const { inFence: nextInFence, line: nextLine } = applyFenceLanguage({
61
+ inFence,
62
+ line,
63
+ });
64
+ inFence = nextInFence;
65
+ return nextLine;
66
+ });
67
+ const updated = updatedLines.join(lineBreak);
68
+ return updated === original ? void 0 : updated;
69
+ }
70
+ /**
71
+ * Builds a fixer function for the report.
72
+ * @param context Fixer context details.
73
+ * @returns Fixer function for ESLint.
74
+ * @example
75
+ * ```typescript
76
+ * const fixer = createFixer(context);
77
+ * ```
78
+ */
79
+ function createFixer(context) {
80
+ const { absoluteEnd, absoluteStart } = context;
81
+ return (fixer) => {
82
+ const updated = getUpdatedExampleText(context);
83
+ if (updated === void 0) {
84
+ return void 0;
85
+ }
86
+ return fixer.replaceTextRange([absoluteStart, absoluteEnd], updated);
87
+ };
88
+ }
89
+ /**
90
+ * Extracts trailing whitespace from the original example range.
91
+ * @param original Original example text.
92
+ * @returns Trailing whitespace to preserve.
93
+ * @example
94
+ * ```typescript
95
+ * const suffix = getTrailingWhitespace("* @example ok\n ");
96
+ * ```
97
+ */
98
+ function getTrailingWhitespace(original) {
99
+ const trailingMatch = /(?:\r?\n[ \t]*)$/u.exec(original);
100
+ return trailingMatch?.[0] ?? "";
101
+ }
102
+ /**
103
+ * Resolves the updated text for an example.
104
+ * @param context Fixer context details.
105
+ * @returns Fixed example text when a change is required.
106
+ * @example
107
+ * ```typescript
108
+ * const text = getUpdatedExampleText(context);
109
+ * ```
110
+ */
111
+ function getUpdatedExampleText(context) {
112
+ const { absoluteEnd, absoluteStart, example, hasOtherExamples, problem, sourceText, } = context;
113
+ const original = sourceText.slice(absoluteStart, absoluteEnd);
114
+ if (problem === "missingLanguage") {
115
+ return buildMissingLanguageFix(original);
116
+ }
117
+ if (problem === "emptyExample") {
118
+ return resolveEmptyExampleFix({ example, hasOtherExamples, original });
119
+ }
120
+ const fixed = buildMissingFenceFix(example);
121
+ const trailingWhitespace = getTrailingWhitespace(original);
122
+ return trailingWhitespace.length > 0
123
+ ? `${fixed}${trailingWhitespace}`
124
+ : fixed;
125
+ }
126
+ /**
127
+ * Normalizes raw example content lines before fence wrapping.
128
+ * @param context Prefix and raw content.
129
+ * @returns Content lines safe to wrap in a fenced block.
130
+ * @example
131
+ * ```typescript
132
+ * const lines = normalizeContentLines({ content: "a\n * b", prefix: " * " });
133
+ * ```
134
+ */
135
+ function normalizeContentLines(context) {
136
+ const { content, prefix } = context;
137
+ const lines = content.length > 0 ? content.split(/\r?\n/u) : [];
138
+ return lines
139
+ .map((line) => stripContentPrefix({ line, prefix }))
140
+ .map((line) => line.replace(/\s*\*\/[ \t]*$/u, ""));
141
+ }
142
+ /**
143
+ * Resolves the appropriate fix for empty examples.
144
+ * @param context Empty example fix details.
145
+ * @returns Fixed example text when a change is required.
146
+ * @example
147
+ * ```typescript
148
+ * const text = resolveEmptyExampleFix(context);
149
+ * ```
150
+ */
151
+ function resolveEmptyExampleFix(context) {
152
+ const { example, hasOtherExamples, original } = context;
153
+ const cleaned = removeEmptyFences(original);
154
+ if (cleaned !== void 0) {
155
+ return cleaned;
156
+ }
157
+ if (hasOtherExamples) {
158
+ return "";
159
+ }
160
+ if (original.includes("```")) {
161
+ return void 0;
162
+ }
163
+ return buildMissingFenceFix(example);
164
+ }
165
+ /**
166
+ * Removes JSDoc line prefixes from example content.
167
+ * @param context Prefix and source line.
168
+ * @returns Cleaned content line.
169
+ * @example
170
+ * ```typescript
171
+ * const line = stripContentPrefix({ line: " * value", prefix: " * " });
172
+ * ```
173
+ */
174
+ function stripContentPrefix(context) {
175
+ const { line, prefix } = context;
176
+ if (line.startsWith(prefix)) {
177
+ return line.slice(prefix.length);
178
+ }
179
+ return line.replace(/^\s*\*\s?/u, "");
180
+ }
181
+ export { buildMissingFenceFix, buildMissingLanguageFix, createFixer };
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2ZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQTREeEU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE9BQTZCO0lBQ3ZELE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLGlCQUFpQjtRQUNoQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxrQkFBa0I7UUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVULE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQUMsT0FBZ0I7SUFDNUMsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUM7UUFDekMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN2QixDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsR0FBRyxPQUFPLENBQUMsTUFBTSxVQUFVO1FBQzNCLEdBQUcsT0FBTyxDQUFDLE1BQU0sa0JBQWtCO1FBQ25DLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ2xDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNwQixDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFdBQVcsRUFBRTtZQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDbkI7UUFDRCxHQUFHLE9BQU8sQ0FBQyxNQUFNLFFBQVE7S0FDMUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHVCQUF1QixDQUFDLFFBQWdCO0lBQy9DLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXBCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0QyxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsa0JBQWtCLENBQUM7WUFDbEUsT0FBTztZQUNQLElBQUk7U0FDTCxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsV0FBVyxDQUFDO1FBQ3RCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU3QyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDakQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxXQUFXLENBQ2xCLE9BQXFCO0lBRXJCLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRS9DLE9BQU8sQ0FBQyxLQUFxQixFQUF3QixFQUFFO1FBQ3JELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9DLElBQUksT0FBTyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FBQyxRQUFnQjtJQUM3QyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFekQsT0FBTyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FBQyxPQUFxQjtJQUNsRCxNQUFNLEVBQ0osV0FBVyxFQUNYLGFBQWEsRUFDYixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDUCxVQUFVLEdBQ1gsR0FBRyxPQUFPLENBQUM7SUFDWixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUU5RCxJQUFJLE9BQU8sS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUzRCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxrQkFBa0IsRUFBRTtRQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsT0FBcUM7SUFFckMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUVoRSxPQUFPLEtBQUs7U0FDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbkQsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FDN0IsT0FBK0I7SUFFL0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDeEQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUMsSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxPQUFrQztJQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVqQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgRXhhbXBsZSwgUHJvYmxlbSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7IHBhcnNlRmVuY2VMaW5lLCByZW1vdmVFbXB0eUZlbmNlcyB9IGZyb20gXCIuL2VtcHR5LWZlbmNlLWZpeGVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBFbXB0eUV4YW1wbGVGaXhDb250ZXh0IHtcbiAgLyoqIEV4YW1wbGUgZmllbGQgdmFsdWUuICovXG4gIGV4YW1wbGU6IEV4YW1wbGU7XG4gIC8qKiBIYXNPdGhlckV4YW1wbGVzIGZpZWxkIHZhbHVlLiAqL1xuICBoYXNPdGhlckV4YW1wbGVzOiBib29sZWFuO1xuICAvKiogT3JpZ2luYWwgZmllbGQgdmFsdWUuICovXG4gIG9yaWdpbmFsOiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZUxhbmd1YWdlQ29udGV4dCB7XG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuICAvKiogTGluZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbGluZTogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRmVuY2VSZXN1bHQge1xuICAvKiogSW5GZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaW5GZW5jZTogYm9vbGVhbjtcbiAgLyoqIExpbmUgZmllbGQgdmFsdWUuICovXG4gIGxpbmU6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZpeGVyQ29udGV4dCB7XG4gIC8qKiBBYnNvbHV0ZUVuZCBmaWVsZCB2YWx1ZS4gKi9cbiAgYWJzb2x1dGVFbmQ6IG51bWJlcjtcbiAgLyoqIEFic29sdXRlU3RhcnQgZmllbGQgdmFsdWUuICovXG4gIGFic29sdXRlU3RhcnQ6IG51bWJlcjtcbiAgLyoqIEV4YW1wbGUgZmllbGQgdmFsdWUuICovXG4gIGV4YW1wbGU6IEV4YW1wbGU7XG4gIC8qKiBIYXNPdGhlckV4YW1wbGVzIGZpZWxkIHZhbHVlLiAqL1xuICBoYXNPdGhlckV4YW1wbGVzOiBib29sZWFuO1xuICAvKiogUHJvYmxlbSBmaWVsZCB2YWx1ZS4gKi9cbiAgcHJvYmxlbTogUHJvYmxlbTtcbiAgLyoqIFNvdXJjZVRleHQgZmllbGQgdmFsdWUuICovXG4gIHNvdXJjZVRleHQ6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIE5vcm1hbGl6ZUNvbnRlbnRMaW5lc0NvbnRleHQge1xuICAvKiogQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFN0cmlwQ29udGVudFByZWZpeENvbnRleHQge1xuICAvKiogTGluZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbGluZTogc3RyaW5nO1xuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcHBsaWVzIGEgbGFuZ3VhZ2UgdG8gYSBmZW5jZSBsaW5lIHdoZW4gbmVlZGVkLlxuICogQHBhcmFtIGNvbnRleHQgRmVuY2Ugc3RhdGUgYW5kIGxpbmUgZGF0YS5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgbGluZSBhbmQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVzdWx0ID0gYXBwbHlGZW5jZUxhbmd1YWdlKHsgaW5GZW5jZTogZmFsc2UsIGxpbmU6IFwiICogYGBgXCIgfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYXBwbHlGZW5jZUxhbmd1YWdlKGNvbnRleHQ6IEZlbmNlTGFuZ3VhZ2VDb250ZXh0KTogRmVuY2VSZXN1bHQge1xuICBjb25zdCB7IGluRmVuY2UsIGxpbmUgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZlbmNlSW5mbyA9IHBhcnNlRmVuY2VMaW5lKGxpbmUpO1xuXG4gIGlmIChmZW5jZUluZm8gPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB7IGluRmVuY2UsIGxpbmUgfTtcbiAgfVxuXG4gIGNvbnN0IHNob3VsZEFkZExhbmd1YWdlID0gIWluRmVuY2UgJiYgZmVuY2VJbmZvLmxhbmd1YWdlLmxlbmd0aCA9PT0gMDtcbiAgY29uc3QgbmV4dExpbmUgPSBzaG91bGRBZGRMYW5ndWFnZVxuICAgID8gYCR7ZmVuY2VJbmZvLmxlYWRpbmd9XFxgXFxgXFxgdHlwZXNjcmlwdGBcbiAgICA6IGxpbmU7XG5cbiAgcmV0dXJuIHsgaW5GZW5jZTogIWluRmVuY2UsIGxpbmU6IG5leHRMaW5lIH07XG59XG5cbi8qKlxuICogQnVpbGRzIGEgZnVsbCBleGFtcGxlIHdpdGggYSBmZW5jZWQgYmxvY2sgd2hlbiBtaXNzaW5nIGVudGlyZWx5LlxuICogQHBhcmFtIGV4YW1wbGUgRXhhbXBsZSBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIEV4YW1wbGUgdGV4dCB3aXRoIGEgZmVuY2VkIGJsb2NrLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRleHQgPSBidWlsZE1pc3NpbmdGZW5jZUZpeChleGFtcGxlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZE1pc3NpbmdGZW5jZUZpeChleGFtcGxlOiBFeGFtcGxlKTogc3RyaW5nIHtcbiAgY29uc3QgY29udGVudExpbmVzID0gbm9ybWFsaXplQ29udGVudExpbmVzKHtcbiAgICBjb250ZW50OiBleGFtcGxlLmNvbnRlbnQsXG4gICAgcHJlZml4OiBleGFtcGxlLnByZWZpeCxcbiAgfSk7XG5cbiAgcmV0dXJuIFtcbiAgICBgJHtleGFtcGxlLnByZWZpeH1AZXhhbXBsZWAsXG4gICAgYCR7ZXhhbXBsZS5wcmVmaXh9XFxgXFxgXFxgdHlwZXNjcmlwdGAsXG4gICAgLi4uY29udGVudExpbmVzLm1hcCgoY29udGVudExpbmUpID0+XG4gICAgICBjb250ZW50TGluZS5sZW5ndGggPiAwXG4gICAgICAgID8gYCR7ZXhhbXBsZS5wcmVmaXh9ICR7Y29udGVudExpbmV9YFxuICAgICAgICA6IGV4YW1wbGUucHJlZml4LFxuICAgICksXG4gICAgYCR7ZXhhbXBsZS5wcmVmaXh9XFxgXFxgXFxgYCxcbiAgXS5qb2luKFwiXFxuXCIpO1xufVxuXG4vKipcbiAqIEFkZHMgbWlzc2luZyBsYW5ndWFnZXMgdG8gZXhpc3RpbmcgZmVuY2VkIGJsb2Nrcy5cbiAqIEBwYXJhbSBvcmlnaW5hbCBPcmlnaW5hbCBjb21tZW50IHRleHQuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGNvbW1lbnQgdGV4dCB3aGVuIGNoYW5nZXMgYXJlIG1hZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdXBkYXRlZCA9IGJ1aWxkTWlzc2luZ0xhbmd1YWdlRml4KFwiKiBgYGBcXG4qIG9rXFxuKiBgYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRNaXNzaW5nTGFuZ3VhZ2VGaXgob3JpZ2luYWw6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGxpbmVCcmVhayA9IG9yaWdpbmFsLmluY2x1ZGVzKFwiXFxyXFxuXCIpID8gXCJcXHJcXG5cIiA6IFwiXFxuXCI7XG4gIGNvbnN0IGxpbmVzID0gb3JpZ2luYWwuc3BsaXQoL1xccj9cXG4vdSk7XG4gIGxldCBpbkZlbmNlID0gZmFsc2U7XG5cbiAgY29uc3QgdXBkYXRlZExpbmVzID0gbGluZXMubWFwKChsaW5lKSA9PiB7XG4gICAgY29uc3QgeyBpbkZlbmNlOiBuZXh0SW5GZW5jZSwgbGluZTogbmV4dExpbmUgfSA9IGFwcGx5RmVuY2VMYW5ndWFnZSh7XG4gICAgICBpbkZlbmNlLFxuICAgICAgbGluZSxcbiAgICB9KTtcbiAgICBpbkZlbmNlID0gbmV4dEluRmVuY2U7XG4gICAgcmV0dXJuIG5leHRMaW5lO1xuICB9KTtcblxuICBjb25zdCB1cGRhdGVkID0gdXBkYXRlZExpbmVzLmpvaW4obGluZUJyZWFrKTtcblxuICByZXR1cm4gdXBkYXRlZCA9PT0gb3JpZ2luYWwgPyB2b2lkIDAgOiB1cGRhdGVkO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhIGZpeGVyIGZ1bmN0aW9uIGZvciB0aGUgcmVwb3J0LlxuICogQHBhcmFtIGNvbnRleHQgRml4ZXIgY29udGV4dCBkZXRhaWxzLlxuICogQHJldHVybnMgRml4ZXIgZnVuY3Rpb24gZm9yIEVTTGludC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaXhlciA9IGNyZWF0ZUZpeGVyKGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUZpeGVyKFxuICBjb250ZXh0OiBGaXhlckNvbnRleHQsXG4pOiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiBSdWxlLkZpeCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgYWJzb2x1dGVFbmQsIGFic29sdXRlU3RhcnQgfSA9IGNvbnRleHQ7XG5cbiAgcmV0dXJuIChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgdXBkYXRlZCA9IGdldFVwZGF0ZWRFeGFtcGxlVGV4dChjb250ZXh0KTtcblxuICAgIGlmICh1cGRhdGVkID09PSB2b2lkIDApIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UoW2Fic29sdXRlU3RhcnQsIGFic29sdXRlRW5kXSwgdXBkYXRlZCk7XG4gIH07XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdHJhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIHRoZSBvcmlnaW5hbCBleGFtcGxlIHJhbmdlLlxuICogQHBhcmFtIG9yaWdpbmFsIE9yaWdpbmFsIGV4YW1wbGUgdGV4dC5cbiAqIEByZXR1cm5zIFRyYWlsaW5nIHdoaXRlc3BhY2UgdG8gcHJlc2VydmUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3VmZml4ID0gZ2V0VHJhaWxpbmdXaGl0ZXNwYWNlKFwiKiBAZXhhbXBsZSBva1xcbiBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0VHJhaWxpbmdXaGl0ZXNwYWNlKG9yaWdpbmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB0cmFpbGluZ01hdGNoID0gLyg/Olxccj9cXG5bIFxcdF0qKSQvdS5leGVjKG9yaWdpbmFsKTtcblxuICByZXR1cm4gdHJhaWxpbmdNYXRjaD8uWzBdID8/IFwiXCI7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHVwZGF0ZWQgdGV4dCBmb3IgYW4gZXhhbXBsZS5cbiAqIEBwYXJhbSBjb250ZXh0IEZpeGVyIGNvbnRleHQgZGV0YWlscy5cbiAqIEByZXR1cm5zIEZpeGVkIGV4YW1wbGUgdGV4dCB3aGVuIGEgY2hhbmdlIGlzIHJlcXVpcmVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRleHQgPSBnZXRVcGRhdGVkRXhhbXBsZVRleHQoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlZEV4YW1wbGVUZXh0KGNvbnRleHQ6IEZpeGVyQ29udGV4dCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHtcbiAgICBhYnNvbHV0ZUVuZCxcbiAgICBhYnNvbHV0ZVN0YXJ0LFxuICAgIGV4YW1wbGUsXG4gICAgaGFzT3RoZXJFeGFtcGxlcyxcbiAgICBwcm9ibGVtLFxuICAgIHNvdXJjZVRleHQsXG4gIH0gPSBjb250ZXh0O1xuICBjb25zdCBvcmlnaW5hbCA9IHNvdXJjZVRleHQuc2xpY2UoYWJzb2x1dGVTdGFydCwgYWJzb2x1dGVFbmQpO1xuXG4gIGlmIChwcm9ibGVtID09PSBcIm1pc3NpbmdMYW5ndWFnZVwiKSB7XG4gICAgcmV0dXJuIGJ1aWxkTWlzc2luZ0xhbmd1YWdlRml4KG9yaWdpbmFsKTtcbiAgfVxuXG4gIGlmIChwcm9ibGVtID09PSBcImVtcHR5RXhhbXBsZVwiKSB7XG4gICAgcmV0dXJuIHJlc29sdmVFbXB0eUV4YW1wbGVGaXgoeyBleGFtcGxlLCBoYXNPdGhlckV4YW1wbGVzLCBvcmlnaW5hbCB9KTtcbiAgfVxuXG4gIGNvbnN0IGZpeGVkID0gYnVpbGRNaXNzaW5nRmVuY2VGaXgoZXhhbXBsZSk7XG4gIGNvbnN0IHRyYWlsaW5nV2hpdGVzcGFjZSA9IGdldFRyYWlsaW5nV2hpdGVzcGFjZShvcmlnaW5hbCk7XG5cbiAgcmV0dXJuIHRyYWlsaW5nV2hpdGVzcGFjZS5sZW5ndGggPiAwXG4gICAgPyBgJHtmaXhlZH0ke3RyYWlsaW5nV2hpdGVzcGFjZX1gXG4gICAgOiBmaXhlZDtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemVzIHJhdyBleGFtcGxlIGNvbnRlbnQgbGluZXMgYmVmb3JlIGZlbmNlIHdyYXBwaW5nLlxuICogQHBhcmFtIGNvbnRleHQgUHJlZml4IGFuZCByYXcgY29udGVudC5cbiAqIEByZXR1cm5zIENvbnRlbnQgbGluZXMgc2FmZSB0byB3cmFwIGluIGEgZmVuY2VkIGJsb2NrLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpbmVzID0gbm9ybWFsaXplQ29udGVudExpbmVzKHsgY29udGVudDogXCJhXFxuICogYlwiLCBwcmVmaXg6IFwiICogXCIgfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplQ29udGVudExpbmVzKFxuICBjb250ZXh0OiBOb3JtYWxpemVDb250ZW50TGluZXNDb250ZXh0LFxuKTogc3RyaW5nW10ge1xuICBjb25zdCB7IGNvbnRlbnQsIHByZWZpeCB9ID0gY29udGV4dDtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50Lmxlbmd0aCA+IDAgPyBjb250ZW50LnNwbGl0KC9cXHI/XFxuL3UpIDogW107XG5cbiAgcmV0dXJuIGxpbmVzXG4gICAgLm1hcCgobGluZSkgPT4gc3RyaXBDb250ZW50UHJlZml4KHsgbGluZSwgcHJlZml4IH0pKVxuICAgIC5tYXAoKGxpbmUpID0+IGxpbmUucmVwbGFjZSgvXFxzKlxcKlxcL1sgXFx0XSokL3UsIFwiXCIpKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgYXBwcm9wcmlhdGUgZml4IGZvciBlbXB0eSBleGFtcGxlcy5cbiAqIEBwYXJhbSBjb250ZXh0IEVtcHR5IGV4YW1wbGUgZml4IGRldGFpbHMuXG4gKiBAcmV0dXJucyBGaXhlZCBleGFtcGxlIHRleHQgd2hlbiBhIGNoYW5nZSBpcyByZXF1aXJlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gcmVzb2x2ZUVtcHR5RXhhbXBsZUZpeChjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXNvbHZlRW1wdHlFeGFtcGxlRml4KFxuICBjb250ZXh0OiBFbXB0eUV4YW1wbGVGaXhDb250ZXh0LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyBleGFtcGxlLCBoYXNPdGhlckV4YW1wbGVzLCBvcmlnaW5hbCB9ID0gY29udGV4dDtcbiAgY29uc3QgY2xlYW5lZCA9IHJlbW92ZUVtcHR5RmVuY2VzKG9yaWdpbmFsKTtcblxuICBpZiAoY2xlYW5lZCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNsZWFuZWQ7XG4gIH1cblxuICBpZiAoaGFzT3RoZXJFeGFtcGxlcykge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaWYgKG9yaWdpbmFsLmluY2x1ZGVzKFwiYGBgXCIpKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiBidWlsZE1pc3NpbmdGZW5jZUZpeChleGFtcGxlKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIEpTRG9jIGxpbmUgcHJlZml4ZXMgZnJvbSBleGFtcGxlIGNvbnRlbnQuXG4gKiBAcGFyYW0gY29udGV4dCBQcmVmaXggYW5kIHNvdXJjZSBsaW5lLlxuICogQHJldHVybnMgQ2xlYW5lZCBjb250ZW50IGxpbmUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZSA9IHN0cmlwQ29udGVudFByZWZpeCh7IGxpbmU6IFwiICogdmFsdWVcIiwgcHJlZml4OiBcIiAqIFwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHN0cmlwQ29udGVudFByZWZpeChjb250ZXh0OiBTdHJpcENvbnRlbnRQcmVmaXhDb250ZXh0KTogc3RyaW5nIHtcbiAgY29uc3QgeyBsaW5lLCBwcmVmaXggfSA9IGNvbnRleHQ7XG5cbiAgaWYgKGxpbmUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgcmV0dXJuIGxpbmUuc2xpY2UocHJlZml4Lmxlbmd0aCk7XG4gIH1cblxuICByZXR1cm4gbGluZS5yZXBsYWNlKC9eXFxzKlxcKlxccz8vdSwgXCJcIik7XG59XG5cbmV4cG9ydCB7IGJ1aWxkTWlzc2luZ0ZlbmNlRml4LCBidWlsZE1pc3NpbmdMYW5ndWFnZUZpeCwgY3JlYXRlRml4ZXIgfTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { requireExampleLanguageRule } from "./rule.js";
2
+ export type { Comment, Example, Problem } from "./types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { requireExampleLanguageRule } from "./rule.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlIH0gZnJvbSBcIi4vcnVsZVwiO1xuZXhwb3J0IHR5cGUgeyBDb21tZW50LCBFeGFtcGxlLCBQcm9ibGVtIH0gZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import type { Rule } from "eslint";
2
- import type { Comment, Example, Problem } from "./types";
2
+ import type { Comment, Example, Problem } from "./types.js";
3
3
  /** Type definition for rule data. */
4
4
  interface ReportDescriptorContext {
5
5
  /** Comment field value. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAuBzD,qCAAqC;AACrC,UAAU,uBAAuB;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,oCAAoC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED,qCAAqC;AACrC,UAAU,oBAAoB;IAC5B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,oCAAoC;IACpC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAuBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iBAAS,qBAAqB,CAC5B,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAAC,gBAAgB,CA6BvB;AA0FD;;;;;;;GAOG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAiB1D;AAED,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { checkExampleContent } from "./examples.js";
2
+ import { createFixer } from "./fixes.js";
3
+ /**
4
+ * Build a report descriptor for a single example problem.
5
+ * @param context Input context value.
6
+ * @returns Return value output.
7
+ * @example
8
+ * ```typescript
9
+ * const descriptor = buildReportDescriptor({
10
+ * comment: { type: "Block", value: "*" } as Comment,
11
+ * example: {
12
+ * content: "",
13
+ * endIndex: 0,
14
+ * endOffset: 0,
15
+ * lineIndex: 0,
16
+ * prefix: " * ",
17
+ * startOffset: 0,
18
+ * },
19
+ * hasOtherExamples: false,
20
+ * problem: "missingFence",
21
+ * sourceCode: {} as Rule.SourceCode,
22
+ * });
23
+ * ```
24
+ */
25
+ function buildReportDescriptor(context) {
26
+ const { comment, example, hasOtherExamples, problem, sourceCode } = context;
27
+ const fix = getFixerForExample({
28
+ comment,
29
+ example,
30
+ hasOtherExamples,
31
+ problem,
32
+ sourceCode,
33
+ });
34
+ const reportFix = fix === void 0
35
+ ? void 0
36
+ : (fixer) => fix(fixer) ?? [];
37
+ const loc = getReportLocation(comment, example);
38
+ if (loc !== void 0) {
39
+ return {
40
+ fix: reportFix,
41
+ loc,
42
+ messageId: problem,
43
+ };
44
+ }
45
+ return {
46
+ fix: reportFix,
47
+ messageId: problem,
48
+ node: sourceCode.ast,
49
+ };
50
+ }
51
+ /**
52
+ * Resolve a fixer for the report when ranges are available.
53
+ * @param context Input context value.
54
+ * @returns Return value output.
55
+ * @example
56
+ * ```typescript
57
+ * const fixer = getFixerForExample({
58
+ * comment: { type: "Block", value: "*" } as Comment,
59
+ * example: {
60
+ * content: "",
61
+ * endIndex: 0,
62
+ * endOffset: 0,
63
+ * lineIndex: 0,
64
+ * prefix: " * ",
65
+ * startOffset: 0,
66
+ * },
67
+ * hasOtherExamples: false,
68
+ * problem: "missingLanguage",
69
+ * sourceCode: {} as Rule.SourceCode,
70
+ * });
71
+ * ```
72
+ */
73
+ function getFixerForExample(context) {
74
+ const { comment, example, hasOtherExamples, problem, sourceCode } = context;
75
+ const commentOffset = comment.range?.[0];
76
+ const commentValueOffset = typeof commentOffset === "number" ? commentOffset + 2 : void 0;
77
+ const absoluteStart = typeof commentValueOffset === "number"
78
+ ? commentValueOffset + example.startOffset
79
+ : void 0;
80
+ const absoluteEnd = typeof commentValueOffset === "number"
81
+ ? commentValueOffset + example.endOffset
82
+ : void 0;
83
+ if (typeof absoluteStart !== "number" || typeof absoluteEnd !== "number") {
84
+ return void 0;
85
+ }
86
+ return createFixer({
87
+ absoluteEnd,
88
+ absoluteStart,
89
+ example,
90
+ hasOtherExamples,
91
+ problem,
92
+ sourceText: sourceCode.text,
93
+ });
94
+ }
95
+ /**
96
+ * Resolve the report location for a matched example.
97
+ * @param comment Comment node containing the example.
98
+ * @param example Example metadata.
99
+ * @returns Report location when available.
100
+ * @example
101
+ * ```typescript
102
+ * const loc = getReportLocation({} as Comment, {
103
+ * content: "",
104
+ * endIndex: 0,
105
+ * endOffset: 0,
106
+ * lineIndex: 0,
107
+ * prefix: "",
108
+ * startOffset: 0,
109
+ * });
110
+ * ```
111
+ */
112
+ function getReportLocation(comment, example) {
113
+ const line = typeof comment.loc?.start.line === "number"
114
+ ? comment.loc.start.line + example.lineIndex
115
+ : void 0;
116
+ if (line === void 0) {
117
+ return void 0;
118
+ }
119
+ return {
120
+ end: { column: 1, line },
121
+ start: { column: 0, line },
122
+ };
123
+ }
124
+ /**
125
+ * Reports a single example when it violates the rule.
126
+ * @param context Report details for this example.
127
+ * @example
128
+ * ```typescript
129
+ * reportExample(context);
130
+ * ```
131
+ */
132
+ function reportExample(context) {
133
+ const { comment, context: ruleContext, example, hasOtherExamples } = context;
134
+ const problem = checkExampleContent(example.content);
135
+ if (problem === void 0) {
136
+ return;
137
+ }
138
+ const descriptor = buildReportDescriptor({
139
+ comment,
140
+ example,
141
+ hasOtherExamples,
142
+ problem,
143
+ sourceCode: ruleContext.sourceCode,
144
+ });
145
+ ruleContext.report(descriptor);
146
+ }
147
+ export { buildReportDescriptor, reportExample };
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3JlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZS9yZXBvcnRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUEwRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixPQUFnQztJQUVoQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzVFLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDO1FBQzdCLE9BQU87UUFDUCxPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLE9BQU87UUFDUCxVQUFVO0tBQ1gsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQ2IsR0FBRyxLQUFLLEtBQUssQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQyxLQUFxQixFQUFpQyxFQUFFLENBQ3ZELEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWhELElBQUksR0FBRyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkIsT0FBTztZQUNMLEdBQUcsRUFBRSxTQUFTO1lBQ2QsR0FBRztZQUNILFNBQVMsRUFBRSxPQUFPO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLEdBQUcsRUFBRSxTQUFTO1FBQ2QsU0FBUyxFQUFFLE9BQU87UUFDbEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILFNBQVMsa0JBQWtCLENBQ3pCLE9BQTJCO0lBRTNCLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDNUUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sa0JBQWtCLEdBQ3RCLE9BQU8sYUFBYSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxhQUFhLEdBQ2pCLE9BQU8sa0JBQWtCLEtBQUssUUFBUTtRQUNwQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLFdBQVc7UUFDMUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2IsTUFBTSxXQUFXLEdBQ2YsT0FBTyxrQkFBa0IsS0FBSyxRQUFRO1FBQ3BDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsU0FBUztRQUN4QyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFYixJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6RSxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztRQUNqQixXQUFXO1FBQ1gsYUFBYTtRQUNiLE9BQU87UUFDUCxnQkFBZ0I7UUFDaEIsT0FBTztRQUNQLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSTtLQUM1QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxTQUFTLGlCQUFpQixDQUN4QixPQUFnQixFQUNoQixPQUFnQjtJQUVoQixNQUFNLElBQUksR0FDUixPQUFPLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQ3pDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVM7UUFDNUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWIsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUU7UUFDeEIsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUU7S0FDM0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBUyxhQUFhLENBQUMsT0FBNkI7SUFDbEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUM3RSxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckQsSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDO1FBQ3ZDLE9BQU87UUFDUCxPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLE9BQU87UUFDUCxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7S0FDbkMsQ0FBQyxDQUFDO0lBRUgsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1lbnQsIEV4YW1wbGUsIFByb2JsZW0gfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBjaGVja0V4YW1wbGVDb250ZW50IH0gZnJvbSBcIi4vZXhhbXBsZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUZpeGVyIH0gZnJvbSBcIi4vZml4ZXNcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZpeGVyTG9va3VwQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBFeGFtcGxlIGZpZWxkIHZhbHVlLiAqL1xuICBleGFtcGxlOiBFeGFtcGxlO1xuXG4gIC8qKiBIYXNPdGhlckV4YW1wbGVzIGZpZWxkIHZhbHVlLiAqL1xuICBoYXNPdGhlckV4YW1wbGVzOiBib29sZWFuO1xuXG4gIC8qKiBQcm9ibGVtIGZpZWxkIHZhbHVlLiAqL1xuICBwcm9ibGVtOiBQcm9ibGVtO1xuXG4gIC8qKiBTb3VyY2VDb2RlIGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VDb2RlOiBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcG9ydERlc2NyaXB0b3JDb250ZXh0IHtcbiAgLyoqIENvbW1lbnQgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnQ6IENvbW1lbnQ7XG5cbiAgLyoqIEV4YW1wbGUgZmllbGQgdmFsdWUuICovXG4gIGV4YW1wbGU6IEV4YW1wbGU7XG5cbiAgLyoqIEhhc090aGVyRXhhbXBsZXMgZmllbGQgdmFsdWUuICovXG4gIGhhc090aGVyRXhhbXBsZXM6IGJvb2xlYW47XG5cbiAgLyoqIFByb2JsZW0gZmllbGQgdmFsdWUuICovXG4gIHByb2JsZW06IFByb2JsZW07XG5cbiAgLyoqIFNvdXJjZUNvZGUgZmllbGQgdmFsdWUuICovXG4gIHNvdXJjZUNvZGU6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUmVwb3J0RXhhbXBsZUNvbnRleHQge1xuICAvKiogQ29tbWVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudDogQ29tbWVudDtcblxuICAvKiogQ29udGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKiogRXhhbXBsZSBmaWVsZCB2YWx1ZS4gKi9cbiAgZXhhbXBsZTogRXhhbXBsZTtcblxuICAvKiogSGFzT3RoZXJFeGFtcGxlcyBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3RoZXJFeGFtcGxlczogYm9vbGVhbjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcG9ydExvY2F0aW9uIHtcbiAgLyoqIEVuZCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kOiB7XG4gICAgLyoqIENvbHVtbiBmaWVsZCB2YWx1ZS4gKi9cbiAgICBjb2x1bW46IG51bWJlcjtcblxuICAgIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICAgIGxpbmU6IG51bWJlcjtcbiAgfTtcblxuICAvKiogU3RhcnQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0OiB7XG4gICAgLyoqIENvbHVtbiBmaWVsZCB2YWx1ZS4gKi9cbiAgICBjb2x1bW46IG51bWJlcjtcblxuICAgIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICAgIGxpbmU6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZCBhIHJlcG9ydCBkZXNjcmlwdG9yIGZvciBhIHNpbmdsZSBleGFtcGxlIHByb2JsZW0uXG4gKiBAcGFyYW0gY29udGV4dCBJbnB1dCBjb250ZXh0IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkZXNjcmlwdG9yID0gYnVpbGRSZXBvcnREZXNjcmlwdG9yKHtcbiAqICAgY29tbWVudDogeyB0eXBlOiBcIkJsb2NrXCIsIHZhbHVlOiBcIipcIiB9IGFzIENvbW1lbnQsXG4gKiAgIGV4YW1wbGU6IHtcbiAqICAgICBjb250ZW50OiBcIlwiLFxuICogICAgIGVuZEluZGV4OiAwLFxuICogICAgIGVuZE9mZnNldDogMCxcbiAqICAgICBsaW5lSW5kZXg6IDAsXG4gKiAgICAgcHJlZml4OiBcIiAqIFwiLFxuICogICAgIHN0YXJ0T2Zmc2V0OiAwLFxuICogICB9LFxuICogICBoYXNPdGhlckV4YW1wbGVzOiBmYWxzZSxcbiAqICAgcHJvYmxlbTogXCJtaXNzaW5nRmVuY2VcIixcbiAqICAgc291cmNlQ29kZToge30gYXMgUnVsZS5Tb3VyY2VDb2RlLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRSZXBvcnREZXNjcmlwdG9yKFxuICBjb250ZXh0OiBSZXBvcnREZXNjcmlwdG9yQ29udGV4dCxcbik6IFJ1bGUuUmVwb3J0RGVzY3JpcHRvciB7XG4gIGNvbnN0IHsgY29tbWVudCwgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcywgcHJvYmxlbSwgc291cmNlQ29kZSB9ID0gY29udGV4dDtcbiAgY29uc3QgZml4ID0gZ2V0Rml4ZXJGb3JFeGFtcGxlKHtcbiAgICBjb21tZW50LFxuICAgIGV4YW1wbGUsXG4gICAgaGFzT3RoZXJFeGFtcGxlcyxcbiAgICBwcm9ibGVtLFxuICAgIHNvdXJjZUNvZGUsXG4gIH0pO1xuICBjb25zdCByZXBvcnRGaXggPVxuICAgIGZpeCA9PT0gdm9pZCAwXG4gICAgICA/IHZvaWQgMFxuICAgICAgOiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKTogSXRlcmFibGU8UnVsZS5GaXg+IHwgUnVsZS5GaXggPT5cbiAgICAgICAgICBmaXgoZml4ZXIpID8/IFtdO1xuICBjb25zdCBsb2MgPSBnZXRSZXBvcnRMb2NhdGlvbihjb21tZW50LCBleGFtcGxlKTtcblxuICBpZiAobG9jICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgZml4OiByZXBvcnRGaXgsXG4gICAgICBsb2MsXG4gICAgICBtZXNzYWdlSWQ6IHByb2JsZW0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZml4OiByZXBvcnRGaXgsXG4gICAgbWVzc2FnZUlkOiBwcm9ibGVtLFxuICAgIG5vZGU6IHNvdXJjZUNvZGUuYXN0LFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgYSBmaXhlciBmb3IgdGhlIHJlcG9ydCB3aGVuIHJhbmdlcyBhcmUgYXZhaWxhYmxlLlxuICogQHBhcmFtIGNvbnRleHQgSW5wdXQgY29udGV4dCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ZXIgPSBnZXRGaXhlckZvckV4YW1wbGUoe1xuICogICBjb21tZW50OiB7IHR5cGU6IFwiQmxvY2tcIiwgdmFsdWU6IFwiKlwiIH0gYXMgQ29tbWVudCxcbiAqICAgZXhhbXBsZToge1xuICogICAgIGNvbnRlbnQ6IFwiXCIsXG4gKiAgICAgZW5kSW5kZXg6IDAsXG4gKiAgICAgZW5kT2Zmc2V0OiAwLFxuICogICAgIGxpbmVJbmRleDogMCxcbiAqICAgICBwcmVmaXg6IFwiICogXCIsXG4gKiAgICAgc3RhcnRPZmZzZXQ6IDAsXG4gKiAgIH0sXG4gKiAgIGhhc090aGVyRXhhbXBsZXM6IGZhbHNlLFxuICogICBwcm9ibGVtOiBcIm1pc3NpbmdMYW5ndWFnZVwiLFxuICogICBzb3VyY2VDb2RlOiB7fSBhcyBSdWxlLlNvdXJjZUNvZGUsXG4gKiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRGaXhlckZvckV4YW1wbGUoXG4gIGNvbnRleHQ6IEZpeGVyTG9va3VwQ29udGV4dCxcbik6ICgoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiBSdWxlLkZpeCB8IHVuZGVmaW5lZCkgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IGNvbW1lbnQsIGV4YW1wbGUsIGhhc090aGVyRXhhbXBsZXMsIHByb2JsZW0sIHNvdXJjZUNvZGUgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGNvbW1lbnRPZmZzZXQgPSBjb21tZW50LnJhbmdlPy5bMF07XG4gIGNvbnN0IGNvbW1lbnRWYWx1ZU9mZnNldCA9XG4gICAgdHlwZW9mIGNvbW1lbnRPZmZzZXQgPT09IFwibnVtYmVyXCIgPyBjb21tZW50T2Zmc2V0ICsgMiA6IHZvaWQgMDtcbiAgY29uc3QgYWJzb2x1dGVTdGFydCA9XG4gICAgdHlwZW9mIGNvbW1lbnRWYWx1ZU9mZnNldCA9PT0gXCJudW1iZXJcIlxuICAgICAgPyBjb21tZW50VmFsdWVPZmZzZXQgKyBleGFtcGxlLnN0YXJ0T2Zmc2V0XG4gICAgICA6IHZvaWQgMDtcbiAgY29uc3QgYWJzb2x1dGVFbmQgPVxuICAgIHR5cGVvZiBjb21tZW50VmFsdWVPZmZzZXQgPT09IFwibnVtYmVyXCJcbiAgICAgID8gY29tbWVudFZhbHVlT2Zmc2V0ICsgZXhhbXBsZS5lbmRPZmZzZXRcbiAgICAgIDogdm9pZCAwO1xuXG4gIGlmICh0eXBlb2YgYWJzb2x1dGVTdGFydCAhPT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgYWJzb2x1dGVFbmQgIT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZUZpeGVyKHtcbiAgICBhYnNvbHV0ZUVuZCxcbiAgICBhYnNvbHV0ZVN0YXJ0LFxuICAgIGV4YW1wbGUsXG4gICAgaGFzT3RoZXJFeGFtcGxlcyxcbiAgICBwcm9ibGVtLFxuICAgIHNvdXJjZVRleHQ6IHNvdXJjZUNvZGUudGV4dCxcbiAgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgcmVwb3J0IGxvY2F0aW9uIGZvciBhIG1hdGNoZWQgZXhhbXBsZS5cbiAqIEBwYXJhbSBjb21tZW50IENvbW1lbnQgbm9kZSBjb250YWluaW5nIHRoZSBleGFtcGxlLlxuICogQHBhcmFtIGV4YW1wbGUgRXhhbXBsZSBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIFJlcG9ydCBsb2NhdGlvbiB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsb2MgPSBnZXRSZXBvcnRMb2NhdGlvbih7fSBhcyBDb21tZW50LCB7XG4gKiAgICBjb250ZW50OiBcIlwiLFxuICogICAgZW5kSW5kZXg6IDAsXG4gKiAgICBlbmRPZmZzZXQ6IDAsXG4gKiAgICBsaW5lSW5kZXg6IDAsXG4gKiAgICBwcmVmaXg6IFwiXCIsXG4gKiAgICBzdGFydE9mZnNldDogMCxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldFJlcG9ydExvY2F0aW9uKFxuICBjb21tZW50OiBDb21tZW50LFxuICBleGFtcGxlOiBFeGFtcGxlLFxuKTogUmVwb3J0TG9jYXRpb24gfCB1bmRlZmluZWQge1xuICBjb25zdCBsaW5lID1cbiAgICB0eXBlb2YgY29tbWVudC5sb2M/LnN0YXJ0LmxpbmUgPT09IFwibnVtYmVyXCJcbiAgICAgID8gY29tbWVudC5sb2Muc3RhcnQubGluZSArIGV4YW1wbGUubGluZUluZGV4XG4gICAgICA6IHZvaWQgMDtcblxuICBpZiAobGluZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZW5kOiB7IGNvbHVtbjogMSwgbGluZSB9LFxuICAgIHN0YXJ0OiB7IGNvbHVtbjogMCwgbGluZSB9LFxuICB9O1xufVxuXG4vKipcbiAqIFJlcG9ydHMgYSBzaW5nbGUgZXhhbXBsZSB3aGVuIGl0IHZpb2xhdGVzIHRoZSBydWxlLlxuICogQHBhcmFtIGNvbnRleHQgUmVwb3J0IGRldGFpbHMgZm9yIHRoaXMgZXhhbXBsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRFeGFtcGxlKGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydEV4YW1wbGUoY29udGV4dDogUmVwb3J0RXhhbXBsZUNvbnRleHQpOiB2b2lkIHtcbiAgY29uc3QgeyBjb21tZW50LCBjb250ZXh0OiBydWxlQ29udGV4dCwgZXhhbXBsZSwgaGFzT3RoZXJFeGFtcGxlcyB9ID0gY29udGV4dDtcbiAgY29uc3QgcHJvYmxlbSA9IGNoZWNrRXhhbXBsZUNvbnRlbnQoZXhhbXBsZS5jb250ZW50KTtcblxuICBpZiAocHJvYmxlbSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZGVzY3JpcHRvciA9IGJ1aWxkUmVwb3J0RGVzY3JpcHRvcih7XG4gICAgY29tbWVudCxcbiAgICBleGFtcGxlLFxuICAgIGhhc090aGVyRXhhbXBsZXMsXG4gICAgcHJvYmxlbSxcbiAgICBzb3VyY2VDb2RlOiBydWxlQ29udGV4dC5zb3VyY2VDb2RlLFxuICB9KTtcblxuICBydWxlQ29udGV4dC5yZXBvcnQoZGVzY3JpcHRvcik7XG59XG5cbmV4cG9ydCB7IGJ1aWxkUmVwb3J0RGVzY3JpcHRvciwgcmVwb3J0RXhhbXBsZSB9O1xuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC;;GAEG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UAoCtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { getExamples } from "./examples.js";
2
+ import { reportExample } from "./reporting.js";
3
+ /**
4
+ * ESLint rule requiring \@example tags to use fenced code blocks with a language.
5
+ */
6
+ const requireExampleLanguageRule = {
7
+ create(context) {
8
+ const { sourceCode } = context;
9
+ for (const comment of sourceCode.getAllComments()) {
10
+ if (comment.type === "Block" && comment.value.startsWith("*")) {
11
+ const examples = getExamples(comment.value);
12
+ const hasOtherExamples = examples.length > 1;
13
+ for (const example of examples) {
14
+ reportExample({ comment, context, example, hasOtherExamples });
15
+ }
16
+ }
17
+ }
18
+ return {};
19
+ },
20
+ meta: {
21
+ docs: {
22
+ description: "Require @example tags to use fenced code blocks with a language.",
23
+ recommended: false,
24
+ url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/require-example-language.md",
25
+ },
26
+ fixable: "code",
27
+ messages: {
28
+ emptyExample: "@example must include example content.",
29
+ missingFence: "@example must include a fenced code block with a language (e.g. ```typescript).",
30
+ missingLanguage: "@example fenced code blocks must specify a language (e.g. ```typescript).",
31
+ },
32
+ schema: [],
33
+ type: "problem",
34
+ },
35
+ };
36
+ export { requireExampleLanguageRule };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUM7O0dBRUc7QUFDSCxNQUFNLDBCQUEwQixHQUFvQjtJQUNsRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUUvQixLQUFLLE1BQU0sT0FBTyxJQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFNUMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFFN0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDL0IsYUFBYSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsa0VBQWtFO1lBQ3BFLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSwyRkFBMkY7U0FDakc7UUFDRCxPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRTtZQUNSLFlBQVksRUFBRSx3Q0FBd0M7WUFDdEQsWUFBWSxFQUNWLGlGQUFpRjtZQUNuRixlQUFlLEVBQ2IsMkVBQTJFO1NBQzlFO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZ2V0RXhhbXBsZXMgfSBmcm9tIFwiLi9leGFtcGxlc1wiO1xuaW1wb3J0IHsgcmVwb3J0RXhhbXBsZSB9IGZyb20gXCIuL3JlcG9ydGluZ1wiO1xuXG4vKipcbiAqIEVTTGludCBydWxlIHJlcXVpcmluZyBcXEBleGFtcGxlIHRhZ3MgdG8gdXNlIGZlbmNlZCBjb2RlIGJsb2NrcyB3aXRoIGEgbGFuZ3VhZ2UuXG4gKi9cbmNvbnN0IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IHsgc291cmNlQ29kZSB9ID0gY29udGV4dDtcblxuICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBzb3VyY2VDb2RlLmdldEFsbENvbW1lbnRzKCkpIHtcbiAgICAgIGlmIChjb21tZW50LnR5cGUgPT09IFwiQmxvY2tcIiAmJiBjb21tZW50LnZhbHVlLnN0YXJ0c1dpdGgoXCIqXCIpKSB7XG4gICAgICAgIGNvbnN0IGV4YW1wbGVzID0gZ2V0RXhhbXBsZXMoY29tbWVudC52YWx1ZSk7XG5cbiAgICAgICAgY29uc3QgaGFzT3RoZXJFeGFtcGxlcyA9IGV4YW1wbGVzLmxlbmd0aCA+IDE7XG5cbiAgICAgICAgZm9yIChjb25zdCBleGFtcGxlIG9mIGV4YW1wbGVzKSB7XG4gICAgICAgICAgcmVwb3J0RXhhbXBsZSh7IGNvbW1lbnQsIGNvbnRleHQsIGV4YW1wbGUsIGhhc090aGVyRXhhbXBsZXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge307XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIEBleGFtcGxlIHRhZ3MgdG8gdXNlIGZlbmNlZCBjb2RlIGJsb2NrcyB3aXRoIGEgbGFuZ3VhZ2UuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UubWRcIixcbiAgICB9LFxuICAgIGZpeGFibGU6IFwiY29kZVwiLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBlbXB0eUV4YW1wbGU6IFwiQGV4YW1wbGUgbXVzdCBpbmNsdWRlIGV4YW1wbGUgY29udGVudC5cIixcbiAgICAgIG1pc3NpbmdGZW5jZTpcbiAgICAgICAgXCJAZXhhbXBsZSBtdXN0IGluY2x1ZGUgYSBmZW5jZWQgY29kZSBibG9jayB3aXRoIGEgbGFuZ3VhZ2UgKGUuZy4gYGBgdHlwZXNjcmlwdCkuXCIsXG4gICAgICBtaXNzaW5nTGFuZ3VhZ2U6XG4gICAgICAgIFwiQGV4YW1wbGUgZmVuY2VkIGNvZGUgYmxvY2tzIG11c3Qgc3BlY2lmeSBhIGxhbmd1YWdlIChlLmcuIGBgYHR5cGVzY3JpcHQpLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlIH07XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEnE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGUge1xuICAvKiogQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKiBFbmRJbmRleCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kSW5kZXg6IG51bWJlcjtcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogTGluZUluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lSW5kZXg6IG51bWJlcjtcblxuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUHJvYmxlbSA9IFwiZW1wdHlFeGFtcGxlXCIgfCBcIm1pc3NpbmdGZW5jZVwiIHwgXCJtaXNzaW5nTGFuZ3VhZ2VcIjtcblxuZXhwb3J0IHR5cGUgeyBDb21tZW50LCBFeGFtcGxlLCBQcm9ibGVtIH07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { singleLineJsdocRule } from "./rule.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { singleLineJsdocRule } from "./rule.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvc2luZ2xlLWxpbmUtanNkb2MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgc2luZ2xlTGluZUpzZG9jUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import type { Rule } from "eslint";
2
+ /** Rule module enforcing single-line JSDoc when it fits. */
3
+ export declare const singleLineJsdocRule: Rule.RuleModule;
4
+ //# sourceMappingURL=rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAiQnC,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,UAyCtC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Companion module for single-line-jsdoc edge-case tests. */
2
+ declare const singleLineJsdocRuleEdgeCases: import("eslint").Rule.RuleModule;
3
+ export { singleLineJsdocRuleEdgeCases };
4
+ //# sourceMappingURL=rule.edge-cases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.edge-cases.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.edge-cases.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,QAAA,MAAM,4BAA4B,kCAAsB,CAAC;AAEzD,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { singleLineJsdocRule } from "./rule.js";
2
+ /** Companion module for single-line-jsdoc edge-case tests. */
3
+ const singleLineJsdocRuleEdgeCases = singleLineJsdocRule;
4
+ export { singleLineJsdocRuleEdgeCases };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5lZGdlLWNhc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3NpbmdsZS1saW5lLWpzZG9jL3J1bGUuZWRnZS1jYXNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFN0MsOERBQThEO0FBQzlELE1BQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQUM7QUFFekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaW5nbGVMaW5lSnNkb2NSdWxlIH0gZnJvbSBcIi4vcnVsZVwiO1xyXG5cclxuLyoqIENvbXBhbmlvbiBtb2R1bGUgZm9yIHNpbmdsZS1saW5lLWpzZG9jIGVkZ2UtY2FzZSB0ZXN0cy4gKi9cclxuY29uc3Qgc2luZ2xlTGluZUpzZG9jUnVsZUVkZ2VDYXNlcyA9IHNpbmdsZUxpbmVKc2RvY1J1bGU7XHJcblxyXG5leHBvcnQgeyBzaW5nbGVMaW5lSnNkb2NSdWxlRWRnZUNhc2VzIH07XHJcbiJdfQ==