@codeperfect/eslint-plugin 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/README.md +26 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
  4. package/dist/application/custom-rules.d.ts.map +1 -0
  5. package/dist/application/custom-rules.js +74 -0
  6. package/dist/application/index.d.ts +4 -0
  7. package/dist/application/index.d.ts.map +1 -0
  8. package/dist/application/index.js +3 -0
  9. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
  12. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
  13. package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
  17. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
  18. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
  19. package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
  20. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
  22. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
  23. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +140 -0
  24. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
  25. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
  26. package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
  27. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
  28. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +85 -0
  29. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
  30. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
  31. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
  32. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
  33. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
  34. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
  35. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
  36. package/dist/domain/architecture/consistent-barrel-files/rule.js +43 -0
  37. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
  38. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
  39. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
  40. package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
  41. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
  42. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
  43. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
  44. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
  45. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
  46. package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
  47. package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
  48. package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
  49. package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
  50. package/dist/domain/architecture/index.d.ts.map +1 -0
  51. package/dist/domain/architecture/index.js +2 -0
  52. package/dist/{core → domain/core}/index.d.ts +2 -2
  53. package/dist/domain/core/index.d.ts.map +1 -0
  54. package/dist/domain/core/index.js +3 -0
  55. package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
  56. package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
  57. package/dist/domain/core/no-multiple-declarators/index.js +2 -0
  58. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
  59. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
  60. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
  61. package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
  62. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
  63. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
  64. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
  65. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
  66. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
  67. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
  68. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
  69. package/dist/domain/core/no-multiple-declarators/rule.js +219 -0
  70. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
  71. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
  72. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
  73. package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
  74. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
  75. package/dist/domain/core/no-multiple-declarators/types.js +38 -0
  76. package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
  77. package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
  78. package/dist/domain/core/prefer-interface-types/index.js +2 -0
  79. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
  80. package/dist/domain/core/prefer-interface-types/rule.js +145 -0
  81. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
  82. package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
  83. package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +1 -1
  84. package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
  85. package/dist/domain/custom-rule-documentation.js +35 -0
  86. package/dist/domain/docs/index.d.ts +4 -0
  87. package/dist/domain/docs/index.d.ts.map +1 -0
  88. package/dist/domain/docs/index.js +4 -0
  89. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
  90. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
  91. package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
  92. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
  93. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
  94. package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
  95. package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
  96. package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
  97. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
  98. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
  99. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
  100. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
  101. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
  102. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
  103. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
  104. package/dist/domain/docs/no-interface-member-docs/rule.js +168 -0
  105. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  106. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +157 -0
  107. package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
  108. package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
  109. package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
  110. package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
  111. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
  112. package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
  113. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
  114. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
  115. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
  116. package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
  117. package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
  118. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
  119. package/dist/domain/docs/require-example-language/examples.js +181 -0
  120. package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
  121. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
  122. package/dist/domain/docs/require-example-language/fixes.js +182 -0
  123. package/dist/domain/docs/require-example-language/index.d.ts +3 -0
  124. package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
  125. package/dist/domain/docs/require-example-language/index.js +2 -0
  126. package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
  127. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
  128. package/dist/domain/docs/require-example-language/reporting.js +148 -0
  129. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
  130. package/dist/domain/docs/require-example-language/rule.js +34 -0
  131. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
  132. package/dist/domain/docs/require-example-language/types.js +2 -0
  133. package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
  134. package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
  135. package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
  136. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  137. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
  138. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
  139. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
  140. package/dist/domain/docs/single-line-jsdoc/rule.js +196 -0
  141. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
  142. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
  143. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
  144. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  145. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  146. package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
  147. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  148. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  149. package/dist/domain/docs/test-helpers.d.ts.map +1 -0
  150. package/dist/domain/docs/test-helpers.js +107 -0
  151. package/dist/domain/index.d.ts +6 -0
  152. package/dist/domain/index.d.ts.map +1 -0
  153. package/dist/domain/index.js +6 -0
  154. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +92 -0
  155. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
  156. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +4 -0
  157. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
  158. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +4 -0
  159. package/dist/domain/testing/aaa/analyzer.analysis.js +247 -0
  160. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +93 -0
  161. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
  162. package/dist/domain/testing/aaa/analyzer.assertions.js +283 -0
  163. package/dist/domain/testing/aaa/analyzer.classification.d.ts +75 -0
  164. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
  165. package/dist/domain/testing/aaa/analyzer.classification.js +201 -0
  166. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
  167. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
  168. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
  169. package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
  170. package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
  171. package/dist/domain/testing/aaa/analyzer.js +59 -0
  172. package/dist/domain/testing/aaa/analyzer.super.d.ts +107 -0
  173. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
  174. package/dist/domain/testing/aaa/analyzer.super.js +228 -0
  175. package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
  176. package/dist/domain/testing/aaa/index.d.ts.map +1 -0
  177. package/dist/domain/testing/aaa/index.js +2 -0
  178. package/dist/domain/testing/aaa/types.d.ts +58 -0
  179. package/dist/domain/testing/aaa/types.d.ts.map +1 -0
  180. package/dist/domain/testing/aaa/types.js +2 -0
  181. package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
  182. package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  183. package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
  184. package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
  185. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  186. package/dist/domain/testing/assert-actual-expected-names/rule.js +113 -0
  187. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  188. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  189. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
  190. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
  191. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
  192. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
  193. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
  194. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
  195. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
  196. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
  197. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
  198. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
  199. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
  200. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
  201. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
  202. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
  203. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
  204. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
  205. package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
  206. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  207. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +34 -0
  208. package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
  209. package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  210. package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
  211. package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
  212. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  213. package/dist/domain/testing/enforce-aaa-structure/rule.js +85 -0
  214. package/dist/{testing → domain/testing}/index.d.ts +9 -8
  215. package/dist/domain/testing/index.d.ts.map +1 -0
  216. package/dist/domain/testing/index.js +10 -0
  217. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
  218. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
  219. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
  220. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
  221. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
  222. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
  223. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
  224. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
  225. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
  226. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
  227. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  228. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
  229. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  230. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  231. package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
  232. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
  233. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  234. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  235. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
  236. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  237. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
  238. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  239. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  240. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
  241. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  242. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  243. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
  244. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  245. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  246. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  247. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  248. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
  249. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  250. package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
  251. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
  252. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
  253. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
  254. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  255. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +36 -0
  256. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
  257. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  258. package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +86 -0
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +150 -0
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +81 -0
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +189 -0
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +92 -0
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
  285. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +62 -0
  286. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
  287. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
  288. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
  289. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
  293. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
  294. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
  295. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +203 -0
  296. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
  297. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
  298. package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
  299. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
  300. package/dist/domain/testing/require-aaa-sections/index.js +2 -0
  301. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
  302. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
  303. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
  304. package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
  305. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
  306. package/dist/domain/testing/require-aaa-sections/rule.js +129 -0
  307. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
  308. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
  309. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +217 -0
  310. package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
  311. package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
  312. package/dist/domain/testing/require-act-result-capture/index.js +2 -0
  313. package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
  314. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
  315. package/dist/domain/testing/require-act-result-capture/rule.js +106 -0
  316. package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
  317. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
  318. package/dist/domain/testing/require-test-companion/index.js +3 -0
  319. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
  320. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  321. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  322. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  323. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
  324. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
  325. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  326. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
  327. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
  328. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  329. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  330. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
  331. package/dist/domain/testing/require-test-companion/rule.js +57 -0
  332. package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
  333. package/dist/domain/testing/require-test-companion/types.js +2 -0
  334. package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
  335. package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
  336. package/dist/domain/testing/single-act-statement/index.js +2 -0
  337. package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
  338. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
  339. package/dist/domain/testing/single-act-statement/rule.js +34 -0
  340. package/dist/index.d.ts +4 -5
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/index.js +3 -6
  343. package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
  344. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
  345. package/dist/infrastructure/codeperfect-plugin.js +30 -0
  346. package/dist/infrastructure/index.d.ts +5 -0
  347. package/dist/infrastructure/index.d.ts.map +1 -0
  348. package/dist/infrastructure/index.js +4 -0
  349. package/dist/infrastructure/presets.d.ts +18 -0
  350. package/dist/infrastructure/presets.d.ts.map +1 -0
  351. package/dist/infrastructure/presets.js +81 -0
  352. package/package.json +54 -27
  353. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
  354. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
  355. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
  356. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
  357. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
  358. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  359. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
  360. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
  361. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
  362. package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
  363. package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
  364. package/dist/architecture/consistent-barrel-files/index.js +0 -4
  365. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
  366. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
  367. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  368. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
  369. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
  370. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
  371. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
  372. package/dist/architecture/consistent-barrel-files/rule.js +0 -58
  373. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  374. package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
  375. package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
  376. package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
  377. package/dist/architecture/consistent-barrel-files/types.js +0 -2
  378. package/dist/architecture/index.d.ts.map +0 -1
  379. package/dist/architecture/index.js +0 -2
  380. package/dist/benchmark-rules.d.ts +0 -83
  381. package/dist/benchmark-rules.d.ts.map +0 -1
  382. package/dist/benchmark-rules.js +0 -175
  383. package/dist/codeperfect-plugin.d.ts.map +0 -1
  384. package/dist/codeperfect-plugin.js +0 -29
  385. package/dist/core/index.d.ts.map +0 -1
  386. package/dist/core/index.js +0 -3
  387. package/dist/core/no-multiple-declarators/index.d.ts +0 -2
  388. package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
  389. package/dist/core/no-multiple-declarators/index.js +0 -2
  390. package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
  391. package/dist/core/no-multiple-declarators/rule.js +0 -100
  392. package/dist/core/prefer-interface-types/index.d.ts +0 -2
  393. package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
  394. package/dist/core/prefer-interface-types/index.js +0 -2
  395. package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
  396. package/dist/core/prefer-interface-types/rule.js +0 -145
  397. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  398. package/dist/core/prefer-interface-types/test-helpers.js +0 -116
  399. package/dist/custom-rule-documentation.d.ts.map +0 -1
  400. package/dist/custom-rule-documentation.js +0 -35
  401. package/dist/custom-rules.d.ts.map +0 -1
  402. package/dist/custom-rules.js +0 -70
  403. package/dist/docs/index.d.ts +0 -4
  404. package/dist/docs/index.d.ts.map +0 -1
  405. package/dist/docs/index.js +0 -4
  406. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  407. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  408. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
  409. package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
  410. package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
  411. package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
  412. package/dist/docs/no-interface-member-docs/index.js +0 -2
  413. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
  414. package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
  415. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
  416. package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
  417. package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
  418. package/dist/docs/no-interface-member-docs/rule.js +0 -168
  419. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  420. package/dist/docs/no-interface-member-docs/test-helpers.js +0 -157
  421. package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
  422. package/dist/docs/no-interface-member-docs/types.js +0 -2
  423. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
  424. package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
  425. package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
  426. package/dist/docs/require-example-language/example-utilities.js +0 -76
  427. package/dist/docs/require-example-language/examples.d.ts.map +0 -1
  428. package/dist/docs/require-example-language/examples.js +0 -181
  429. package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
  430. package/dist/docs/require-example-language/fixes.js +0 -182
  431. package/dist/docs/require-example-language/index.d.ts +0 -3
  432. package/dist/docs/require-example-language/index.d.ts.map +0 -1
  433. package/dist/docs/require-example-language/index.js +0 -2
  434. package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
  435. package/dist/docs/require-example-language/reporting.js +0 -145
  436. package/dist/docs/require-example-language/rule.d.ts.map +0 -1
  437. package/dist/docs/require-example-language/rule.js +0 -34
  438. package/dist/docs/require-example-language/types.d.ts.map +0 -1
  439. package/dist/docs/require-example-language/types.js +0 -2
  440. package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
  441. package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
  442. package/dist/docs/single-line-jsdoc/index.js +0 -2
  443. package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
  444. package/dist/docs/single-line-jsdoc/rule.js +0 -196
  445. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
  446. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
  447. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
  448. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
  449. package/dist/docs/test-helpers.d.ts.map +0 -1
  450. package/dist/docs/test-helpers.js +0 -107
  451. package/dist/presets.d.ts +0 -10
  452. package/dist/presets.d.ts.map +0 -1
  453. package/dist/presets.js +0 -50
  454. package/dist/rules/index.d.ts +0 -5
  455. package/dist/rules/index.d.ts.map +0 -1
  456. package/dist/rules/index.js +0 -6
  457. package/dist/testing/aaa/analyzer.d.ts +0 -36
  458. package/dist/testing/aaa/analyzer.d.ts.map +0 -1
  459. package/dist/testing/aaa/analyzer.js +0 -490
  460. package/dist/testing/aaa/index.d.ts.map +0 -1
  461. package/dist/testing/aaa/index.js +0 -2
  462. package/dist/testing/aaa/types.d.ts +0 -31
  463. package/dist/testing/aaa/types.d.ts.map +0 -1
  464. package/dist/testing/aaa/types.js +0 -2
  465. package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
  466. package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
  467. package/dist/testing/assert-actual-expected-names/index.js +0 -2
  468. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
  469. package/dist/testing/assert-actual-expected-names/rule.js +0 -54
  470. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
  471. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
  472. package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
  473. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  474. package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
  475. package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
  476. package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
  477. package/dist/testing/enforce-aaa-structure/index.js +0 -2
  478. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
  479. package/dist/testing/enforce-aaa-structure/rule.js +0 -48
  480. package/dist/testing/index.d.ts.map +0 -1
  481. package/dist/testing/index.js +0 -9
  482. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
  483. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
  484. package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
  485. package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
  486. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
  487. package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
  488. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
  489. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
  490. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
  491. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
  492. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
  493. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
  494. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
  495. package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
  496. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
  497. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
  498. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
  499. package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
  500. package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
  501. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
  502. package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
  503. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
  504. package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
  505. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
  506. package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
  507. package/dist/testing/require-aaa-sections/index.d.ts +0 -2
  508. package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
  509. package/dist/testing/require-aaa-sections/index.js +0 -2
  510. package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
  511. package/dist/testing/require-aaa-sections/rule.js +0 -111
  512. package/dist/testing/require-act-result-capture/index.d.ts +0 -2
  513. package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
  514. package/dist/testing/require-act-result-capture/index.js +0 -2
  515. package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
  516. package/dist/testing/require-act-result-capture/rule.js +0 -34
  517. package/dist/testing/require-test-companion/index.d.ts +0 -3
  518. package/dist/testing/require-test-companion/index.d.ts.map +0 -1
  519. package/dist/testing/require-test-companion/index.js +0 -3
  520. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
  521. package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
  522. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
  523. package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
  524. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  525. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
  526. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  527. package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
  528. package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
  529. package/dist/testing/require-test-companion/rule.js +0 -57
  530. package/dist/testing/require-test-companion/types.d.ts.map +0 -1
  531. package/dist/testing/require-test-companion/types.js +0 -2
  532. package/dist/testing/single-act-statement/index.d.ts +0 -2
  533. package/dist/testing/single-act-statement/index.d.ts.map +0 -1
  534. package/dist/testing/single-act-statement/index.js +0 -2
  535. package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
  536. package/dist/testing/single-act-statement/rule.js +0 -33
  537. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
  538. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
  539. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
  540. /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
  541. /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
  542. /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
  543. /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
  544. /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
  545. /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
  546. /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
  547. /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
  548. /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
  549. /package/dist/{docs → domain/docs}/single-line-jsdoc/rule.d.ts +0 -0
  550. /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
  551. /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
  552. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
  553. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
  554. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
  555. /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
  556. /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
  557. /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
@@ -0,0 +1,34 @@
1
+ import { createRuleDocumentation } from "../../custom-rule-documentation.js";
2
+ import { getExamples } from "./examples.js";
3
+ import { reportExample } from "./reporting.js";
4
+ /**
5
+ * ESLint rule requiring \@example tags to use fenced code blocks with a language.
6
+ */
7
+ const requireExampleLanguageRule = {
8
+ create(context) {
9
+ const { sourceCode } = context;
10
+ for (const comment of sourceCode.getAllComments()) {
11
+ if (comment.type === "Block" && comment.value.startsWith("*")) {
12
+ const examples = getExamples(comment.value);
13
+ const hasOtherExamples = examples.length > 1;
14
+ for (const example of examples) {
15
+ reportExample({ comment, context, example, hasOtherExamples });
16
+ }
17
+ }
18
+ }
19
+ return {};
20
+ },
21
+ meta: {
22
+ docs: createRuleDocumentation("require-example-language", "Require @example tags to use fenced code blocks with a language."),
23
+ fixable: "code",
24
+ messages: {
25
+ emptyExample: "@example must include example content.",
26
+ missingFence: "@example must include a fenced code block with a language (e.g. ```typescript).",
27
+ missingLanguage: "@example fenced code blocks must specify a language (e.g. ```typescript).",
28
+ },
29
+ schema: [],
30
+ type: "problem",
31
+ },
32
+ };
33
+ export { requireExampleLanguageRule };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUM7O0dBRUc7QUFDSCxNQUFNLDBCQUEwQixHQUFvQjtJQUNsRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUUvQixLQUFLLE1BQU0sT0FBTyxJQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFNUMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFFN0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDL0IsYUFBYSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsdUJBQXVCLENBQzNCLDBCQUEwQixFQUMxQixrRUFBa0UsQ0FDbkU7UUFDRCxPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRTtZQUNSLFlBQVksRUFBRSx3Q0FBd0M7WUFDdEQsWUFBWSxFQUNWLGlGQUFpRjtZQUNuRixlQUFlLEVBQ2IsMkVBQTJFO1NBQzlFO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgY3JlYXRlUnVsZURvY3VtZW50YXRpb24gfSBmcm9tIFwiLi4vLi4vY3VzdG9tLXJ1bGUtZG9jdW1lbnRhdGlvblwiO1xuaW1wb3J0IHsgZ2V0RXhhbXBsZXMgfSBmcm9tIFwiLi9leGFtcGxlc1wiO1xuaW1wb3J0IHsgcmVwb3J0RXhhbXBsZSB9IGZyb20gXCIuL3JlcG9ydGluZ1wiO1xuXG4vKipcbiAqIEVTTGludCBydWxlIHJlcXVpcmluZyBcXEBleGFtcGxlIHRhZ3MgdG8gdXNlIGZlbmNlZCBjb2RlIGJsb2NrcyB3aXRoIGEgbGFuZ3VhZ2UuXG4gKi9cbmNvbnN0IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IHsgc291cmNlQ29kZSB9ID0gY29udGV4dDtcblxuICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBzb3VyY2VDb2RlLmdldEFsbENvbW1lbnRzKCkpIHtcbiAgICAgIGlmIChjb21tZW50LnR5cGUgPT09IFwiQmxvY2tcIiAmJiBjb21tZW50LnZhbHVlLnN0YXJ0c1dpdGgoXCIqXCIpKSB7XG4gICAgICAgIGNvbnN0IGV4YW1wbGVzID0gZ2V0RXhhbXBsZXMoY29tbWVudC52YWx1ZSk7XG5cbiAgICAgICAgY29uc3QgaGFzT3RoZXJFeGFtcGxlcyA9IGV4YW1wbGVzLmxlbmd0aCA+IDE7XG5cbiAgICAgICAgZm9yIChjb25zdCBleGFtcGxlIG9mIGV4YW1wbGVzKSB7XG4gICAgICAgICAgcmVwb3J0RXhhbXBsZSh7IGNvbW1lbnQsIGNvbnRleHQsIGV4YW1wbGUsIGhhc090aGVyRXhhbXBsZXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge307XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiBjcmVhdGVSdWxlRG9jdW1lbnRhdGlvbihcbiAgICAgIFwicmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlXCIsXG4gICAgICBcIlJlcXVpcmUgQGV4YW1wbGUgdGFncyB0byB1c2UgZmVuY2VkIGNvZGUgYmxvY2tzIHdpdGggYSBsYW5ndWFnZS5cIixcbiAgICApLFxuICAgIGZpeGFibGU6IFwiY29kZVwiLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBlbXB0eUV4YW1wbGU6IFwiQGV4YW1wbGUgbXVzdCBpbmNsdWRlIGV4YW1wbGUgY29udGVudC5cIixcbiAgICAgIG1pc3NpbmdGZW5jZTpcbiAgICAgICAgXCJAZXhhbXBsZSBtdXN0IGluY2x1ZGUgYSBmZW5jZWQgY29kZSBibG9jayB3aXRoIGEgbGFuZ3VhZ2UgKGUuZy4gYGBgdHlwZXNjcmlwdCkuXCIsXG4gICAgICBtaXNzaW5nTGFuZ3VhZ2U6XG4gICAgICAgIFwiQGV4YW1wbGUgZmVuY2VkIGNvZGUgYmxvY2tzIG11c3Qgc3BlY2lmeSBhIGxhbmd1YWdlIChlLmcuIGBgYHR5cGVzY3JpcHQpLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlIH07XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEnE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGUge1xuICAvKiogQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKiBFbmRJbmRleCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kSW5kZXg6IG51bWJlcjtcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogTGluZUluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lSW5kZXg6IG51bWJlcjtcblxuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUHJvYmxlbSA9IFwiZW1wdHlFeGFtcGxlXCIgfCBcIm1pc3NpbmdGZW5jZVwiIHwgXCJtaXNzaW5nTGFuZ3VhZ2VcIjtcblxuZXhwb3J0IHR5cGUgeyBDb21tZW50LCBFeGFtcGxlLCBQcm9ibGVtIH07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { singleLineJsdocRule } from "./rule.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { singleLineJsdocRule } from "./rule.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvc2luZ2xlLWxpbmUtanNkb2MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgc2luZ2xlTGluZUpzZG9jUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAoQnC,4DAA4D;AAC5D,QAAA,MAAM,mBAAmB,EAAE,IAAI,CAAC,UAmC/B,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Companion module for single-line-jsdoc edge-case tests. */
2
+ declare const singleLineJsdocRuleEdgeCases: import("eslint").Rule.RuleModule;
3
+ export { singleLineJsdocRuleEdgeCases };
4
+ //# sourceMappingURL=rule.edge-cases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.edge-cases.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.edge-cases.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,QAAA,MAAM,4BAA4B,kCAAsB,CAAC;AAEzD,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { singleLineJsdocRule } from "./rule.js";
2
+ /** Companion module for single-line-jsdoc edge-case tests. */
3
+ const singleLineJsdocRuleEdgeCases = singleLineJsdocRule;
4
+ export { singleLineJsdocRuleEdgeCases };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5lZGdlLWNhc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3NpbmdsZS1saW5lLWpzZG9jL3J1bGUuZWRnZS1jYXNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFN0MsOERBQThEO0FBQzlELE1BQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQUM7QUFFekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaW5nbGVMaW5lSnNkb2NSdWxlIH0gZnJvbSBcIi4vcnVsZVwiO1xyXG5cclxuLyoqIENvbXBhbmlvbiBtb2R1bGUgZm9yIHNpbmdsZS1saW5lLWpzZG9jIGVkZ2UtY2FzZSB0ZXN0cy4gKi9cclxuY29uc3Qgc2luZ2xlTGluZUpzZG9jUnVsZUVkZ2VDYXNlcyA9IHNpbmdsZUxpbmVKc2RvY1J1bGU7XHJcblxyXG5leHBvcnQgeyBzaW5nbGVMaW5lSnNkb2NSdWxlRWRnZUNhc2VzIH07Il19
@@ -0,0 +1,196 @@
1
+ import { createRuleDocumentation } from "../../custom-rule-documentation.js";
2
+ import { normalizeMaxLineLength, reportIfSingleLine, } from "./single-line-jsdoc-utilities.js";
3
+ /**
4
+ * Resolves the token after a comment when available.
5
+ * @param sourceCode Source code accessors.
6
+ * @param comment Comment node to inspect.
7
+ * @returns Token range metadata when available.
8
+ * @example
9
+ * ```typescript
10
+ * getTokenAfterRange({} as SourceCodeAccess, {} as SourceComment);
11
+ * ```
12
+ */
13
+ const getTokenAfterRange = (sourceCode, comment) => {
14
+ if (typeof sourceCode.getTokenAfter !== "function") {
15
+ return void 0;
16
+ }
17
+ const tokenAfter = sourceCode.getTokenAfter(comment, {
18
+ includeComments: false,
19
+ });
20
+ if (tokenAfter?.range === void 0) {
21
+ return void 0;
22
+ }
23
+ return { range: tokenAfter.range };
24
+ };
25
+ /**
26
+ * Function-like node types handled directly.
27
+ * @example
28
+ * ```typescript
29
+ * functionLikeTypes.has("TSFunctionType");
30
+ * ```
31
+ */
32
+ const functionLikeTypes = new Set([
33
+ "TSCallSignatureDeclaration",
34
+ "TSConstructSignatureDeclaration",
35
+ "TSFunctionType",
36
+ ]);
37
+ /**
38
+ * Checks if a node is a function expression or arrow function.
39
+ * @param node Node to inspect.
40
+ * @returns True when the node is a function expression.
41
+ * @example
42
+ * ```typescript
43
+ * isFunctionExpression({ type: "FunctionExpression" } as EstreeNode);
44
+ * ```
45
+ */
46
+ const isFunctionExpression = (node) => node?.type === "FunctionExpression" || node?.type === "ArrowFunctionExpression";
47
+ /**
48
+ * Checks if a node is a function declaration or TS declaration signature.
49
+ * @param node Node to inspect.
50
+ * @returns True when the node is a function declaration.
51
+ * @example
52
+ * ```typescript
53
+ * isFunctionDeclaration({ type: "FunctionDeclaration" } as EstreeNode);
54
+ * ```
55
+ */
56
+ const isFunctionDeclaration = (node) => node?.type === "FunctionDeclaration" || node?.type === "TSDeclareFunction";
57
+ /**
58
+ * Checks if a node is a method-like declaration.
59
+ * @param node Node to inspect.
60
+ * @returns True when the node is a method-like declaration.
61
+ * @example
62
+ * ```typescript
63
+ * isMethodLike({ type: "MethodDefinition" } as EstreeNode);
64
+ * ```
65
+ */
66
+ const isMethodLike = (node) => node?.type === "MethodDefinition" || node?.type === "TSMethodSignature";
67
+ /**
68
+ * Checks if a node is a property with a function initializer.
69
+ * @param node Node to inspect.
70
+ * @returns True when the property value is a function.
71
+ * @example
72
+ * ```typescript
73
+ * isPropertyWithFunctionValue({ type: "Property" } as EstreeNode);
74
+ * ```
75
+ */
76
+ const isPropertyWithFunctionValue = (node) => {
77
+ if (node.type !== "PropertyDefinition" && node.type !== "Property") {
78
+ return false;
79
+ }
80
+ const { value } = node;
81
+ return isFunctionExpression(value);
82
+ };
83
+ /**
84
+ * Checks if a variable declaration contains a function initializer.
85
+ * @param node Node to inspect.
86
+ * @returns True when any initializer is a function.
87
+ * @example
88
+ * ```typescript
89
+ * isVariableWithFunctionInit({ type: "VariableDeclaration" } as EstreeNode);
90
+ * ```
91
+ */
92
+ const isVariableWithFunctionInit = (node) => {
93
+ if (node.type !== "VariableDeclaration") {
94
+ return false;
95
+ }
96
+ const { declarations } = node;
97
+ const initialized = declarations ?? [];
98
+ return initialized.some((declaration) => isFunctionExpression(declaration.init));
99
+ };
100
+ /**
101
+ * Checks if an export wraps a function-like declaration.
102
+ * @param node Node to inspect.
103
+ * @returns True when the exported declaration is function-like.
104
+ * @example
105
+ * ```typescript
106
+ * isExportedFunctionLike({ type: "ExportNamedDeclaration" } as EstreeNode);
107
+ * ```
108
+ */
109
+ const isExportedFunctionLike = (node) => {
110
+ if (node.type !== "ExportNamedDeclaration" &&
111
+ node.type !== "ExportDefaultDeclaration") {
112
+ return false;
113
+ }
114
+ const { declaration } = node;
115
+ return isFunctionLikeNode(declaration);
116
+ };
117
+ /**
118
+ * Checks if a node represents any supported function-like declaration.
119
+ * @param node Node to inspect.
120
+ * @returns True when the node is function-like.
121
+ * @example
122
+ * ```typescript
123
+ * isFunctionLikeNode({ type: "FunctionDeclaration" } as EstreeNode);
124
+ * ```
125
+ */
126
+ const isFunctionLikeNode = (node) => {
127
+ if (node === null || node === void 0) {
128
+ return false;
129
+ }
130
+ return (isFunctionDeclaration(node) ||
131
+ isFunctionExpression(node) ||
132
+ isMethodLike(node) ||
133
+ functionLikeTypes.has(node.type) ||
134
+ isPropertyWithFunctionValue(node) ||
135
+ isVariableWithFunctionInit(node) ||
136
+ isExportedFunctionLike(node));
137
+ };
138
+ /**
139
+ * Determines whether a JSDoc comment should be skipped for function targets.
140
+ * @param context Rule context.
141
+ * @param comment Comment node to inspect.
142
+ * @returns True when the comment targets a function-like node.
143
+ * @example
144
+ * ```typescript
145
+ * shouldSkipForFunction({} as Rule.RuleContext, {} as SourceComment);
146
+ * ```
147
+ */
148
+ const shouldSkipForFunction = (context, comment) => {
149
+ const sourceCode = context.sourceCode;
150
+ if (typeof sourceCode.getNodeByRangeIndex !== "function") {
151
+ return false;
152
+ }
153
+ const tokenAfter = getTokenAfterRange(sourceCode, comment);
154
+ if (tokenAfter === void 0) {
155
+ return false;
156
+ }
157
+ const [rangeStart] = tokenAfter.range;
158
+ const node = sourceCode.getNodeByRangeIndex(rangeStart);
159
+ return isFunctionLikeNode(node);
160
+ };
161
+ /** Rule module enforcing single-line JSDoc when it fits. */
162
+ const singleLineJsdocRule = {
163
+ create(context) {
164
+ const { options, sourceCode } = context;
165
+ const maxLineLength = normalizeMaxLineLength(options);
166
+ const comments = sourceCode.getAllComments();
167
+ for (const comment of comments) {
168
+ if (!shouldSkipForFunction(context, comment)) {
169
+ reportIfSingleLine(context, comment, maxLineLength);
170
+ }
171
+ }
172
+ return {};
173
+ },
174
+ meta: {
175
+ docs: createRuleDocumentation("single-line-jsdoc", "Require JSDoc comments to use a single line when they fit."),
176
+ fixable: "code",
177
+ messages: {
178
+ singleLine: "Use a single-line JSDoc comment when it fits on one line.",
179
+ },
180
+ schema: [
181
+ {
182
+ additionalProperties: false,
183
+ properties: {
184
+ maxLineLength: {
185
+ minimum: 1,
186
+ type: "number",
187
+ },
188
+ },
189
+ type: "object",
190
+ },
191
+ ],
192
+ type: "layout",
193
+ },
194
+ };
195
+ export { singleLineJsdocRule };
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0sK0JBQStCLENBQUM7QUEwRHZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsVUFBNEIsRUFDNUIsT0FBc0IsRUFDTSxFQUFFO0lBQzlCLElBQUksT0FBTyxVQUFVLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQ25ELGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksVUFBVSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDeEMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxnQkFBZ0I7Q0FDakIsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDeEQsSUFBSSxFQUFFLElBQUksS0FBSyxvQkFBb0IsSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLHlCQUF5QixDQUFDO0FBRWxGOzs7Ozs7OztHQVFHO0FB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RCxJQUFJLEVBQUUsUUFBUTtLQUNmO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgeyBDb21tZW50IGFzIEVzdHJlZUNvbW1lbnQsIE5vZGUgYXMgRXN0cmVlTm9kZSB9IGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHsgY3JlYXRlUnVsZURvY3VtZW50YXRpb24gfSBmcm9tIFwiLi4vLi4vY3VzdG9tLXJ1bGUtZG9jdW1lbnRhdGlvblwiO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplTWF4TGluZUxlbmd0aCxcbiAgcmVwb3J0SWZTaW5nbGVMaW5lLFxufSBmcm9tIFwiLi9zaW5nbGUtbGluZS1qc2RvYy11dGlsaXRpZXNcIjtcbi8qKiBUeXBlIHVuaW9uIGZvciBub2RlcyB0aGF0IG1heSBiZSBtaXNzaW5nLiAqL1xudHlwZSBNYXliZU5vZGUgPSBFc3RyZWVOb2RlIHwgTm9kZVdpdGhUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqIFNoYXBlIGZvciBleHBvcnQgbm9kZXMgdGhhdCB3cmFwIGEgZGVjbGFyYXRpb24uICovXG5pbnRlcmZhY2UgTm9kZVdpdGhEZWNsYXJhdGlvbiB7XG4gIC8qKiBEZWNsYXJhdGlvbiB3cmFwcGVkIGJ5IHRoZSBleHBvcnQuICovXG4gIGRlY2xhcmF0aW9uPzogTWF5YmVOb2RlO1xufVxuLyoqIFNoYXBlIGZvciBub2RlcyB0aGF0IGhhdmUgZGVjbGFyYXRpb25zLiAqL1xuaW50ZXJmYWNlIE5vZGVXaXRoRGVjbGFyYXRpb25zIHtcbiAgLyoqIFZhcmlhYmxlIGRlY2xhcmF0aW9ucyBmb3IgYSBkZWNsYXJhdGlvbiBsaXN0LiAqL1xuICBkZWNsYXJhdGlvbnM/OiBWYXJpYWJsZURlY2xhcmF0aW9uRW50cnlbXTtcbn1cbi8qKiBTaGFwZSBmb3IgbWluaW1hbCBub2RlcyB0aGF0IG9ubHkgZXhwb3NlIGEgdHlwZS4gKi9cbmludGVyZmFjZSBOb2RlV2l0aFR5cGUge1xuICAvKiogTm9kZSB0eXBlIGRpc2NyaW1pbmF0b3IuICovXG4gIHR5cGU6IHN0cmluZztcbn1cbi8qKiBTaGFwZSBmb3Igbm9kZXMgdGhhdCBoYXZlIGEgdmFsdWUuICovXG5pbnRlcmZhY2UgTm9kZVdpdGhWYWx1ZSB7XG4gIC8qKiBWYWx1ZSBub2RlIHVzZWQgZm9yIHByb3BlcnR5IGluaXRpYWxpemVycy4gKi9cbiAgdmFsdWU/OiBNYXliZU5vZGU7XG59XG4vKiogU291cmNlQ29kZSBhY2Nlc3NvcnMgdXNlZCBieSB0aGlzIHJ1bGUuICovXG5pbnRlcmZhY2UgU291cmNlQ29kZUFjY2VzcyB7XG4gIC8qKiBSZXR1cm5zIHRoZSBub2RlIGF0IGEgcmFuZ2UgaW5kZXguICovXG4gIGdldE5vZGVCeVJhbmdlSW5kZXg6IChpbmRleDogbnVtYmVyKSA9PiBFc3RyZWVOb2RlIHwgbnVsbDtcblxuICAvKiogUmV0dXJucyB0aGUgZmlyc3QgdG9rZW4gYWZ0ZXIgYSBjb21tZW50LiAqL1xuICBnZXRUb2tlbkFmdGVyOiAoXG4gICAgbm9kZTogRXN0cmVlQ29tbWVudCxcbiAgICBvcHRpb25zPzogVG9rZW5BZnRlck9wdGlvbnMsXG4gICkgPT4gbnVsbCB8IFRva2VuV2l0aE9wdGlvbmFsUmFuZ2U7XG59XG4vKiogVHlwZSBhbGlhcyBmb3IgY29tbWVudCBub2RlcyBwcm92aWRlZCBieSBFU0xpbnQuICovXG50eXBlIFNvdXJjZUNvbW1lbnQgPSBFc3RyZWVDb21tZW50O1xuLyoqIE9wdGlvbnMgdXNlZCB3aGVuIGZldGNoaW5nIHRva2VucyBhZnRlciBjb21tZW50cy4gKi9cbmludGVyZmFjZSBUb2tlbkFmdGVyT3B0aW9ucyB7XG4gIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgY29tbWVudCB0b2tlbnMuICovXG4gIGluY2x1ZGVDb21tZW50cz86IGJvb2xlYW47XG59XG4vKiogU2hhcGUgZm9yIHRva2VucyB0aGF0IG1heSBpbmNsdWRlIGEgcmFuZ2UuICovXG5pbnRlcmZhY2UgVG9rZW5XaXRoT3B0aW9uYWxSYW5nZSB7XG4gIC8qKiBUb2tlbiByYW5nZSB1c2VkIGZvciBsb29rdXBzLiAqL1xuICByYW5nZT86IFtudW1iZXIsIG51bWJlcl07XG59XG4vKiogU2hhcGUgZm9yIHRva2VucyB3aXRoIHJhbmdlIG1ldGFkYXRhLiAqL1xuaW50ZXJmYWNlIFRva2VuV2l0aFJhbmdlIHtcbiAgLyoqIFRva2VuIHJhbmdlIHVzZWQgZm9yIGxvb2t1cHMuICovXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xufVxuLyoqIFNoYXBlIGZvciB2YXJpYWJsZSBkZWNsYXJhdGlvbiBlbnRyaWVzLiAqL1xuaW50ZXJmYWNlIFZhcmlhYmxlRGVjbGFyYXRpb25FbnRyeSB7XG4gIC8qKiBPcHRpb25hbCBpbml0aWFsaXplciBmb3IgdGhlIGRlY2xhcmF0aW9uLiAqL1xuICBpbml0PzogTWF5YmVOb2RlO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSB0b2tlbiBhZnRlciBhIGNvbW1lbnQgd2hlbiBhdmFpbGFibGUuXG4gKiBAcGFyYW0gc291cmNlQ29kZSBTb3VyY2UgY29kZSBhY2Nlc3NvcnMuXG4gKiBAcGFyYW0gY29tbWVudCBDb21tZW50IG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRva2VuIHJhbmdlIG1ldGFkYXRhIHdoZW4gYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldFRva2VuQWZ0ZXJSYW5nZSh7fSBhcyBTb3VyY2VDb2RlQWNjZXNzLCB7fSBhcyBTb3VyY2VDb21tZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRUb2tlbkFmdGVyUmFuZ2UgPSAoXG4gIHNvdXJjZUNvZGU6IFNvdXJjZUNvZGVBY2Nlc3MsXG4gIGNvbW1lbnQ6IFNvdXJjZUNvbW1lbnQsXG4pOiBUb2tlbldpdGhSYW5nZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29kZS5nZXRUb2tlbkFmdGVyICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdG9rZW5BZnRlciA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5BZnRlcihjb21tZW50LCB7XG4gICAgaW5jbHVkZUNvbW1lbnRzOiBmYWxzZSxcbiAgfSk7XG5cbiAgaWYgKHRva2VuQWZ0ZXI/LnJhbmdlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIHsgcmFuZ2U6IHRva2VuQWZ0ZXIucmFuZ2UgfTtcbn07XG5cbi8qKlxuICogRnVuY3Rpb24tbGlrZSBub2RlIHR5cGVzIGhhbmRsZWQgZGlyZWN0bHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZnVuY3Rpb25MaWtlVHlwZXMuaGFzKFwiVFNGdW5jdGlvblR5cGVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgZnVuY3Rpb25MaWtlVHlwZXMgPSBuZXcgU2V0PHN0cmluZz4oW1xuICBcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXG4gIFwiVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxuICBcIlRTRnVuY3Rpb25UeXBlXCIsXG5dKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIGlzIGEgZnVuY3Rpb24gZXhwcmVzc2lvbiBvciBhcnJvdyBmdW5jdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbm9kZSBpcyBhIGZ1bmN0aW9uIGV4cHJlc3Npb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkV4cHJlc3Npb24oeyB0eXBlOiBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiIH0gYXMgRXN0cmVlTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNGdW5jdGlvbkV4cHJlc3Npb24gPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiIHx8IG5vZGU/LnR5cGUgPT09IFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIjtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIGlzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gb3IgVFMgZGVjbGFyYXRpb24gc2lnbmF0dXJlLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkRlY2xhcmF0aW9uKHsgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0Z1bmN0aW9uRGVjbGFyYXRpb24gPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIiB8fCBub2RlPy50eXBlID09PSBcIlRTRGVjbGFyZUZ1bmN0aW9uXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIG1ldGhvZC1saWtlIGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgbWV0aG9kLWxpa2UgZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNNZXRob2RMaWtlKHsgdHlwZTogXCJNZXRob2REZWZpbml0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc01ldGhvZExpa2UgPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIk1ldGhvZERlZmluaXRpb25cIiB8fCBub2RlPy50eXBlID09PSBcIlRTTWV0aG9kU2lnbmF0dXJlXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIHByb3BlcnR5IHdpdGggYSBmdW5jdGlvbiBpbml0aWFsaXplci5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgcHJvcGVydHkgdmFsdWUgaXMgYSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUoeyB0eXBlOiBcIlByb3BlcnR5XCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUgPSAobm9kZTogRXN0cmVlTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBpZiAobm9kZS50eXBlICE9PSBcIlByb3BlcnR5RGVmaW5pdGlvblwiICYmIG5vZGUudHlwZSAhPT0gXCJQcm9wZXJ0eVwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyB2YWx1ZSB9ID0gbm9kZSBhcyBOb2RlV2l0aFZhbHVlO1xuXG4gIHJldHVybiBpc0Z1bmN0aW9uRXhwcmVzc2lvbih2YWx1ZSk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGNvbnRhaW5zIGEgZnVuY3Rpb24gaW5pdGlhbGl6ZXIuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gYW55IGluaXRpYWxpemVyIGlzIGEgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNWYXJpYWJsZVdpdGhGdW5jdGlvbkluaXQoeyB0eXBlOiBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIiB9IGFzIEVzdHJlZU5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzVmFyaWFibGVXaXRoRnVuY3Rpb25Jbml0ID0gKG5vZGU6IEVzdHJlZU5vZGUpOiBib29sZWFuID0+IHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB7IGRlY2xhcmF0aW9ucyB9ID0gbm9kZSBhcyBOb2RlV2l0aERlY2xhcmF0aW9ucztcbiAgY29uc3QgaW5pdGlhbGl6ZWQgPSBkZWNsYXJhdGlvbnMgPz8gW107XG5cbiAgcmV0dXJuIGluaXRpYWxpemVkLnNvbWUoKGRlY2xhcmF0aW9uKSA9PlxuICAgIGlzRnVuY3Rpb25FeHByZXNzaW9uKGRlY2xhcmF0aW9uLmluaXQpLFxuICApO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXhwb3J0IHdyYXBzIGEgZnVuY3Rpb24tbGlrZSBkZWNsYXJhdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZXhwb3J0ZWQgZGVjbGFyYXRpb24gaXMgZnVuY3Rpb24tbGlrZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc0V4cG9ydGVkRnVuY3Rpb25MaWtlKHsgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0V4cG9ydGVkRnVuY3Rpb25MaWtlID0gKG5vZGU6IEVzdHJlZU5vZGUpOiBib29sZWFuID0+IHtcbiAgaWYgKFxuICAgIG5vZGUudHlwZSAhPT0gXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIgJiZcbiAgICBub2RlLnR5cGUgIT09IFwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCJcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyBkZWNsYXJhdGlvbiB9ID0gbm9kZSBhcyBOb2RlV2l0aERlY2xhcmF0aW9uO1xuXG4gIHJldHVybiBpc0Z1bmN0aW9uTGlrZU5vZGUoZGVjbGFyYXRpb24pO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIHJlcHJlc2VudHMgYW55IHN1cHBvcnRlZCBmdW5jdGlvbi1saWtlIGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGZ1bmN0aW9uLWxpa2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkxpa2VOb2RlKHsgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0Z1bmN0aW9uTGlrZU5vZGUgPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PiB7XG4gIGlmIChub2RlID09PSBudWxsIHx8IG5vZGUgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNGdW5jdGlvbkRlY2xhcmF0aW9uKG5vZGUpIHx8XG4gICAgaXNGdW5jdGlvbkV4cHJlc3Npb24obm9kZSkgfHxcbiAgICBpc01ldGhvZExpa2Uobm9kZSkgfHxcbiAgICBmdW5jdGlvbkxpa2VUeXBlcy5oYXMobm9kZS50eXBlKSB8fFxuICAgIGlzUHJvcGVydHlXaXRoRnVuY3Rpb25WYWx1ZShub2RlIGFzIEVzdHJlZU5vZGUpIHx8XG4gICAgaXNWYXJpYWJsZVdpdGhGdW5jdGlvbkluaXQobm9kZSBhcyBFc3RyZWVOb2RlKSB8fFxuICAgIGlzRXhwb3J0ZWRGdW5jdGlvbkxpa2Uobm9kZSBhcyBFc3RyZWVOb2RlKVxuICApO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBKU0RvYyBjb21tZW50IHNob3VsZCBiZSBza2lwcGVkIGZvciBmdW5jdGlvbiB0YXJnZXRzLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGNvbW1lbnQgQ29tbWVudCBub2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGNvbW1lbnQgdGFyZ2V0cyBhIGZ1bmN0aW9uLWxpa2Ugbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzaG91bGRTa2lwRm9yRnVuY3Rpb24oe30gYXMgUnVsZS5SdWxlQ29udGV4dCwge30gYXMgU291cmNlQ29tbWVudCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgc2hvdWxkU2tpcEZvckZ1bmN0aW9uID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBjb21tZW50OiBTb3VyY2VDb21tZW50LFxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHNvdXJjZUNvZGUgPSBjb250ZXh0LnNvdXJjZUNvZGUgYXMgU291cmNlQ29kZUFjY2VzcztcbiAgaWYgKHR5cGVvZiBzb3VyY2VDb2RlLmdldE5vZGVCeVJhbmdlSW5kZXggIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHRva2VuQWZ0ZXIgPSBnZXRUb2tlbkFmdGVyUmFuZ2Uoc291cmNlQ29kZSwgY29tbWVudCk7XG4gIGlmICh0b2tlbkFmdGVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBbcmFuZ2VTdGFydF0gPSB0b2tlbkFmdGVyLnJhbmdlO1xuICBjb25zdCBub2RlID0gc291cmNlQ29kZS5nZXROb2RlQnlSYW5nZUluZGV4KHJhbmdlU3RhcnQpO1xuICByZXR1cm4gaXNGdW5jdGlvbkxpa2VOb2RlKG5vZGUpO1xufTtcblxuLyoqIFJ1bGUgbW9kdWxlIGVuZm9yY2luZyBzaW5nbGUtbGluZSBKU0RvYyB3aGVuIGl0IGZpdHMuICovXG5jb25zdCBzaW5nbGVMaW5lSnNkb2NSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IHsgb3B0aW9ucywgc291cmNlQ29kZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCBtYXhMaW5lTGVuZ3RoID0gbm9ybWFsaXplTWF4TGluZUxlbmd0aChvcHRpb25zKTtcblxuICAgIGNvbnN0IGNvbW1lbnRzID0gc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgICBpZiAoIXNob3VsZFNraXBGb3JGdW5jdGlvbihjb250ZXh0LCBjb21tZW50KSkge1xuICAgICAgICByZXBvcnRJZlNpbmdsZUxpbmUoY29udGV4dCwgY29tbWVudCwgbWF4TGluZUxlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczogY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXCJzaW5nbGUtbGluZS1qc2RvY1wiLCBcIlJlcXVpcmUgSlNEb2MgY29tbWVudHMgdG8gdXNlIGEgc2luZ2xlIGxpbmUgd2hlbiB0aGV5IGZpdC5cIiksXG4gICAgZml4YWJsZTogXCJjb2RlXCIsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHNpbmdsZUxpbmU6IFwiVXNlIGEgc2luZ2xlLWxpbmUgSlNEb2MgY29tbWVudCB3aGVuIGl0IGZpdHMgb24gb25lIGxpbmUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgbWF4TGluZUxlbmd0aDoge1xuICAgICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgICB0eXBlOiBcImxheW91dFwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgc2luZ2xlTGluZUpzZG9jUnVsZSB9OyJdfQ==
@@ -0,0 +1,4 @@
1
+ /** Companion module for single-line-jsdoc lookup edge-case tests. */
2
+ declare const singleLineJsdocRuleNodeLookups: import("eslint").Rule.RuleModule;
3
+ export { singleLineJsdocRuleNodeLookups };
4
+ //# sourceMappingURL=rule.node-lookups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.node-lookups.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.node-lookups.ts"],"names":[],"mappings":"AAEA,qEAAqE;AACrE,QAAA,MAAM,8BAA8B,kCAAsB,CAAC;AAE3D,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { singleLineJsdocRule } from "./rule.js";
2
+ /** Companion module for single-line-jsdoc lookup edge-case tests. */
3
+ const singleLineJsdocRuleNodeLookups = singleLineJsdocRule;
4
+ export { singleLineJsdocRuleNodeLookups };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5ub2RlLWxvb2t1cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvc2luZ2xlLWxpbmUtanNkb2MvcnVsZS5ub2RlLWxvb2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdDLHFFQUFxRTtBQUNyRSxNQUFNLDhCQUE4QixHQUFHLG1CQUFtQixDQUFDO0FBRTNELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2luZ2xlTGluZUpzZG9jUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcclxuXHJcbi8qKiBDb21wYW5pb24gbW9kdWxlIGZvciBzaW5nbGUtbGluZS1qc2RvYyBsb29rdXAgZWRnZS1jYXNlIHRlc3RzLiAqL1xyXG5jb25zdCBzaW5nbGVMaW5lSnNkb2NSdWxlTm9kZUxvb2t1cHMgPSBzaW5nbGVMaW5lSnNkb2NSdWxlO1xyXG5cclxuZXhwb3J0IHsgc2luZ2xlTGluZUpzZG9jUnVsZU5vZGVMb29rdXBzIH07Il19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-line-jsdoc-content.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/single-line-jsdoc-content.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;AAyFV;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,MAAM,GAAG,SAYxD,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Defines stripJsdocLine.
3
+ * @param line Input line value.
4
+ * @returns Return value output.
5
+ * @example
6
+ * ```typescript
7
+ * stripJsdocLine();
8
+ * ```
9
+ */
10
+ const stripJsdocLine = (line) => line.replace(/^\s*\*? ?/u, "").trimEnd();
11
+ /**
12
+ * Defines trimEmptyEdges.
13
+ * @param lines Input lines value.
14
+ * @returns Return value output.
15
+ * @example
16
+ * ```typescript
17
+ * trimEmptyEdges();
18
+ * ```
19
+ */
20
+ const trimEmptyEdges = (lines) => {
21
+ let start = 0;
22
+ let end = lines.length - 1;
23
+ while (start <= end && lines[start]?.length === 0) {
24
+ start += 1;
25
+ }
26
+ while (end >= start && lines[end]?.length === 0) {
27
+ end -= 1;
28
+ }
29
+ return lines.slice(start, end + 1);
30
+ };
31
+ /**
32
+ * Gets getContentLines.
33
+ * @param commentValue Input commentValue value.
34
+ * @returns Return value output.
35
+ * @example
36
+ * ```typescript
37
+ * getContentLines();
38
+ * ```
39
+ */
40
+ const getContentLines = (commentValue) => {
41
+ const lines = commentValue
42
+ .split(/\r?\n/u)
43
+ .map((line) => stripJsdocLine(line))
44
+ .map((line) => line.trim());
45
+ return trimEmptyEdges(lines);
46
+ };
47
+ /**
48
+ * Checks shouldSkipContent.
49
+ * @param lines Input lines value.
50
+ * @returns Return value output.
51
+ * @example
52
+ * ```typescript
53
+ * shouldSkipContent();
54
+ * ```
55
+ */
56
+ const shouldSkipContent = (lines) => {
57
+ if (lines.length === 0) {
58
+ return true;
59
+ }
60
+ if (lines.some((line) => line.length === 0)) {
61
+ return true;
62
+ }
63
+ return lines.some((line) => line.startsWith("@"));
64
+ };
65
+ /**
66
+ * Defines collapseContent.
67
+ * @param lines Input lines value.
68
+ * @returns Return value output.
69
+ * @example
70
+ * ```typescript
71
+ * collapseContent();
72
+ * ```
73
+ */
74
+ const collapseContent = (lines) => lines.join(" ").replaceAll(/\s+/gu, " ").trim();
75
+ /**
76
+ * Gets getCollapsedContent.
77
+ * @param comment Input comment value.
78
+ * @returns Return value output.
79
+ * @example
80
+ * ```typescript
81
+ * getCollapsedContent();
82
+ * ```
83
+ */
84
+ const getCollapsedContent = (comment) => {
85
+ const contentLines = getContentLines(comment.value);
86
+ if (shouldSkipContent(contentLines)) {
87
+ return void 0;
88
+ }
89
+ if (contentLines.length !== 1) {
90
+ return void 0;
91
+ }
92
+ return collapseContent(contentLines);
93
+ };
94
+ export { getCollapsedContent };
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWxpbmUtanNkb2MtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9zaW5nbGUtbGluZS1qc2RvYy1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUUzQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFZLEVBQUU7SUFDbkQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFM0IsT0FBTyxLQUFLLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbEQsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxPQUFPLEdBQUcsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxZQUFvQixFQUFZLEVBQUU7SUFDekQsTUFBTSxLQUFLLEdBQUcsWUFBWTtTQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ2YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU5QixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFlLEVBQVcsRUFBRTtJQUNyRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWUsRUFBVSxFQUFFLENBQ2xELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUVsRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFnQixFQUFzQixFQUFFO0lBQ25FLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEQsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBDb21tZW50ID0gUmV0dXJuVHlwZTxcbiAgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl1bXCJnZXRBbGxDb21tZW50c1wiXVxuPltudW1iZXJdO1xuXG4vKipcbiAqIERlZmluZXMgc3RyaXBKc2RvY0xpbmUuXG4gKiBAcGFyYW0gbGluZSBJbnB1dCBsaW5lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzdHJpcEpzZG9jTGluZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHN0cmlwSnNkb2NMaW5lID0gKGxpbmU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBsaW5lLnJlcGxhY2UoL15cXHMqXFwqPyA/L3UsIFwiXCIpLnRyaW1FbmQoKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRyaW1FbXB0eUVkZ2VzLlxuICogQHBhcmFtIGxpbmVzIElucHV0IGxpbmVzIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0cmltRW1wdHlFZGdlcygpO1xuICogYGBgXG4gKi9cbmNvbnN0IHRyaW1FbXB0eUVkZ2VzID0gKGxpbmVzOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgbGV0IHN0YXJ0ID0gMDtcbiAgbGV0IGVuZCA9IGxpbmVzLmxlbmd0aCAtIDE7XG5cbiAgd2hpbGUgKHN0YXJ0IDw9IGVuZCAmJiBsaW5lc1tzdGFydF0/Lmxlbmd0aCA9PT0gMCkge1xuICAgIHN0YXJ0ICs9IDE7XG4gIH1cblxuICB3aGlsZSAoZW5kID49IHN0YXJ0ICYmIGxpbmVzW2VuZF0/Lmxlbmd0aCA9PT0gMCkge1xuICAgIGVuZCAtPSAxO1xuICB9XG5cbiAgcmV0dXJuIGxpbmVzLnNsaWNlKHN0YXJ0LCBlbmQgKyAxKTtcbn07XG5cbi8qKlxuICogR2V0cyBnZXRDb250ZW50TGluZXMuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIElucHV0IGNvbW1lbnRWYWx1ZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0Q29udGVudExpbmVzKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0Q29udGVudExpbmVzID0gKGNvbW1lbnRWYWx1ZTogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBsaW5lcyA9IGNvbW1lbnRWYWx1ZVxuICAgIC5zcGxpdCgvXFxyP1xcbi91KVxuICAgIC5tYXAoKGxpbmUpID0+IHN0cmlwSnNkb2NMaW5lKGxpbmUpKVxuICAgIC5tYXAoKGxpbmUpID0+IGxpbmUudHJpbSgpKTtcblxuICByZXR1cm4gdHJpbUVtcHR5RWRnZXMobGluZXMpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgc2hvdWxkU2tpcENvbnRlbnQuXG4gKiBAcGFyYW0gbGluZXMgSW5wdXQgbGluZXMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHNob3VsZFNraXBDb250ZW50KCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgc2hvdWxkU2tpcENvbnRlbnQgPSAobGluZXM6IHN0cmluZ1tdKTogYm9vbGVhbiA9PiB7XG4gIGlmIChsaW5lcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChsaW5lcy5zb21lKChsaW5lKSA9PiBsaW5lLmxlbmd0aCA9PT0gMCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBsaW5lcy5zb21lKChsaW5lKSA9PiBsaW5lLnN0YXJ0c1dpdGgoXCJAXCIpKTtcbn07XG5cbi8qKlxuICogRGVmaW5lcyBjb2xsYXBzZUNvbnRlbnQuXG4gKiBAcGFyYW0gbGluZXMgSW5wdXQgbGluZXMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbGxhcHNlQ29udGVudCgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNvbGxhcHNlQ29udGVudCA9IChsaW5lczogc3RyaW5nW10pOiBzdHJpbmcgPT5cbiAgbGluZXMuam9pbihcIiBcIikucmVwbGFjZUFsbCgvXFxzKy9ndSwgXCIgXCIpLnRyaW0oKTtcblxuLyoqXG4gKiBHZXRzIGdldENvbGxhcHNlZENvbnRlbnQuXG4gKiBAcGFyYW0gY29tbWVudCBJbnB1dCBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRDb2xsYXBzZWRDb250ZW50KCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0Q29sbGFwc2VkQ29udGVudCA9IChjb21tZW50OiBDb21tZW50KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgY29udGVudExpbmVzID0gZ2V0Q29udGVudExpbmVzKGNvbW1lbnQudmFsdWUpO1xuXG4gIGlmIChzaG91bGRTa2lwQ29udGVudChjb250ZW50TGluZXMpKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGlmIChjb250ZW50TGluZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiBjb2xsYXBzZUNvbnRlbnQoY29udGVudExpbmVzKTtcbn07XG5cbmV4cG9ydCB7IGdldENvbGxhcHNlZENvbnRlbnQgfTtcbmV4cG9ydCB0eXBlIHsgQ29tbWVudCB9O1xuIl19
@@ -1,5 +1,5 @@
1
1
  import type { Rule } from "eslint";
2
- import type { Comment } from "./single-line-jsdoc-content";
2
+ import type { Comment } from "./single-line-jsdoc-content.js";
3
3
  /**
4
4
  * Normalizes normalizeMaxLineLength.
5
5
  * @param options Input options value.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-line-jsdoc-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAa3D;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB,GAAI,SAAS,SAAS,OAAO,EAAE,KAAG,MAU7D,CAAC;AAiHF;;;;;;;;;GASG;AACH,QAAA,MAAM,kBAAkB,GACtB,SAAS,IAAI,CAAC,WAAW,EACzB,SAAS,OAAO,EAChB,eAAe,MAAM,KACpB,IAsBF,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,140 @@
1
+ import { getCollapsedContent } from "./single-line-jsdoc-content.js";
2
+ /** Default value used by this module. */
3
+ const DEFAULT_MAX_LINE_LENGTH = 80;
4
+ /**
5
+ * Normalizes normalizeMaxLineLength.
6
+ * @param options Input options value.
7
+ * @returns Return value output.
8
+ * @example
9
+ * ```typescript
10
+ * normalizeMaxLineLength();
11
+ * ```
12
+ */
13
+ const normalizeMaxLineLength = (options) => {
14
+ const rawOptions = options[0];
15
+ const maxLineLength = rawOptions?.maxLineLength;
16
+ if (typeof maxLineLength === "number" && Number.isFinite(maxLineLength)) {
17
+ const normalized = Math.floor(maxLineLength);
18
+ return normalized > 0 ? normalized : DEFAULT_MAX_LINE_LENGTH;
19
+ }
20
+ return DEFAULT_MAX_LINE_LENGTH;
21
+ };
22
+ /**
23
+ * Checks isMultilineComment.
24
+ * @param comment Input comment value.
25
+ * @returns Return value output.
26
+ * @example
27
+ * ```typescript
28
+ * isMultilineComment();
29
+ * ```
30
+ */
31
+ const isMultilineComment = (comment) => {
32
+ const { loc, value } = comment;
33
+ if (loc === null || loc === void 0) {
34
+ return /\r|\n/u.test(value);
35
+ }
36
+ return loc.start.line !== loc.end.line;
37
+ };
38
+ /**
39
+ * Build a single-line JSDoc string from content.
40
+ * @param content Input content value.
41
+ * @returns Return value output.
42
+ * @example
43
+ * ```typescript
44
+ * const text = buildSingleLineText("ok");
45
+ * ```
46
+ */
47
+ const buildSingleLineText = (content) => `/** ${content} */`;
48
+ /**
49
+ * Creates a fixer for replacing a JSDoc range.
50
+ * @param range Input range value.
51
+ * @param replacementText Input replacementText value.
52
+ * @returns Fixer function for ESLint.
53
+ * @example
54
+ * ```typescript
55
+ * const fixer = createFix([0, 1], "/** ok *\\/");
56
+ * ```
57
+ */
58
+ const createFix = (range, replacementText) => {
59
+ return (fixer) => fixer.replaceTextRange(range, replacementText);
60
+ };
61
+ /**
62
+ * Checks isJsdocComment.
63
+ * @param comment Input comment value.
64
+ * @returns Return value output.
65
+ * @example
66
+ * ```typescript
67
+ * isJsdocComment();
68
+ * ```
69
+ */
70
+ const isJsdocComment = (comment) => comment.type === "Block" && comment.value.startsWith("*");
71
+ /**
72
+ * Gets getStartColumn.
73
+ * @param comment Input comment value.
74
+ * @returns Return value output.
75
+ * @example
76
+ * ```typescript
77
+ * getStartColumn();
78
+ * ```
79
+ */
80
+ const getStartColumn = (comment) => {
81
+ const { loc } = comment;
82
+ if (loc === null || loc === void 0) {
83
+ return void 0;
84
+ }
85
+ return loc.start.column;
86
+ };
87
+ /**
88
+ * Builds a single-line replacement when it fits.
89
+ * @param comment Input comment value.
90
+ * @param maxLineLength Input maxLineLength value.
91
+ * @returns Replacement text when available.
92
+ * @example
93
+ * ```typescript
94
+ * const text = getSingleLineReplacement(comment, 80);
95
+ * ```
96
+ */
97
+ const getSingleLineReplacement = (comment, maxLineLength) => {
98
+ if (!isMultilineComment(comment)) {
99
+ return void 0;
100
+ }
101
+ const content = getCollapsedContent(comment);
102
+ const startColumn = getStartColumn(comment);
103
+ if (content === void 0 || startColumn === void 0) {
104
+ return void 0;
105
+ }
106
+ const singleLineText = buildSingleLineText(content);
107
+ return startColumn + singleLineText.length > maxLineLength
108
+ ? void 0
109
+ : singleLineText;
110
+ };
111
+ /**
112
+ * Reports a comment when it can be collapsed to a single line.
113
+ * @param context Input context value.
114
+ * @param comment Input comment value.
115
+ * @param maxLineLength Input maxLineLength value.
116
+ * @example
117
+ * ```typescript
118
+ * reportIfSingleLine(context, comment, 80);
119
+ * ```
120
+ */
121
+ const reportIfSingleLine = (context, comment, maxLineLength) => {
122
+ if (!isJsdocComment(comment)) {
123
+ return;
124
+ }
125
+ const singleLineText = getSingleLineReplacement(comment, maxLineLength);
126
+ if (singleLineText === void 0) {
127
+ return;
128
+ }
129
+ const { loc, range } = comment;
130
+ if (loc === null || loc === void 0 || range === void 0) {
131
+ return;
132
+ }
133
+ context.report({
134
+ fix: createFix(range, singleLineText),
135
+ loc,
136
+ messageId: "singleLine",
137
+ });
138
+ };
139
+ export { normalizeMaxLineLength, reportIfSingleLine };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWxpbmUtanNkb2MtdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3NpbmdsZS1saW5lLWpzZG9jL3NpbmdsZS1saW5lLWpzZG9jLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSx5Q0FBeUM7QUFDekMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFRbkM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsT0FBMkIsRUFBVSxFQUFFO0lBQ3JFLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQXVDLENBQUM7SUFDcEUsTUFBTSxhQUFhLEdBQUcsVUFBVSxFQUFFLGFBQWEsQ0FBQztJQUVoRCxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDeEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxPQUFPLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sdUJBQXVCLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBZ0IsRUFBVyxFQUFFO0lBQ3ZELE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRS9CLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIs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QUM7QUFDTCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBDb21tZW50IH0gZnJvbSBcIi4vc2luZ2xlLWxpbmUtanNkb2MtY29udGVudFwiO1xuXG5pbXBvcnQgeyBnZXRDb2xsYXBzZWRDb250ZW50IH0gZnJvbSBcIi4vc2luZ2xlLWxpbmUtanNkb2MtY29udGVudFwiO1xuXG4vKiogRGVmYXVsdCB2YWx1ZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAqL1xuY29uc3QgREVGQVVMVF9NQVhfTElORV9MRU5HVEggPSA4MDtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFNpbmdsZUxpbmVKc2RvY09wdGlvbnMge1xuICAvKiogTWF4TGluZUxlbmd0aCBoZWxwZXIgdmFsdWUuICovXG4gIG1heExpbmVMZW5ndGg/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBub3JtYWxpemVNYXhMaW5lTGVuZ3RoLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbm9ybWFsaXplTWF4TGluZUxlbmd0aCgpO1xuICogYGBgXG4gKi9cbmNvbnN0IG5vcm1hbGl6ZU1heExpbmVMZW5ndGggPSAob3B0aW9uczogcmVhZG9ubHkgdW5rbm93bltdKTogbnVtYmVyID0+IHtcbiAgY29uc3QgcmF3T3B0aW9ucyA9IG9wdGlvbnNbMF0gYXMgU2luZ2xlTGluZUpzZG9jT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgbWF4TGluZUxlbmd0aCA9IHJhd09wdGlvbnM/Lm1heExpbmVMZW5ndGg7XG5cbiAgaWYgKHR5cGVvZiBtYXhMaW5lTGVuZ3RoID09PSBcIm51bWJlclwiICYmIE51bWJlci5pc0Zpbml0ZShtYXhMaW5lTGVuZ3RoKSkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBNYXRoLmZsb29yKG1heExpbmVMZW5ndGgpO1xuICAgIHJldHVybiBub3JtYWxpemVkID4gMCA/IG5vcm1hbGl6ZWQgOiBERUZBVUxUX01BWF9MSU5FX0xFTkdUSDtcbiAgfVxuXG4gIHJldHVybiBERUZBVUxUX01BWF9MSU5FX0xFTkdUSDtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlzTXVsdGlsaW5lQ29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzTXVsdGlsaW5lQ29tbWVudCgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzTXVsdGlsaW5lQ29tbWVudCA9IChjb21tZW50OiBDb21tZW50KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHsgbG9jLCB2YWx1ZSB9ID0gY29tbWVudDtcblxuICBpZiAobG9jID09PSBudWxsIHx8IGxvYyA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIC9cXHJ8XFxuL3UudGVzdCh2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4gbG9jLnN0YXJ0LmxpbmUgIT09IGxvYy5lbmQubGluZTtcbn07XG5cbi8qKlxuICogQnVpbGQgYSBzaW5nbGUtbGluZSBKU0RvYyBzdHJpbmcgZnJvbSBjb250ZW50LlxuICogQHBhcmFtIGNvbnRlbnQgSW5wdXQgY29udGVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGJ1aWxkU2luZ2xlTGluZVRleHQoXCJva1wiKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZFNpbmdsZUxpbmVUZXh0ID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyA9PiBgLyoqICR7Y29udGVudH0gKi9gO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmaXhlciBmb3IgcmVwbGFjaW5nIGEgSlNEb2MgcmFuZ2UuXG4gKiBAcGFyYW0gcmFuZ2UgSW5wdXQgcmFuZ2UgdmFsdWUuXG4gKiBAcGFyYW0gcmVwbGFjZW1lbnRUZXh0IElucHV0IHJlcGxhY2VtZW50VGV4dCB2YWx1ZS5cbiAqIEByZXR1cm5zIEZpeGVyIGZ1bmN0aW9uIGZvciBFU0xpbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ZXIgPSBjcmVhdGVGaXgoWzAsIDFdLCBcIi8qKiBvayAqXFxcXC9cIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRml4ID0gKFxuICByYW5nZTogW251bWJlciwgbnVtYmVyXSxcbiAgcmVwbGFjZW1lbnRUZXh0OiBzdHJpbmcsXG4pOiBSdWxlLlJlcG9ydEZpeGVyID0+IHtcbiAgcmV0dXJuIChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeCA9PlxuICAgIGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UocmFuZ2UsIHJlcGxhY2VtZW50VGV4dCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpc0pzZG9jQ29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzSnNkb2NDb21tZW50KCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNKc2RvY0NvbW1lbnQgPSAoY29tbWVudDogQ29tbWVudCk6IGJvb2xlYW4gPT5cbiAgY29tbWVudC50eXBlID09PSBcIkJsb2NrXCIgJiYgY29tbWVudC52YWx1ZS5zdGFydHNXaXRoKFwiKlwiKTtcblxuLyoqXG4gKiBHZXRzIGdldFN0YXJ0Q29sdW1uLlxuICogQHBhcmFtIGNvbW1lbnQgSW5wdXQgY29tbWVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0U3RhcnRDb2x1bW4oKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRTdGFydENvbHVtbiA9IChjb21tZW50OiBDb21tZW50KTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgeyBsb2MgfSA9IGNvbW1lbnQ7XG5cbiAgaWYgKGxvYyA9PT0gbnVsbCB8fCBsb2MgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICByZXR1cm4gbG9jLnN0YXJ0LmNvbHVtbjtcbn07XG5cbi8qKlxuICogQnVpbGRzIGEgc2luZ2xlLWxpbmUgcmVwbGFjZW1lbnQgd2hlbiBpdCBmaXRzLlxuICogQHBhcmFtIGNvbW1lbnQgSW5wdXQgY29tbWVudCB2YWx1ZS5cbiAqIEBwYXJhbSBtYXhMaW5lTGVuZ3RoIElucHV0IG1heExpbmVMZW5ndGggdmFsdWUuXG4gKiBAcmV0dXJucyBSZXBsYWNlbWVudCB0ZXh0IHdoZW4gYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRleHQgPSBnZXRTaW5nbGVMaW5lUmVwbGFjZW1lbnQoY29tbWVudCwgODApO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFNpbmdsZUxpbmVSZXBsYWNlbWVudCA9IChcbiAgY29tbWVudDogQ29tbWVudCxcbiAgbWF4TGluZUxlbmd0aDogbnVtYmVyLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFpc011bHRpbGluZUNvbW1lbnQoY29tbWVudCkpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgY29udGVudCA9IGdldENvbGxhcHNlZENvbnRlbnQoY29tbWVudCk7XG4gIGNvbnN0IHN0YXJ0Q29sdW1uID0gZ2V0U3RhcnRDb2x1bW4oY29tbWVudCk7XG5cbiAgaWYgKGNvbnRlbnQgPT09IHZvaWQgMCB8fCBzdGFydENvbHVtbiA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHNpbmdsZUxpbmVUZXh0ID0gYnVpbGRTaW5nbGVMaW5lVGV4dChjb250ZW50KTtcblxuICByZXR1cm4gc3RhcnRDb2x1bW4gKyBzaW5nbGVMaW5lVGV4dC5sZW5ndGggPiBtYXhMaW5lTGVuZ3RoXG4gICAgPyB2b2lkIDBcbiAgICA6IHNpbmdsZUxpbmVUZXh0O1xufTtcblxuLyoqXG4gKiBSZXBvcnRzIGEgY29tbWVudCB3aGVuIGl0IGNhbiBiZSBjb2xsYXBzZWQgdG8gYSBzaW5nbGUgbGluZS5cbiAqIEBwYXJhbSBjb250ZXh0IElucHV0IGNvbnRleHQgdmFsdWUuXG4gKiBAcGFyYW0gY29tbWVudCBJbnB1dCBjb21tZW50IHZhbHVlLlxuICogQHBhcmFtIG1heExpbmVMZW5ndGggSW5wdXQgbWF4TGluZUxlbmd0aCB2YWx1ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRJZlNpbmdsZUxpbmUoY29udGV4dCwgY29tbWVudCwgODApO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlcG9ydElmU2luZ2xlTGluZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgY29tbWVudDogQ29tbWVudCxcbiAgbWF4TGluZUxlbmd0aDogbnVtYmVyLFxuKTogdm9pZCA9PiB7XG4gIGlmICghaXNKc2RvY0NvbW1lbnQoY29tbWVudCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzaW5nbGVMaW5lVGV4dCA9IGdldFNpbmdsZUxpbmVSZXBsYWNlbWVudChjb21tZW50LCBtYXhMaW5lTGVuZ3RoKTtcblxuICBpZiAoc2luZ2xlTGluZVRleHQgPT09IHZvaWQgMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgbG9jLCByYW5nZSB9ID0gY29tbWVudDtcblxuICBpZiAobG9jID09PSBudWxsIHx8IGxvYyA9PT0gdm9pZCAwIHx8IHJhbmdlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgZml4OiBjcmVhdGVGaXgocmFuZ2UsIHNpbmdsZUxpbmVUZXh0KSxcbiAgICBsb2MsXG4gICAgbWVzc2FnZUlkOiBcInNpbmdsZUxpbmVcIixcbiAgfSk7XG59O1xuXG5leHBvcnQgeyBub3JtYWxpemVNYXhMaW5lTGVuZ3RoLCByZXBvcnRJZlNpbmdsZUxpbmUgfTtcbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/domain/docs/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,UAAU,cAAc;IACtB,wBAAwB;IACxB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;CAC3C;AAED,qCAAqC;AACrC,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;AAE7D;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW,QAAO,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAqBpD,CAAC;AAcH;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU,GAAI,YAAY,SAAS,KAAG,MAAM,GAAG,SASpD,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,QAAQ,GAAI,SAAS,cAAc,EAAE,KAAG,IAAI,CAAC,GAAG,EAiBrD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,UAAU,GAAI,YAAY,MAAM,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,KAAG,MAgB3D,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}