@codeperfect/eslint-plugin 1.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/README.md +26 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
  4. package/dist/application/custom-rules.d.ts.map +1 -0
  5. package/dist/application/custom-rules.js +74 -0
  6. package/dist/application/index.d.ts +4 -0
  7. package/dist/application/index.d.ts.map +1 -0
  8. package/dist/application/index.js +3 -0
  9. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
  12. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
  13. package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
  17. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
  18. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
  19. package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
  20. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
  22. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
  23. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +145 -0
  24. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
  25. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
  26. package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
  27. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
  28. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +90 -0
  29. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
  30. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
  31. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
  32. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
  33. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
  34. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
  35. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
  36. package/dist/domain/architecture/consistent-barrel-files/rule.js +51 -0
  37. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
  38. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
  39. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
  40. package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
  41. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
  42. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
  43. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
  44. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
  45. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
  46. package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
  47. package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
  48. package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
  49. package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
  50. package/dist/domain/architecture/index.d.ts.map +1 -0
  51. package/dist/domain/architecture/index.js +2 -0
  52. package/dist/{core → domain/core}/index.d.ts +2 -2
  53. package/dist/domain/core/index.d.ts.map +1 -0
  54. package/dist/domain/core/index.js +3 -0
  55. package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
  56. package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
  57. package/dist/domain/core/no-multiple-declarators/index.js +2 -0
  58. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
  59. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
  60. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
  61. package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
  62. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
  63. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
  64. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
  65. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
  66. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
  67. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
  68. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
  69. package/dist/domain/core/no-multiple-declarators/rule.js +222 -0
  70. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
  71. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
  72. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
  73. package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
  74. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
  75. package/dist/domain/core/no-multiple-declarators/types.js +38 -0
  76. package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
  77. package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
  78. package/dist/domain/core/prefer-interface-types/index.js +2 -0
  79. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
  80. package/dist/domain/core/prefer-interface-types/rule.js +148 -0
  81. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
  82. package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
  83. package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +3 -1
  84. package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
  85. package/dist/domain/custom-rule-documentation.js +36 -0
  86. package/dist/domain/docs/index.d.ts +4 -0
  87. package/dist/domain/docs/index.d.ts.map +1 -0
  88. package/dist/domain/docs/index.js +4 -0
  89. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
  90. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
  91. package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
  92. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
  93. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
  94. package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
  95. package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
  96. package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
  97. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
  98. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
  99. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
  100. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
  101. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
  102. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
  103. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
  104. package/dist/domain/docs/no-interface-member-docs/rule.js +171 -0
  105. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  106. package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.js +2 -2
  107. package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
  108. package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
  109. package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
  110. package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
  111. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
  112. package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
  113. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
  114. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
  115. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
  116. package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
  117. package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
  118. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
  119. package/dist/domain/docs/require-example-language/examples.js +181 -0
  120. package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
  121. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
  122. package/dist/domain/docs/require-example-language/fixes.js +182 -0
  123. package/dist/domain/docs/require-example-language/index.d.ts +3 -0
  124. package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
  125. package/dist/domain/docs/require-example-language/index.js +2 -0
  126. package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
  127. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
  128. package/dist/domain/docs/require-example-language/reporting.js +148 -0
  129. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
  130. package/dist/domain/docs/require-example-language/rule.js +37 -0
  131. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
  132. package/dist/domain/docs/require-example-language/types.js +2 -0
  133. package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
  134. package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
  135. package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
  136. package/dist/domain/docs/single-line-jsdoc/rule.d.ts +4 -0
  137. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  138. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
  139. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
  140. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
  141. package/dist/domain/docs/single-line-jsdoc/rule.js +201 -0
  142. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
  143. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
  144. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
  145. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  146. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  147. package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
  148. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  149. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  150. package/dist/domain/docs/test-helpers.d.ts.map +1 -0
  151. package/dist/domain/docs/test-helpers.js +107 -0
  152. package/dist/domain/index.d.ts +6 -0
  153. package/dist/domain/index.d.ts.map +1 -0
  154. package/dist/domain/index.js +6 -0
  155. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +34 -0
  156. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
  157. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +145 -0
  158. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
  159. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +203 -0
  160. package/dist/domain/testing/aaa/analyzer.analysis.js +82 -0
  161. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +4 -0
  162. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +1 -0
  163. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +4 -0
  164. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +18 -0
  165. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
  166. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +4 -0
  167. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +1 -0
  168. package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +4 -0
  169. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +95 -0
  170. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
  171. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +185 -0
  172. package/dist/domain/testing/aaa/analyzer.assertions.js +33 -0
  173. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +64 -0
  174. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
  175. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +105 -0
  176. package/dist/domain/testing/aaa/analyzer.classification.d.ts +16 -0
  177. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
  178. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +77 -0
  179. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
  180. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +203 -0
  181. package/dist/domain/testing/aaa/analyzer.classification.js +31 -0
  182. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
  183. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
  184. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
  185. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +4 -0
  186. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +1 -0
  187. package/dist/domain/testing/aaa/analyzer.classification.mutations.js +4 -0
  188. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +15 -0
  189. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
  190. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +34 -0
  191. package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
  192. package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
  193. package/dist/domain/testing/aaa/analyzer.js +59 -0
  194. package/dist/domain/testing/aaa/analyzer.super.d.ts +106 -0
  195. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
  196. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +27 -0
  197. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
  198. package/dist/domain/testing/aaa/analyzer.super.helpers.js +66 -0
  199. package/dist/domain/testing/aaa/analyzer.super.js +211 -0
  200. package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
  201. package/dist/domain/testing/aaa/index.d.ts.map +1 -0
  202. package/dist/domain/testing/aaa/index.js +2 -0
  203. package/dist/domain/testing/aaa/types.d.ts +58 -0
  204. package/dist/domain/testing/aaa/types.d.ts.map +1 -0
  205. package/dist/domain/testing/aaa/types.js +2 -0
  206. package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
  207. package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  208. package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
  209. package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
  210. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  211. package/dist/domain/testing/assert-actual-expected-names/rule.js +116 -0
  212. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  213. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  214. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
  215. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
  216. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
  217. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
  218. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
  219. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
  220. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
  221. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +4 -0
  222. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +1 -0
  223. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +4 -0
  224. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +4 -0
  225. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +1 -0
  226. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +4 -0
  227. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
  228. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
  229. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
  230. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
  231. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
  232. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
  233. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
  234. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
  235. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
  236. package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
  237. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  238. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +37 -0
  239. package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
  240. package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  241. package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
  242. package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
  243. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  244. package/dist/domain/testing/enforce-aaa-structure/rule.js +88 -0
  245. package/dist/{testing → domain/testing}/index.d.ts +9 -8
  246. package/dist/domain/testing/index.d.ts.map +1 -0
  247. package/dist/domain/testing/index.js +10 -0
  248. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
  249. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
  250. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
  251. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
  252. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
  253. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
  254. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
  255. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
  256. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
  257. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
  258. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  259. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
  260. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  261. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  262. package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
  263. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
  264. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  265. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  266. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
  267. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  268. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
  269. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  270. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  271. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
  272. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  273. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  274. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
  275. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  276. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  277. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  278. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  279. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
  280. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  281. package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
  282. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
  283. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
  284. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
  285. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  286. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +39 -0
  287. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
  288. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  289. package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +97 -0
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +174 -0
  293. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
  294. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
  295. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
  296. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
  297. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
  298. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +84 -0
  299. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
  300. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
  301. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +195 -0
  302. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
  303. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
  304. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +96 -0
  305. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
  306. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
  307. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
  308. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
  309. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
  310. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
  311. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
  312. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
  313. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
  314. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
  315. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
  316. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +88 -0
  317. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
  318. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
  319. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
  320. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
  321. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
  322. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
  323. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
  324. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
  325. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
  326. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +187 -0
  327. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
  328. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
  329. package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
  330. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
  331. package/dist/domain/testing/require-aaa-sections/index.js +2 -0
  332. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
  333. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
  334. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
  335. package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
  336. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
  337. package/dist/domain/testing/require-aaa-sections/rule.js +134 -0
  338. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
  339. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
  340. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +216 -0
  341. package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
  342. package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
  343. package/dist/domain/testing/require-act-result-capture/index.js +2 -0
  344. package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
  345. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
  346. package/dist/domain/testing/require-act-result-capture/rule.js +109 -0
  347. package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
  348. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
  349. package/dist/domain/testing/require-test-companion/index.js +3 -0
  350. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
  351. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  352. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  353. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  354. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
  355. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
  356. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  357. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
  358. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
  359. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  360. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  361. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
  362. package/dist/domain/testing/require-test-companion/rule.js +82 -0
  363. package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
  364. package/dist/domain/testing/require-test-companion/types.js +2 -0
  365. package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
  366. package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
  367. package/dist/domain/testing/single-act-statement/index.js +2 -0
  368. package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
  369. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
  370. package/dist/domain/testing/single-act-statement/rule.js +37 -0
  371. package/dist/index.d.ts +4 -5
  372. package/dist/index.d.ts.map +1 -1
  373. package/dist/index.js +3 -6
  374. package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
  375. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
  376. package/dist/infrastructure/codeperfect-plugin.js +30 -0
  377. package/dist/infrastructure/index.d.ts +5 -0
  378. package/dist/infrastructure/index.d.ts.map +1 -0
  379. package/dist/infrastructure/index.js +4 -0
  380. package/dist/infrastructure/presets.d.ts +18 -0
  381. package/dist/infrastructure/presets.d.ts.map +1 -0
  382. package/dist/infrastructure/presets.js +81 -0
  383. package/package.json +67 -32
  384. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
  385. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
  386. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
  387. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
  388. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
  389. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  390. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
  391. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
  392. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
  393. package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
  394. package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
  395. package/dist/architecture/consistent-barrel-files/index.js +0 -4
  396. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
  397. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
  398. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  399. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
  400. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
  401. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
  402. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
  403. package/dist/architecture/consistent-barrel-files/rule.js +0 -58
  404. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  405. package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
  406. package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
  407. package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
  408. package/dist/architecture/consistent-barrel-files/types.js +0 -2
  409. package/dist/architecture/index.d.ts.map +0 -1
  410. package/dist/architecture/index.js +0 -2
  411. package/dist/benchmark-rules.d.ts +0 -83
  412. package/dist/benchmark-rules.d.ts.map +0 -1
  413. package/dist/benchmark-rules.js +0 -175
  414. package/dist/codeperfect-plugin.d.ts.map +0 -1
  415. package/dist/codeperfect-plugin.js +0 -29
  416. package/dist/core/index.d.ts.map +0 -1
  417. package/dist/core/index.js +0 -3
  418. package/dist/core/no-multiple-declarators/index.d.ts +0 -2
  419. package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
  420. package/dist/core/no-multiple-declarators/index.js +0 -2
  421. package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
  422. package/dist/core/no-multiple-declarators/rule.js +0 -100
  423. package/dist/core/prefer-interface-types/index.d.ts +0 -2
  424. package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
  425. package/dist/core/prefer-interface-types/index.js +0 -2
  426. package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
  427. package/dist/core/prefer-interface-types/rule.js +0 -145
  428. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  429. package/dist/core/prefer-interface-types/test-helpers.js +0 -116
  430. package/dist/custom-rule-documentation.d.ts.map +0 -1
  431. package/dist/custom-rule-documentation.js +0 -35
  432. package/dist/custom-rules.d.ts.map +0 -1
  433. package/dist/custom-rules.js +0 -70
  434. package/dist/docs/index.d.ts +0 -4
  435. package/dist/docs/index.d.ts.map +0 -1
  436. package/dist/docs/index.js +0 -4
  437. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  438. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  439. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
  440. package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
  441. package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
  442. package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
  443. package/dist/docs/no-interface-member-docs/index.js +0 -2
  444. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
  445. package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
  446. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
  447. package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
  448. package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
  449. package/dist/docs/no-interface-member-docs/rule.js +0 -168
  450. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  451. package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
  452. package/dist/docs/no-interface-member-docs/types.js +0 -2
  453. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
  454. package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
  455. package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
  456. package/dist/docs/require-example-language/example-utilities.js +0 -76
  457. package/dist/docs/require-example-language/examples.d.ts.map +0 -1
  458. package/dist/docs/require-example-language/examples.js +0 -181
  459. package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
  460. package/dist/docs/require-example-language/fixes.js +0 -182
  461. package/dist/docs/require-example-language/index.d.ts +0 -3
  462. package/dist/docs/require-example-language/index.d.ts.map +0 -1
  463. package/dist/docs/require-example-language/index.js +0 -2
  464. package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
  465. package/dist/docs/require-example-language/reporting.js +0 -145
  466. package/dist/docs/require-example-language/rule.d.ts.map +0 -1
  467. package/dist/docs/require-example-language/rule.js +0 -34
  468. package/dist/docs/require-example-language/types.d.ts.map +0 -1
  469. package/dist/docs/require-example-language/types.js +0 -2
  470. package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
  471. package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
  472. package/dist/docs/single-line-jsdoc/index.js +0 -2
  473. package/dist/docs/single-line-jsdoc/rule.d.ts +0 -5
  474. package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
  475. package/dist/docs/single-line-jsdoc/rule.js +0 -196
  476. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
  477. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
  478. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
  479. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
  480. package/dist/docs/test-helpers.d.ts.map +0 -1
  481. package/dist/docs/test-helpers.js +0 -107
  482. package/dist/presets.d.ts +0 -10
  483. package/dist/presets.d.ts.map +0 -1
  484. package/dist/presets.js +0 -50
  485. package/dist/rules/index.d.ts +0 -5
  486. package/dist/rules/index.d.ts.map +0 -1
  487. package/dist/rules/index.js +0 -6
  488. package/dist/testing/aaa/analyzer.d.ts +0 -36
  489. package/dist/testing/aaa/analyzer.d.ts.map +0 -1
  490. package/dist/testing/aaa/analyzer.js +0 -490
  491. package/dist/testing/aaa/index.d.ts.map +0 -1
  492. package/dist/testing/aaa/index.js +0 -2
  493. package/dist/testing/aaa/types.d.ts +0 -31
  494. package/dist/testing/aaa/types.d.ts.map +0 -1
  495. package/dist/testing/aaa/types.js +0 -2
  496. package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
  497. package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
  498. package/dist/testing/assert-actual-expected-names/index.js +0 -2
  499. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
  500. package/dist/testing/assert-actual-expected-names/rule.js +0 -54
  501. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
  502. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
  503. package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
  504. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  505. package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
  506. package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
  507. package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
  508. package/dist/testing/enforce-aaa-structure/index.js +0 -2
  509. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
  510. package/dist/testing/enforce-aaa-structure/rule.js +0 -48
  511. package/dist/testing/index.d.ts.map +0 -1
  512. package/dist/testing/index.js +0 -9
  513. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
  514. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
  515. package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
  516. package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
  517. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
  518. package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
  519. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
  520. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
  521. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
  522. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
  523. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
  524. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
  525. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
  526. package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
  527. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
  528. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
  529. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
  530. package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
  531. package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
  532. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
  533. package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
  534. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
  535. package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
  536. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
  537. package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
  538. package/dist/testing/require-aaa-sections/index.d.ts +0 -2
  539. package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
  540. package/dist/testing/require-aaa-sections/index.js +0 -2
  541. package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
  542. package/dist/testing/require-aaa-sections/rule.js +0 -111
  543. package/dist/testing/require-act-result-capture/index.d.ts +0 -2
  544. package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
  545. package/dist/testing/require-act-result-capture/index.js +0 -2
  546. package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
  547. package/dist/testing/require-act-result-capture/rule.js +0 -34
  548. package/dist/testing/require-test-companion/index.d.ts +0 -3
  549. package/dist/testing/require-test-companion/index.d.ts.map +0 -1
  550. package/dist/testing/require-test-companion/index.js +0 -3
  551. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
  552. package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
  553. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
  554. package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
  555. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  556. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
  557. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  558. package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
  559. package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
  560. package/dist/testing/require-test-companion/rule.js +0 -57
  561. package/dist/testing/require-test-companion/types.d.ts.map +0 -1
  562. package/dist/testing/require-test-companion/types.js +0 -2
  563. package/dist/testing/single-act-statement/index.d.ts +0 -2
  564. package/dist/testing/single-act-statement/index.d.ts.map +0 -1
  565. package/dist/testing/single-act-statement/index.js +0 -2
  566. package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
  567. package/dist/testing/single-act-statement/rule.js +0 -33
  568. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
  569. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
  570. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
  571. /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
  572. /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
  573. /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
  574. /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
  575. /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
  576. /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
  577. /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
  578. /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
  579. /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
  580. /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
  581. /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
  582. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
  583. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
  584. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
  585. /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
  586. /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
  587. /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
@@ -0,0 +1,6 @@
1
+ export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noReexportsOutsideBarrelsRule, } from "./architecture/index.js";
2
+ export { noMultipleDeclaratorsRule, preferInterfaceTypesRule } from "./core/index.js";
3
+ export { createRuleDocumentation, customRuleDocumentationBaseUrl, getCustomRuleDocumentationUrl, } from "./custom-rule-documentation.js";
4
+ export { noInterfaceMemberDocumentationRule, requireExampleLanguageRule, singleLineJsdocRule, } from "./docs/index.js";
5
+ export { assertActualExpectedNamesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noReexportsOutsideBarrelsRule, } from "./architecture/index.js";
2
+ export { noMultipleDeclaratorsRule, preferInterfaceTypesRule } from "./core/index.js";
3
+ export { createRuleDocumentation, customRuleDocumentationBaseUrl, getCustomRuleDocumentationUrl, } from "./custom-rule-documentation.js";
4
+ export { noInterfaceMemberDocumentationRule, requireExampleLanguageRule, singleLineJsdocRule, } from "./docs/index.js";
5
+ export { assertActualExpectedNamesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDZCQUE2QixHQUM5QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLE1BQU0sV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcclxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcclxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxyXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxyXG59IGZyb20gXCIuL2FyY2hpdGVjdHVyZVwiO1xyXG5leHBvcnQgeyBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLCBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUgfSBmcm9tIFwiLi9jb3JlXCI7XHJcbmV4cG9ydCB7XHJcbiAgY3JlYXRlUnVsZURvY3VtZW50YXRpb24sXHJcbiAgY3VzdG9tUnVsZURvY3VtZW50YXRpb25CYXNlVXJsLFxyXG4gIGdldEN1c3RvbVJ1bGVEb2N1bWVudGF0aW9uVXJsLFxyXG59IGZyb20gXCIuL2N1c3RvbS1ydWxlLWRvY3VtZW50YXRpb25cIjtcclxuZXhwb3J0IHtcclxuICBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLFxyXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxyXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXHJcbn0gZnJvbSBcIi4vZG9jc1wiO1xyXG5leHBvcnQge1xyXG4gIGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlLFxyXG4gIGVuZm9yY2VBYWFQaGFzZVB1cml0eVJ1bGUsXHJcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXHJcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxyXG4gIHByZWZlclZpdGVzdEluY3JlbWVudGFsQ2FzdHNSdWxlLFxyXG4gIHJlcXVpcmVBYWFTZWN0aW9uc1J1bGUsXHJcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxyXG4gIHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcclxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxyXG59IGZyb20gXCIuL3Rlc3RpbmdcIjtcclxuIl19
@@ -0,0 +1,34 @@
1
+ import type { Rule } from "eslint";
2
+ import type * as ESTree from "estree";
3
+ import type { TestBlockAnalysis } from "./types.js";
4
+ /** Ordered list of AAA phase names. */
5
+ declare const aaaPhaseOrder: {
6
+ readonly Act: 1;
7
+ readonly Arrange: 0;
8
+ readonly Assert: 2;
9
+ };
10
+ /** Counts Act-phase statements in a test block analysis. */
11
+ declare const countActStatements: (analysis: TestBlockAnalysis) => number;
12
+ /** Flattens multi-phase section comments into one entry per phase. */
13
+ declare const getFlattenedSections: (analysis: Pick<TestBlockAnalysis, "sectionComments">) => import("./analyzer.analysis.helpers.js").FlattenedSection[];
14
+ /** Resolves the leading whitespace for the line containing a source offset. */
15
+ declare const getIndentationAtOffset: (sourceText: string, offset: number) => string;
16
+ /** Returns the start-of-line range for a given source offset. */
17
+ declare const getLineStartRange: (sourceText: string, line: number) => [number, number];
18
+ /** Extracts the phase-boundary section comments from a test block analysis. */
19
+ declare const getPhaseBoundaryComments: (analysis: Pick<TestBlockAnalysis, "sectionComments">) => import("./types.js").SectionComment[];
20
+ /** Parses AAA phase names from a section comment value. */
21
+ declare const getSectionPhases: (commentValue: string) => import("./types.js").AaaPhase[];
22
+ /**
23
+ * Analyzes supported AAA test blocks.
24
+ * @param context Input context value.
25
+ * @param node Input node value.
26
+ * @returns Return value output.
27
+ * @example
28
+ * ```typescript
29
+ * analyzeTestBlock(context, node);
30
+ * ```
31
+ */
32
+ declare function analyzeTestBlock(context: Rule.RuleContext, node: ESTree.CallExpression): TestBlockAnalysis | undefined;
33
+ export { aaaPhaseOrder, analyzeTestBlock, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getPhaseBoundaryComments, getSectionPhases, };
34
+ //# sourceMappingURL=analyzer.analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.analysis.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAA+B,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAiC9E,uCAAuC;AACvC,QAAA,MAAM,aAAa;;;;CAA8B,CAAC;AAElD,4DAA4D;AAC5D,QAAA,MAAM,kBAAkB,yCAA4C,CAAC;AAErE,sEAAsE;AACtE,QAAA,MAAM,oBAAoB,oHAA8C,CAAC;AAEzE,+EAA+E;AAC/E,QAAA,MAAM,sBAAsB,gDAAgD,CAAC;AAE7E,iEAAiE;AACjE,QAAA,MAAM,iBAAiB,wDAA2C,CAAC;AAKnE,+EAA+E;AAC/E,QAAA,MAAM,wBAAwB,8FAE7B,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,gBAAgB,wDAA0C,CAAC;AAQjE;;;;;;;;;GASG;AACH,iBAAS,gBAAgB,CACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,MAAM,CAAC,cAAc,GAC1B,iBAAiB,GAAG,SAAS,CAuC/B;AAED,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,GACjB,CAAC"}
@@ -0,0 +1,145 @@
1
+ import type * as ESTree from "estree";
2
+ import type { AaaPhase, LocatedNode, SourceComment, TestBlockAnalysis } from "./types.js";
3
+ /** Canonical ordering used when comparing AAA phases. */
4
+ declare const aaaPhaseOrder: {
5
+ readonly Act: 1;
6
+ readonly Arrange: 0;
7
+ readonly Assert: 2;
8
+ };
9
+ /** Helper state for flattened section comments. */
10
+ interface FlattenedSection {
11
+ /** Original source comment for the section marker. */
12
+ comment: SourceComment;
13
+ /** Phase represented by the flattened section entry. */
14
+ phase: AaaPhase;
15
+ }
16
+ /** Supported call-expression wrapper for analyzed test blocks. */
17
+ interface SupportedTestCall {
18
+ /** Callback argument that owns the test body. */
19
+ callback: SupportedTestCallback;
20
+ /** Original `it` or `test` invocation. */
21
+ callExpression: LocatedNode<ESTree.CallExpression>;
22
+ }
23
+ /** Supported test callback shape for `it` and `test` calls. */
24
+ type SupportedTestCallback = LocatedNode<ESTree.ArrowFunctionExpression | ESTree.FunctionExpression> & {
25
+ /** Callback body block used for section analysis. */
26
+ body: LocatedNode<ESTree.BlockStatement>;
27
+ };
28
+ /**
29
+ * Counts Act statements.
30
+ * @param analysis Input analysis value.
31
+ * @returns Return value output.
32
+ * @example
33
+ * ```typescript
34
+ * countActStatements(analysis);
35
+ * ```
36
+ */
37
+ declare function countActStatements(analysis: TestBlockAnalysis): number;
38
+ /**
39
+ * Flattens section comments.
40
+ * @param analysis Input analysis value.
41
+ * @returns Return value output.
42
+ * @example
43
+ * ```typescript
44
+ * getFlattenedSections(analysis);
45
+ * ```
46
+ */
47
+ declare function getFlattenedSections(analysis: Pick<TestBlockAnalysis, "sectionComments">): FlattenedSection[];
48
+ /**
49
+ * Gets indentation at an offset.
50
+ * @param sourceText Input sourceText value.
51
+ * @param offset Input offset value.
52
+ * @returns Return value output.
53
+ * @example
54
+ * ```typescript
55
+ * getIndentationAtOffset(sourceText, 4);
56
+ * ```
57
+ */
58
+ declare function getIndentationAtOffset(sourceText: string, offset: number): string;
59
+ /**
60
+ * Gets the start range for a line.
61
+ * @param sourceText Input sourceText value.
62
+ * @param line Input line value.
63
+ * @returns Return value output.
64
+ * @example
65
+ * ```typescript
66
+ * getLineStartRange(sourceText, 2);
67
+ * ```
68
+ */
69
+ declare function getLineStartRange(sourceText: string, line: number): [number, number];
70
+ /**
71
+ * Gets the newline sequence.
72
+ * @param text Input text value.
73
+ * @returns Return value output.
74
+ * @example
75
+ * ```typescript
76
+ * getNewline(sourceText);
77
+ * ```
78
+ */
79
+ declare function getNewline(text: string): "\n" | "\r\n";
80
+ /**
81
+ * Gets phase-boundary comments.
82
+ * @param analysis Input analysis value.
83
+ * @returns Return value output.
84
+ * @example
85
+ * ```typescript
86
+ * getPhaseBoundaryComments(analysis);
87
+ * ```
88
+ */
89
+ declare function getPhaseBoundaryComments(analysis: Pick<TestBlockAnalysis, "sectionComments">): TestBlockAnalysis["sectionComments"];
90
+ /**
91
+ * Parses AAA phases from a comment.
92
+ * @param commentValue Input commentValue value.
93
+ * @returns Return value output.
94
+ * @example
95
+ * ```typescript
96
+ * getSectionPhases("Arrange & Act");
97
+ * ```
98
+ */
99
+ declare function getSectionPhases(commentValue: string): AaaPhase[];
100
+ /**
101
+ * Gets the active phases for a statement.
102
+ * @param statement Input statement value.
103
+ * @param sectionComments Input sectionComments value.
104
+ * @returns Return value output.
105
+ * @example
106
+ * ```typescript
107
+ * getStatementPhases(statement, sectionComments);
108
+ * ```
109
+ */
110
+ declare function getStatementPhases(statement: ESTree.Statement, sectionComments: TestBlockAnalysis["sectionComments"]): AaaPhase[];
111
+ /**
112
+ * Gets supported test call metadata.
113
+ * @param node Input node value.
114
+ * @returns Return value output.
115
+ * @example
116
+ * ```typescript
117
+ * getSupportedTestCall(node);
118
+ * ```
119
+ */
120
+ declare function getSupportedTestCall(node: ESTree.CallExpression): SupportedTestCall | undefined;
121
+ /**
122
+ * Gets the root test callee name.
123
+ * @param callee Input callee value.
124
+ * @returns Return value output.
125
+ * @example
126
+ * ```typescript
127
+ * getTestRootName(callExpression.callee);
128
+ * ```
129
+ */
130
+ declare function getTestRootName(callee: ESTree.CallExpression["callee"]): string | undefined;
131
+ /**
132
+ * Checks whether a value is an AAA phase.
133
+ * @param value Input value value.
134
+ * @returns Return value output.
135
+ * @example
136
+ * ```typescript
137
+ * isAaaPhase("Arrange");
138
+ * ```
139
+ */
140
+ declare function isAaaPhase(value: string): value is AaaPhase;
141
+ /** Companion marker for test isolation. */
142
+ declare const analyzerAnalysisHelpersCompanion: true;
143
+ export { aaaPhaseOrder, analyzerAnalysisHelpersCompanion, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getNewline, getPhaseBoundaryComments, getSectionPhases, getStatementPhases, getSupportedTestCall, getTestRootName, isAaaPhase, };
144
+ export type { FlattenedSection };
145
+ //# sourceMappingURL=analyzer.analysis.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.analysis.helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.analysis.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,yDAAyD;AACzD,QAAA,MAAM,aAAa;;;;CAI0B,CAAC;AAS9C,mDAAmD;AACnD,UAAU,gBAAgB;IACxB,sDAAsD;IACtD,OAAO,EAAE,aAAa,CAAC;IACvB,wDAAwD;IACxD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,kEAAkE;AAClE,UAAU,iBAAiB;IACzB,iDAAiD;IACjD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,0CAA0C;IAC1C,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CACpD;AAED,+DAA+D;AAC/D,KAAK,qBAAqB,GAAG,WAAW,CACtC,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,kBAAkB,CAC3D,GAAG;IACF,qDAAqD;IACrD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAO/D;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,gBAAgB,EAAE,CAOpB;AAED;;;;;;;;;GASG;AACH,iBAAS,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM1E;AAED;;;;;;;;;GASG;AACH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAa7E;AAED;;;;;;;;GAQG;AACH,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE/C;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,iBAAiB,CAAC,iBAAiB,CAAC,CAMtC;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,EAAE,CAO1D;AAED;;;;;;;;;GASG;AACH,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GACpD,QAAQ,EAAE,CAaZ;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,IAAI,EAAE,MAAM,CAAC,cAAc,GAC1B,iBAAiB,GAAG,SAAS,CAqB/B;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CACtB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,GACtC,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;;;GAQG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAEpD;AAED,2CAA2C;AAC3C,QAAA,MAAM,gCAAgC,EAAG,IAAa,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,gCAAgC,EAChC,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,UAAU,GACX,CAAC;AACF,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,203 @@
1
+ /** Canonical ordering used when comparing AAA phases. */
2
+ const aaaPhaseOrder = {
3
+ Act: 1,
4
+ Arrange: 0,
5
+ Assert: 2,
6
+ };
7
+ /** Recognized AAA phase names. */
8
+ const phaseNames = ["Arrange", "Act", "Assert"];
9
+ /**
10
+ * Counts Act statements.
11
+ * @param analysis Input analysis value.
12
+ * @returns Return value output.
13
+ * @example
14
+ * ```typescript
15
+ * countActStatements(analysis);
16
+ * ```
17
+ */
18
+ function countActStatements(analysis) {
19
+ return analysis.statements.filter((statement) => statement.phases.includes("Act") &&
20
+ (statement.node.type === "ExpressionStatement" ||
21
+ statement.node.type === "VariableDeclaration")).length;
22
+ }
23
+ /**
24
+ * Flattens section comments.
25
+ * @param analysis Input analysis value.
26
+ * @returns Return value output.
27
+ * @example
28
+ * ```typescript
29
+ * getFlattenedSections(analysis);
30
+ * ```
31
+ */
32
+ function getFlattenedSections(analysis) {
33
+ return analysis.sectionComments.flatMap((sectionComment) => sectionComment.phases.map((phase) => ({
34
+ comment: sectionComment.comment,
35
+ phase,
36
+ })));
37
+ }
38
+ /**
39
+ * Gets indentation at an offset.
40
+ * @param sourceText Input sourceText value.
41
+ * @param offset Input offset value.
42
+ * @returns Return value output.
43
+ * @example
44
+ * ```typescript
45
+ * getIndentationAtOffset(sourceText, 4);
46
+ * ```
47
+ */
48
+ function getIndentationAtOffset(sourceText, offset) {
49
+ const lineStart = sourceText.lastIndexOf("\n", Math.max(0, offset - 1)) + 1;
50
+ const linePrefix = sourceText.slice(lineStart, offset);
51
+ const trimmedPrefix = linePrefix.trimStart();
52
+ return linePrefix.slice(0, linePrefix.length - trimmedPrefix.length);
53
+ }
54
+ /**
55
+ * Gets the start range for a line.
56
+ * @param sourceText Input sourceText value.
57
+ * @param line Input line value.
58
+ * @returns Return value output.
59
+ * @example
60
+ * ```typescript
61
+ * getLineStartRange(sourceText, 2);
62
+ * ```
63
+ */
64
+ function getLineStartRange(sourceText, line) {
65
+ let currentLine = 1;
66
+ let currentOffset = 0;
67
+ for (const character of sourceText) {
68
+ if (currentLine === line) {
69
+ return [currentOffset, currentOffset];
70
+ }
71
+ if (character === "\n") {
72
+ currentLine += 1;
73
+ }
74
+ currentOffset += 1;
75
+ }
76
+ return [sourceText.length, sourceText.length];
77
+ }
78
+ /**
79
+ * Gets the newline sequence.
80
+ * @param text Input text value.
81
+ * @returns Return value output.
82
+ * @example
83
+ * ```typescript
84
+ * getNewline(sourceText);
85
+ * ```
86
+ */
87
+ function getNewline(text) {
88
+ return text.includes("\r\n") ? "\r\n" : "\n";
89
+ }
90
+ /**
91
+ * Gets phase-boundary comments.
92
+ * @param analysis Input analysis value.
93
+ * @returns Return value output.
94
+ * @example
95
+ * ```typescript
96
+ * getPhaseBoundaryComments(analysis);
97
+ * ```
98
+ */
99
+ function getPhaseBoundaryComments(analysis) {
100
+ return analysis.sectionComments.filter((sectionComment) => sectionComment.phases.some((phase) => phase === "Act" || phase === "Assert"));
101
+ }
102
+ /**
103
+ * Parses AAA phases from a comment.
104
+ * @param commentValue Input commentValue value.
105
+ * @returns Return value output.
106
+ * @example
107
+ * ```typescript
108
+ * getSectionPhases("Arrange & Act");
109
+ * ```
110
+ */
111
+ function getSectionPhases(commentValue) {
112
+ const trimmedComment = commentValue.trim();
113
+ if (trimmedComment.length === 0) {
114
+ return [];
115
+ }
116
+ const parts = trimmedComment.split(/\s*&\s*/u);
117
+ return parts.every((part) => isAaaPhase(part)) ? parts : [];
118
+ }
119
+ /**
120
+ * Gets the active phases for a statement.
121
+ * @param statement Input statement value.
122
+ * @param sectionComments Input sectionComments value.
123
+ * @returns Return value output.
124
+ * @example
125
+ * ```typescript
126
+ * getStatementPhases(statement, sectionComments);
127
+ * ```
128
+ */
129
+ function getStatementPhases(statement, sectionComments) {
130
+ const statementLine = statement.loc?.start.line;
131
+ if (statementLine === void 0) {
132
+ return [];
133
+ }
134
+ let currentPhases = [];
135
+ for (const sectionComment of sectionComments) {
136
+ if (sectionComment.comment.loc.start.line > statementLine) {
137
+ break;
138
+ }
139
+ currentPhases = sectionComment.phases;
140
+ }
141
+ return currentPhases;
142
+ }
143
+ /**
144
+ * Gets supported test call metadata.
145
+ * @param node Input node value.
146
+ * @returns Return value output.
147
+ * @example
148
+ * ```typescript
149
+ * getSupportedTestCall(node);
150
+ * ```
151
+ */
152
+ function getSupportedTestCall(node) {
153
+ const rootName = getTestRootName(node.callee);
154
+ if (rootName !== "it" && rootName !== "test") {
155
+ return void 0;
156
+ }
157
+ const callbackArgument = node.arguments.at(-1);
158
+ if (callbackArgument === void 0 ||
159
+ callbackArgument.type === "SpreadElement" ||
160
+ (callbackArgument.type !== "ArrowFunctionExpression" &&
161
+ callbackArgument.type !== "FunctionExpression") ||
162
+ callbackArgument.body.type !== "BlockStatement") {
163
+ return void 0;
164
+ }
165
+ return {
166
+ callback: callbackArgument,
167
+ callExpression: node,
168
+ };
169
+ }
170
+ /**
171
+ * Gets the root test callee name.
172
+ * @param callee Input callee value.
173
+ * @returns Return value output.
174
+ * @example
175
+ * ```typescript
176
+ * getTestRootName(callExpression.callee);
177
+ * ```
178
+ */
179
+ function getTestRootName(callee) {
180
+ if (callee.type === "Identifier") {
181
+ return callee.name;
182
+ }
183
+ if (callee.type === "MemberExpression" && callee.object.type !== "Super") {
184
+ return getTestRootName(callee.object);
185
+ }
186
+ return void 0;
187
+ }
188
+ /**
189
+ * Checks whether a value is an AAA phase.
190
+ * @param value Input value value.
191
+ * @returns Return value output.
192
+ * @example
193
+ * ```typescript
194
+ * isAaaPhase("Arrange");
195
+ * ```
196
+ */
197
+ function isAaaPhase(value) {
198
+ return phaseNames.includes(value);
199
+ }
200
+ /** Companion marker for test isolation. */
201
+ const analyzerAnalysisHelpersCompanion = true;
202
+ export { aaaPhaseOrder, analyzerAnalysisHelpersCompanion, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getNewline, getPhaseBoundaryComments, getSectionPhases, getStatementPhases, getSupportedTestCall, getTestRootName, isAaaPhase, };
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSx5REFBeUQ7QUFDekQsTUFBTSxhQUFhLEdBQUc7SUFDcEIsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0NBQ2tDLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBSTdDLENBQUM7QUEwQkY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTJCO0lBQ3JELE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUI7WUFDNUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsQ0FDbkQsQ0FBQyxNQUFNLENBQUM7QUFDWCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG9CQUFvQixDQUMzQixRQUFvRDtJQUVwRCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDekQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPO1FBQy9CLEtBQUs7S0FDTixDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsc0JBQXNCLENBQUMsVUFBa0IsRUFBRSxNQUFjO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RSxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFN0MsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLElBQVk7SUFDekQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN0QixLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ25DLElBQUksV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3ZCLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELGFBQWEsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxJQUFZO0lBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDL0MsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx3QkFBd0IsQ0FDL0IsUUFBb0Q7SUFFcEQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3hELGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN4QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssUUFBUSxDQUNqRCxDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLFlBQW9CO0lBQzVDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FDekIsU0FBMkIsRUFDM0IsZUFBcUQ7SUFFckQsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2hELElBQUksYUFBYSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsSUFBSSxhQUFhLEdBQWUsRUFBRSxDQUFDO0lBQ25DLEtBQUssTUFBTSxjQUFjLElBQUksZUFBZSxFQUFFLENBQUM7UUFDN0MsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLGFBQWEsRUFBRSxDQUFDO1lBQzFELE1BQU07UUFDUixDQUFDO1FBQ0QsYUFBYSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUNELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsb0JBQW9CLENBQzNCLElBQTJCO0lBRTNCLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsSUFDRSxnQkFBZ0IsS0FBSyxLQUFLLENBQUM7UUFDM0IsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLGVBQWU7UUFDekMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUsseUJBQXlCO1lBQ2xELGdCQUFnQixDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQztRQUNqRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUMvQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVEsRUFBRSxnQkFBeUM7UUFDbkQsY0FBYyxFQUFFLElBQTBDO0tBQzNELENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGVBQWUsQ0FDdEIsTUFBdUM7SUFFdkMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3pFLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQy9CLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFpQixDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELDJDQUEyQztBQUMzQyxNQUFNLGdDQUFnQyxHQUFHLElBQWEsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsVUFBVSxHQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XHJcblxyXG5pbXBvcnQgdHlwZSB7XHJcbiAgQWFhUGhhc2UsXHJcbiAgTG9jYXRlZE5vZGUsXHJcbiAgU291cmNlQ29tbWVudCxcclxuICBUZXN0QmxvY2tBbmFseXNpcyxcclxufSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuLyoqIENhbm9uaWNhbCBvcmRlcmluZyB1c2VkIHdoZW4gY29tcGFyaW5nIEFBQSBwaGFzZXMuICovXHJcbmNvbnN0IGFhYVBoYXNlT3JkZXIgPSB7XHJcbiAgQWN0OiAxLFxyXG4gIEFycmFuZ2U6IDAsXHJcbiAgQXNzZXJ0OiAyLFxyXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8QWFhUGhhc2UsIG51bWJlcj47XHJcblxyXG4vKiogUmVjb2duaXplZCBBQUEgcGhhc2UgbmFtZXMuICovXHJcbmNvbnN0IHBoYXNlTmFtZXMgPSBbXCJBcnJhbmdlXCIsIFwiQWN0XCIsIFwiQXNzZXJ0XCJdIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBbXHJcbiAgQWFhUGhhc2UsXHJcbiAgQWFhUGhhc2UsXHJcbiAgQWFhUGhhc2UsXHJcbl07XHJcblxyXG4vKiogSGVscGVyIHN0YXRlIGZvciBmbGF0dGVuZWQgc2VjdGlvbiBjb21tZW50cy4gKi9cclxuaW50ZXJmYWNlIEZsYXR0ZW5lZFNlY3Rpb24ge1xyXG4gIC8qKiBPcmlnaW5hbCBzb3VyY2UgY29tbWVudCBmb3IgdGhlIHNlY3Rpb24gbWFya2VyLiAqL1xyXG4gIGNvbW1lbnQ6IFNvdXJjZUNvbW1lbnQ7XHJcbiAgLyoqIFBoYXNlIHJlcHJlc2VudGVkIGJ5IHRoZSBmbGF0dGVuZWQgc2VjdGlvbiBlbnRyeS4gKi9cclxuICBwaGFzZTogQWFhUGhhc2U7XHJcbn1cclxuXHJcbi8qKiBTdXBwb3J0ZWQgY2FsbC1leHByZXNzaW9uIHdyYXBwZXIgZm9yIGFuYWx5emVkIHRlc3QgYmxvY2tzLiAqL1xyXG5pbnRlcmZhY2UgU3VwcG9ydGVkVGVzdENhbGwge1xyXG4gIC8qKiBDYWxsYmFjayBhcmd1bWVudCB0aGF0IG93bnMgdGhlIHRlc3QgYm9keS4gKi9cclxuICBjYWxsYmFjazogU3VwcG9ydGVkVGVzdENhbGxiYWNrO1xyXG4gIC8qKiBPcmlnaW5hbCBgaXRgIG9yIGB0ZXN0YCBpbnZvY2F0aW9uLiAqL1xyXG4gIGNhbGxFeHByZXNzaW9uOiBMb2NhdGVkTm9kZTxFU1RyZWUuQ2FsbEV4cHJlc3Npb24+O1xyXG59XHJcblxyXG4vKiogU3VwcG9ydGVkIHRlc3QgY2FsbGJhY2sgc2hhcGUgZm9yIGBpdGAgYW5kIGB0ZXN0YCBjYWxscy4gKi9cclxudHlwZSBTdXBwb3J0ZWRUZXN0Q2FsbGJhY2sgPSBMb2NhdGVkTm9kZTxcclxuICBFU1RyZWUuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gfCBFU1RyZWUuRnVuY3Rpb25FeHByZXNzaW9uXHJcbj4gJiB7XHJcbiAgLyoqIENhbGxiYWNrIGJvZHkgYmxvY2sgdXNlZCBmb3Igc2VjdGlvbiBhbmFseXNpcy4gKi9cclxuICBib2R5OiBMb2NhdGVkTm9kZTxFU1RyZWUuQmxvY2tTdGF0ZW1lbnQ+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvdW50cyBBY3Qgc3RhdGVtZW50cy5cclxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpcyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY291bnRBY3RTdGF0ZW1lbnRzKGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyk6IG51bWJlciB7XHJcbiAgcmV0dXJuIGFuYWx5c2lzLnN0YXRlbWVudHMuZmlsdGVyKFxyXG4gICAgKHN0YXRlbWVudCkgPT5cclxuICAgICAgc3RhdGVtZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFjdFwiKSAmJlxyXG4gICAgICAoc3RhdGVtZW50Lm5vZGUudHlwZSA9PT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIgfHxcclxuICAgICAgICBzdGF0ZW1lbnQubm9kZS50eXBlID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIiksXHJcbiAgKS5sZW5ndGg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbGF0dGVucyBzZWN0aW9uIGNvbW1lbnRzLlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0RmxhdHRlbmVkU2VjdGlvbnMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEZsYXR0ZW5lZFNlY3Rpb25zKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogRmxhdHRlbmVkU2VjdGlvbltdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PlxyXG4gICAgc2VjdGlvbkNvbW1lbnQucGhhc2VzLm1hcCgocGhhc2UpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IHNlY3Rpb25Db21tZW50LmNvbW1lbnQsXHJcbiAgICAgIHBoYXNlLFxyXG4gICAgfSkpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIGluZGVudGF0aW9uIGF0IGFuIG9mZnNldC5cclxuICogQHBhcmFtIHNvdXJjZVRleHQgSW5wdXQgc291cmNlVGV4dCB2YWx1ZS5cclxuICogQHBhcmFtIG9mZnNldCBJbnB1dCBvZmZzZXQgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0SW5kZW50YXRpb25BdE9mZnNldChzb3VyY2VUZXh0LCA0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRJbmRlbnRhdGlvbkF0T2Zmc2V0KHNvdXJjZVRleHQ6IHN0cmluZywgb2Zmc2V0OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGNvbnN0IGxpbmVTdGFydCA9IHNvdXJjZVRleHQubGFzdEluZGV4T2YoXCJcXG5cIiwgTWF0aC5tYXgoMCwgb2Zmc2V0IC0gMSkpICsgMTtcclxuICBjb25zdCBsaW5lUHJlZml4ID0gc291cmNlVGV4dC5zbGljZShsaW5lU3RhcnQsIG9mZnNldCk7XHJcbiAgY29uc3QgdHJpbW1lZFByZWZpeCA9IGxpbmVQcmVmaXgudHJpbVN0YXJ0KCk7XHJcblxyXG4gIHJldHVybiBsaW5lUHJlZml4LnNsaWNlKDAsIGxpbmVQcmVmaXgubGVuZ3RoIC0gdHJpbW1lZFByZWZpeC5sZW5ndGgpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgc3RhcnQgcmFuZ2UgZm9yIGEgbGluZS5cclxuICogQHBhcmFtIHNvdXJjZVRleHQgSW5wdXQgc291cmNlVGV4dCB2YWx1ZS5cclxuICogQHBhcmFtIGxpbmUgSW5wdXQgbGluZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRMaW5lU3RhcnRSYW5nZShzb3VyY2VUZXh0LCAyKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRMaW5lU3RhcnRSYW5nZShzb3VyY2VUZXh0OiBzdHJpbmcsIGxpbmU6IG51bWJlcik6IFtudW1iZXIsIG51bWJlcl0ge1xyXG4gIGxldCBjdXJyZW50TGluZSA9IDE7XHJcbiAgbGV0IGN1cnJlbnRPZmZzZXQgPSAwO1xyXG4gIGZvciAoY29uc3QgY2hhcmFjdGVyIG9mIHNvdXJjZVRleHQpIHtcclxuICAgIGlmIChjdXJyZW50TGluZSA9PT0gbGluZSkge1xyXG4gICAgICByZXR1cm4gW2N1cnJlbnRPZmZzZXQsIGN1cnJlbnRPZmZzZXRdO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYXJhY3RlciA9PT0gXCJcXG5cIikge1xyXG4gICAgICBjdXJyZW50TGluZSArPSAxO1xyXG4gICAgfVxyXG4gICAgY3VycmVudE9mZnNldCArPSAxO1xyXG4gIH1cclxuICByZXR1cm4gW3NvdXJjZVRleHQubGVuZ3RoLCBzb3VyY2VUZXh0Lmxlbmd0aF07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBuZXdsaW5lIHNlcXVlbmNlLlxyXG4gKiBAcGFyYW0gdGV4dCBJbnB1dCB0ZXh0IHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldE5ld2xpbmUoc291cmNlVGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0TmV3bGluZSh0ZXh0OiBzdHJpbmcpOiBcIlxcblwiIHwgXCJcXHJcXG5cIiB7XHJcbiAgcmV0dXJuIHRleHQuaW5jbHVkZXMoXCJcXHJcXG5cIikgPyBcIlxcclxcblwiIDogXCJcXG5cIjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgcGhhc2UtYm91bmRhcnkgY29tbWVudHMuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBJbnB1dCBhbmFseXNpcyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyhcclxuICBhbmFseXNpczogUGljazxUZXN0QmxvY2tBbmFseXNpcywgXCJzZWN0aW9uQ29tbWVudHNcIj4sXHJcbik6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZpbHRlcigoc2VjdGlvbkNvbW1lbnQpID0+XHJcbiAgICBzZWN0aW9uQ29tbWVudC5waGFzZXMuc29tZShcclxuICAgICAgKHBoYXNlKSA9PiBwaGFzZSA9PT0gXCJBY3RcIiB8fCBwaGFzZSA9PT0gXCJBc3NlcnRcIixcclxuICAgICksXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhcnNlcyBBQUEgcGhhc2VzIGZyb20gYSBjb21tZW50LlxyXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIElucHV0IGNvbW1lbnRWYWx1ZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRTZWN0aW9uUGhhc2VzKFwiQXJyYW5nZSAmIEFjdFwiKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRTZWN0aW9uUGhhc2VzKGNvbW1lbnRWYWx1ZTogc3RyaW5nKTogQWFhUGhhc2VbXSB7XHJcbiAgY29uc3QgdHJpbW1lZENvbW1lbnQgPSBjb21tZW50VmFsdWUudHJpbSgpO1xyXG4gIGlmICh0cmltbWVkQ29tbWVudC5sZW5ndGggPT09IDApIHtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgY29uc3QgcGFydHMgPSB0cmltbWVkQ29tbWVudC5zcGxpdCgvXFxzKiZcXHMqL3UpO1xyXG4gIHJldHVybiBwYXJ0cy5ldmVyeSgocGFydCkgPT4gaXNBYWFQaGFzZShwYXJ0KSkgPyBwYXJ0cyA6IFtdO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgYWN0aXZlIHBoYXNlcyBmb3IgYSBzdGF0ZW1lbnQuXHJcbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxyXG4gKiBAcGFyYW0gc2VjdGlvbkNvbW1lbnRzIElucHV0IHNlY3Rpb25Db21tZW50cyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRTdGF0ZW1lbnRQaGFzZXMoc3RhdGVtZW50LCBzZWN0aW9uQ29tbWVudHMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFN0YXRlbWVudFBoYXNlcyhcclxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQsXHJcbiAgc2VjdGlvbkNvbW1lbnRzOiBUZXN0QmxvY2tBbmFseXNpc1tcInNlY3Rpb25Db21tZW50c1wiXSxcclxuKTogQWFhUGhhc2VbXSB7XHJcbiAgY29uc3Qgc3RhdGVtZW50TGluZSA9IHN0YXRlbWVudC5sb2M/LnN0YXJ0LmxpbmU7XHJcbiAgaWYgKHN0YXRlbWVudExpbmUgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBsZXQgY3VycmVudFBoYXNlczogQWFhUGhhc2VbXSA9IFtdO1xyXG4gIGZvciAoY29uc3Qgc2VjdGlvbkNvbW1lbnQgb2Ygc2VjdGlvbkNvbW1lbnRzKSB7XHJcbiAgICBpZiAoc2VjdGlvbkNvbW1lbnQuY29tbWVudC5sb2Muc3RhcnQubGluZSA+IHN0YXRlbWVudExpbmUpIHtcclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjdXJyZW50UGhhc2VzID0gc2VjdGlvbkNvbW1lbnQucGhhc2VzO1xyXG4gIH1cclxuICByZXR1cm4gY3VycmVudFBoYXNlcztcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgc3VwcG9ydGVkIHRlc3QgY2FsbCBtZXRhZGF0YS5cclxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRTdXBwb3J0ZWRUZXN0Q2FsbChub2RlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRTdXBwb3J0ZWRUZXN0Q2FsbChcclxuICBub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXHJcbik6IFN1cHBvcnRlZFRlc3RDYWxsIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCByb290TmFtZSA9IGdldFRlc3RSb290TmFtZShub2RlLmNhbGxlZSk7XHJcbiAgaWYgKHJvb3ROYW1lICE9PSBcIml0XCIgJiYgcm9vdE5hbWUgIT09IFwidGVzdFwiKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgY2FsbGJhY2tBcmd1bWVudCA9IG5vZGUuYXJndW1lbnRzLmF0KC0xKTtcclxuICBpZiAoXHJcbiAgICBjYWxsYmFja0FyZ3VtZW50ID09PSB2b2lkIDAgfHxcclxuICAgIGNhbGxiYWNrQXJndW1lbnQudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIgfHxcclxuICAgIChjYWxsYmFja0FyZ3VtZW50LnR5cGUgIT09IFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiAmJlxyXG4gICAgICBjYWxsYmFja0FyZ3VtZW50LnR5cGUgIT09IFwiRnVuY3Rpb25FeHByZXNzaW9uXCIpIHx8XHJcbiAgICBjYWxsYmFja0FyZ3VtZW50LmJvZHkudHlwZSAhPT0gXCJCbG9ja1N0YXRlbWVudFwiXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGNhbGxiYWNrOiBjYWxsYmFja0FyZ3VtZW50IGFzIFN1cHBvcnRlZFRlc3RDYWxsYmFjayxcclxuICAgIGNhbGxFeHByZXNzaW9uOiBub2RlIGFzIExvY2F0ZWROb2RlPEVTVHJlZS5DYWxsRXhwcmVzc2lvbj4sXHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIHJvb3QgdGVzdCBjYWxsZWUgbmFtZS5cclxuICogQHBhcmFtIGNhbGxlZSBJbnB1dCBjYWxsZWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0VGVzdFJvb3ROYW1lKGNhbGxFeHByZXNzaW9uLmNhbGxlZSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0VGVzdFJvb3ROYW1lKFxyXG4gIGNhbGxlZTogRVNUcmVlLkNhbGxFeHByZXNzaW9uW1wiY2FsbGVlXCJdLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChjYWxsZWUudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcclxuICAgIHJldHVybiBjYWxsZWUubmFtZTtcclxuICB9XHJcbiAgaWYgKGNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJiBjYWxsZWUub2JqZWN0LnR5cGUgIT09IFwiU3VwZXJcIikge1xyXG4gICAgcmV0dXJuIGdldFRlc3RSb290TmFtZShjYWxsZWUub2JqZWN0KTtcclxuICB9XHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgYW4gQUFBIHBoYXNlLlxyXG4gKiBAcGFyYW0gdmFsdWUgSW5wdXQgdmFsdWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNBYWFQaGFzZShcIkFycmFuZ2VcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNBYWFQaGFzZSh2YWx1ZTogc3RyaW5nKTogdmFsdWUgaXMgQWFhUGhhc2Uge1xyXG4gIHJldHVybiBwaGFzZU5hbWVzLmluY2x1ZGVzKHZhbHVlIGFzIEFhYVBoYXNlKTtcclxufVxyXG5cclxuLyoqIENvbXBhbmlvbiBtYXJrZXIgZm9yIHRlc3QgaXNvbGF0aW9uLiAqL1xyXG5jb25zdCBhbmFseXplckFuYWx5c2lzSGVscGVyc0NvbXBhbmlvbiA9IHRydWUgYXMgY29uc3Q7XHJcblxyXG5leHBvcnQge1xyXG4gIGFhYVBoYXNlT3JkZXIsXHJcbiAgYW5hbHl6ZXJBbmFseXNpc0hlbHBlcnNDb21wYW5pb24sXHJcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxyXG4gIGdldEZsYXR0ZW5lZFNlY3Rpb25zLFxyXG4gIGdldEluZGVudGF0aW9uQXRPZmZzZXQsXHJcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXHJcbiAgZ2V0TmV3bGluZSxcclxuICBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMsXHJcbiAgZ2V0U2VjdGlvblBoYXNlcyxcclxuICBnZXRTdGF0ZW1lbnRQaGFzZXMsXHJcbiAgZ2V0U3VwcG9ydGVkVGVzdENhbGwsXHJcbiAgZ2V0VGVzdFJvb3ROYW1lLFxyXG4gIGlzQWFhUGhhc2UsXHJcbn07XHJcbmV4cG9ydCB0eXBlIHsgRmxhdHRlbmVkU2VjdGlvbiB9O1xyXG4iXX0=
@@ -0,0 +1,82 @@
1
+ import { aaaPhaseOrder as aaaPhaseOrderImplementation, countActStatements as countActStatementsImplementation, getFlattenedSections as getFlattenedSectionsImplementation, getIndentationAtOffset as getIndentationAtOffsetImplementation, getLineStartRange as getLineStartRangeImplementation, getNewline as getNewlineImplementation, getPhaseBoundaryComments as getPhaseBoundaryCommentsImplementation, getSectionPhases as getSectionPhasesImplementation, getStatementPhases as getStatementPhasesImplementation, getSupportedTestCall as getSupportedTestCallImplementation, } from "./analyzer.analysis.helpers.js";
2
+ import { isLocatedComment, isRangeWithin } from "./analyzer.super.js";
3
+ /**
4
+ * Creates a local forwarding function for an imported analyzer helper.
5
+ * @template TParameters Forwarded parameter tuple.
6
+ * @template TResult Forwarded return type.
7
+ * @param implementation Imported helper implementation.
8
+ * @returns Local function that forwards all arguments to the implementation.
9
+ * @example
10
+ * ```typescript
11
+ * const localHelper = forward(implementation);
12
+ * ```
13
+ */
14
+ function forward(implementation) {
15
+ return (...parameters) => implementation(...parameters);
16
+ }
17
+ /** Ordered list of AAA phase names. */
18
+ const aaaPhaseOrder = aaaPhaseOrderImplementation;
19
+ /** Counts Act-phase statements in a test block analysis. */
20
+ const countActStatements = forward(countActStatementsImplementation);
21
+ /** Flattens multi-phase section comments into one entry per phase. */
22
+ const getFlattenedSections = forward(getFlattenedSectionsImplementation);
23
+ /** Resolves the leading whitespace for the line containing a source offset. */
24
+ const getIndentationAtOffset = forward(getIndentationAtOffsetImplementation);
25
+ /** Returns the start-of-line range for a given source offset. */
26
+ const getLineStartRange = forward(getLineStartRangeImplementation);
27
+ /** Detects the line-ending style used in a source text. */
28
+ const getNewline = forward(getNewlineImplementation);
29
+ /** Extracts the phase-boundary section comments from a test block analysis. */
30
+ const getPhaseBoundaryComments = forward(getPhaseBoundaryCommentsImplementation);
31
+ /** Parses AAA phase names from a section comment value. */
32
+ const getSectionPhases = forward(getSectionPhasesImplementation);
33
+ /** Resolves the AAA phases applicable to a statement. */
34
+ const getStatementPhases = forward(getStatementPhasesImplementation);
35
+ /** Extracts the test call and callback from a supported `it` or `test` call expression. */
36
+ const getSupportedTestCall = forward(getSupportedTestCallImplementation);
37
+ /**
38
+ * Analyzes supported AAA test blocks.
39
+ * @param context Input context value.
40
+ * @param node Input node value.
41
+ * @returns Return value output.
42
+ * @example
43
+ * ```typescript
44
+ * analyzeTestBlock(context, node);
45
+ * ```
46
+ */
47
+ function analyzeTestBlock(context, node) {
48
+ const testCall = getSupportedTestCall(node);
49
+ if (testCall === void 0) {
50
+ return void 0;
51
+ }
52
+ const { callback, callExpression } = testCall;
53
+ const { sourceCode } = context;
54
+ const sectionComments = sourceCode
55
+ .getAllComments()
56
+ .filter((comment) => isLocatedComment(comment) &&
57
+ comment.type === "Line" &&
58
+ isRangeWithin(comment.range, callback.body.range) &&
59
+ getSectionPhases(comment.value).length > 0)
60
+ .map((comment) => ({
61
+ comment: comment,
62
+ phases: getSectionPhases(comment.value),
63
+ }));
64
+ return {
65
+ body: callback.body,
66
+ bodyLineCount: callback.body.loc.end.line - callback.body.loc.start.line - 1,
67
+ callExpression,
68
+ newline: getNewline(sourceCode.text),
69
+ sectionComments,
70
+ sourceText: sourceCode.text,
71
+ statements: callback.body.body.map((statement) => {
72
+ const phases = getStatementPhases(statement, sectionComments);
73
+ return {
74
+ node: statement,
75
+ phase: phases.at(-1),
76
+ phases,
77
+ };
78
+ }),
79
+ };
80
+ }
81
+ export { aaaPhaseOrder, analyzeTestBlock, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getPhaseBoundaryComments, getSectionPhases, };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxhQUFhLElBQUksMkJBQTJCLEVBQzVDLGtCQUFrQixJQUFJLGdDQUFnQyxFQUN0RCxvQkFBb0IsSUFBSSxrQ0FBa0MsRUFDMUQsc0JBQXNCLElBQUksb0NBQW9DLEVBQzlELGlCQUFpQixJQUFJLCtCQUErQixFQUNwRCxVQUFVLElBQUksd0JBQXdCLEVBQ3RDLHdCQUF3QixJQUFJLHNDQUFzQyxFQUNsRSxnQkFBZ0IsSUFBSSw4QkFBOEIsRUFDbEQsa0JBQWtCLElBQUksZ0NBQWdDLEVBQ3RELG9CQUFvQixJQUFJLGtDQUFrQyxHQUMzRCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxPQUFPLENBQ2QsY0FBdUQ7SUFFdkQsT0FBTyxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLE1BQU0sYUFBYSxHQUFHLDJCQUEyQixDQUFDO0FBRWxELDREQUE0RDtBQUM1RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRXpFLCtFQUErRTtBQUMvRSxNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0FBRTdFLGlFQUFpRTtBQUNqRSxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRW5FLDJEQUEyRDtBQUMzRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUVyRCwrRUFBK0U7QUFDL0UsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQ3RDLHNDQUFzQyxDQUN2QyxDQUFDO0FBRUYsMkRBQTJEO0FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFFakUseURBQXlEO0FBQ3pELE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFckUsMkZBQTJGO0FBQzNGLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFekU7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FDdkIsT0FBeUIsRUFDekIsSUFBMkI7SUFFM0IsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUM5QyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQy9CLE1BQU0sZUFBZSxHQUF5QyxVQUFVO1NBQ3JFLGNBQWMsRUFBRTtTQUNoQixNQUFNLENBQ0wsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN6QixPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU07UUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzdDO1NBQ0EsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxPQUF5QjtRQUNsQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVOLE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDbkIsYUFBYSxFQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQy9ELGNBQWM7UUFDZCxPQUFPLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsZUFBZTtRQUNmLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSTtRQUMzQixVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzlELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFNBQTBDO2dCQUNoRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsTUFBTTthQUNQLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XHJcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgTG9jYXRlZENvbW1lbnQsIExvY2F0ZWROb2RlLCBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIGFhYVBoYXNlT3JkZXIgYXMgYWFhUGhhc2VPcmRlckltcGxlbWVudGF0aW9uLFxyXG4gIGNvdW50QWN0U3RhdGVtZW50cyBhcyBjb3VudEFjdFN0YXRlbWVudHNJbXBsZW1lbnRhdGlvbixcclxuICBnZXRGbGF0dGVuZWRTZWN0aW9ucyBhcyBnZXRGbGF0dGVuZWRTZWN0aW9uc0ltcGxlbWVudGF0aW9uLFxyXG4gIGdldEluZGVudGF0aW9uQXRPZmZzZXQgYXMgZ2V0SW5kZW50YXRpb25BdE9mZnNldEltcGxlbWVudGF0aW9uLFxyXG4gIGdldExpbmVTdGFydFJhbmdlIGFzIGdldExpbmVTdGFydFJhbmdlSW1wbGVtZW50YXRpb24sXHJcbiAgZ2V0TmV3bGluZSBhcyBnZXROZXdsaW5lSW1wbGVtZW50YXRpb24sXHJcbiAgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzIGFzIGdldFBoYXNlQm91bmRhcnlDb21tZW50c0ltcGxlbWVudGF0aW9uLFxyXG4gIGdldFNlY3Rpb25QaGFzZXMgYXMgZ2V0U2VjdGlvblBoYXNlc0ltcGxlbWVudGF0aW9uLFxyXG4gIGdldFN0YXRlbWVudFBoYXNlcyBhcyBnZXRTdGF0ZW1lbnRQaGFzZXNJbXBsZW1lbnRhdGlvbixcclxuICBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCBhcyBnZXRTdXBwb3J0ZWRUZXN0Q2FsbEltcGxlbWVudGF0aW9uLFxyXG59IGZyb20gXCIuL2FuYWx5emVyLmFuYWx5c2lzLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgaXNMb2NhdGVkQ29tbWVudCwgaXNSYW5nZVdpdGhpbiB9IGZyb20gXCIuL2FuYWx5emVyLnN1cGVyXCI7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIGxvY2FsIGZvcndhcmRpbmcgZnVuY3Rpb24gZm9yIGFuIGltcG9ydGVkIGFuYWx5emVyIGhlbHBlci5cclxuICogQHRlbXBsYXRlIFRQYXJhbWV0ZXJzIEZvcndhcmRlZCBwYXJhbWV0ZXIgdHVwbGUuXHJcbiAqIEB0ZW1wbGF0ZSBUUmVzdWx0IEZvcndhcmRlZCByZXR1cm4gdHlwZS5cclxuICogQHBhcmFtIGltcGxlbWVudGF0aW9uIEltcG9ydGVkIGhlbHBlciBpbXBsZW1lbnRhdGlvbi5cclxuICogQHJldHVybnMgTG9jYWwgZnVuY3Rpb24gdGhhdCBmb3J3YXJkcyBhbGwgYXJndW1lbnRzIHRvIHRoZSBpbXBsZW1lbnRhdGlvbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBsb2NhbEhlbHBlciA9IGZvcndhcmQoaW1wbGVtZW50YXRpb24pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGZvcndhcmQ8VFBhcmFtZXRlcnMgZXh0ZW5kcyB1bmtub3duW10sIFRSZXN1bHQ+KFxyXG4gIGltcGxlbWVudGF0aW9uOiAoLi4ucGFyYW1ldGVyczogVFBhcmFtZXRlcnMpID0+IFRSZXN1bHQsXHJcbik6ICguLi5wYXJhbWV0ZXJzOiBUUGFyYW1ldGVycykgPT4gVFJlc3VsdCB7XHJcbiAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiBpbXBsZW1lbnRhdGlvbiguLi5wYXJhbWV0ZXJzKTtcclxufVxyXG5cclxuLyoqIE9yZGVyZWQgbGlzdCBvZiBBQUEgcGhhc2UgbmFtZXMuICovXHJcbmNvbnN0IGFhYVBoYXNlT3JkZXIgPSBhYWFQaGFzZU9yZGVySW1wbGVtZW50YXRpb247XHJcblxyXG4vKiogQ291bnRzIEFjdC1waGFzZSBzdGF0ZW1lbnRzIGluIGEgdGVzdCBibG9jayBhbmFseXNpcy4gKi9cclxuY29uc3QgY291bnRBY3RTdGF0ZW1lbnRzID0gZm9yd2FyZChjb3VudEFjdFN0YXRlbWVudHNJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4vKiogRmxhdHRlbnMgbXVsdGktcGhhc2Ugc2VjdGlvbiBjb21tZW50cyBpbnRvIG9uZSBlbnRyeSBwZXIgcGhhc2UuICovXHJcbmNvbnN0IGdldEZsYXR0ZW5lZFNlY3Rpb25zID0gZm9yd2FyZChnZXRGbGF0dGVuZWRTZWN0aW9uc0ltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBSZXNvbHZlcyB0aGUgbGVhZGluZyB3aGl0ZXNwYWNlIGZvciB0aGUgbGluZSBjb250YWluaW5nIGEgc291cmNlIG9mZnNldC4gKi9cclxuY29uc3QgZ2V0SW5kZW50YXRpb25BdE9mZnNldCA9IGZvcndhcmQoZ2V0SW5kZW50YXRpb25BdE9mZnNldEltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBSZXR1cm5zIHRoZSBzdGFydC1vZi1saW5lIHJhbmdlIGZvciBhIGdpdmVuIHNvdXJjZSBvZmZzZXQuICovXHJcbmNvbnN0IGdldExpbmVTdGFydFJhbmdlID0gZm9yd2FyZChnZXRMaW5lU3RhcnRSYW5nZUltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBEZXRlY3RzIHRoZSBsaW5lLWVuZGluZyBzdHlsZSB1c2VkIGluIGEgc291cmNlIHRleHQuICovXHJcbmNvbnN0IGdldE5ld2xpbmUgPSBmb3J3YXJkKGdldE5ld2xpbmVJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4vKiogRXh0cmFjdHMgdGhlIHBoYXNlLWJvdW5kYXJ5IHNlY3Rpb24gY29tbWVudHMgZnJvbSBhIHRlc3QgYmxvY2sgYW5hbHlzaXMuICovXHJcbmNvbnN0IGdldFBoYXNlQm91bmRhcnlDb21tZW50cyA9IGZvcndhcmQoXHJcbiAgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzSW1wbGVtZW50YXRpb24sXHJcbik7XHJcblxyXG4vKiogUGFyc2VzIEFBQSBwaGFzZSBuYW1lcyBmcm9tIGEgc2VjdGlvbiBjb21tZW50IHZhbHVlLiAqL1xyXG5jb25zdCBnZXRTZWN0aW9uUGhhc2VzID0gZm9yd2FyZChnZXRTZWN0aW9uUGhhc2VzSW1wbGVtZW50YXRpb24pO1xyXG5cclxuLyoqIFJlc29sdmVzIHRoZSBBQUEgcGhhc2VzIGFwcGxpY2FibGUgdG8gYSBzdGF0ZW1lbnQuICovXHJcbmNvbnN0IGdldFN0YXRlbWVudFBoYXNlcyA9IGZvcndhcmQoZ2V0U3RhdGVtZW50UGhhc2VzSW1wbGVtZW50YXRpb24pO1xyXG5cclxuLyoqIEV4dHJhY3RzIHRoZSB0ZXN0IGNhbGwgYW5kIGNhbGxiYWNrIGZyb20gYSBzdXBwb3J0ZWQgYGl0YCBvciBgdGVzdGAgY2FsbCBleHByZXNzaW9uLiAqL1xyXG5jb25zdCBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCA9IGZvcndhcmQoZ2V0U3VwcG9ydGVkVGVzdENhbGxJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4vKipcclxuICogQW5hbHl6ZXMgc3VwcG9ydGVkIEFBQSB0ZXN0IGJsb2Nrcy5cclxuICogQHBhcmFtIGNvbnRleHQgSW5wdXQgY29udGV4dCB2YWx1ZS5cclxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBhbmFseXplVGVzdEJsb2NrKGNvbnRleHQsIG5vZGUpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGFuYWx5emVUZXN0QmxvY2soXHJcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcclxuICBub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXHJcbik6IFRlc3RCbG9ja0FuYWx5c2lzIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCB0ZXN0Q2FsbCA9IGdldFN1cHBvcnRlZFRlc3RDYWxsKG5vZGUpO1xyXG4gIGlmICh0ZXN0Q2FsbCA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgeyBjYWxsYmFjaywgY2FsbEV4cHJlc3Npb24gfSA9IHRlc3RDYWxsO1xyXG4gIGNvbnN0IHsgc291cmNlQ29kZSB9ID0gY29udGV4dDtcclxuICBjb25zdCBzZWN0aW9uQ29tbWVudHM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdID0gc291cmNlQ29kZVxyXG4gICAgLmdldEFsbENvbW1lbnRzKClcclxuICAgIC5maWx0ZXIoXHJcbiAgICAgIChjb21tZW50KSA9PlxyXG4gICAgICAgIGlzTG9jYXRlZENvbW1lbnQoY29tbWVudCkgJiZcclxuICAgICAgICBjb21tZW50LnR5cGUgPT09IFwiTGluZVwiICYmXHJcbiAgICAgICAgaXNSYW5nZVdpdGhpbihjb21tZW50LnJhbmdlLCBjYWxsYmFjay5ib2R5LnJhbmdlKSAmJlxyXG4gICAgICAgIGdldFNlY3Rpb25QaGFzZXMoY29tbWVudC52YWx1ZSkubGVuZ3RoID4gMCxcclxuICAgIClcclxuICAgIC5tYXAoKGNvbW1lbnQpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IGNvbW1lbnQgYXMgTG9jYXRlZENvbW1lbnQsXHJcbiAgICAgIHBoYXNlczogZ2V0U2VjdGlvblBoYXNlcyhjb21tZW50LnZhbHVlKSxcclxuICAgIH0pKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGJvZHk6IGNhbGxiYWNrLmJvZHksXHJcbiAgICBib2R5TGluZUNvdW50OlxyXG4gICAgICBjYWxsYmFjay5ib2R5LmxvYy5lbmQubGluZSAtIGNhbGxiYWNrLmJvZHkubG9jLnN0YXJ0LmxpbmUgLSAxLFxyXG4gICAgY2FsbEV4cHJlc3Npb24sXHJcbiAgICBuZXdsaW5lOiBnZXROZXdsaW5lKHNvdXJjZUNvZGUudGV4dCksXHJcbiAgICBzZWN0aW9uQ29tbWVudHMsXHJcbiAgICBzb3VyY2VUZXh0OiBzb3VyY2VDb2RlLnRleHQsXHJcbiAgICBzdGF0ZW1lbnRzOiBjYWxsYmFjay5ib2R5LmJvZHkubWFwKChzdGF0ZW1lbnQpID0+IHtcclxuICAgICAgY29uc3QgcGhhc2VzID0gZ2V0U3RhdGVtZW50UGhhc2VzKHN0YXRlbWVudCwgc2VjdGlvbkNvbW1lbnRzKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBub2RlOiBzdGF0ZW1lbnQgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLlN0YXRlbWVudD4sXHJcbiAgICAgICAgcGhhc2U6IHBoYXNlcy5hdCgtMSksXHJcbiAgICAgICAgcGhhc2VzLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IHtcclxuICBhYWFQaGFzZU9yZGVyLFxyXG4gIGFuYWx5emVUZXN0QmxvY2ssXHJcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxyXG4gIGdldEZsYXR0ZW5lZFNlY3Rpb25zLFxyXG4gIGdldEluZGVudGF0aW9uQXRPZmZzZXQsXHJcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXHJcbiAgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzLFxyXG4gIGdldFNlY3Rpb25QaGFzZXMsXHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ /** Companion module for unsupported analysis spec coverage. */
2
+ declare const analyzerAnalysisUnsupportedCompanion: true;
3
+ export { analyzerAnalysisUnsupportedCompanion };
4
+ //# sourceMappingURL=analyzer.analysis.unsupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.analysis.unsupported.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.analysis.unsupported.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,QAAA,MAAM,oCAAoC,EAAG,IAAa,CAAC;AAE3D,OAAO,EAAE,oCAAoC,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Companion module for unsupported analysis spec coverage. */
2
+ const analyzerAnalysisUnsupportedCompanion = true;
3
+ export { analyzerAnalysisUnsupportedCompanion };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMudW5zdXBwb3J0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFuYWx5c2lzLnVuc3VwcG9ydGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtEQUErRDtBQUMvRCxNQUFNLG9DQUFvQyxHQUFHLElBQWEsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBDb21wYW5pb24gbW9kdWxlIGZvciB1bnN1cHBvcnRlZCBhbmFseXNpcyBzcGVjIGNvdmVyYWdlLiAqL1xyXG5jb25zdCBhbmFseXplckFuYWx5c2lzVW5zdXBwb3J0ZWRDb21wYW5pb24gPSB0cnVlIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHsgYW5hbHl6ZXJBbmFseXNpc1Vuc3VwcG9ydGVkQ29tcGFuaW9uIH07XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ /** Collects all declared identifiers from an assert statement. */
2
+ declare const getAssertDeclaredIdentifiers: (analysis: import("./types.js").TestBlockAnalysis) => Map<string, import("./types.js").LocatedNode<import("estree").Identifier>>;
3
+ /** Resolves the identifier names used in an assertion call. */
4
+ declare const getAssertionIdentifiers: (statement: import("estree").Statement) => import("./analyzer.assertions.helpers.js").AssertionIdentifiers;
5
+ /** Extracts the expression from an expression statement node. */
6
+ declare const getStatementExpression: (statement: import("estree").Statement) => import("estree").Expression | undefined;
7
+ /** Checks whether a statement contains an assertion call. */
8
+ declare const hasAssertion: (statement: import("estree").Statement) => boolean;
9
+ /** Checks whether an expression is an Act-phase action expression. */
10
+ declare const isActionExpression: (expression: import("estree").Expression | undefined) => boolean;
11
+ /** Checks whether a statement is a valid Assert-phase assertion. */
12
+ declare const isValidAssertStatement: (statement: import("estree").Statement) => boolean;
13
+ /** Unwraps a nested or chained expression to its root call. */
14
+ declare const unwrapExpression: (expression: import("estree").Expression | undefined) => import("estree").Expression | undefined;
15
+ /** Checks whether an assertion call uses a known assertion prefix. */
16
+ declare const usesPrefix: (name: string, prefix: "actual" | "expected") => boolean;
17
+ export { getAssertDeclaredIdentifiers, getAssertionIdentifiers, getStatementExpression, hasAssertion, isActionExpression, isValidAssertStatement, unwrapExpression, usesPrefix, };
18
+ //# sourceMappingURL=analyzer.assertions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.assertions.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.ts"],"names":[],"mappings":"AA4BA,kEAAkE;AAClE,QAAA,MAAM,4BAA4B,4HAEjC,CAAC;AAEF,+DAA+D;AAC/D,QAAA,MAAM,uBAAuB,yGAAiD,CAAC;AAE/E,iEAAiE;AACjE,QAAA,MAAM,sBAAsB,oFAAgD,CAAC;AAE7E,6DAA6D;AAC7D,QAAA,MAAM,YAAY,oDAAsC,CAAC;AAEzD,sEAAsE;AACtE,QAAA,MAAM,kBAAkB,kEAA4C,CAAC;AAErE,oEAAoE;AACpE,QAAA,MAAM,sBAAsB,oDAAgD,CAAC;AAE7E,+DAA+D;AAC/D,QAAA,MAAM,gBAAgB,kGAA0C,CAAC;AAEjE,sEAAsE;AACtE,QAAA,MAAM,UAAU,0DAAoC,CAAC;AAErD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,GACX,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Companion module for destructured assertion declaration spec coverage. */
2
+ declare const analyzerAssertionsDestructuredCompanion: true;
3
+ export { analyzerAssertionsDestructuredCompanion };
4
+ //# sourceMappingURL=analyzer.assertions.destructured.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.assertions.destructured.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.destructured.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,QAAA,MAAM,uCAAuC,EAAG,IAAa,CAAC;AAE9D,OAAO,EAAE,uCAAuC,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Companion module for destructured assertion declaration spec coverage. */
2
+ const analyzerAssertionsDestructuredCompanion = true;
3
+ export { analyzerAssertionsDestructuredCompanion };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYXNzZXJ0aW9ucy5kZXN0cnVjdHVyZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFzc2VydGlvbnMuZGVzdHJ1Y3R1cmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZFQUE2RTtBQUM3RSxNQUFNLHVDQUF1QyxHQUFHLElBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBDb21wYW5pb24gbW9kdWxlIGZvciBkZXN0cnVjdHVyZWQgYXNzZXJ0aW9uIGRlY2xhcmF0aW9uIHNwZWMgY292ZXJhZ2UuICovXHJcbmNvbnN0IGFuYWx5emVyQXNzZXJ0aW9uc0Rlc3RydWN0dXJlZENvbXBhbmlvbiA9IHRydWUgYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgeyBhbmFseXplckFzc2VydGlvbnNEZXN0cnVjdHVyZWRDb21wYW5pb24gfTtcclxuIl19