@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 @@
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"}
@@ -1,4 +1,4 @@
1
- import { noInterfaceMemberDocumentationRule } from "./rule";
1
+ import { noInterfaceMemberDocumentationRule } from "./rule.js";
2
2
  /**
3
3
  * Creates a SourceCode stub with the provided comments.
4
4
  * @param text Source text to attach.
@@ -154,4 +154,4 @@ const createInterfaceSample = () => {
154
154
  return { context, node, reports, sourceText };
155
155
  };
156
156
  export { buildSourceText, createComment, createContext, createFunctionNode, createInterfaceSample, createParameter, runFunctionListener, };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3Rlc3QtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFpRDVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsSUFBWSxFQUNaLFFBQW1CLEVBQ2EsRUFBRSxDQUNsQyxDQUFDO0lBQ0MsY0FBYyxFQUFFLEdBQWMsRUFBRSxDQUFDLFFBQVE7SUFDekMsSUFBSTtDQUNMLENBQW1DLENBQUM7QUFFdkM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixVQUEwQyxFQUMxQyxPQUFzQixFQUNKLEVBQUUsQ0FDcEIsQ0FBQztJQUNDLEVBQUUsRUFBRSwwQkFBMEI7SUFDOUIsT0FBTyxFQUFFLEVBQUU7SUFDWCxNQUFNLEVBQUUsQ0FBQyxVQUFpQyxFQUFRLEVBQUU7UUFDbEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFxQyxDQUFDO1FBQ2pFLE1BQU0sS0FBSyxHQUFnQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUU5QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxVQUFVO0NBQ1gsQ0FBZ0MsQ0FBQztBQUVwQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUNwQixVQUFrQixFQUNsQixRQUFtQixFQUNELEVBQUU7SUFDcEIsTUFBTSxPQUFPLEdBQWtCLEVBQUUsQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxZQUFvQixFQUFFLFVBQWtCLEVBQVcsRUFBRTtJQUMxRSxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUNmLElBQUksRUFBRSxPQUFPO1FBQ2IsS0FBSyxFQUFFLFlBQVk7S0FDVCxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUN6QixVQUFrQixFQUNsQixVQUFxQixFQUNWLEVBQUUsQ0FDYixDQUFDO0lBQ0MsTUFBTSxFQUFFLFVBQVU7SUFDbEIsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQzFELElBQUksRUFBRSxxQkFBcUI7Q0FDNUIsQ0FBYyxDQUFDO0FBRWxCOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFZLEVBQVcsRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsWUFBWTtJQUNsQixjQUFjLEVBQUU7UUFDZCxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUU7S0FDekI7Q0FDRixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsT0FBeUIsRUFDekIsSUFBZSxFQUNULEVBQUU7SUFDUixNQUFNLFNBQVMsR0FBRyxrQ0FBa0MsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLG1CQUVkLENBQUM7SUFFZCxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZUFBZSxHQUFHLENBQUMsWUFBb0IsRUFBVSxFQUFFLENBQ3ZEO0lBQ0UsS0FBSztJQUNMLFlBQVksQ0FBQyxPQUFPLEVBQUU7SUFDdEIsSUFBSTtJQUNKLHlEQUF5RDtDQUMxRCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUVmOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEdBQW9CLEVBQUU7SUFDbEQsTUFBTSxZQUFZLEdBQUc7UUFDbkIsR0FBRztRQUNILHNEQUFzRDtRQUN0RCx5Q0FBeUM7UUFDekMsd0RBQXdEO1FBQ3hELHVEQUF1RDtRQUN2RCx1REFBdUQ7UUFDdkQsZ0RBQWdEO1FBQ2hELEdBQUc7S0FDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNiLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEUsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxFQUFFO1FBQzFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQztLQUNuQyxDQUFDLENBQUM7SUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLG1CQUFtQixHQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlIH0gZnJvbSBcIi4vcnVsZVwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIENvbW1lbnQgPSBSZXR1cm5UeXBlPFxuICBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXVtcImdldEFsbENvbW1lbnRzXCJdXG4+W251bWJlcl07XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBJbnRlcmZhY2VTYW1wbGUge1xuICAvKiogQ29udGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKiogTm9kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbm9kZTogUnVsZS5Ob2RlO1xuXG4gIC8qKiBSZXBvcnRzIGZpZWxkIHZhbHVlLiAqL1xuICByZXBvcnRzOiBSZXBvcnRFbnRyeVtdO1xuXG4gIC8qKiBTb3VyY2VUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VUZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnREZXNjcmlwdG9yRGV0YWlscyB7XG4gIC8qKiBGaXggZmllbGQgdmFsdWUuICovXG4gIGZpeD86IG51bGwgfCBSdWxlLlJlcG9ydEZpeGVyIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBNZXNzYWdlSWQgZmllbGQgdmFsdWUuICovXG4gIG1lc3NhZ2VJZD86IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcG9ydEVudHJ5IHtcbiAgLyoqIEZpeCBoZWxwZXIgdmFsdWUuICovXG4gIGZpeD86IG51bGwgfCBSdWxlLlJlcG9ydEZpeGVyIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBNZXNzYWdlSWQgaGVscGVyIHZhbHVlLiAqL1xuICBtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJ1bGVDb250ZXh0U3RhdGUge1xuICAvKiogQ29udGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKiogUmVwb3J0cyBmaWVsZCB2YWx1ZS4gKi9cbiAgcmVwb3J0czogUmVwb3J0RW50cnlbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgU291cmNlQ29kZSBzdHViIHdpdGggdGhlIHByb3ZpZGVkIGNvbW1lbnRzLlxuICogQHBhcmFtIHRleHQgU291cmNlIHRleHQgdG8gYXR0YWNoLlxuICogQHBhcmFtIGNvbW1lbnRzIENvbW1lbnQgbm9kZXMgdG8gZXhwb3NlLlxuICogQHJldHVybnMgU291cmNlQ29kZSBzdHViIGZvciB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2VDb2RlID0gY3JlYXRlU291cmNlQ29kZShcIlwiLCBbXSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlU291cmNlQ29kZSA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBjb21tZW50czogQ29tbWVudFtdLFxuKTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl0gPT5cbiAgKHtcbiAgICBnZXRBbGxDb21tZW50czogKCk6IENvbW1lbnRbXSA9PiBjb21tZW50cyxcbiAgICB0ZXh0LFxuICB9KSBhcyBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXTtcblxuLyoqXG4gKiBCdWlsZHMgYSBydWxlIGNvbnRleHQgZm9yIGNvbGxlY3RpbmcgcmVwb3J0cy5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZUNvZGUgc3R1Yi5cbiAqIEBwYXJhbSByZXBvcnRzIFJlcG9ydCBzaW5rLlxuICogQHJldHVybnMgUnVsZSBjb250ZXh0IHRoYXQgcmVjb3JkcyByZXBvcnRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRleHQgPSBidWlsZFJ1bGVDb250ZXh0KHNvdXJjZUNvZGUsIHJlcG9ydHMpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkUnVsZUNvbnRleHQgPSAoXG4gIHNvdXJjZUNvZGU6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdLFxuICByZXBvcnRzOiBSZXBvcnRFbnRyeVtdLFxuKTogUnVsZS5SdWxlQ29udGV4dCA9PlxuICAoe1xuICAgIGlkOiBcIm5vLWludGVyZmFjZS1tZW1iZXItZG9jc1wiLFxuICAgIG9wdGlvbnM6IFtdLFxuICAgIHJlcG9ydDogKGRlc2NyaXB0b3I6IFJ1bGUuUmVwb3J0RGVzY3JpcHRvcik6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgeyBmaXgsIG1lc3NhZ2VJZCB9ID0gZGVzY3JpcHRvciBhcyBSZXBvcnREZXNjcmlwdG9yRGV0YWlscztcbiAgICAgIGNvbnN0IGVudHJ5OiBSZXBvcnRFbnRyeSA9IHsgZml4LCBtZXNzYWdlSWQgfTtcblxuICAgICAgcmVwb3J0cy5wdXNoKGVudHJ5KTtcbiAgICB9LFxuICAgIHNvdXJjZUNvZGUsXG4gIH0pIGFzIHVua25vd24gYXMgUnVsZS5SdWxlQ29udGV4dDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcnVsZSBjb250ZXh0IHN0YXRlIGZvciB0aGUgZ2l2ZW4gc291cmNlIHRleHQuXG4gKiBAcGFyYW0gc291cmNlVGV4dCBTb3VyY2UgdGV4dCB0byBhbmFseXplLlxuICogQHBhcmFtIGNvbW1lbnRzIENvbW1lbnQgbm9kZXMgZm9yIHRoZSBzb3VyY2UuXG4gKiBAcmV0dXJucyBDb250ZXh0IHN0YXRlIGZvciB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGF0ZSA9IGNyZWF0ZUNvbnRleHQoXCJcIiwgW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUNvbnRleHQgPSAoXG4gIHNvdXJjZVRleHQ6IHN0cmluZyxcbiAgY29tbWVudHM6IENvbW1lbnRbXSxcbik6IFJ1bGVDb250ZXh0U3RhdGUgPT4ge1xuICBjb25zdCByZXBvcnRzOiBSZXBvcnRFbnRyeVtdID0gW107XG4gIGNvbnN0IHNvdXJjZUNvZGUgPSBjcmVhdGVTb3VyY2VDb2RlKHNvdXJjZVRleHQsIGNvbW1lbnRzKTtcblxuICByZXR1cm4geyBjb250ZXh0OiBidWlsZFJ1bGVDb250ZXh0KHNvdXJjZUNvZGUsIHJlcG9ydHMpLCByZXBvcnRzIH07XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBKU0RvYyBibG9jayBjb21tZW50IGZvciB0aGUgZ2l2ZW4gc291cmNlIHRleHQuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIENvbW1lbnQgdmFsdWUgd2l0aG91dCBkZWxpbWl0ZXJzLlxuICogQHBhcmFtIHNvdXJjZVRleHQgU291cmNlIHRleHQgY29udGFpbmluZyB0aGUgY29tbWVudC5cbiAqIEByZXR1cm5zIENvbW1lbnQgbm9kZSBmb3IgdGhlIHNvdXJjZSB0ZXh0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbW1lbnQgPSBjcmVhdGVDb21tZW50KFwiKlxcbiAqIG9rXFxuIFwiLCBcImZ1bmN0aW9uIGRlbW8oKSB7fVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVDb21tZW50ID0gKGNvbW1lbnRWYWx1ZTogc3RyaW5nLCBzb3VyY2VUZXh0OiBzdHJpbmcpOiBDb21tZW50ID0+IHtcbiAgY29uc3QgZW5kID0gc291cmNlVGV4dC5pbmRleE9mKFwiKi9cIikgKyAyO1xuXG4gIHJldHVybiB7XG4gICAgcmFuZ2U6IFswLCBlbmRdLFxuICAgIHR5cGU6IFwiQmxvY2tcIixcbiAgICB2YWx1ZTogY29tbWVudFZhbHVlLFxuICB9IGFzIENvbW1lbnQ7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBub2RlIGZvciB0aGUgZ2l2ZW4gc291cmNlIHRleHQuXG4gKiBAcGFyYW0gc291cmNlVGV4dCBTb3VyY2UgdGV4dCBjb250YWluaW5nIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIFBhcmFtZXRlciBub2RlcyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgRnVuY3Rpb24gZGVjbGFyYXRpb24gbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBub2RlID0gY3JlYXRlRnVuY3Rpb25Ob2RlKFwiZnVuY3Rpb24gZGVtbygpIHt9XCIsIFtdKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVGdW5jdGlvbk5vZGUgPSAoXG4gIHNvdXJjZVRleHQ6IHN0cmluZyxcbiAgcGFyYW1ldGVyczogdW5rbm93bltdLFxuKTogUnVsZS5Ob2RlID0+XG4gICh7XG4gICAgcGFyYW1zOiBwYXJhbWV0ZXJzLFxuICAgIHJhbmdlOiBbc291cmNlVGV4dC5pbmRleE9mKFwiZnVuY3Rpb25cIiksIHNvdXJjZVRleHQubGVuZ3RoXSxcbiAgICB0eXBlOiBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIixcbiAgfSkgYXMgUnVsZS5Ob2RlO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBwYXJhbWV0ZXIgbm9kZSB3aXRoIGEgdHlwZSBhbm5vdGF0aW9uLlxuICogQHBhcmFtIHR5cGUgVHlwZSBhbm5vdGF0aW9uIGtpbmQgdG8gYXNzaWduLlxuICogQHJldHVybnMgUGFyYW1ldGVyIG5vZGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHBhcmFtID0gY3JlYXRlUGFyYW1ldGVyKFwiVFNUeXBlUmVmZXJlbmNlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVBhcmFtZXRlciA9ICh0eXBlOiBzdHJpbmcpOiB1bmtub3duID0+ICh7XG4gIG5hbWU6IFwiY29udGV4dFwiLFxuICB0eXBlOiBcIklkZW50aWZpZXJcIixcbiAgdHlwZUFubm90YXRpb246IHtcbiAgICB0eXBlQW5ub3RhdGlvbjogeyB0eXBlIH0sXG4gIH0sXG59KTtcblxuLyoqXG4gKiBSdW5zIHRoZSBydWxlIGxpc3RlbmVyIGZvciBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG5vZGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5vZGUgRnVuY3Rpb24gbm9kZSB0byBpbnNwZWN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJ1bkZ1bmN0aW9uTGlzdGVuZXIoY29udGV4dCwgbm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcnVuRnVuY3Rpb25MaXN0ZW5lciA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbm9kZTogUnVsZS5Ob2RlLFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUuY3JlYXRlKGNvbnRleHQpO1xuICBjb25zdCBsaXN0ZW5lciA9IGxpc3RlbmVycy5GdW5jdGlvbkRlY2xhcmF0aW9uIGFzXG4gICAgfCAoKG5vZGU6IFJ1bGUuTm9kZSkgPT4gdm9pZClcbiAgICB8IHVuZGVmaW5lZDtcblxuICBsaXN0ZW5lcj8uKG5vZGUpO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgc291cmNlIHRleHQgd2l0aCBhIGxlYWRpbmcgSlNEb2MgY29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgQ29tbWVudCB2YWx1ZSB1c2VkIGluIHRoZSBzb3VyY2UuXG4gKiBAcmV0dXJucyBTb3VyY2UgdGV4dCBjb250YWluaW5nIHRoZSBjb21tZW50IGFuZCBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gYnVpbGRTb3VyY2VUZXh0KFwiKlxcbiAqIG9rXFxuIFwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZFNvdXJjZVRleHQgPSAoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgW1xuICAgIFwiLyoqXCIsXG4gICAgY29tbWVudFZhbHVlLnRyaW1FbmQoKSxcbiAgICBcIiovXCIsXG4gICAgXCJmdW5jdGlvbiBnZXRMaW5lTWV0YShjb250ZXh0OiBMaW5lTWV0YUNvbnRleHQpOiB2b2lkIHt9XCIsXG4gIF0uam9pbihcIlxcblwiKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgc2FtcGxlIHRlc3QgZml4dHVyZSBmb3IgaW50ZXJmYWNlIG1lbWJlciBkb2NzLlxuICogQHJldHVybnMgU2FtcGxlIGNvbnRleHQsIG5vZGUsIGFuZCByZXBvcnRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNhbXBsZSA9IGNyZWF0ZUludGVyZmFjZVNhbXBsZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUludGVyZmFjZVNhbXBsZSA9ICgpOiBJbnRlcmZhY2VTYW1wbGUgPT4ge1xuICBjb25zdCBjb21tZW50VmFsdWUgPSBbXG4gICAgXCIqXCIsXG4gICAgXCIgKiBDb21wdXRlIGxpbmUgbWV0YWRhdGEgZnJvbSB0aGUgcmF3IGNvbW1lbnQgdmFsdWUuXCIsXG4gICAgXCIgKiBAcGFyYW0gY29udGV4dCBUaGUgbWV0YWRhdGEgY29udGV4dC5cIixcbiAgICBcIiAqIEBwYXJhbSBjb250ZXh0LmNvbW1lbnRWYWx1ZSBUaGUgZnVsbCBjb21tZW50IHZhbHVlLlwiLFxuICAgIFwiICogQHBhcmFtIGNvbnRleHQuZnVsbCBUaGUgZnVsbCBtYXRjaGVkIGV4YW1wbGUgdGV4dC5cIixcbiAgICBcIiAqIEBwYXJhbSBjb250ZXh0LnN0YXJ0T2Zmc2V0IFRoZSBtYXRjaCBzdGFydCBvZmZzZXQuXCIsXG4gICAgXCIgKiBAcmV0dXJucyBUaGUgbGluZSBtZXRhZGF0YSBmb3IgdGhlIGV4YW1wbGUuXCIsXG4gICAgXCIgXCIsXG4gIF0uam9pbihcIlxcblwiKTtcbiAgY29uc3Qgc291cmNlVGV4dCA9IGJ1aWxkU291cmNlVGV4dChjb21tZW50VmFsdWUpO1xuICBjb25zdCBjb21tZW50ID0gY3JlYXRlQ29tbWVudChjb21tZW50VmFsdWUsIHNvdXJjZVRleHQpO1xuICBjb25zdCB7IGNvbnRleHQsIHJlcG9ydHMgfSA9IGNyZWF0ZUNvbnRleHQoc291cmNlVGV4dCwgW2NvbW1lbnRdKTtcbiAgY29uc3Qgbm9kZSA9IGNyZWF0ZUZ1bmN0aW9uTm9kZShzb3VyY2VUZXh0LCBbXG4gICAgY3JlYXRlUGFyYW1ldGVyKFwiVFNUeXBlUmVmZXJlbmNlXCIpLFxuICBdKTtcblxuICByZXR1cm4geyBjb250ZXh0LCBub2RlLCByZXBvcnRzLCBzb3VyY2VUZXh0IH07XG59O1xuXG5leHBvcnQge1xuICBidWlsZFNvdXJjZVRleHQsXG4gIGNyZWF0ZUNvbW1lbnQsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIGNyZWF0ZUZ1bmN0aW9uTm9kZSxcbiAgY3JlYXRlSW50ZXJmYWNlU2FtcGxlLFxuICBjcmVhdGVQYXJhbWV0ZXIsXG4gIHJ1bkZ1bmN0aW9uTGlzdGVuZXIsXG59O1xuZXhwb3J0IHR5cGUgeyBDb21tZW50IH07XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL25vLWludGVyZmFjZS1tZW1iZXItZG9jcy90ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBaUQ1RDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLElBQVksRUFDWixRQUFtQixFQUNhLEVBQUUsQ0FDbEMsQ0FBQztJQUNDLGNBQWMsRUFBRSxHQUFjLEVBQUUsQ0FBQyxRQUFRO0lBQ3pDLElBQUk7Q0FDTCxDQUFtQyxDQUFDO0FBRXZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsVUFBMEMsRUFDMUMsT0FBc0IsRUFDSixFQUFFLENBQ3BCLENBQUM7SUFDQyxFQUFFLEVBQUUsMEJBQTBCO0lBQzlCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLENBQUMsVUFBaUMsRUFBUSxFQUFFO1FBQ2xELE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBcUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBZ0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFFOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ0QsVUFBVTtDQUNYLENBQWdDLENBQUM7QUFFcEM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsVUFBa0IsRUFDbEIsUUFBbUIsRUFDRCxFQUFFO0lBQ3BCLE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUM7SUFDbEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTFELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsVUFB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dCB7IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUgfSBmcm9tIFwiLi9ydWxlXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEludGVyZmFjZVNhbXBsZSB7XG4gIC8qKiBDb250ZXh0IGZpZWxkIHZhbHVlLiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBOb2RlIGZpZWxkIHZhbHVlLiAqL1xuICBub2RlOiBSdWxlLk5vZGU7XG5cbiAgLyoqIFJlcG9ydHMgZmllbGQgdmFsdWUuICovXG4gIHJlcG9ydHM6IFJlcG9ydEVudHJ5W107XG5cbiAgLyoqIFNvdXJjZVRleHQgZmllbGQgdmFsdWUuICovXG4gIHNvdXJjZVRleHQ6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcG9ydERlc2NyaXB0b3JEZXRhaWxzIHtcbiAgLyoqIEZpeCBmaWVsZCB2YWx1ZS4gKi9cbiAgZml4PzogbnVsbCB8IFJ1bGUuUmVwb3J0Rml4ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIE1lc3NhZ2VJZCBmaWVsZCB2YWx1ZS4gKi9cbiAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUmVwb3J0RW50cnkge1xuICAvKiogRml4IGhlbHBlciB2YWx1ZS4gKi9cbiAgZml4PzogbnVsbCB8IFJ1bGUuUmVwb3J0Rml4ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIE1lc3NhZ2VJZCBoZWxwZXIgdmFsdWUuICovXG4gIG1lc3NhZ2VJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUnVsZUNvbnRleHRTdGF0ZSB7XG4gIC8qKiBDb250ZXh0IGZpZWxkIHZhbHVlLiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBSZXBvcnRzIGZpZWxkIHZhbHVlLiAqL1xuICByZXBvcnRzOiBSZXBvcnRFbnRyeVtdO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBTb3VyY2VDb2RlIHN0dWIgd2l0aCB0aGUgcHJvdmlkZWQgY29tbWVudHMuXG4gKiBAcGFyYW0gdGV4dCBTb3VyY2UgdGV4dCB0byBhdHRhY2guXG4gKiBAcGFyYW0gY29tbWVudHMgQ29tbWVudCBub2RlcyB0byBleHBvc2UuXG4gKiBAcmV0dXJucyBTb3VyY2VDb2RlIHN0dWIgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNvdXJjZUNvZGUgPSBjcmVhdGVTb3VyY2VDb2RlKFwiXCIsIFtdKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVTb3VyY2VDb2RlID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGNvbW1lbnRzOiBDb21tZW50W10sXG4pOiBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXSA9PlxuICAoe1xuICAgIGdldEFsbENvbW1lbnRzOiAoKTogQ29tbWVudFtdID0+IGNvbW1lbnRzLFxuICAgIHRleHQsXG4gIH0pIGFzIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdO1xuXG4vKipcbiAqIEJ1aWxkcyBhIHJ1bGUgY29udGV4dCBmb3IgY29sbGVjdGluZyByZXBvcnRzLlxuICogQHBhcmFtIHNvdXJjZUNvZGUgU291cmNlQ29kZSBzdHViLlxuICogQHBhcmFtIHJlcG9ydHMgUmVwb3J0IHNpbmsuXG4gKiBAcmV0dXJucyBSdWxlIGNvbnRleHQgdGhhdCByZWNvcmRzIHJlcG9ydHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGV4dCA9IGJ1aWxkUnVsZUNvbnRleHQoc291cmNlQ29kZSwgcmVwb3J0cyk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYnVpbGRSdWxlQ29udGV4dCA9IChcbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl0sXG4gIHJlcG9ydHM6IFJlcG9ydEVudHJ5W10sXG4pOiBSdWxlLlJ1bGVDb250ZXh0ID0+XG4gICh7XG4gICAgaWQ6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gICAgb3B0aW9uczogW10sXG4gICAgcmVwb3J0OiAoZGVzY3JpcHRvcjogUnVsZS5SZXBvcnREZXNjcmlwdG9yKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCB7IGZpeCwgbWVzc2FnZUlkIH0gPSBkZXNjcmlwdG9yIGFzIFJlcG9ydERlc2NyaXB0b3JEZXRhaWxzO1xuICAgICAgY29uc3QgZW50cnk6IFJlcG9ydEVudHJ5ID0geyBmaXgsIG1lc3NhZ2VJZCB9O1xuXG4gICAgICByZXBvcnRzLnB1c2goZW50cnkpO1xuICAgIH0sXG4gICAgc291cmNlQ29kZSxcbiAgfSkgYXMgdW5rbm93biBhcyBSdWxlLlJ1bGVDb250ZXh0O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBydWxlIGNvbnRleHQgc3RhdGUgZm9yIHRoZSBnaXZlbiBzb3VyY2UgdGV4dC5cbiAqIEBwYXJhbSBzb3VyY2VUZXh0IFNvdXJjZSB0ZXh0IHRvIGFuYWx5emUuXG4gKiBAcGFyYW0gY29tbWVudHMgQ29tbWVudCBub2RlcyBmb3IgdGhlIHNvdXJjZS5cbiAqIEByZXR1cm5zIENvbnRleHQgc3RhdGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YXRlID0gY3JlYXRlQ29udGV4dChcIlwiLCBbXSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlQ29udGV4dCA9IChcbiAgc291cmNlVGV4dDogc3RyaW5nLFxuICBjb21tZW50czogQ29tbWVudFtdLFxuKTogUnVsZUNvbnRleHRTdGF0ZSA9PiB7XG4gIGNvbnN0IHJlcG9ydHM6IFJlcG9ydEVudHJ5W10gPSBbXTtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNyZWF0ZVNvdXJjZUNvZGUoc291cmNlVGV4dCwgY29tbWVudHMpO1xuXG4gIHJldHVybiB7IGNvbnRleHQ6IGJ1aWxkUnVsZUNvbnRleHQoc291cmNlQ29kZSwgcmVwb3J0cyksIHJlcG9ydHMgfTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIEpTRG9jIGJsb2NrIGNvbW1lbnQgZm9yIHRoZSBnaXZlbiBzb3VyY2UgdGV4dC5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgQ29tbWVudCB2YWx1ZSB3aXRob3V0IGRlbGltaXRlcnMuXG4gKiBAcGFyYW0gc291cmNlVGV4dCBTb3VyY2UgdGV4dCBjb250YWluaW5nIHRoZSBjb21tZW50LlxuICogQHJldHVybnMgQ29tbWVudCBub2RlIGZvciB0aGUgc291cmNlIHRleHQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29tbWVudCA9IGNyZWF0ZUNvbW1lbnQoXCIqXFxuICogb2tcXG4gXCIsIFwiZnVuY3Rpb24gZGVtbygpIHt9XCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUNvbW1lbnQgPSAoY29tbWVudFZhbHVlOiBzdHJpbmcsIHNvdXJjZVRleHQ6IHN0cmluZyk6IENvbW1lbnQgPT4ge1xuICBjb25zdCBlbmQgPSBzb3VyY2VUZXh0LmluZGV4T2YoXCIqL1wiKSArIDI7XG5cbiAgcmV0dXJuIHtcbiAgICByYW5nZTogWzAsIGVuZF0sXG4gICAgdHlwZTogXCJCbG9ja1wiLFxuICAgIHZhbHVlOiBjb21tZW50VmFsdWUsXG4gIH07XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBub2RlIGZvciB0aGUgZ2l2ZW4gc291cmNlIHRleHQuXG4gKiBAcGFyYW0gc291cmNlVGV4dCBTb3VyY2UgdGV4dCBjb250YWluaW5nIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJzIFBhcmFtZXRlciBub2RlcyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgRnVuY3Rpb24gZGVjbGFyYXRpb24gbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBub2RlID0gY3JlYXRlRnVuY3Rpb25Ob2RlKFwiZnVuY3Rpb24gZGVtbygpIHt9XCIsIFtdKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVGdW5jdGlvbk5vZGUgPSAoXG4gIHNvdXJjZVRleHQ6IHN0cmluZyxcbiAgcGFyYW1ldGVyczogdW5rbm93bltdLFxuKTogUnVsZS5Ob2RlID0+XG4gICh7XG4gICAgcGFyYW1zOiBwYXJhbWV0ZXJzLFxuICAgIHJhbmdlOiBbc291cmNlVGV4dC5pbmRleE9mKFwiZnVuY3Rpb25cIiksIHNvdXJjZVRleHQubGVuZ3RoXSxcbiAgICB0eXBlOiBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIixcbiAgfSkgYXMgUnVsZS5Ob2RlO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBwYXJhbWV0ZXIgbm9kZSB3aXRoIGEgdHlwZSBhbm5vdGF0aW9uLlxuICogQHBhcmFtIHR5cGUgVHlwZSBhbm5vdGF0aW9uIGtpbmQgdG8gYXNzaWduLlxuICogQHJldHVybnMgUGFyYW1ldGVyIG5vZGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHBhcmFtID0gY3JlYXRlUGFyYW1ldGVyKFwiVFNUeXBlUmVmZXJlbmNlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVBhcmFtZXRlciA9ICh0eXBlOiBzdHJpbmcpOiB1bmtub3duID0+ICh7XG4gIG5hbWU6IFwiY29udGV4dFwiLFxuICB0eXBlOiBcIklkZW50aWZpZXJcIixcbiAgdHlwZUFubm90YXRpb246IHtcbiAgICB0eXBlQW5ub3RhdGlvbjogeyB0eXBlIH0sXG4gIH0sXG59KTtcblxuLyoqXG4gKiBSdW5zIHRoZSBydWxlIGxpc3RlbmVyIGZvciBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG5vZGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5vZGUgRnVuY3Rpb24gbm9kZSB0byBpbnNwZWN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJ1bkZ1bmN0aW9uTGlzdGVuZXIoY29udGV4dCwgbm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcnVuRnVuY3Rpb25MaXN0ZW5lciA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbm9kZTogUnVsZS5Ob2RlLFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IGxpc3RlbmVycyA9IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUuY3JlYXRlKGNvbnRleHQpO1xuICBjb25zdCBsaXN0ZW5lciA9IGxpc3RlbmVycy5GdW5jdGlvbkRlY2xhcmF0aW9uIGFzXG4gICAgfCAoKG5vZGU6IFJ1bGUuTm9kZSkgPT4gdm9pZClcbiAgICB8IHVuZGVmaW5lZDtcblxuICBsaXN0ZW5lcj8uKG5vZGUpO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgc291cmNlIHRleHQgd2l0aCBhIGxlYWRpbmcgSlNEb2MgY29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgQ29tbWVudCB2YWx1ZSB1c2VkIGluIHRoZSBzb3VyY2UuXG4gKiBAcmV0dXJucyBTb3VyY2UgdGV4dCBjb250YWluaW5nIHRoZSBjb21tZW50IGFuZCBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXh0ID0gYnVpbGRTb3VyY2VUZXh0KFwiKlxcbiAqIG9rXFxuIFwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZFNvdXJjZVRleHQgPSAoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgW1xuICAgIFwiLyoqXCIsXG4gICAgY29tbWVudFZhbHVlLnRyaW1FbmQoKSxcbiAgICBcIiovXCIsXG4gICAgXCJmdW5jdGlvbiBnZXRMaW5lTWV0YShjb250ZXh0OiBMaW5lTWV0YUNvbnRleHQpOiB2b2lkIHt9XCIsXG4gIF0uam9pbihcIlxcblwiKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgc2FtcGxlIHRlc3QgZml4dHVyZSBmb3IgaW50ZXJmYWNlIG1lbWJlciBkb2NzLlxuICogQHJldHVybnMgU2FtcGxlIGNvbnRleHQsIG5vZGUsIGFuZCByZXBvcnRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNhbXBsZSA9IGNyZWF0ZUludGVyZmFjZVNhbXBsZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUludGVyZmFjZVNhbXBsZSA9ICgpOiBJbnRlcmZhY2VTYW1wbGUgPT4ge1xuICBjb25zdCBjb21tZW50VmFsdWUgPSBbXG4gICAgXCIqXCIsXG4gICAgXCIgKiBDb21wdXRlIGxpbmUgbWV0YWRhdGEgZnJvbSB0aGUgcmF3IGNvbW1lbnQgdmFsdWUuXCIsXG4gICAgXCIgKiBAcGFyYW0gY29udGV4dCBUaGUgbWV0YWRhdGEgY29udGV4dC5cIixcbiAgICBcIiAqIEBwYXJhbSBjb250ZXh0LmNvbW1lbnRWYWx1ZSBUaGUgZnVsbCBjb21tZW50IHZhbHVlLlwiLFxuICAgIFwiICogQHBhcmFtIGNvbnRleHQuZnVsbCBUaGUgZnVsbCBtYXRjaGVkIGV4YW1wbGUgdGV4dC5cIixcbiAgICBcIiAqIEBwYXJhbSBjb250ZXh0LnN0YXJ0T2Zmc2V0IFRoZSBtYXRjaCBzdGFydCBvZmZzZXQuXCIsXG4gICAgXCIgKiBAcmV0dXJucyBUaGUgbGluZSBtZXRhZGF0YSBmb3IgdGhlIGV4YW1wbGUuXCIsXG4gICAgXCIgXCIsXG4gIF0uam9pbihcIlxcblwiKTtcbiAgY29uc3Qgc291cmNlVGV4dCA9IGJ1aWxkU291cmNlVGV4dChjb21tZW50VmFsdWUpO1xuICBjb25zdCBjb21tZW50ID0gY3JlYXRlQ29tbWVudChjb21tZW50VmFsdWUsIHNvdXJjZVRleHQpO1xuICBjb25zdCB7IGNvbnRleHQsIHJlcG9ydHMgfSA9IGNyZWF0ZUNvbnRleHQoc291cmNlVGV4dCwgW2NvbW1lbnRdKTtcbiAgY29uc3Qgbm9kZSA9IGNyZWF0ZUZ1bmN0aW9uTm9kZShzb3VyY2VUZXh0LCBbXG4gICAgY3JlYXRlUGFyYW1ldGVyKFwiVFNUeXBlUmVmZXJlbmNlXCIpLFxuICBdKTtcblxuICByZXR1cm4geyBjb250ZXh0LCBub2RlLCByZXBvcnRzLCBzb3VyY2VUZXh0IH07XG59O1xuXG5leHBvcnQge1xuICBidWlsZFNvdXJjZVRleHQsXG4gIGNyZWF0ZUNvbW1lbnQsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIGNyZWF0ZUZ1bmN0aW9uTm9kZSxcbiAgY3JlYXRlSW50ZXJmYWNlU2FtcGxlLFxuICBjcmVhdGVQYXJhbWV0ZXIsXG4gIHJ1bkZ1bmN0aW9uTGlzdGVuZXIsXG59O1xuZXhwb3J0IHR5cGUgeyBDb21tZW50IH07XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZpeGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3JlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZS9jcmVhdGUtZml4ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0QyxzREFBc0Q7QUFDdEQsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGaXhlciB9IGZyb20gXCIuL2ZpeGVzXCI7XHJcblxyXG4vKiogQ29tcGFuaW9uIG1vZHVsZSBmb3IgY3JlYXRlRml4ZXItZm9jdXNlZCB0ZXN0cy4gKi9cclxuY29uc3QgY3JlYXRlRml4ZXJDb21wYW5pb24gPSBjcmVhdGVGaXhlcjtcclxuXHJcbmV4cG9ydCB7IGNyZWF0ZUZpeGVyQ29tcGFuaW9uIH07XHJcbiJdfQ==
@@ -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"}
@@ -0,0 +1,181 @@
1
+ import { getFenceLanguage, getInlineContent, getLineMeta, getPrefix, hasLineContent, } from "./example-utilities.js";
2
+ /** Captures `@example` headers and bodies for analysis. */
3
+ const examplePattern = /^(?<header>\s*\*?\s*@example\b[^\n]*)(?<body>[\s\S]*?)(?=^\s*\*?\s*@\w+|(?![\s\S]))/gmu;
4
+ /**
5
+ * Updates fence state based on the detected language.
6
+ * @param state Current fence tracking state.
7
+ * @param language Fence language string.
8
+ * @returns Updated fence tracking state.
9
+ * @example
10
+ * ```typescript
11
+ * const next = updateFenceState(state, "typescript");
12
+ * ```
13
+ */
14
+ const updateFenceState = (state, language) => {
15
+ if (!state.inFence) {
16
+ if (language.length === 0) {
17
+ return { ...state, missingLanguage: true, sawFence: true };
18
+ }
19
+ return {
20
+ ...state,
21
+ currentFenceHasContent: false,
22
+ inFence: true,
23
+ missingLanguage: false,
24
+ sawFence: true,
25
+ };
26
+ }
27
+ return {
28
+ ...state,
29
+ currentFenceHasContent: false,
30
+ hasEmptyFence: state.hasEmptyFence || !state.currentFenceHasContent,
31
+ inFence: false,
32
+ missingLanguage: false,
33
+ sawFence: true,
34
+ };
35
+ };
36
+ /**
37
+ * Updates fence tracking for a single example line.
38
+ * @param state Current fence tracking state.
39
+ * @param line Example line to inspect.
40
+ * @returns Updated fence tracking state.
41
+ * @example
42
+ * ```typescript
43
+ * const next = updateFenceStateForLine(state, " * ok");
44
+ * ```
45
+ */
46
+ const updateFenceStateForLine = (state, line) => {
47
+ const language = getFenceLanguage(line);
48
+ if (language !== void 0) {
49
+ return updateFenceState(state, language);
50
+ }
51
+ if (state.inFence && hasLineContent(line)) {
52
+ return { ...state, currentFenceHasContent: true };
53
+ }
54
+ return state;
55
+ };
56
+ /**
57
+ * Analyzes fenced code blocks for missing language identifiers.
58
+ * @param content Example content to analyze.
59
+ * @returns Fence analysis results.
60
+ * @example
61
+ * ```typescript
62
+ * const analysis = analyzeFenceContent("```typescript\nconst value = 1;\n```");
63
+ * ```
64
+ */
65
+ function analyzeFenceContent(content) {
66
+ const lines = content.split(/\r?\n/u);
67
+ let state = {
68
+ currentFenceHasContent: false,
69
+ hasEmptyFence: false,
70
+ inFence: false,
71
+ missingLanguage: false,
72
+ sawFence: false,
73
+ };
74
+ for (const line of lines) {
75
+ state = updateFenceStateForLine(state, line);
76
+ if (state.missingLanguage) {
77
+ break;
78
+ }
79
+ }
80
+ if (state.inFence && !state.currentFenceHasContent) {
81
+ state = { ...state, hasEmptyFence: true };
82
+ }
83
+ return {
84
+ hasEmptyFence: state.hasEmptyFence,
85
+ missingLanguage: state.missingLanguage,
86
+ sawFence: state.sawFence,
87
+ };
88
+ }
89
+ /**
90
+ * Builds example content from an inline header and body lines.
91
+ * @param context Example header and body lines.
92
+ * @returns Combined example content.
93
+ * @example
94
+ * ```typescript
95
+ * const content = buildExampleContent({ body: "* ok", header: "* @example" });
96
+ * ```
97
+ */
98
+ function buildExampleContent(context) {
99
+ const { body, header } = context;
100
+ const inlineContent = getInlineContent(header);
101
+ if (inlineContent.length > 0) {
102
+ return `${inlineContent}\n${body}`;
103
+ }
104
+ return body;
105
+ }
106
+ /**
107
+ * Builds an Example from a regex match and raw comment value.
108
+ * @param match Regex match from the example pattern.
109
+ * @param commentValue Raw comment value.
110
+ * @returns Example metadata extracted from the match.
111
+ * @example
112
+ * ```typescript
113
+ * const example = buildExampleFromMatch(match, commentValue);
114
+ * ```
115
+ */
116
+ function buildExampleFromMatch(match, commentValue) {
117
+ const [full] = match;
118
+ const header = match.groups?.["header"] ?? "";
119
+ const body = match.groups?.["body"] ?? "";
120
+ const startOffset = match.index ?? 0;
121
+ const content = buildExampleContent({ body, header });
122
+ const prefix = getPrefix(header);
123
+ const { endIndex, endOffset, lineIndex } = getLineMeta({
124
+ commentValue,
125
+ full,
126
+ startOffset,
127
+ });
128
+ return {
129
+ content: content.trim(),
130
+ endIndex,
131
+ endOffset,
132
+ lineIndex,
133
+ prefix,
134
+ startOffset,
135
+ };
136
+ }
137
+ /**
138
+ * Checks example content for required fences and language.
139
+ * @param content Example content to inspect.
140
+ * @returns Problem identifier when the content is invalid.
141
+ * @example
142
+ * ```typescript
143
+ * const problem = checkExampleContent("```typescript\nconst ok = true;\n```");
144
+ * ```
145
+ */
146
+ function checkExampleContent(content) {
147
+ if (content.trim().length === 0) {
148
+ return "emptyExample";
149
+ }
150
+ const { hasEmptyFence, missingLanguage, sawFence } = analyzeFenceContent(content);
151
+ if (missingLanguage) {
152
+ return "missingLanguage";
153
+ }
154
+ if (sawFence && hasEmptyFence) {
155
+ return "emptyExample";
156
+ }
157
+ if (!sawFence) {
158
+ return "missingFence";
159
+ }
160
+ return void 0;
161
+ }
162
+ /**
163
+ * Extracts all `@example` entries from a JSDoc comment value.
164
+ * Uses a multiline regex to capture the header and following lines
165
+ * until the next JSDoc tag or the end of the comment.
166
+ * @param commentValue Raw comment value.
167
+ * @returns Extracted examples.
168
+ * @example
169
+ * ```typescript
170
+ * const examples = getExamples("* @example\n* ```typescript\n* ok\n* ```");
171
+ * ```
172
+ */
173
+ function getExamples(commentValue) {
174
+ const examples = [];
175
+ for (const match of commentValue.matchAll(examplePattern)) {
176
+ examples.push(buildExampleFromMatch(match, commentValue));
177
+ }
178
+ return examples;
179
+ }
180
+ export { buildExampleFromMatch, checkExampleContent, getExamples };
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsMkRBQTJEO0FBQzNELE1BQU0sY0FBYyxHQUNsQix3RkFBd0YsQ0FBQztBQW9CM0Y7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsUUFBZ0IsRUFBYyxFQUFFO0lBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM3RCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLHNCQUFzQixFQUFFLEtBQUs7WUFDN0IsT0FBTyxFQUFFLElBQUk7WUFDYixlQUFlLEVBQUUsS0FBSztZQUN0QixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLHNCQUFzQixFQUFFLEtBQUs7UUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCO1FBQ25FLE9BQU8sRUFBRSxLQUFLO1FBQ2QsZUFBZSxFQUFFLEtBQUs7UUFDdEIsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxDQUM5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IFwiLi90eXBlc1wiO1xuXG5pbXBvcnQge1xuICBnZXRGZW5jZUxhbmd1YWdlLFxuICBnZXRJbmxpbmVDb250ZW50LFxuICBnZXRMaW5lTWV0YSxcbiAgZ2V0UHJlZml4LFxuICBoYXNMaW5lQ29udGVudCxcbn0gZnJvbSBcIi4vZXhhbXBsZS11dGlsaXRpZXNcIjtcblxuLyoqIENhcHR1cmVzIGBAZXhhbXBsZWAgaGVhZGVycyBhbmQgYm9kaWVzIGZvciBhbmFseXNpcy4gKi9cbmNvbnN0IGV4YW1wbGVQYXR0ZXJuID1cbiAgL14oPzxoZWFkZXI+XFxzKlxcKj9cXHMqQGV4YW1wbGVcXGJbXlxcbl0qKSg/PGJvZHk+W1xcc1xcU10qPykoPz1eXFxzKlxcKj9cXHMqQFxcdyt8KD8hW1xcc1xcU10pKS9nbXU7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZVN0YXRlIHtcbiAgLyoqIEN1cnJlbnRGZW5jZUhhc0NvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIEhhc0VtcHR5RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGhhc0VtcHR5RmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIEluRmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGluRmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIE1pc3NpbmdMYW5ndWFnZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbWlzc2luZ0xhbmd1YWdlOiBib29sZWFuO1xuXG4gIC8qKiBTYXdGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc2F3RmVuY2U6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXBkYXRlcyBmZW5jZSBzdGF0ZSBiYXNlZCBvbiB0aGUgZGV0ZWN0ZWQgbGFuZ3VhZ2UuXG4gKiBAcGFyYW0gc3RhdGUgQ3VycmVudCBmZW5jZSB0cmFja2luZyBzdGF0ZS5cbiAqIEBwYXJhbSBsYW5ndWFnZSBGZW5jZSBsYW5ndWFnZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBcInR5cGVzY3JpcHRcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlRmVuY2VTdGF0ZSA9IChzdGF0ZTogRmVuY2VTdGF0ZSwgbGFuZ3VhZ2U6IHN0cmluZyk6IEZlbmNlU3RhdGUgPT4ge1xuICBpZiAoIXN0YXRlLmluRmVuY2UpIHtcbiAgICBpZiAobGFuZ3VhZ2UubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSwgbWlzc2luZ0xhbmd1YWdlOiB0cnVlLCBzYXdGZW5jZTogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgaW5GZW5jZTogdHJ1ZSxcbiAgICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgICBzYXdGZW5jZTogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50RmVuY2VIYXNDb250ZW50OiBmYWxzZSxcbiAgICBoYXNFbXB0eUZlbmNlOiBzdGF0ZS5oYXNFbXB0eUZlbmNlIHx8ICFzdGF0ZS5jdXJyZW50RmVuY2VIYXNDb250ZW50LFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgc2F3RmVuY2U6IHRydWUsXG4gIH07XG59O1xuXG4vKipcbiAqIFVwZGF0ZXMgZmVuY2UgdHJhY2tpbmcgZm9yIGEgc2luZ2xlIGV4YW1wbGUgbGluZS5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQHBhcmFtIGxpbmUgRXhhbXBsZSBsaW5lIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZShzdGF0ZSwgXCIgKiBva1wiKTtcbiAqIGBgYFxuICovXG5jb25zdCB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZSA9IChcbiAgc3RhdGU6IEZlbmNlU3RhdGUsXG4gIGxpbmU6IHN0cmluZyxcbik6IEZlbmNlU3RhdGUgPT4ge1xuICBjb25zdCBsYW5ndWFnZSA9IGdldEZlbmNlTGFuZ3VhZ2UobGluZSk7XG5cbiAgaWYgKGxhbmd1YWdlICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdXBkYXRlRmVuY2VTdGF0ZShzdGF0ZSwgbGFuZ3VhZ2UpO1xuICB9XG5cbiAgaWYgKHN0YXRlLmluRmVuY2UgJiYgaGFzTGluZUNvbnRlbnQobGluZSkpIHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgY3VycmVudEZlbmNlSGFzQ29udGVudDogdHJ1ZSB9O1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGVDb250ZW50Q29udGV4dCB7XG4gIC8qKiBCb2R5IGZpZWxkIHZhbHVlLiAqL1xuICBib2R5OiBzdHJpbmc7XG5cbiAgLyoqIEhlYWRlciBmaWVsZCB2YWx1ZS4gKi9cbiAgaGVhZGVyOiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZUFuYWx5c2lzIHtcbiAgLyoqIEhhc0VtcHR5RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGhhc0VtcHR5RmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIE1pc3NpbmdMYW5ndWFnZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbWlzc2luZ0xhbmd1YWdlOiBib29sZWFuO1xuXG4gIC8qKiBTYXdGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc2F3RmVuY2U6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW5hbHl6ZXMgZmVuY2VkIGNvZGUgYmxvY2tzIGZvciBtaXNzaW5nIGxhbmd1YWdlIGlkZW50aWZpZXJzLlxuICogQHBhcmFtIGNvbnRlbnQgRXhhbXBsZSBjb250ZW50IHRvIGFuYWx5emUuXG4gKiBAcmV0dXJucyBGZW5jZSBhbmFseXNpcyByZXN1bHRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZUZlbmNlQ29udGVudChcImBgYHR5cGVzY3JpcHRcXG5jb25zdCB2YWx1ZSA9IDE7XFxuYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFuYWx5emVGZW5jZUNvbnRlbnQoY29udGVudDogc3RyaW5nKTogRmVuY2VBbmFseXNpcyB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgbGV0IHN0YXRlOiBGZW5jZVN0YXRlID0ge1xuICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc0VtcHR5RmVuY2U6IGZhbHNlLFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgc2F3RmVuY2U6IGZhbHNlLFxuICB9O1xuXG4gIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgIHN0YXRlID0gdXBkYXRlRmVuY2VTdGF0ZUZvckxpbmUoc3RhdGUsIGxpbmUpO1xuXG4gICAgaWYgKHN0YXRlLm1pc3NpbmdMYW5ndWFnZSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLmluRmVuY2UgJiYgIXN0YXRlLmN1cnJlbnRGZW5jZUhhc0NvbnRlbnQpIHtcbiAgICBzdGF0ZSA9IHsgLi4uc3RhdGUsIGhhc0VtcHR5RmVuY2U6IHRydWUgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFzRW1wdHlGZW5jZTogc3RhdGUuaGFzRW1wdHlGZW5jZSxcbiAgICBtaXNzaW5nTGFuZ3VhZ2U6IHN0YXRlLm1pc3NpbmdMYW5ndWFnZSxcbiAgICBzYXdGZW5jZTogc3RhdGUuc2F3RmVuY2UsXG4gIH07XG59XG5cbi8qKlxuICogQnVpbGRzIGV4YW1wbGUgY29udGVudCBmcm9tIGFuIGlubGluZSBoZWFkZXIgYW5kIGJvZHkgbGluZXMuXG4gKiBAcGFyYW0gY29udGV4dCBFeGFtcGxlIGhlYWRlciBhbmQgYm9keSBsaW5lcy5cbiAqIEByZXR1cm5zIENvbWJpbmVkIGV4YW1wbGUgY29udGVudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZW50ID0gYnVpbGRFeGFtcGxlQ29udGVudCh7IGJvZHk6IFwiKiBva1wiLCBoZWFkZXI6IFwiKiBAZXhhbXBsZVwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkRXhhbXBsZUNvbnRlbnQoY29udGV4dDogRXhhbXBsZUNvbnRlbnRDb250ZXh0KTogc3RyaW5nIHtcbiAgY29uc3QgeyBib2R5LCBoZWFkZXIgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGlubGluZUNvbnRlbnQgPSBnZXRJbmxpbmVDb250ZW50KGhlYWRlcik7XG5cbiAgaWYgKGlubGluZUNvbnRlbnQubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBgJHtpbmxpbmVDb250ZW50fVxcbiR7Ym9keX1gO1xuICB9XG5cbiAgcmV0dXJuIGJvZHk7XG59XG5cbi8qKlxuICogQnVpbGRzIGFuIEV4YW1wbGUgZnJvbSBhIHJlZ2V4IG1hdGNoIGFuZCByYXcgY29tbWVudCB2YWx1ZS5cbiAqIEBwYXJhbSBtYXRjaCBSZWdleCBtYXRjaCBmcm9tIHRoZSBleGFtcGxlIHBhdHRlcm4uXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIFJhdyBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgRXhhbXBsZSBtZXRhZGF0YSBleHRyYWN0ZWQgZnJvbSB0aGUgbWF0Y2guXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhhbXBsZSA9IGJ1aWxkRXhhbXBsZUZyb21NYXRjaChtYXRjaCwgY29tbWVudFZhbHVlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZEV4YW1wbGVGcm9tTWF0Y2goXG4gIG1hdGNoOiBSZWdFeHBNYXRjaEFycmF5LFxuICBjb21tZW50VmFsdWU6IHN0cmluZyxcbik6IEV4YW1wbGUge1xuICBjb25zdCBbZnVsbF0gPSBtYXRjaDtcbiAgY29uc3QgaGVhZGVyID0gbWF0Y2guZ3JvdXBzPy5bXCJoZWFkZXJcIl0gPz8gXCJcIjtcbiAgY29uc3QgYm9keSA9IG1hdGNoLmdyb3Vwcz8uW1wiYm9keVwiXSA/PyBcIlwiO1xuICBjb25zdCBzdGFydE9mZnNldCA9IG1hdGNoLmluZGV4ID8/IDA7XG4gIGNvbnN0IGNvbnRlbnQgPSBidWlsZEV4YW1wbGVDb250ZW50KHsgYm9keSwgaGVhZGVyIH0pO1xuICBjb25zdCBwcmVmaXggPSBnZXRQcmVmaXgoaGVhZGVyKTtcbiAgY29uc3QgeyBlbmRJbmRleCwgZW5kT2Zmc2V0LCBsaW5lSW5kZXggfSA9IGdldExpbmVNZXRhKHtcbiAgICBjb21tZW50VmFsdWUsXG4gICAgZnVsbCxcbiAgICBzdGFydE9mZnNldCxcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBjb250ZW50OiBjb250ZW50LnRyaW0oKSxcbiAgICBlbmRJbmRleCxcbiAgICBlbmRPZmZzZXQsXG4gICAgbGluZUluZGV4LFxuICAgIHByZWZpeCxcbiAgICBzdGFydE9mZnNldCxcbiAgfTtcbn1cblxuLyoqXG4gKiBDaGVja3MgZXhhbXBsZSBjb250ZW50IGZvciByZXF1aXJlZCBmZW5jZXMgYW5kIGxhbmd1YWdlLlxuICogQHBhcmFtIGNvbnRlbnQgRXhhbXBsZSBjb250ZW50IHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBQcm9ibGVtIGlkZW50aWZpZXIgd2hlbiB0aGUgY29udGVudCBpcyBpbnZhbGlkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHByb2JsZW0gPSBjaGVja0V4YW1wbGVDb250ZW50KFwiYGBgdHlwZXNjcmlwdFxcbmNvbnN0IG9rID0gdHJ1ZTtcXG5gYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY2hlY2tFeGFtcGxlQ29udGVudChjb250ZW50OiBzdHJpbmcpOiBQcm9ibGVtIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGNvbnRlbnQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBcImVtcHR5RXhhbXBsZVwiO1xuICB9XG4gIGNvbnN0IHsgaGFzRW1wdHlGZW5jZSwgbWlzc2luZ0xhbmd1YWdlLCBzYXdGZW5jZSB9ID1cbiAgICBhbmFseXplRmVuY2VDb250ZW50KGNvbnRlbnQpO1xuXG4gIGlmIChtaXNzaW5nTGFuZ3VhZ2UpIHtcbiAgICByZXR1cm4gXCJtaXNzaW5nTGFuZ3VhZ2VcIjtcbiAgfVxuXG4gIGlmIChzYXdGZW5jZSAmJiBoYXNFbXB0eUZlbmNlKSB7XG4gICAgcmV0dXJuIFwiZW1wdHlFeGFtcGxlXCI7XG4gIH1cblxuICBpZiAoIXNhd0ZlbmNlKSB7XG4gICAgcmV0dXJuIFwibWlzc2luZ0ZlbmNlXCI7XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGFsbCBgQGV4YW1wbGVgIGVudHJpZXMgZnJvbSBhIEpTRG9jIGNvbW1lbnQgdmFsdWUuXG4gKiBVc2VzIGEgbXVsdGlsaW5lIHJlZ2V4IHRvIGNhcHR1cmUgdGhlIGhlYWRlciBhbmQgZm9sbG93aW5nIGxpbmVzXG4gKiB1bnRpbCB0aGUgbmV4dCBKU0RvYyB0YWcgb3IgdGhlIGVuZCBvZiB0aGUgY29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgUmF3IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBFeHRyYWN0ZWQgZXhhbXBsZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhhbXBsZXMgPSBnZXRFeGFtcGxlcyhcIiogQGV4YW1wbGVcXG4qIGBgYHR5cGVzY3JpcHRcXG4qIG9rXFxuKiBgYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0RXhhbXBsZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBFeGFtcGxlW10ge1xuICBjb25zdCBleGFtcGxlczogRXhhbXBsZVtdID0gW107XG5cbiAgZm9yIChjb25zdCBtYXRjaCBvZiBjb21tZW50VmFsdWUubWF0Y2hBbGwoZXhhbXBsZVBhdHRlcm4pKSB7XG4gICAgZXhhbXBsZXMucHVzaChidWlsZEV4YW1wbGVGcm9tTWF0Y2gobWF0Y2gsIGNvbW1lbnRWYWx1ZSkpO1xuICB9XG5cbiAgcmV0dXJuIGV4YW1wbGVzO1xufVxuXG5leHBvcnQgeyBidWlsZEV4YW1wbGVGcm9tTWF0Y2gsIGNoZWNrRXhhbXBsZUNvbnRlbnQsIGdldEV4YW1wbGVzIH07XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import type { Rule } from "eslint";
2
- import type { Example, Problem } from "./types";
2
+ import type { Example, Problem } from "./types.js";
3
3
  /** Type definition for rule data. */
4
4
  interface FixerContext {
5
5
  /** AbsoluteEnd field value. */
@@ -44,6 +44,6 @@ declare function buildMissingLanguageFix(original: string): string | undefined;
44
44
  * const fixer = createFixer(context);
45
45
  * ```
46
46
  */
47
- declare function createFixer(context: FixerContext): (fixer: Rule.RuleFixer) => null | Rule.Fix;
47
+ declare function createFixer(context: FixerContext): (fixer: Rule.RuleFixer) => Rule.Fix | undefined;
48
48
  export { buildMissingFenceFix, buildMissingLanguageFix, createFixer };
49
49
  //# sourceMappingURL=fixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixes.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/fixes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA8BhD,qCAAqC;AACrC,UAAU,YAAY;IACpB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AA2CD;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAgBtD;AAED;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiBrE;AAED;;;;;;;;GAQG;AACH,iBAAS,WAAW,CAClB,OAAO,EAAE,YAAY,GACpB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,GAAG,SAAS,CAYjD;AA0HD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC"}