@codeperfect/eslint-plugin 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/README.md +26 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
  4. package/dist/application/custom-rules.d.ts.map +1 -0
  5. package/dist/application/custom-rules.js +74 -0
  6. package/dist/application/index.d.ts +4 -0
  7. package/dist/application/index.d.ts.map +1 -0
  8. package/dist/application/index.js +3 -0
  9. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
  12. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
  13. package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
  17. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
  18. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
  19. package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
  20. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
  22. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
  23. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +140 -0
  24. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
  25. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
  26. package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
  27. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
  28. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +85 -0
  29. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
  30. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
  31. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
  32. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
  33. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
  34. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
  35. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
  36. package/dist/domain/architecture/consistent-barrel-files/rule.js +43 -0
  37. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
  38. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
  39. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
  40. package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
  41. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
  42. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
  43. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
  44. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
  45. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
  46. package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
  47. package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
  48. package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
  49. package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
  50. package/dist/domain/architecture/index.d.ts.map +1 -0
  51. package/dist/domain/architecture/index.js +2 -0
  52. package/dist/{core → domain/core}/index.d.ts +2 -2
  53. package/dist/domain/core/index.d.ts.map +1 -0
  54. package/dist/domain/core/index.js +3 -0
  55. package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
  56. package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
  57. package/dist/domain/core/no-multiple-declarators/index.js +2 -0
  58. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
  59. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
  60. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
  61. package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
  62. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
  63. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
  64. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
  65. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
  66. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
  67. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
  68. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
  69. package/dist/domain/core/no-multiple-declarators/rule.js +219 -0
  70. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
  71. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
  72. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
  73. package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
  74. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
  75. package/dist/domain/core/no-multiple-declarators/types.js +38 -0
  76. package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
  77. package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
  78. package/dist/domain/core/prefer-interface-types/index.js +2 -0
  79. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
  80. package/dist/domain/core/prefer-interface-types/rule.js +145 -0
  81. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
  82. package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
  83. package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +1 -1
  84. package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
  85. package/dist/domain/custom-rule-documentation.js +35 -0
  86. package/dist/domain/docs/index.d.ts +4 -0
  87. package/dist/domain/docs/index.d.ts.map +1 -0
  88. package/dist/domain/docs/index.js +4 -0
  89. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
  90. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
  91. package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
  92. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
  93. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
  94. package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
  95. package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
  96. package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
  97. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
  98. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
  99. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
  100. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
  101. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
  102. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
  103. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
  104. package/dist/domain/docs/no-interface-member-docs/rule.js +168 -0
  105. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  106. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +157 -0
  107. package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
  108. package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
  109. package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
  110. package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
  111. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
  112. package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
  113. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
  114. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
  115. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
  116. package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
  117. package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
  118. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
  119. package/dist/domain/docs/require-example-language/examples.js +181 -0
  120. package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
  121. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
  122. package/dist/domain/docs/require-example-language/fixes.js +182 -0
  123. package/dist/domain/docs/require-example-language/index.d.ts +3 -0
  124. package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
  125. package/dist/domain/docs/require-example-language/index.js +2 -0
  126. package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
  127. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
  128. package/dist/domain/docs/require-example-language/reporting.js +148 -0
  129. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
  130. package/dist/domain/docs/require-example-language/rule.js +34 -0
  131. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
  132. package/dist/domain/docs/require-example-language/types.js +2 -0
  133. package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
  134. package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
  135. package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
  136. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  137. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
  138. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
  139. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
  140. package/dist/domain/docs/single-line-jsdoc/rule.js +196 -0
  141. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
  142. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
  143. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
  144. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  145. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  146. package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
  147. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  148. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  149. package/dist/domain/docs/test-helpers.d.ts.map +1 -0
  150. package/dist/domain/docs/test-helpers.js +107 -0
  151. package/dist/domain/index.d.ts +6 -0
  152. package/dist/domain/index.d.ts.map +1 -0
  153. package/dist/domain/index.js +6 -0
  154. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +92 -0
  155. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
  156. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +4 -0
  157. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
  158. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +4 -0
  159. package/dist/domain/testing/aaa/analyzer.analysis.js +247 -0
  160. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +93 -0
  161. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
  162. package/dist/domain/testing/aaa/analyzer.assertions.js +283 -0
  163. package/dist/domain/testing/aaa/analyzer.classification.d.ts +75 -0
  164. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
  165. package/dist/domain/testing/aaa/analyzer.classification.js +201 -0
  166. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
  167. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
  168. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
  169. package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
  170. package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
  171. package/dist/domain/testing/aaa/analyzer.js +59 -0
  172. package/dist/domain/testing/aaa/analyzer.super.d.ts +107 -0
  173. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
  174. package/dist/domain/testing/aaa/analyzer.super.js +228 -0
  175. package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
  176. package/dist/domain/testing/aaa/index.d.ts.map +1 -0
  177. package/dist/domain/testing/aaa/index.js +2 -0
  178. package/dist/domain/testing/aaa/types.d.ts +58 -0
  179. package/dist/domain/testing/aaa/types.d.ts.map +1 -0
  180. package/dist/domain/testing/aaa/types.js +2 -0
  181. package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
  182. package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  183. package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
  184. package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
  185. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  186. package/dist/domain/testing/assert-actual-expected-names/rule.js +113 -0
  187. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  188. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  189. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
  190. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
  191. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
  192. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
  193. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
  194. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
  195. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
  196. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
  197. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
  198. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
  199. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
  200. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
  201. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
  202. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
  203. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
  204. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
  205. package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
  206. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  207. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +34 -0
  208. package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
  209. package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  210. package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
  211. package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
  212. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  213. package/dist/domain/testing/enforce-aaa-structure/rule.js +85 -0
  214. package/dist/{testing → domain/testing}/index.d.ts +9 -8
  215. package/dist/domain/testing/index.d.ts.map +1 -0
  216. package/dist/domain/testing/index.js +10 -0
  217. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
  218. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
  219. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
  220. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
  221. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
  222. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
  223. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
  224. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
  225. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
  226. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
  227. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  228. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
  229. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  230. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  231. package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
  232. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
  233. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  234. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  235. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
  236. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  237. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
  238. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  239. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  240. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
  241. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  242. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  243. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
  244. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  245. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  246. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  247. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  248. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
  249. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  250. package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
  251. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
  252. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
  253. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
  254. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  255. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +36 -0
  256. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
  257. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  258. package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +86 -0
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +150 -0
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +81 -0
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +189 -0
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +92 -0
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
  285. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +62 -0
  286. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
  287. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
  288. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
  289. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
  293. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
  294. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
  295. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +203 -0
  296. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
  297. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
  298. package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
  299. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
  300. package/dist/domain/testing/require-aaa-sections/index.js +2 -0
  301. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
  302. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
  303. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
  304. package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
  305. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
  306. package/dist/domain/testing/require-aaa-sections/rule.js +129 -0
  307. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
  308. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
  309. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +217 -0
  310. package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
  311. package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
  312. package/dist/domain/testing/require-act-result-capture/index.js +2 -0
  313. package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
  314. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
  315. package/dist/domain/testing/require-act-result-capture/rule.js +106 -0
  316. package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
  317. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
  318. package/dist/domain/testing/require-test-companion/index.js +3 -0
  319. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
  320. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  321. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  322. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  323. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
  324. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
  325. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  326. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
  327. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
  328. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  329. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  330. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
  331. package/dist/domain/testing/require-test-companion/rule.js +57 -0
  332. package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
  333. package/dist/domain/testing/require-test-companion/types.js +2 -0
  334. package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
  335. package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
  336. package/dist/domain/testing/single-act-statement/index.js +2 -0
  337. package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
  338. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
  339. package/dist/domain/testing/single-act-statement/rule.js +34 -0
  340. package/dist/index.d.ts +4 -5
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/index.js +3 -6
  343. package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
  344. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
  345. package/dist/infrastructure/codeperfect-plugin.js +30 -0
  346. package/dist/infrastructure/index.d.ts +5 -0
  347. package/dist/infrastructure/index.d.ts.map +1 -0
  348. package/dist/infrastructure/index.js +4 -0
  349. package/dist/infrastructure/presets.d.ts +18 -0
  350. package/dist/infrastructure/presets.d.ts.map +1 -0
  351. package/dist/infrastructure/presets.js +81 -0
  352. package/package.json +54 -27
  353. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
  354. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
  355. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
  356. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
  357. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
  358. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  359. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
  360. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
  361. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
  362. package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
  363. package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
  364. package/dist/architecture/consistent-barrel-files/index.js +0 -4
  365. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
  366. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
  367. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  368. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
  369. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
  370. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
  371. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
  372. package/dist/architecture/consistent-barrel-files/rule.js +0 -58
  373. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  374. package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
  375. package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
  376. package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
  377. package/dist/architecture/consistent-barrel-files/types.js +0 -2
  378. package/dist/architecture/index.d.ts.map +0 -1
  379. package/dist/architecture/index.js +0 -2
  380. package/dist/benchmark-rules.d.ts +0 -83
  381. package/dist/benchmark-rules.d.ts.map +0 -1
  382. package/dist/benchmark-rules.js +0 -175
  383. package/dist/codeperfect-plugin.d.ts.map +0 -1
  384. package/dist/codeperfect-plugin.js +0 -29
  385. package/dist/core/index.d.ts.map +0 -1
  386. package/dist/core/index.js +0 -3
  387. package/dist/core/no-multiple-declarators/index.d.ts +0 -2
  388. package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
  389. package/dist/core/no-multiple-declarators/index.js +0 -2
  390. package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
  391. package/dist/core/no-multiple-declarators/rule.js +0 -100
  392. package/dist/core/prefer-interface-types/index.d.ts +0 -2
  393. package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
  394. package/dist/core/prefer-interface-types/index.js +0 -2
  395. package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
  396. package/dist/core/prefer-interface-types/rule.js +0 -145
  397. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  398. package/dist/core/prefer-interface-types/test-helpers.js +0 -116
  399. package/dist/custom-rule-documentation.d.ts.map +0 -1
  400. package/dist/custom-rule-documentation.js +0 -35
  401. package/dist/custom-rules.d.ts.map +0 -1
  402. package/dist/custom-rules.js +0 -70
  403. package/dist/docs/index.d.ts +0 -4
  404. package/dist/docs/index.d.ts.map +0 -1
  405. package/dist/docs/index.js +0 -4
  406. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  407. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  408. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
  409. package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
  410. package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
  411. package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
  412. package/dist/docs/no-interface-member-docs/index.js +0 -2
  413. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
  414. package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
  415. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
  416. package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
  417. package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
  418. package/dist/docs/no-interface-member-docs/rule.js +0 -168
  419. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  420. package/dist/docs/no-interface-member-docs/test-helpers.js +0 -157
  421. package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
  422. package/dist/docs/no-interface-member-docs/types.js +0 -2
  423. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
  424. package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
  425. package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
  426. package/dist/docs/require-example-language/example-utilities.js +0 -76
  427. package/dist/docs/require-example-language/examples.d.ts.map +0 -1
  428. package/dist/docs/require-example-language/examples.js +0 -181
  429. package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
  430. package/dist/docs/require-example-language/fixes.js +0 -182
  431. package/dist/docs/require-example-language/index.d.ts +0 -3
  432. package/dist/docs/require-example-language/index.d.ts.map +0 -1
  433. package/dist/docs/require-example-language/index.js +0 -2
  434. package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
  435. package/dist/docs/require-example-language/reporting.js +0 -145
  436. package/dist/docs/require-example-language/rule.d.ts.map +0 -1
  437. package/dist/docs/require-example-language/rule.js +0 -34
  438. package/dist/docs/require-example-language/types.d.ts.map +0 -1
  439. package/dist/docs/require-example-language/types.js +0 -2
  440. package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
  441. package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
  442. package/dist/docs/single-line-jsdoc/index.js +0 -2
  443. package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
  444. package/dist/docs/single-line-jsdoc/rule.js +0 -196
  445. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
  446. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
  447. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
  448. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
  449. package/dist/docs/test-helpers.d.ts.map +0 -1
  450. package/dist/docs/test-helpers.js +0 -107
  451. package/dist/presets.d.ts +0 -10
  452. package/dist/presets.d.ts.map +0 -1
  453. package/dist/presets.js +0 -50
  454. package/dist/rules/index.d.ts +0 -5
  455. package/dist/rules/index.d.ts.map +0 -1
  456. package/dist/rules/index.js +0 -6
  457. package/dist/testing/aaa/analyzer.d.ts +0 -36
  458. package/dist/testing/aaa/analyzer.d.ts.map +0 -1
  459. package/dist/testing/aaa/analyzer.js +0 -490
  460. package/dist/testing/aaa/index.d.ts.map +0 -1
  461. package/dist/testing/aaa/index.js +0 -2
  462. package/dist/testing/aaa/types.d.ts +0 -31
  463. package/dist/testing/aaa/types.d.ts.map +0 -1
  464. package/dist/testing/aaa/types.js +0 -2
  465. package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
  466. package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
  467. package/dist/testing/assert-actual-expected-names/index.js +0 -2
  468. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
  469. package/dist/testing/assert-actual-expected-names/rule.js +0 -54
  470. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
  471. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
  472. package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
  473. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  474. package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
  475. package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
  476. package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
  477. package/dist/testing/enforce-aaa-structure/index.js +0 -2
  478. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
  479. package/dist/testing/enforce-aaa-structure/rule.js +0 -48
  480. package/dist/testing/index.d.ts.map +0 -1
  481. package/dist/testing/index.js +0 -9
  482. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
  483. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
  484. package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
  485. package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
  486. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
  487. package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
  488. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
  489. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
  490. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
  491. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
  492. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
  493. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
  494. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
  495. package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
  496. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
  497. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
  498. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
  499. package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
  500. package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
  501. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
  502. package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
  503. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
  504. package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
  505. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
  506. package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
  507. package/dist/testing/require-aaa-sections/index.d.ts +0 -2
  508. package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
  509. package/dist/testing/require-aaa-sections/index.js +0 -2
  510. package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
  511. package/dist/testing/require-aaa-sections/rule.js +0 -111
  512. package/dist/testing/require-act-result-capture/index.d.ts +0 -2
  513. package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
  514. package/dist/testing/require-act-result-capture/index.js +0 -2
  515. package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
  516. package/dist/testing/require-act-result-capture/rule.js +0 -34
  517. package/dist/testing/require-test-companion/index.d.ts +0 -3
  518. package/dist/testing/require-test-companion/index.d.ts.map +0 -1
  519. package/dist/testing/require-test-companion/index.js +0 -3
  520. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
  521. package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
  522. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
  523. package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
  524. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  525. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
  526. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  527. package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
  528. package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
  529. package/dist/testing/require-test-companion/rule.js +0 -57
  530. package/dist/testing/require-test-companion/types.d.ts.map +0 -1
  531. package/dist/testing/require-test-companion/types.js +0 -2
  532. package/dist/testing/single-act-statement/index.d.ts +0 -2
  533. package/dist/testing/single-act-statement/index.d.ts.map +0 -1
  534. package/dist/testing/single-act-statement/index.js +0 -2
  535. package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
  536. package/dist/testing/single-act-statement/rule.js +0 -33
  537. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
  538. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
  539. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
  540. /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
  541. /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
  542. /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
  543. /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
  544. /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
  545. /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
  546. /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
  547. /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
  548. /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
  549. /package/dist/{docs → domain/docs}/single-line-jsdoc/rule.d.ts +0 -0
  550. /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
  551. /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
  552. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
  553. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
  554. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
  555. /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
  556. /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
  557. /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,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,eAAe;IACvB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,wBAAwB;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAEhB,2BAA2B;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAWD,qCAAqC;AACrC,UAAU,WAAW;IACnB,wBAAwB;IACxB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAE1C,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AA+CD;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,GACjB,YAAY,MAAM,EAClB,UAAU,OAAO,EAAE,KAClB,gBAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,GAAI,cAAc,MAAM,EAAE,YAAY,MAAM,KAAG,OAQjE,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,MAAM,EAClB,YAAY,OAAO,EAAE,KACpB,IAAI,CAAC,IAKS,CAAC;AAElB;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,OAMtC,CAAC;AAEH;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,GACvB,SAAS,IAAI,CAAC,WAAW,EACzB,MAAM,IAAI,CAAC,IAAI,KACd,IAOF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,cAAc,MAAM,KAAG,MAMlC,CAAC;AAEf;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB,QAAO,eAmBjC,CAAC;AAEF,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { noInterfaceMemberDocumentationRule } from "./rule.js";
2
+ /**
3
+ * Creates a SourceCode stub with the provided comments.
4
+ * @param text Source text to attach.
5
+ * @param comments Comment nodes to expose.
6
+ * @returns SourceCode stub for tests.
7
+ * @example
8
+ * ```typescript
9
+ * const sourceCode = createSourceCode("", []);
10
+ * ```
11
+ */
12
+ const createSourceCode = (text, comments) => ({
13
+ getAllComments: () => comments,
14
+ text,
15
+ });
16
+ /**
17
+ * Builds a rule context for collecting reports.
18
+ * @param sourceCode SourceCode stub.
19
+ * @param reports Report sink.
20
+ * @returns Rule context that records reports.
21
+ * @example
22
+ * ```typescript
23
+ * const context = buildRuleContext(sourceCode, reports);
24
+ * ```
25
+ */
26
+ const buildRuleContext = (sourceCode, reports) => ({
27
+ id: "no-interface-member-docs",
28
+ options: [],
29
+ report: (descriptor) => {
30
+ const { fix, messageId } = descriptor;
31
+ const entry = { fix, messageId };
32
+ reports.push(entry);
33
+ },
34
+ sourceCode,
35
+ });
36
+ /**
37
+ * Creates a rule context state for the given source text.
38
+ * @param sourceText Source text to analyze.
39
+ * @param comments Comment nodes for the source.
40
+ * @returns Context state for tests.
41
+ * @example
42
+ * ```typescript
43
+ * const state = createContext("", []);
44
+ * ```
45
+ */
46
+ const createContext = (sourceText, comments) => {
47
+ const reports = [];
48
+ const sourceCode = createSourceCode(sourceText, comments);
49
+ return { context: buildRuleContext(sourceCode, reports), reports };
50
+ };
51
+ /**
52
+ * Creates a JSDoc block comment for the given source text.
53
+ * @param commentValue Comment value without delimiters.
54
+ * @param sourceText Source text containing the comment.
55
+ * @returns Comment node for the source text.
56
+ * @example
57
+ * ```typescript
58
+ * const comment = createComment("*\n * ok\n ", "function demo() {}");
59
+ * ```
60
+ */
61
+ const createComment = (commentValue, sourceText) => {
62
+ const end = sourceText.indexOf("*/") + 2;
63
+ return {
64
+ range: [0, end],
65
+ type: "Block",
66
+ value: commentValue,
67
+ };
68
+ };
69
+ /**
70
+ * Creates a function node for the given source text.
71
+ * @param sourceText Source text containing the function.
72
+ * @param parameters Parameter nodes for the function.
73
+ * @returns Function declaration node.
74
+ * @example
75
+ * ```typescript
76
+ * const node = createFunctionNode("function demo() {}", []);
77
+ * ```
78
+ */
79
+ const createFunctionNode = (sourceText, parameters) => ({
80
+ params: parameters,
81
+ range: [sourceText.indexOf("function"), sourceText.length],
82
+ type: "FunctionDeclaration",
83
+ });
84
+ /**
85
+ * Creates a parameter node with a type annotation.
86
+ * @param type Type annotation kind to assign.
87
+ * @returns Parameter node for tests.
88
+ * @example
89
+ * ```typescript
90
+ * const param = createParameter("TSTypeReference");
91
+ * ```
92
+ */
93
+ const createParameter = (type) => ({
94
+ name: "context",
95
+ type: "Identifier",
96
+ typeAnnotation: {
97
+ typeAnnotation: { type },
98
+ },
99
+ });
100
+ /**
101
+ * Runs the rule listener for a function declaration node.
102
+ * @param context Rule execution context.
103
+ * @param node Function node to inspect.
104
+ * @example
105
+ * ```typescript
106
+ * runFunctionListener(context, node);
107
+ * ```
108
+ */
109
+ const runFunctionListener = (context, node) => {
110
+ const listeners = noInterfaceMemberDocumentationRule.create(context);
111
+ const listener = listeners.FunctionDeclaration;
112
+ listener?.(node);
113
+ };
114
+ /**
115
+ * Builds source text with a leading JSDoc comment.
116
+ * @param commentValue Comment value used in the source.
117
+ * @returns Source text containing the comment and function.
118
+ * @example
119
+ * ```typescript
120
+ * const text = buildSourceText("*\n * ok\n ");
121
+ * ```
122
+ */
123
+ const buildSourceText = (commentValue) => [
124
+ "/**",
125
+ commentValue.trimEnd(),
126
+ "*/",
127
+ "function getLineMeta(context: LineMetaContext): void {}",
128
+ ].join("\n");
129
+ /**
130
+ * Creates a sample test fixture for interface member docs.
131
+ * @returns Sample context, node, and reports.
132
+ * @example
133
+ * ```typescript
134
+ * const sample = createInterfaceSample();
135
+ * ```
136
+ */
137
+ const createInterfaceSample = () => {
138
+ const commentValue = [
139
+ "*",
140
+ " * Compute line metadata from the raw comment value.",
141
+ " * @param context The metadata context.",
142
+ " * @param context.commentValue The full comment value.",
143
+ " * @param context.full The full matched example text.",
144
+ " * @param context.startOffset The match start offset.",
145
+ " * @returns The line metadata for the example.",
146
+ " ",
147
+ ].join("\n");
148
+ const sourceText = buildSourceText(commentValue);
149
+ const comment = createComment(commentValue, sourceText);
150
+ const { context, reports } = createContext(sourceText, [comment]);
151
+ const node = createFunctionNode(sourceText, [
152
+ createParameter("TSTypeReference"),
153
+ ]);
154
+ return { context, node, reports, sourceText };
155
+ };
156
+ export { buildSourceText, createComment, createContext, createFunctionNode, createInterfaceSample, createParameter, runFunctionListener, };
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL25vLWludGVyZmFjZS1tZW1iZXItZG9jcy90ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBaUQ1RDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLElBQVksRUFDWixRQUFtQixFQUNhLEVBQUUsQ0FDbEMsQ0FBQztJQUNDLGNBQWMsRUFBRSxHQUFjLEVBQUUsQ0FBQyxRQUFRO0lBQ3pDLElBQUk7Q0FDTCxDQUFtQyxDQUFDO0FBRXZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsVUFBMEMsRUFDMUMsT0FBc0IsRUFDSixFQUFFLENBQ3BCLENBQUM7SUFDQyxFQUFFLEVBQUUsMEJBQTBCO0lBQzlCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLENBQUMsVUFBaUMsRUFBUSxFQUFFO1FBQ2xELE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBcUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBZ0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFFOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ0QsVUFBVTtDQUNYLENBQWdDLENBQUM7QUFFcEM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsVUFBa0IsRUFDbEIsUUFBbUIsRUFDRCxFQUFFO0lBQ3BCLE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUM7SUFDbEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTFELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsVUFB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IHsgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBDb21tZW50ID0gUmV0dXJuVHlwZTxcbiAgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl1bXCJnZXRBbGxDb21tZW50c1wiXVxuPltudW1iZXJdO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgSW50ZXJmYWNlU2FtcGxlIHtcbiAgLyoqIENvbnRleHQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIE5vZGUgZmllbGQgdmFsdWUuICovXG4gIG5vZGU6IFJ1bGUuTm9kZTtcblxuICAvKiogUmVwb3J0cyBmaWVsZCB2YWx1ZS4gKi9cbiAgcmVwb3J0czogUmVwb3J0RW50cnlbXTtcblxuICAvKiogU291cmNlVGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlVGV4dDogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUmVwb3J0RGVzY3JpcHRvckRldGFpbHMge1xuICAvKiogRml4IGZpZWxkIHZhbHVlLiAqL1xuICBmaXg/OiBudWxsIHwgUnVsZS5SZXBvcnRGaXhlciB8IHVuZGVmaW5lZDtcblxuICAvKiogTWVzc2FnZUlkIGZpZWxkIHZhbHVlLiAqL1xuICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnRFbnRyeSB7XG4gIC8qKiBGaXggaGVscGVyIHZhbHVlLiAqL1xuICBmaXg/OiBudWxsIHwgUnVsZS5SZXBvcnRGaXhlciB8IHVuZGVmaW5lZDtcblxuICAvKiogTWVzc2FnZUlkIGhlbHBlciB2YWx1ZS4gKi9cbiAgbWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSdWxlQ29udGV4dFN0YXRlIHtcbiAgLyoqIENvbnRleHQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIFJlcG9ydHMgZmllbGQgdmFsdWUuICovXG4gIHJlcG9ydHM6IFJlcG9ydEVudHJ5W107XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIFNvdXJjZUNvZGUgc3R1YiB3aXRoIHRoZSBwcm92aWRlZCBjb21tZW50cy5cbiAqIEBwYXJhbSB0ZXh0IFNvdXJjZSB0ZXh0IHRvIGF0dGFjaC5cbiAqIEBwYXJhbSBjb21tZW50cyBDb21tZW50IG5vZGVzIHRvIGV4cG9zZS5cbiAqIEByZXR1cm5zIFNvdXJjZUNvZGUgc3R1YiBmb3IgdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlQ29kZSA9IGNyZWF0ZVNvdXJjZUNvZGUoXCJcIiwgW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVNvdXJjZUNvZGUgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgY29tbWVudHM6IENvbW1lbnRbXSxcbik6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdID0+XG4gICh7XG4gICAgZ2V0QWxsQ29tbWVudHM6ICgpOiBDb21tZW50W10gPT4gY29tbWVudHMsXG4gICAgdGV4dCxcbiAgfSkgYXMgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG5cbi8qKlxuICogQnVpbGRzIGEgcnVsZSBjb250ZXh0IGZvciBjb2xsZWN0aW5nIHJlcG9ydHMuXG4gKiBAcGFyYW0gc291cmNlQ29kZSBTb3VyY2VDb2RlIHN0dWIuXG4gKiBAcGFyYW0gcmVwb3J0cyBSZXBvcnQgc2luay5cbiAqIEByZXR1cm5zIFJ1bGUgY29udGV4dCB0aGF0IHJlY29yZHMgcmVwb3J0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0ID0gYnVpbGRSdWxlQ29udGV4dChzb3VyY2VDb2RlLCByZXBvcnRzKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZFJ1bGVDb250ZXh0ID0gKFxuICBzb3VyY2VDb2RlOiBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXSxcbiAgcmVwb3J0czogUmVwb3J0RW50cnlbXSxcbik6IFJ1bGUuUnVsZUNvbnRleHQgPT5cbiAgKHtcbiAgICBpZDogXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIixcbiAgICBvcHRpb25zOiBbXSxcbiAgICByZXBvcnQ6IChkZXNjcmlwdG9yOiBSdWxlLlJlcG9ydERlc2NyaXB0b3IpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHsgZml4LCBtZXNzYWdlSWQgfSA9IGRlc2NyaXB0b3IgYXMgUmVwb3J0RGVzY3JpcHRvckRldGFpbHM7XG4gICAgICBjb25zdCBlbnRyeTogUmVwb3J0RW50cnkgPSB7IGZpeCwgbWVzc2FnZUlkIH07XG5cbiAgICAgIHJlcG9ydHMucHVzaChlbnRyeSk7XG4gICAgfSxcbiAgICBzb3VyY2VDb2RlLFxuICB9KSBhcyB1bmtub3duIGFzIFJ1bGUuUnVsZUNvbnRleHQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHJ1bGUgY29udGV4dCBzdGF0ZSBmb3IgdGhlIGdpdmVuIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIHNvdXJjZVRleHQgU291cmNlIHRleHQgdG8gYW5hbHl6ZS5cbiAqIEBwYXJhbSBjb21tZW50cyBDb21tZW50IG5vZGVzIGZvciB0aGUgc291cmNlLlxuICogQHJldHVybnMgQ29udGV4dCBzdGF0ZSBmb3IgdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3RhdGUgPSBjcmVhdGVDb250ZXh0KFwiXCIsIFtdKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVDb250ZXh0ID0gKFxuICBzb3VyY2VUZXh0OiBzdHJpbmcsXG4gIGNvbW1lbnRzOiBDb21tZW50W10sXG4pOiBSdWxlQ29udGV4dFN0YXRlID0+IHtcbiAgY29uc3QgcmVwb3J0czogUmVwb3J0RW50cnlbXSA9IFtdO1xuICBjb25zdCBzb3VyY2VDb2RlID0gY3JlYXRlU291cmNlQ29kZShzb3VyY2VUZXh0LCBjb21tZW50cyk7XG5cbiAgcmV0dXJuIHsgY29udGV4dDogYnVpbGRSdWxlQ29udGV4dChzb3VyY2VDb2RlLCByZXBvcnRzKSwgcmVwb3J0cyB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgSlNEb2MgYmxvY2sgY29tbWVudCBmb3IgdGhlIGdpdmVuIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIGNvbW1lbnRWYWx1ZSBDb21tZW50IHZhbHVlIHdpdGhvdXQgZGVsaW1pdGVycy5cbiAqIEBwYXJhbSBzb3VyY2VUZXh0IFNvdXJjZSB0ZXh0IGNvbnRhaW5pbmcgdGhlIGNvbW1lbnQuXG4gKiBAcmV0dXJucyBDb21tZW50IG5vZGUgZm9yIHRoZSBzb3VyY2UgdGV4dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21tZW50ID0gY3JlYXRlQ29tbWVudChcIipcXG4gKiBva1xcbiBcIiwgXCJmdW5jdGlvbiBkZW1vKCkge31cIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlQ29tbWVudCA9IChjb21tZW50VmFsdWU6IHN0cmluZywgc291cmNlVGV4dDogc3RyaW5nKTogQ29tbWVudCA9PiB7XG4gIGNvbnN0IGVuZCA9IHNvdXJjZVRleHQuaW5kZXhPZihcIiovXCIpICsgMjtcblxuICByZXR1cm4ge1xuICAgIHJhbmdlOiBbMCwgZW5kXSxcbiAgICB0eXBlOiBcIkJsb2NrXCIsXG4gICAgdmFsdWU6IGNvbW1lbnRWYWx1ZSxcbiAgfSBhcyBDb21tZW50O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gbm9kZSBmb3IgdGhlIGdpdmVuIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIHNvdXJjZVRleHQgU291cmNlIHRleHQgY29udGFpbmluZyB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gcGFyYW1ldGVycyBQYXJhbWV0ZXIgbm9kZXMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEZ1bmN0aW9uIGRlY2xhcmF0aW9uIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgbm9kZSA9IGNyZWF0ZUZ1bmN0aW9uTm9kZShcImZ1bmN0aW9uIGRlbW8oKSB7fVwiLCBbXSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRnVuY3Rpb25Ob2RlID0gKFxuICBzb3VyY2VUZXh0OiBzdHJpbmcsXG4gIHBhcmFtZXRlcnM6IHVua25vd25bXSxcbik6IFJ1bGUuTm9kZSA9PlxuICAoe1xuICAgIHBhcmFtczogcGFyYW1ldGVycyxcbiAgICByYW5nZTogW3NvdXJjZVRleHQuaW5kZXhPZihcImZ1bmN0aW9uXCIpLCBzb3VyY2VUZXh0Lmxlbmd0aF0sXG4gICAgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIsXG4gIH0pIGFzIFJ1bGUuTm9kZTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcGFyYW1ldGVyIG5vZGUgd2l0aCBhIHR5cGUgYW5ub3RhdGlvbi5cbiAqIEBwYXJhbSB0eXBlIFR5cGUgYW5ub3RhdGlvbiBraW5kIHRvIGFzc2lnbi5cbiAqIEByZXR1cm5zIFBhcmFtZXRlciBub2RlIGZvciB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwYXJhbSA9IGNyZWF0ZVBhcmFtZXRlcihcIlRTVHlwZVJlZmVyZW5jZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVQYXJhbWV0ZXIgPSAodHlwZTogc3RyaW5nKTogdW5rbm93biA9PiAoe1xuICBuYW1lOiBcImNvbnRleHRcIixcbiAgdHlwZTogXCJJZGVudGlmaWVyXCIsXG4gIHR5cGVBbm5vdGF0aW9uOiB7XG4gICAgdHlwZUFubm90YXRpb246IHsgdHlwZSB9LFxuICB9LFxufSk7XG5cbi8qKlxuICogUnVucyB0aGUgcnVsZSBsaXN0ZW5lciBmb3IgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBub2RlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBub2RlIEZ1bmN0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBydW5GdW5jdGlvbkxpc3RlbmVyKGNvbnRleHQsIG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJ1bkZ1bmN0aW9uTGlzdGVuZXIgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgY29uc3QgbGlzdGVuZXIgPSBsaXN0ZW5lcnMuRnVuY3Rpb25EZWNsYXJhdGlvbiBhc1xuICAgIHwgKChub2RlOiBSdWxlLk5vZGUpID0+IHZvaWQpXG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgbGlzdGVuZXI/Lihub2RlKTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHNvdXJjZSB0ZXh0IHdpdGggYSBsZWFkaW5nIEpTRG9jIGNvbW1lbnQuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIENvbW1lbnQgdmFsdWUgdXNlZCBpbiB0aGUgc291cmNlLlxuICogQHJldHVybnMgU291cmNlIHRleHQgY29udGFpbmluZyB0aGUgY29tbWVudCBhbmQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGJ1aWxkU291cmNlVGV4dChcIipcXG4gKiBva1xcbiBcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgYnVpbGRTb3VyY2VUZXh0ID0gKGNvbW1lbnRWYWx1ZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIFtcbiAgICBcIi8qKlwiLFxuICAgIGNvbW1lbnRWYWx1ZS50cmltRW5kKCksXG4gICAgXCIqL1wiLFxuICAgIFwiZnVuY3Rpb24gZ2V0TGluZU1ldGEoY29udGV4dDogTGluZU1ldGFDb250ZXh0KTogdm9pZCB7fVwiLFxuICBdLmpvaW4oXCJcXG5cIik7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNhbXBsZSB0ZXN0IGZpeHR1cmUgZm9yIGludGVyZmFjZSBtZW1iZXIgZG9jcy5cbiAqIEByZXR1cm5zIFNhbXBsZSBjb250ZXh0LCBub2RlLCBhbmQgcmVwb3J0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzYW1wbGUgPSBjcmVhdGVJbnRlcmZhY2VTYW1wbGUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVJbnRlcmZhY2VTYW1wbGUgPSAoKTogSW50ZXJmYWNlU2FtcGxlID0+IHtcbiAgY29uc3QgY29tbWVudFZhbHVlID0gW1xuICAgIFwiKlwiLFxuICAgIFwiICogQ29tcHV0ZSBsaW5lIG1ldGFkYXRhIGZyb20gdGhlIHJhdyBjb21tZW50IHZhbHVlLlwiLFxuICAgIFwiICogQHBhcmFtIGNvbnRleHQgVGhlIG1ldGFkYXRhIGNvbnRleHQuXCIsXG4gICAgXCIgKiBAcGFyYW0gY29udGV4dC5jb21tZW50VmFsdWUgVGhlIGZ1bGwgY29tbWVudCB2YWx1ZS5cIixcbiAgICBcIiAqIEBwYXJhbSBjb250ZXh0LmZ1bGwgVGhlIGZ1bGwgbWF0Y2hlZCBleGFtcGxlIHRleHQuXCIsXG4gICAgXCIgKiBAcGFyYW0gY29udGV4dC5zdGFydE9mZnNldCBUaGUgbWF0Y2ggc3RhcnQgb2Zmc2V0LlwiLFxuICAgIFwiICogQHJldHVybnMgVGhlIGxpbmUgbWV0YWRhdGEgZm9yIHRoZSBleGFtcGxlLlwiLFxuICAgIFwiIFwiLFxuICBdLmpvaW4oXCJcXG5cIik7XG4gIGNvbnN0IHNvdXJjZVRleHQgPSBidWlsZFNvdXJjZVRleHQoY29tbWVudFZhbHVlKTtcbiAgY29uc3QgY29tbWVudCA9IGNyZWF0ZUNvbW1lbnQoY29tbWVudFZhbHVlLCBzb3VyY2VUZXh0KTtcbiAgY29uc3QgeyBjb250ZXh0LCByZXBvcnRzIH0gPSBjcmVhdGVDb250ZXh0KHNvdXJjZVRleHQsIFtjb21tZW50XSk7XG4gIGNvbnN0IG5vZGUgPSBjcmVhdGVGdW5jdGlvbk5vZGUoc291cmNlVGV4dCwgW1xuICAgIGNyZWF0ZVBhcmFtZXRlcihcIlRTVHlwZVJlZmVyZW5jZVwiKSxcbiAgXSk7XG5cbiAgcmV0dXJuIHsgY29udGV4dCwgbm9kZSwgcmVwb3J0cywgc291cmNlVGV4dCB9O1xufTtcblxuZXhwb3J0IHtcbiAgYnVpbGRTb3VyY2VUZXh0LFxuICBjcmVhdGVDb21tZW50LFxuICBjcmVhdGVDb250ZXh0LFxuICBjcmVhdGVGdW5jdGlvbk5vZGUsXG4gIGNyZWF0ZUludGVyZmFjZVNhbXBsZSxcbiAgY3JlYXRlUGFyYW1ldGVyLFxuICBydW5GdW5jdGlvbkxpc3RlbmVyLFxufTtcbmV4cG9ydCB0eXBlIHsgQ29tbWVudCB9O1xuIl19
@@ -14,8 +14,8 @@ interface CommentLine {
14
14
  }
15
15
  /** Type definition for rule data. */
16
16
  interface ParameterMemberTag {
17
- /** BaseName field value. */
18
- baseName: string;
17
+ /** Basename field value. */
18
+ basename: string;
19
19
  /** FullName field value. */
20
20
  fullName: string;
21
21
  /** Line field value. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/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,WAAW;IACnB,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IAExB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qCAAqC;AACrC,UAAU,kBAAkB;IAC1B,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,qCAAqC;AACrC,UAAU,kBAAkB;IAC1B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbW1lbnRMaW5lIHtcbiAgLyoqIEVuZCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kOiBudW1iZXI7XG5cbiAgLyoqIExpbmVCcmVha0xlbmd0aCBmaWVsZCB2YWx1ZS4gKi9cbiAgbGluZUJyZWFrTGVuZ3RoOiBudW1iZXI7XG5cbiAgLyoqIFN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBzdGFydDogbnVtYmVyO1xuXG4gIC8qKiBUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBQYXJhbWV0ZXJNZW1iZXJUYWcge1xuICAvKiogQmFzZW5hbWUgZmllbGQgdmFsdWUuICovXG4gIGJhc2VuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEZ1bGxOYW1lIGZpZWxkIHZhbHVlLiAqL1xuICBmdWxsTmFtZTogc3RyaW5nO1xuXG4gIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lOiBDb21tZW50TGluZTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFR5cGVBbm5vdGF0aW9uTm9kZSB7XG4gIC8qKiBUeXBlIGZpZWxkIHZhbHVlLiAqL1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIHsgQ29tbWVudCwgQ29tbWVudExpbmUsIFBhcmFtZXRlck1lbWJlclRhZywgVHlwZUFubm90YXRpb25Ob2RlIH07XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { createFixer } from "./fixes.js";
2
+ /** Companion module for createFixer-focused tests. */
3
+ declare const createFixerCompanion: typeof createFixer;
4
+ export { createFixerCompanion };
5
+ //# sourceMappingURL=create-fixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-fixer.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/create-fixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,sDAAsD;AACtD,QAAA,MAAM,oBAAoB,oBAAc,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { createFixer } from "./fixes.js";
2
+ /** Companion module for createFixer-focused tests. */
3
+ const createFixerCompanion = createFixer;
4
+ export { createFixerCompanion };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZpeGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3JlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZS9jcmVhdGUtZml4ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0QyxzREFBc0Q7QUFDdEQsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGaXhlciB9IGZyb20gXCIuL2ZpeGVzXCI7XHJcblxyXG4vKiogQ29tcGFuaW9uIG1vZHVsZSBmb3IgY3JlYXRlRml4ZXItZm9jdXNlZCB0ZXN0cy4gKi9cclxuY29uc3QgY3JlYXRlRml4ZXJDb21wYW5pb24gPSBjcmVhdGVGaXhlcjtcclxuXHJcbmV4cG9ydCB7IGNyZWF0ZUZpeGVyQ29tcGFuaW9uIH07Il19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-fence-fixes.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/empty-fence-fixes.ts"],"names":[],"mappings":"AAqBA,qCAAqC;AACrC,UAAU,aAAa;IACrB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAuFD;;;;;;;;GAQG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAe/D;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA0B/D;AAgDD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Closes a fence and updates the state.
3
+ * @param state Current fence state.
4
+ * @param line Fence line being processed.
5
+ * @returns Updated fence state.
6
+ * @example
7
+ * ```typescript
8
+ * const next = closeFence(state, " * ```");
9
+ * ```
10
+ */
11
+ function closeFence(state, line) {
12
+ const fenceLines = [...state.currentFence, line];
13
+ const shouldRemove = !state.hasFenceContent;
14
+ const hasNonEmptyFence = state.hasNonEmptyFence || state.hasFenceContent;
15
+ const output = shouldRemove ? state.output : [...state.output, ...fenceLines];
16
+ return {
17
+ ...state,
18
+ currentFence: [],
19
+ hasFenceContent: false,
20
+ hasNonEmptyFence,
21
+ inFence: false,
22
+ output,
23
+ removed: state.removed || shouldRemove,
24
+ };
25
+ }
26
+ /**
27
+ * Finalizes fence output, including any unclosed fences.
28
+ * @param state Current fence state.
29
+ * @returns Finalized fence state.
30
+ * @example
31
+ * ```typescript
32
+ * const next = finalizeFenceState(state);
33
+ * ```
34
+ */
35
+ function finalizeFenceState(state) {
36
+ if (state.inFence) {
37
+ return {
38
+ ...state,
39
+ currentFence: [],
40
+ hasFenceContent: false,
41
+ hasNonEmptyFence: state.hasNonEmptyFence || state.hasFenceContent,
42
+ inFence: false,
43
+ output: [...state.output, ...state.currentFence],
44
+ };
45
+ }
46
+ return state;
47
+ }
48
+ /**
49
+ * Determines whether a line contains non-empty content.
50
+ * @param line Line text to check.
51
+ * @returns True when the line contains content.
52
+ * @example
53
+ * ```typescript
54
+ * const ok = isContentLine(" * const ok = true;");
55
+ * ```
56
+ */
57
+ function isContentLine(line) {
58
+ const trimmed = line.replace(/^\s*\*?\s?/u, "").trim();
59
+ return trimmed.length > 0;
60
+ }
61
+ /**
62
+ * Opens a new fenced block.
63
+ * @param state Current fence state.
64
+ * @param line Fence line being processed.
65
+ * @returns Updated fence state.
66
+ * @example
67
+ * ```typescript
68
+ * const next = openFence(state, " * ```typescript");
69
+ * ```
70
+ */
71
+ function openFence(state, line) {
72
+ return {
73
+ ...state,
74
+ currentFence: [line],
75
+ hasFenceContent: false,
76
+ hasNonEmptyFence: state.hasNonEmptyFence,
77
+ inFence: true,
78
+ };
79
+ }
80
+ /**
81
+ * Parses a fence line for its leading prefix and language.
82
+ * @param line Fence line to parse.
83
+ * @returns Parsed fence info when matched.
84
+ * @example
85
+ * ```typescript
86
+ * const info = parseFenceLine(" * ```typescript");
87
+ * ```
88
+ */
89
+ function parseFenceLine(line) {
90
+ const fenceMatch = /^(?<leading>\s*\*?\s*)```(?<lang>[^\s`]+)?[ \t]*$/u.exec(line);
91
+ if (fenceMatch === null) {
92
+ return void 0;
93
+ }
94
+ const groups = fenceMatch.groups ?? {};
95
+ const leading = typeof groups["leading"] === "string" ? groups["leading"] : "";
96
+ const language = typeof groups["lang"] === "string" ? groups["lang"] : "";
97
+ return { language, leading };
98
+ }
99
+ /**
100
+ * Removes fenced blocks that contain no content.
101
+ * @param original Original comment text.
102
+ * @returns Updated comment text when a fence is removed.
103
+ * @example
104
+ * ```typescript
105
+ * const updated = removeEmptyFences("* ```typescript\n* ```\n* ok");
106
+ * ```
107
+ */
108
+ function removeEmptyFences(original) {
109
+ const lineBreak = original.includes("\r\n") ? "\r\n" : "\n";
110
+ const lines = original.split(/\r?\n/u);
111
+ const initialState = {
112
+ currentFence: [],
113
+ hasFenceContent: false,
114
+ hasNonEmptyFence: false,
115
+ inFence: false,
116
+ output: [],
117
+ removed: false,
118
+ };
119
+ let state = initialState;
120
+ for (const line of lines) {
121
+ const fenceInfo = parseFenceLine(line);
122
+ state =
123
+ fenceInfo === void 0
124
+ ? updateContentState(state, line)
125
+ : updateFenceState(state, line);
126
+ }
127
+ const finalState = finalizeFenceState(state);
128
+ return finalState.removed && finalState.hasNonEmptyFence
129
+ ? finalState.output.join(lineBreak)
130
+ : void 0;
131
+ }
132
+ /**
133
+ * Updates the state with a non-fence line.
134
+ * @param state Current fence state.
135
+ * @param line Line being processed.
136
+ * @returns Updated fence state.
137
+ * @example
138
+ * ```typescript
139
+ * const next = updateContentState(state, " * const ok = true;");
140
+ * ```
141
+ */
142
+ function updateContentState(state, line) {
143
+ if (state.inFence) {
144
+ return {
145
+ ...state,
146
+ currentFence: [...state.currentFence, line],
147
+ hasFenceContent: state.hasFenceContent || isContentLine(line),
148
+ };
149
+ }
150
+ return { ...state, output: [...state.output, line] };
151
+ }
152
+ /**
153
+ * Opens or closes a fence based on the current state.
154
+ * @param state Current fence state.
155
+ * @param line Fence line being processed.
156
+ * @returns Updated fence state.
157
+ * @example
158
+ * ```typescript
159
+ * const next = updateFenceState(state, " * ```");
160
+ * ```
161
+ */
162
+ function updateFenceState(state, line) {
163
+ if (state.inFence) {
164
+ return closeFence(state, line);
165
+ }
166
+ return openFence(state, line);
167
+ }
168
+ export { parseFenceLine, removeEmptyFences };
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktZmVuY2UtZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2VtcHR5LWZlbmNlLWZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQTs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLFVBQVUsQ0FBQyxLQUFzQixFQUFFLElBQVk7SUFDdEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDekUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBRTlFLE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixZQUFZLEVBQUUsRUFBRTtRQUNoQixlQUFlLEVBQUUsS0FBSztRQUN0QixnQkFBZ0I7UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNO1FBQ04sT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksWUFBWTtLQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxLQUFzQjtJQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxlQUFlO1lB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QztRQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FDekIsS0FBc0IsRUFDdEIsSUFBWTtJQUVaLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDO1lBQzNDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDdkQsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsZ0JBQWdCLENBQ3ZCLEtBQXNCLEVBQ3RCLElBQVk7SUFFWixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEVtcHR5RmVuY2VTdGF0ZSB7XG4gIC8qKiBDdXJyZW50RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGN1cnJlbnRGZW5jZTogc3RyaW5nW107XG5cbiAgLyoqIEhhc0ZlbmNlQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzRmVuY2VDb250ZW50OiBib29sZWFuO1xuXG4gIC8qKiBIYXNOb25FbXB0eUZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBoYXNOb25FbXB0eUZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBPdXRwdXQgZmllbGQgdmFsdWUuICovXG4gIG91dHB1dDogc3RyaW5nW107XG5cbiAgLyoqIFJlbW92ZWQgZmllbGQgdmFsdWUuICovXG4gIHJlbW92ZWQ6IGJvb2xlYW47XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZUxpbmVJbmZvIHtcbiAgLyoqIExhbmd1YWdlIGZpZWxkIHZhbHVlLiAqL1xuICBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIC8qKiBMZWFkaW5nIGZpZWxkIHZhbHVlLiAqL1xuICBsZWFkaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2xvc2VzIGEgZmVuY2UgYW5kIHVwZGF0ZXMgdGhlIHN0YXRlLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2Ugc3RhdGUuXG4gKiBAcGFyYW0gbGluZSBGZW5jZSBsaW5lIGJlaW5nIHByb2Nlc3NlZC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IGNsb3NlRmVuY2Uoc3RhdGUsIFwiICogYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNsb3NlRmVuY2Uoc3RhdGU6IEVtcHR5RmVuY2VTdGF0ZSwgbGluZTogc3RyaW5nKTogRW1wdHlGZW5jZVN0YXRlIHtcbiAgY29uc3QgZmVuY2VMaW5lcyA9IFsuLi5zdGF0ZS5jdXJyZW50RmVuY2UsIGxpbmVdO1xuICBjb25zdCBzaG91bGRSZW1vdmUgPSAhc3RhdGUuaGFzRmVuY2VDb250ZW50O1xuICBjb25zdCBoYXNOb25FbXB0eUZlbmNlID0gc3RhdGUuaGFzTm9uRW1wdHlGZW5jZSB8fCBzdGF0ZS5oYXNGZW5jZUNvbnRlbnQ7XG4gIGNvbnN0IG91dHB1dCA9IHNob3VsZFJlbW92ZSA/IHN0YXRlLm91dHB1dCA6IFsuLi5zdGF0ZS5vdXRwdXQsIC4uLmZlbmNlTGluZXNdO1xuXG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgY3VycmVudEZlbmNlOiBbXSxcbiAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc05vbkVtcHR5RmVuY2UsXG4gICAgaW5GZW5jZTogZmFsc2UsXG4gICAgb3V0cHV0LFxuICAgIHJlbW92ZWQ6IHN0YXRlLnJlbW92ZWQgfHwgc2hvdWxkUmVtb3ZlLFxuICB9O1xufVxuXG4vKipcbiAqIEZpbmFsaXplcyBmZW5jZSBvdXRwdXQsIGluY2x1ZGluZyBhbnkgdW5jbG9zZWQgZmVuY2VzLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2Ugc3RhdGUuXG4gKiBAcmV0dXJucyBGaW5hbGl6ZWQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IGZpbmFsaXplRmVuY2VTdGF0ZShzdGF0ZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZmluYWxpemVGZW5jZVN0YXRlKHN0YXRlOiBFbXB0eUZlbmNlU3RhdGUpOiBFbXB0eUZlbmNlU3RhdGUge1xuICBpZiAoc3RhdGUuaW5GZW5jZSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZTogW10sXG4gICAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgICAgaGFzTm9uRW1wdHlGZW5jZTogc3RhdGUuaGFzTm9uRW1wdHlGZW5jZSB8fCBzdGF0ZS5oYXNGZW5jZUNvbnRlbnQsXG4gICAgICBpbkZlbmNlOiBmYWxzZSxcbiAgICAgIG91dHB1dDogWy4uLnN0YXRlLm91dHB1dCwgLi4uc3RhdGUuY3VycmVudEZlbmNlXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGxpbmUgY29udGFpbnMgbm9uLWVtcHR5IGNvbnRlbnQuXG4gKiBAcGFyYW0gbGluZSBMaW5lIHRleHQgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGxpbmUgY29udGFpbnMgY29udGVudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQ29udGVudExpbmUoXCIgKiBjb25zdCBvayA9IHRydWU7XCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ29udGVudExpbmUobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBsaW5lLnJlcGxhY2UoL15cXHMqXFwqP1xccz8vdSwgXCJcIikudHJpbSgpO1xuICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPiAwO1xufVxuXG4vKipcbiAqIE9wZW5zIGEgbmV3IGZlbmNlZCBibG9jay5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHN0YXRlLlxuICogQHBhcmFtIGxpbmUgRmVuY2UgbGluZSBiZWluZyBwcm9jZXNzZWQuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSBvcGVuRmVuY2Uoc3RhdGUsIFwiICogYGBgdHlwZXNjcmlwdFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBvcGVuRmVuY2Uoc3RhdGU6IEVtcHR5RmVuY2VTdGF0ZSwgbGluZTogc3RyaW5nKTogRW1wdHlGZW5jZVN0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50RmVuY2U6IFtsaW5lXSxcbiAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc05vbkVtcHR5RmVuY2U6IHN0YXRlLmhhc05vbkVtcHR5RmVuY2UsXG4gICAgaW5GZW5jZTogdHJ1ZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBmZW5jZSBsaW5lIGZvciBpdHMgbGVhZGluZyBwcmVmaXggYW5kIGxhbmd1YWdlLlxuICogQHBhcmFtIGxpbmUgRmVuY2UgbGluZSB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFBhcnNlZCBmZW5jZSBpbmZvIHdoZW4gbWF0Y2hlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBpbmZvID0gcGFyc2VGZW5jZUxpbmUoXCIgKiBgYGB0eXBlc2NyaXB0XCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRmVuY2VMaW5lKGxpbmU6IHN0cmluZyk6IEZlbmNlTGluZUluZm8gfCB1bmRlZmluZWQge1xuICBjb25zdCBmZW5jZU1hdGNoID0gL14oPzxsZWFkaW5nPlxccypcXCo/XFxzKilgYGAoPzxsYW5nPlteXFxzYF0rKT9bIFxcdF0qJC91LmV4ZWMoXG4gICAgbGluZSxcbiAgKTtcblxuICBpZiAoZmVuY2VNYXRjaCA9PT0gbnVsbCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBncm91cHMgPSBmZW5jZU1hdGNoLmdyb3VwcyA/PyB7fTtcbiAgY29uc3QgbGVhZGluZyA9XG4gICAgdHlwZW9mIGdyb3Vwc1tcImxlYWRpbmdcIl0gPT09IFwic3RyaW5nXCIgPyBncm91cHNbXCJsZWFkaW5nXCJdIDogXCJcIjtcbiAgY29uc3QgbGFuZ3VhZ2UgPSB0eXBlb2YgZ3JvdXBzW1wibGFuZ1wiXSA9PT0gXCJzdHJpbmdcIiA/IGdyb3Vwc1tcImxhbmdcIl0gOiBcIlwiO1xuXG4gIHJldHVybiB7IGxhbmd1YWdlLCBsZWFkaW5nIH07XG59XG5cbi8qKlxuICogUmVtb3ZlcyBmZW5jZWQgYmxvY2tzIHRoYXQgY29udGFpbiBubyBjb250ZW50LlxuICogQHBhcmFtIG9yaWdpbmFsIE9yaWdpbmFsIGNvbW1lbnQgdGV4dC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgY29tbWVudCB0ZXh0IHdoZW4gYSBmZW5jZSBpcyByZW1vdmVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVwZGF0ZWQgPSByZW1vdmVFbXB0eUZlbmNlcyhcIiogYGBgdHlwZXNjcmlwdFxcbiogYGBgXFxuKiBva1wiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZW1vdmVFbXB0eUZlbmNlcyhvcmlnaW5hbDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbGluZUJyZWFrID0gb3JpZ2luYWwuaW5jbHVkZXMoXCJcXHJcXG5cIikgPyBcIlxcclxcblwiIDogXCJcXG5cIjtcbiAgY29uc3QgbGluZXMgPSBvcmlnaW5hbC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBFbXB0eUZlbmNlU3RhdGUgPSB7XG4gICAgY3VycmVudEZlbmNlOiBbXSxcbiAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc05vbkVtcHR5RmVuY2U6IGZhbHNlLFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG91dHB1dDogW10sXG4gICAgcmVtb3ZlZDogZmFsc2UsXG4gIH07XG4gIGxldCBzdGF0ZSA9IGluaXRpYWxTdGF0ZTtcblxuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBjb25zdCBmZW5jZUluZm8gPSBwYXJzZUZlbmNlTGluZShsaW5lKTtcbiAgICBzdGF0ZSA9XG4gICAgICBmZW5jZUluZm8gPT09IHZvaWQgMFxuICAgICAgICA/IHVwZGF0ZUNvbnRlbnRTdGF0ZShzdGF0ZSwgbGluZSlcbiAgICAgICAgOiB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBsaW5lKTtcbiAgfVxuXG4gIGNvbnN0IGZpbmFsU3RhdGUgPSBmaW5hbGl6ZUZlbmNlU3RhdGUoc3RhdGUpO1xuXG4gIHJldHVybiBmaW5hbFN0YXRlLnJlbW92ZWQgJiYgZmluYWxTdGF0ZS5oYXNOb25FbXB0eUZlbmNlXG4gICAgPyBmaW5hbFN0YXRlLm91dHB1dC5qb2luKGxpbmVCcmVhaylcbiAgICA6IHZvaWQgMDtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBzdGF0ZSB3aXRoIGEgbm9uLWZlbmNlIGxpbmUuXG4gKiBAcGFyYW0gc3RhdGUgQ3VycmVudCBmZW5jZSBzdGF0ZS5cbiAqIEBwYXJhbSBsaW5lIExpbmUgYmVpbmcgcHJvY2Vzc2VkLlxuICogQHJldHVybnMgVXBkYXRlZCBmZW5jZSBzdGF0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0ID0gdXBkYXRlQ29udGVudFN0YXRlKHN0YXRlLCBcIiAqIGNvbnN0IG9rID0gdHJ1ZTtcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gdXBkYXRlQ29udGVudFN0YXRlKFxuICBzdGF0ZTogRW1wdHlGZW5jZVN0YXRlLFxuICBsaW5lOiBzdHJpbmcsXG4pOiBFbXB0eUZlbmNlU3RhdGUge1xuICBpZiAoc3RhdGUuaW5GZW5jZSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZTogWy4uLnN0YXRlLmN1cnJlbnRGZW5jZSwgbGluZV0sXG4gICAgICBoYXNGZW5jZUNvbnRlbnQ6IHN0YXRlLmhhc0ZlbmNlQ29udGVudCB8fCBpc0NvbnRlbnRMaW5lKGxpbmUpLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4geyAuLi5zdGF0ZSwgb3V0cHV0OiBbLi4uc3RhdGUub3V0cHV0LCBsaW5lXSB9O1xufVxuXG4vKipcbiAqIE9wZW5zIG9yIGNsb3NlcyBhIGZlbmNlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2Ugc3RhdGUuXG4gKiBAcGFyYW0gbGluZSBGZW5jZSBsaW5lIGJlaW5nIHByb2Nlc3NlZC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IHVwZGF0ZUZlbmNlU3RhdGUoc3RhdGUsIFwiICogYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZUZlbmNlU3RhdGUoXG4gIHN0YXRlOiBFbXB0eUZlbmNlU3RhdGUsXG4gIGxpbmU6IHN0cmluZyxcbik6IEVtcHR5RmVuY2VTdGF0ZSB7XG4gIGlmIChzdGF0ZS5pbkZlbmNlKSB7XG4gICAgcmV0dXJuIGNsb3NlRmVuY2Uoc3RhdGUsIGxpbmUpO1xuICB9XG5cbiAgcmV0dXJuIG9wZW5GZW5jZShzdGF0ZSwgbGluZSk7XG59XG5cbmV4cG9ydCB7IHBhcnNlRmVuY2VMaW5lLCByZW1vdmVFbXB0eUZlbmNlcyB9O1xuIl19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/example-utilities.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,UAAU,QAAQ;IAChB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,UAAU,eAAe;IACvB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU1D;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;;;;GAQG;AACH,iBAAS,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAQvD;AAED;;;;;;;;GAQG;AACH,iBAAS,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQzC;AAED;;;;;;;;GAQG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,cAAc,GACf,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Extracts the language from a fence line when present.
3
+ * @param line Fence line to inspect.
4
+ * @returns Language tag when present.
5
+ * @example
6
+ * ```typescript
7
+ * const lang = getFenceLanguage(" * ```typescript");
8
+ * ```
9
+ */
10
+ function getFenceLanguage(line) {
11
+ const fenceMatch = /^(?<leading>\s*\*?\s*)```(?<lang>[^\s`]+)?[ \t]*$/u.exec(line);
12
+ if (fenceMatch === null) {
13
+ return void 0;
14
+ }
15
+ return fenceMatch.groups?.["lang"] ?? "";
16
+ }
17
+ /**
18
+ * Extracts inline example content from the header line.
19
+ * @param header Example header line.
20
+ * @returns Inline example content.
21
+ * @example
22
+ * ```typescript
23
+ * const text = getInlineContent("* @example hello");
24
+ * ```
25
+ */
26
+ function getInlineContent(header) {
27
+ const inlineMatch = /^.*@example\b\s?(?<c>.*)$/u.exec(header);
28
+ return inlineMatch?.groups?.["c"] ?? "";
29
+ }
30
+ /**
31
+ * Computes line metadata from the raw comment value.
32
+ * @param context Comment metadata context.
33
+ * @returns Line metadata for the example.
34
+ * @example
35
+ * ```typescript
36
+ * const meta = getLineMeta({ commentValue: "* ok", full: "* ok", startOffset: 0 });
37
+ * ```
38
+ */
39
+ function getLineMeta(context) {
40
+ const { commentValue, full, startOffset } = context;
41
+ const lineIndex = commentValue.slice(0, startOffset).split(/\r?\n/u).length - 1;
42
+ const endOffset = startOffset + full.length;
43
+ const endIndex = lineIndex + full.split(/\r?\n/u).length - 1;
44
+ return { endIndex, endOffset, lineIndex };
45
+ }
46
+ /**
47
+ * Resolves the leading prefix used by example lines.
48
+ * @param header Example header line.
49
+ * @returns The leading prefix string.
50
+ * @example
51
+ * ```typescript
52
+ * const prefix = getPrefix(" * @example");
53
+ * ```
54
+ */
55
+ function getPrefix(header) {
56
+ const prefixMatch = header.indexOf("@example");
57
+ if (prefixMatch === -1) {
58
+ return "";
59
+ }
60
+ return header.slice(0, prefixMatch);
61
+ }
62
+ /**
63
+ * Determines whether a content line contains non-empty example text.
64
+ * @param line Line text to check.
65
+ * @returns True when the line contains content.
66
+ * @example
67
+ * ```typescript
68
+ * const ok = hasLineContent(" * const value = 1;");
69
+ * ```
70
+ */
71
+ function hasLineContent(line) {
72
+ const trimmed = line.replace(/^\s*\*?\s?/u, "").trim();
73
+ return trimmed.length > 0;
74
+ }
75
+ export { getFenceLanguage, getInlineContent, getLineMeta, getPrefix, hasLineContent, };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGUtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsSUFBWTtJQUNwQyxNQUFNLFVBQVUsR0FBRyxvREFBb0QsQ0FBQyxJQUFJLENBQzFFLElBQUksQ0FDTCxDQUFDO0lBRUYsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsTUFBYztJQUN0QyxNQUFNLFdBQVcsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUQsT0FBTyxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzFDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUFDLE9BQXdCO0lBQzNDLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNwRCxNQUFNLFNBQVMsR0FDYixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoRSxNQUFNLFNBQVMsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsU0FBUyxDQUFDLE1BQWM7SUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUvQyxJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxjQUFjLENBQUMsSUFBWTtJQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsU0FBUyxFQUNULGNBQWMsR0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIExpbmVNZXRhIHtcbiAgLyoqIEVuZEluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRJbmRleDogbnVtYmVyO1xuXG4gIC8qKiBFbmRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIGVuZE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBMaW5lSW5kZXggZmllbGQgdmFsdWUuICovXG4gIGxpbmVJbmRleDogbnVtYmVyO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgTGluZU1ldGFDb250ZXh0IHtcbiAgLyoqIENvbW1lbnRWYWx1ZSBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudFZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqIEZ1bGwgZmllbGQgdmFsdWUuICovXG4gIGZ1bGw6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGxhbmd1YWdlIGZyb20gYSBmZW5jZSBsaW5lIHdoZW4gcHJlc2VudC5cbiAqIEBwYXJhbSBsaW5lIEZlbmNlIGxpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIExhbmd1YWdlIHRhZyB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGFuZyA9IGdldEZlbmNlTGFuZ3VhZ2UoXCIgKiBgYGB0eXBlc2NyaXB0XCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEZlbmNlTGFuZ3VhZ2UobGluZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZmVuY2VNYXRjaCA9IC9eKD88bGVhZGluZz5cXHMqXFwqP1xccyopYGBgKD88bGFuZz5bXlxcc2BdKyk/WyBcXHRdKiQvdS5leGVjKFxuICAgIGxpbmUsXG4gICk7XG5cbiAgaWYgKGZlbmNlTWF0Y2ggPT09IG51bGwpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIGZlbmNlTWF0Y2guZ3JvdXBzPy5bXCJsYW5nXCJdID8/IFwiXCI7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgaW5saW5lIGV4YW1wbGUgY29udGVudCBmcm9tIHRoZSBoZWFkZXIgbGluZS5cbiAqIEBwYXJhbSBoZWFkZXIgRXhhbXBsZSBoZWFkZXIgbGluZS5cbiAqIEByZXR1cm5zIElubGluZSBleGFtcGxlIGNvbnRlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGdldElubGluZUNvbnRlbnQoXCIqIEBleGFtcGxlIGhlbGxvXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldElubGluZUNvbnRlbnQoaGVhZGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBpbmxpbmVNYXRjaCA9IC9eLipAZXhhbXBsZVxcYlxccz8oPzxjPi4qKSQvdS5leGVjKGhlYWRlcik7XG5cbiAgcmV0dXJuIGlubGluZU1hdGNoPy5ncm91cHM/LltcImNcIl0gPz8gXCJcIjtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyBsaW5lIG1ldGFkYXRhIGZyb20gdGhlIHJhdyBjb21tZW50IHZhbHVlLlxuICogQHBhcmFtIGNvbnRleHQgQ29tbWVudCBtZXRhZGF0YSBjb250ZXh0LlxuICogQHJldHVybnMgTGluZSBtZXRhZGF0YSBmb3IgdGhlIGV4YW1wbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWV0YSA9IGdldExpbmVNZXRhKHsgY29tbWVudFZhbHVlOiBcIiogb2tcIiwgZnVsbDogXCIqIG9rXCIsIHN0YXJ0T2Zmc2V0OiAwIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldExpbmVNZXRhKGNvbnRleHQ6IExpbmVNZXRhQ29udGV4dCk6IExpbmVNZXRhIHtcbiAgY29uc3QgeyBjb21tZW50VmFsdWUsIGZ1bGwsIHN0YXJ0T2Zmc2V0IH0gPSBjb250ZXh0O1xuICBjb25zdCBsaW5lSW5kZXggPVxuICAgIGNvbW1lbnRWYWx1ZS5zbGljZSgwLCBzdGFydE9mZnNldCkuc3BsaXQoL1xccj9cXG4vdSkubGVuZ3RoIC0gMTtcbiAgY29uc3QgZW5kT2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBmdWxsLmxlbmd0aDtcbiAgY29uc3QgZW5kSW5kZXggPSBsaW5lSW5kZXggKyBmdWxsLnNwbGl0KC9cXHI/XFxuL3UpLmxlbmd0aCAtIDE7XG5cbiAgcmV0dXJuIHsgZW5kSW5kZXgsIGVuZE9mZnNldCwgbGluZUluZGV4IH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGxlYWRpbmcgcHJlZml4IHVzZWQgYnkgZXhhbXBsZSBsaW5lcy5cbiAqIEBwYXJhbSBoZWFkZXIgRXhhbXBsZSBoZWFkZXIgbGluZS5cbiAqIEByZXR1cm5zIFRoZSBsZWFkaW5nIHByZWZpeCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJlZml4ID0gZ2V0UHJlZml4KFwiICogQGV4YW1wbGVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0UHJlZml4KGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcHJlZml4TWF0Y2ggPSBoZWFkZXIuaW5kZXhPZihcIkBleGFtcGxlXCIpO1xuXG4gIGlmIChwcmVmaXhNYXRjaCA9PT0gLTEpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHJldHVybiBoZWFkZXIuc2xpY2UoMCwgcHJlZml4TWF0Y2gpO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGNvbnRlbnQgbGluZSBjb250YWlucyBub24tZW1wdHkgZXhhbXBsZSB0ZXh0LlxuICogQHBhcmFtIGxpbmUgTGluZSB0ZXh0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBsaW5lIGNvbnRhaW5zIGNvbnRlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBoYXNMaW5lQ29udGVudChcIiAqIGNvbnN0IHZhbHVlID0gMTtcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzTGluZUNvbnRlbnQobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBsaW5lLnJlcGxhY2UoL15cXHMqXFwqP1xccz8vdSwgXCJcIikudHJpbSgpO1xuICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPiAwO1xufVxuXG5leHBvcnQge1xuICBnZXRGZW5jZUxhbmd1YWdlLFxuICBnZXRJbmxpbmVDb250ZW50LFxuICBnZXRMaW5lTWV0YSxcbiAgZ2V0UHJlZml4LFxuICBoYXNMaW5lQ29udGVudCxcbn07XG4iXX0=
@@ -1,4 +1,4 @@
1
- import type { Example, Problem } from "./types";
1
+ import type { Example, Problem } from "./types.js";
2
2
  /**
3
3
  * Builds an Example from a regex match and raw comment value.
4
4
  * @param match Regex match from the example pattern.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA6KhD;;;;;;;;;GASG;AACH,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAqBT;AAED;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAoBjE;AAED;;;;;;;;;;GAUG;AACH,iBAAS,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,EAAE,CAQpD;AAED,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC"}