@codeperfect/eslint-plugin 2.1.0 → 2.2.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 (309) hide show
  1. package/README.md +3 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/application/custom-rules.d.ts +8 -8
  4. package/dist/application/custom-rules.js +14 -14
  5. package/dist/application/index.d.ts +1 -1
  6. package/dist/application/index.d.ts.map +1 -1
  7. package/dist/application/index.js +2 -2
  8. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  9. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +3 -4
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +5 -3
  12. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
  13. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +17 -7
  14. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  15. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +29 -2
  16. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +2 -0
  17. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -1
  18. package/dist/domain/architecture/consistent-barrel-files/index.js +3 -1
  19. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts +5 -0
  20. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +247 -0
  22. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts +5 -0
  23. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -0
  24. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +136 -0
  25. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
  26. package/dist/domain/architecture/consistent-barrel-files/rule.js +1 -2
  27. package/dist/domain/architecture/index.d.ts +2 -1
  28. package/dist/domain/architecture/index.d.ts.map +1 -1
  29. package/dist/domain/architecture/index.js +3 -2
  30. package/dist/domain/architecture/no-unused-exports/index.d.ts +3 -0
  31. package/dist/domain/architecture/no-unused-exports/index.d.ts.map +1 -0
  32. package/dist/domain/architecture/no-unused-exports/index.js +2 -0
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts +50 -0
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +141 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +49 -0
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -0
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +608 -0
  39. package/dist/domain/architecture/no-unused-exports/rule.d.ts +5 -0
  40. package/dist/domain/architecture/no-unused-exports/rule.d.ts.map +1 -0
  41. package/dist/domain/architecture/no-unused-exports/rule.js +82 -0
  42. package/dist/domain/architecture/no-unused-exports/types.d.ts +32 -0
  43. package/dist/domain/architecture/no-unused-exports/types.d.ts.map +1 -0
  44. package/dist/domain/architecture/no-unused-exports/types.js +2 -0
  45. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  46. package/dist/domain/core/no-multiple-declarators/rule.js +53 -4
  47. package/dist/domain/core/no-multiple-declarators/types.d.ts +3 -1
  48. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -1
  49. package/dist/domain/core/no-multiple-declarators/types.js +5 -2
  50. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  51. package/dist/domain/core/prefer-interface-types/rule.js +90 -22
  52. package/dist/domain/custom-rule-documentation.d.ts +1 -14
  53. package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
  54. package/dist/domain/custom-rule-documentation.js +2 -2
  55. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  56. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +11 -2
  57. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  58. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +1 -1
  59. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  60. package/dist/domain/docs/no-interface-member-docs/rule.js +7 -2
  61. package/dist/domain/docs/require-example-language/examples.d.ts +4 -15
  62. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  63. package/dist/domain/docs/require-example-language/examples.js +119 -26
  64. package/dist/domain/docs/require-example-language/fixes.d.ts +1 -21
  65. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
  66. package/dist/domain/docs/require-example-language/fixes.js +5 -2
  67. package/dist/domain/docs/require-example-language/reporting.d.ts +2 -38
  68. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  69. package/dist/domain/docs/require-example-language/reporting.js +2 -2
  70. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  71. package/dist/domain/docs/require-example-language/rule.js +2 -1
  72. package/dist/domain/docs/require-example-language/types.d.ts +1 -1
  73. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  74. package/dist/domain/docs/require-example-language/types.js +1 -1
  75. package/dist/domain/docs/single-line-jsdoc/rule.js +8 -8
  76. package/dist/domain/index.d.ts +2 -3
  77. package/dist/domain/index.d.ts.map +1 -1
  78. package/dist/domain/index.js +3 -4
  79. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +1 -19
  80. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
  81. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +8 -31
  82. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  83. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +18 -22
  84. package/dist/domain/testing/aaa/analyzer.analysis.js +46 -39
  85. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +1 -17
  86. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
  87. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +1 -3
  88. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  89. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +3 -4
  90. package/dist/domain/testing/aaa/analyzer.assertions.js +5 -33
  91. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +1 -3
  92. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  93. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +6 -5
  94. package/dist/domain/testing/aaa/analyzer.classification.d.ts +1 -15
  95. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
  96. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +1 -3
  97. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
  98. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +5 -6
  99. package/dist/domain/testing/aaa/analyzer.classification.js +5 -31
  100. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +1 -3
  101. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -1
  102. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +3 -5
  103. package/dist/domain/testing/aaa/analyzer.super.d.ts +1 -7
  104. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  105. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +1 -14
  106. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -1
  107. package/dist/domain/testing/aaa/analyzer.super.helpers.js +2 -4
  108. package/dist/domain/testing/aaa/analyzer.super.js +5 -20
  109. package/dist/domain/testing/aaa/index.d.ts +1 -2
  110. package/dist/domain/testing/aaa/index.d.ts.map +1 -1
  111. package/dist/domain/testing/aaa/index.js +2 -2
  112. package/dist/domain/testing/aaa/types.d.ts +1 -1
  113. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  114. package/dist/domain/testing/aaa/types.js +1 -1
  115. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  116. package/dist/domain/testing/assert-actual-expected-names/rule.js +28 -3
  117. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -1
  118. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -1
  119. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +3 -2
  120. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +1 -1
  121. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -1
  122. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
  123. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +1 -1
  124. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  125. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +78 -16
  126. package/dist/domain/testing/{require-aaa-sections → enforce-aaa-structure}/missing-section-fixes.d.ts +1 -1
  127. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -0
  128. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +150 -0
  129. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  130. package/dist/domain/testing/enforce-aaa-structure/rule.js +166 -7
  131. package/dist/domain/testing/index.d.ts +0 -3
  132. package/dist/domain/testing/index.d.ts.map +1 -1
  133. package/dist/domain/testing/index.js +1 -4
  134. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +1 -15
  135. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -1
  136. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +2 -71
  137. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  138. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +4 -2
  139. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +1 -13
  140. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
  141. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +3 -21
  142. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
  143. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +2 -1
  144. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
  145. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +1 -1
  146. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +6 -6
  147. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +1 -12
  148. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  149. package/dist/domain/testing/prefer-vi-mocked-import/match.js +149 -15
  150. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  151. package/dist/domain/testing/require-act-result-capture/rule.js +37 -8
  152. package/dist/domain/testing/require-test-companion/index.d.ts +0 -1
  153. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -1
  154. package/dist/domain/testing/require-test-companion/index.js +1 -2
  155. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts +2 -1
  156. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
  157. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +13 -58
  158. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts +2 -1
  159. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -1
  160. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -5
  161. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  162. package/dist/domain/testing/require-test-companion/rule.js +7 -7
  163. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  164. package/dist/domain/testing/single-act-statement/rule.js +6 -3
  165. package/dist/index.d.ts +1 -1
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +2 -2
  168. package/dist/infrastructure/codeperfect-plugin.d.ts +6 -6
  169. package/dist/infrastructure/codeperfect-plugin.js +5 -5
  170. package/dist/infrastructure/presets.d.ts.map +1 -1
  171. package/dist/infrastructure/presets.js +23 -7
  172. package/package.json +21 -30
  173. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +0 -41
  174. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  175. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -87
  176. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +0 -40
  177. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  178. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -91
  179. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +0 -4
  180. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +0 -1
  181. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +0 -4
  182. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts +0 -141
  183. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  184. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +0 -20
  185. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +0 -1
  186. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +0 -25
  187. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +0 -235
  188. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +0 -101
  189. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +0 -1
  190. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +0 -108
  191. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +0 -35
  192. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +0 -1
  193. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +0 -95
  194. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +0 -4
  195. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +0 -1
  196. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +0 -4
  197. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +0 -4
  198. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +0 -1
  199. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +0 -4
  200. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts +0 -110
  201. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  202. package/dist/domain/core/prefer-interface-types/test-helpers.js +0 -116
  203. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -89
  204. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  205. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  206. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts +0 -103
  207. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  208. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +0 -157
  209. package/dist/domain/docs/require-example-language/create-fixer.d.ts +0 -5
  210. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +0 -1
  211. package/dist/domain/docs/require-example-language/create-fixer.js +0 -5
  212. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +0 -4
  213. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +0 -1
  214. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +0 -5
  215. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +0 -4
  216. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +0 -1
  217. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +0 -5
  218. package/dist/domain/docs/test-helpers.d.ts +0 -50
  219. package/dist/domain/docs/test-helpers.d.ts.map +0 -1
  220. package/dist/domain/docs/test-helpers.js +0 -107
  221. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +0 -4
  222. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +0 -1
  223. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +0 -4
  224. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +0 -4
  225. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +0 -1
  226. package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +0 -4
  227. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +0 -9
  228. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +0 -1
  229. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +0 -10
  230. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +0 -4
  231. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +0 -1
  232. package/dist/domain/testing/aaa/analyzer.classification.mutations.js +0 -4
  233. package/dist/domain/testing/aaa/analyzer.d.ts +0 -46
  234. package/dist/domain/testing/aaa/analyzer.d.ts.map +0 -1
  235. package/dist/domain/testing/aaa/analyzer.js +0 -59
  236. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +0 -4
  237. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +0 -1
  238. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +0 -4
  239. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +0 -4
  240. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +0 -1
  241. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +0 -4
  242. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +0 -4
  243. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +0 -1
  244. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +0 -4
  245. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +0 -42
  246. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +0 -1
  247. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +0 -188
  248. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts +0 -5
  249. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  250. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +0 -37
  251. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +0 -20
  252. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +0 -1
  253. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +0 -39
  254. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +0 -97
  255. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +0 -1
  256. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +0 -174
  257. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +0 -2
  258. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +0 -1
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +0 -2
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +0 -14
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +0 -1
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +0 -84
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +0 -13
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +0 -1
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +0 -195
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +0 -25
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +0 -1
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +0 -96
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +0 -32
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +0 -1
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +0 -164
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +0 -5
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +0 -1
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +0 -4
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +0 -1
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +0 -4
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +0 -4
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +0 -1
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +0 -4
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +0 -88
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +0 -4
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +0 -1
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +0 -4
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +0 -24
  285. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +0 -1
  286. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +0 -113
  287. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +0 -36
  288. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +0 -1
  289. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +0 -138
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +0 -187
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +0 -1
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +0 -2
  293. package/dist/domain/testing/require-aaa-sections/index.d.ts +0 -2
  294. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +0 -1
  295. package/dist/domain/testing/require-aaa-sections/index.js +0 -2
  296. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +0 -1
  297. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +0 -150
  298. package/dist/domain/testing/require-aaa-sections/rule.d.ts +0 -5
  299. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +0 -1
  300. package/dist/domain/testing/require-aaa-sections/rule.js +0 -134
  301. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +0 -104
  302. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +0 -1
  303. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +0 -216
  304. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts +0 -51
  305. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  306. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +0 -184
  307. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts +0 -28
  308. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  309. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +0 -26
@@ -39,7 +39,7 @@ const functionLikeTypes = new Set([
39
39
  * @returns True when the node is a function expression.
40
40
  * @example
41
41
  * ```typescript
42
- * isFunctionExpression({ type: "FunctionExpression" } as EstreeNode);
42
+ * isFunctionExpression({ type: "FunctionExpression" } as Node);
43
43
  * ```
44
44
  */
45
45
  const isFunctionExpression = (node) => node?.type === "FunctionExpression" ||
@@ -50,7 +50,7 @@ const isFunctionExpression = (node) => node?.type === "FunctionExpression" ||
50
50
  * @returns True when the node is a function declaration.
51
51
  * @example
52
52
  * ```typescript
53
- * isFunctionDeclaration({ type: "FunctionDeclaration" } as EstreeNode);
53
+ * isFunctionDeclaration({ type: "FunctionDeclaration" } as Node);
54
54
  * ```
55
55
  */
56
56
  const isFunctionDeclaration = (node) => node?.type === "FunctionDeclaration" || node?.type === "TSDeclareFunction";
@@ -60,7 +60,7 @@ const isFunctionDeclaration = (node) => node?.type === "FunctionDeclaration" ||
60
60
  * @returns True when the node is a method-like declaration.
61
61
  * @example
62
62
  * ```typescript
63
- * isMethodLike({ type: "MethodDefinition" } as EstreeNode);
63
+ * isMethodLike({ type: "MethodDefinition" } as Node);
64
64
  * ```
65
65
  */
66
66
  const isMethodLike = (node) => node?.type === "MethodDefinition" || node?.type === "TSMethodSignature";
@@ -70,7 +70,7 @@ const isMethodLike = (node) => node?.type === "MethodDefinition" || node?.type =
70
70
  * @returns True when the property value is a function.
71
71
  * @example
72
72
  * ```typescript
73
- * isPropertyWithFunctionValue({ type: "Property" } as EstreeNode);
73
+ * isPropertyWithFunctionValue({ type: "Property" } as Node);
74
74
  * ```
75
75
  */
76
76
  const isPropertyWithFunctionValue = (node) => {
@@ -86,7 +86,7 @@ const isPropertyWithFunctionValue = (node) => {
86
86
  * @returns True when any initializer is a function.
87
87
  * @example
88
88
  * ```typescript
89
- * isVariableWithFunctionInit({ type: "VariableDeclaration" } as EstreeNode);
89
+ * isVariableWithFunctionInit({ type: "VariableDeclaration" } as Node);
90
90
  * ```
91
91
  */
92
92
  const isVariableWithFunctionInit = (node) => {
@@ -103,7 +103,7 @@ const isVariableWithFunctionInit = (node) => {
103
103
  * @returns True when the exported declaration is function-like.
104
104
  * @example
105
105
  * ```typescript
106
- * isExportedFunctionLike({ type: "ExportNamedDeclaration" } as EstreeNode);
106
+ * isExportedFunctionLike({ type: "ExportNamedDeclaration" } as Node);
107
107
  * ```
108
108
  */
109
109
  const isExportedFunctionLike = (node) => {
@@ -120,7 +120,7 @@ const isExportedFunctionLike = (node) => {
120
120
  * @returns True when the node is function-like.
121
121
  * @example
122
122
  * ```typescript
123
- * isFunctionLikeNode({ type: "FunctionDeclaration" } as EstreeNode);
123
+ * isFunctionLikeNode({ type: "FunctionDeclaration" } as Node);
124
124
  * ```
125
125
  */
126
126
  const isFunctionLikeNode = (node) => {
@@ -198,4 +198,4 @@ export const singleLineJsdocRule = {
198
198
  type: "layout",
199
199
  },
200
200
  };
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0sK0JBQStCLENBQUM7QUEwRHZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsVUFBNEIsRUFDNUIsT0FBc0IsRUFDTSxFQUFFO0lBQzlCLElBQUksT0FBTyxVQUFVLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQ25ELGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUMsQ0FBQztJQUNILElBQUksVUFBVSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDeEMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxnQkFBZ0I7Q0FDakIsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDeEQsSUFBSSxFQUFFLElBQUksS0FBSyxvQkFBb0I7SUFDbkMsSUFBSSxFQUFFLElBQUksS0FBSyx5QkFBeUIsQ0FBQztBQUUzQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFlLEVBQVcsRUFBRSxDQUN6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QUFFLENBQUM7d0JBQ1YsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFFBQVE7S0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IENvbW1lbnQgYXMgRXN0cmVlQ29tbWVudCwgTm9kZSBhcyBFc3RyZWVOb2RlIH0gZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQge1xuICBub3JtYWxpemVNYXhMaW5lTGVuZ3RoLFxuICByZXBvcnRJZlNpbmdsZUxpbmUsXG59IGZyb20gXCIuL3NpbmdsZS1saW5lLWpzZG9jLXV0aWxpdGllc1wiO1xuXG4vKiogVHlwZSB1bmlvbiBmb3Igbm9kZXMgdGhhdCBtYXkgYmUgbWlzc2luZy4gKi9cbnR5cGUgTWF5YmVOb2RlID0gRXN0cmVlTm9kZSB8IE5vZGVXaXRoVHlwZSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbi8qKiBTaGFwZSBmb3IgZXhwb3J0IG5vZGVzIHRoYXQgd3JhcCBhIGRlY2xhcmF0aW9uLiAqL1xuaW50ZXJmYWNlIE5vZGVXaXRoRGVjbGFyYXRpb24ge1xuICAvKiogRGVjbGFyYXRpb24gd3JhcHBlZCBieSB0aGUgZXhwb3J0LiAqL1xuICBkZWNsYXJhdGlvbj86IE1heWJlTm9kZTtcbn1cbi8qKiBTaGFwZSBmb3Igbm9kZXMgdGhhdCBoYXZlIGRlY2xhcmF0aW9ucy4gKi9cbmludGVyZmFjZSBOb2RlV2l0aERlY2xhcmF0aW9ucyB7XG4gIC8qKiBWYXJpYWJsZSBkZWNsYXJhdGlvbnMgZm9yIGEgZGVjbGFyYXRpb24gbGlzdC4gKi9cbiAgZGVjbGFyYXRpb25zPzogVmFyaWFibGVEZWNsYXJhdGlvbkVudHJ5W107XG59XG4vKiogU2hhcGUgZm9yIG1pbmltYWwgbm9kZXMgdGhhdCBvbmx5IGV4cG9zZSBhIHR5cGUuICovXG5pbnRlcmZhY2UgTm9kZVdpdGhUeXBlIHtcbiAgLyoqIE5vZGUgdHlwZSBkaXNjcmltaW5hdG9yLiAqL1xuICB0eXBlOiBzdHJpbmc7XG59XG4vKiogU2hhcGUgZm9yIG5vZGVzIHRoYXQgaGF2ZSBhIHZhbHVlLiAqL1xuaW50ZXJmYWNlIE5vZGVXaXRoVmFsdWUge1xuICAvKiogVmFsdWUgbm9kZSB1c2VkIGZvciBwcm9wZXJ0eSBpbml0aWFsaXplcnMuICovXG4gIHZhbHVlPzogTWF5YmVOb2RlO1xufVxuLyoqIFNvdXJjZUNvZGUgYWNjZXNzb3JzIHVzZWQgYnkgdGhpcyBydWxlLiAqL1xuaW50ZXJmYWNlIFNvdXJjZUNvZGVBY2Nlc3Mge1xuICAvKiogUmV0dXJucyB0aGUgbm9kZSBhdCBhIHJhbmdlIGluZGV4LiAqL1xuICBnZXROb2RlQnlSYW5nZUluZGV4OiAoaW5kZXg6IG51bWJlcikgPT4gRXN0cmVlTm9kZSB8IG51bGw7XG4gIC8qKiBSZXR1cm5zIHRoZSBmaXJzdCB0b2tlbiBhZnRlciBhIGNvbW1lbnQuICovXG4gIGdldFRva2VuQWZ0ZXI6IChcbiAgICBub2RlOiBFc3RyZWVDb21tZW50LFxuICAgIG9wdGlvbnM/OiBUb2tlbkFmdGVyT3B0aW9ucyxcbiAgKSA9PiBudWxsIHwgVG9rZW5XaXRoT3B0aW9uYWxSYW5nZTtcbn1cbi8qKiBUeXBlIGFsaWFzIGZvciBjb21tZW50IG5vZGVzIHByb3ZpZGVkIGJ5IEVTTGludC4gKi9cbnR5cGUgU291cmNlQ29tbWVudCA9IEVzdHJlZUNvbW1lbnQ7XG4vKiogT3B0aW9ucyB1c2VkIHdoZW4gZmV0Y2hpbmcgdG9rZW5zIGFmdGVyIGNvbW1lbnRzLiAqL1xuaW50ZXJmYWNlIFRva2VuQWZ0ZXJPcHRpb25zIHtcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjb21tZW50IHRva2Vucy4gKi9cbiAgaW5jbHVkZUNvbW1lbnRzPzogYm9vbGVhbjtcbn1cbi8qKiBTaGFwZSBmb3IgdG9rZW5zIHRoYXQgbWF5IGluY2x1ZGUgYSByYW5nZS4gKi9cbmludGVyZmFjZSBUb2tlbldpdGhPcHRpb25hbFJhbmdlIHtcbiAgLyoqIFRva2VuIHJhbmdlIHVzZWQgZm9yIGxvb2t1cHMuICovXG4gIHJhbmdlPzogW251bWJlciwgbnVtYmVyXTtcbn1cbi8qKiBTaGFwZSBmb3IgdG9rZW5zIHdpdGggcmFuZ2UgbWV0YWRhdGEuICovXG5pbnRlcmZhY2UgVG9rZW5XaXRoUmFuZ2Uge1xuICAvKiogVG9rZW4gcmFuZ2UgdXNlZCBmb3IgbG9va3Vwcy4gKi9cbiAgcmFuZ2U6IFtudW1iZXIsIG51bWJlcl07XG59XG4vKiogU2hhcGUgZm9yIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGVudHJpZXMuICovXG5pbnRlcmZhY2UgVmFyaWFibGVEZWNsYXJhdGlvbkVudHJ5IHtcbiAgLyoqIE9wdGlvbmFsIGluaXRpYWxpemVyIGZvciB0aGUgZGVjbGFyYXRpb24uICovXG4gIGluaXQ/OiBNYXliZU5vZGU7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHRva2VuIGFmdGVyIGEgY29tbWVudCB3aGVuIGF2YWlsYWJsZS5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZSBjb2RlIGFjY2Vzc29ycy5cbiAqIEBwYXJhbSBjb21tZW50IENvbW1lbnQgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVG9rZW4gcmFuZ2UgbWV0YWRhdGEgd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0VG9rZW5BZnRlclJhbmdlKHt9IGFzIFNvdXJjZUNvZGVBY2Nlc3MsIHt9IGFzIFNvdXJjZUNvbW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFRva2VuQWZ0ZXJSYW5nZSA9IChcbiAgc291cmNlQ29kZTogU291cmNlQ29kZUFjY2VzcyxcbiAgY29tbWVudDogU291cmNlQ29tbWVudCxcbik6IFRva2VuV2l0aFJhbmdlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKHR5cGVvZiBzb3VyY2VDb2RlLmdldFRva2VuQWZ0ZXIgIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCB0b2tlbkFmdGVyID0gc291cmNlQ29kZS5nZXRUb2tlbkFmdGVyKGNvbW1lbnQsIHtcbiAgICBpbmNsdWRlQ29tbWVudHM6IGZhbHNlLFxuICB9KTtcbiAgaWYgKHRva2VuQWZ0ZXI/LnJhbmdlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIHJldHVybiB7IHJhbmdlOiB0b2tlbkFmdGVyLnJhbmdlIH07XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uLWxpa2Ugbm9kZSB0eXBlcyBoYW5kbGVkIGRpcmVjdGx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGZ1bmN0aW9uTGlrZVR5cGVzLmhhcyhcIlRTRnVuY3Rpb25UeXBlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGZ1bmN0aW9uTGlrZVR5cGVzID0gbmV3IFNldDxzdHJpbmc+KFtcbiAgXCJUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxuICBcIlRTQ29uc3RydWN0U2lnbmF0dXJlRGVjbGFyYXRpb25cIixcbiAgXCJUU0Z1bmN0aW9uVHlwZVwiLFxuXSk7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIGZ1bmN0aW9uIGV4cHJlc3Npb24gb3IgYXJyb3cgZnVuY3Rpb24uXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIG5vZGUgaXMgYSBmdW5jdGlvbiBleHByZXNzaW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzRnVuY3Rpb25FeHByZXNzaW9uKHsgdHlwZTogXCJGdW5jdGlvbkV4cHJlc3Npb25cIiB9IGFzIEVzdHJlZU5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzRnVuY3Rpb25FeHByZXNzaW9uID0gKG5vZGU6IE1heWJlTm9kZSk6IGJvb2xlYW4gPT5cbiAgbm9kZT8udHlwZSA9PT0gXCJGdW5jdGlvbkV4cHJlc3Npb25cIiB8fFxuICBub2RlPy50eXBlID09PSBcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG9yIFRTIGRlY2xhcmF0aW9uIHNpZ25hdHVyZS5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbm9kZSBpcyBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzRnVuY3Rpb25EZWNsYXJhdGlvbih7IHR5cGU6IFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiIH0gYXMgRXN0cmVlTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNGdW5jdGlvbkRlY2xhcmF0aW9uID0gKG5vZGU6IE1heWJlTm9kZSk6IGJvb2xlYW4gPT5cbiAgbm9kZT8udHlwZSA9PT0gXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgfHwgbm9kZT8udHlwZSA9PT0gXCJUU0RlY2xhcmVGdW5jdGlvblwiO1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIG5vZGUgaXMgYSBtZXRob2QtbGlrZSBkZWNsYXJhdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbm9kZSBpcyBhIG1ldGhvZC1saWtlIGRlY2xhcmF0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzTWV0aG9kTGlrZSh7IHR5cGU6IFwiTWV0aG9kRGVmaW5pdGlvblwiIH0gYXMgRXN0cmVlTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNNZXRob2RMaWtlID0gKG5vZGU6IE1heWJlTm9kZSk6IGJvb2xlYW4gPT5cbiAgbm9kZT8udHlwZSA9PT0gXCJNZXRob2REZWZpbml0aW9uXCIgfHwgbm9kZT8udHlwZSA9PT0gXCJUU01ldGhvZFNpZ25hdHVyZVwiO1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIG5vZGUgaXMgYSBwcm9wZXJ0eSB3aXRoIGEgZnVuY3Rpb24gaW5pdGlhbGl6ZXIuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHByb3BlcnR5IHZhbHVlIGlzIGEgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNQcm9wZXJ0eVdpdGhGdW5jdGlvblZhbHVlKHsgdHlwZTogXCJQcm9wZXJ0eVwiIH0gYXMgRXN0cmVlTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNQcm9wZXJ0eVdpdGhGdW5jdGlvblZhbHVlID0gKG5vZGU6IEVzdHJlZU5vZGUpOiBib29sZWFuID0+IHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gXCJQcm9wZXJ0eURlZmluaXRpb25cIiAmJiBub2RlLnR5cGUgIT09IFwiUHJvcGVydHlcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHsgdmFsdWUgfSA9IG5vZGUgYXMgTm9kZVdpdGhWYWx1ZTtcbiAgcmV0dXJuIGlzRnVuY3Rpb25FeHByZXNzaW9uKHZhbHVlKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgdmFyaWFibGUgZGVjbGFyYXRpb24gY29udGFpbnMgYSBmdW5jdGlvbiBpbml0aWFsaXplci5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiBhbnkgaW5pdGlhbGl6ZXIgaXMgYSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1ZhcmlhYmxlV2l0aEZ1bmN0aW9uSW5pdCh7IHR5cGU6IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiIH0gYXMgRXN0cmVlTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNWYXJpYWJsZVdpdGhGdW5jdGlvbkluaXQgPSAobm9kZTogRXN0cmVlTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBpZiAobm9kZS50eXBlICE9PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHsgZGVjbGFyYXRpb25zIH0gPSBub2RlIGFzIE5vZGVXaXRoRGVjbGFyYXRpb25zO1xuICBjb25zdCBpbml0aWFsaXplZCA9IGRlY2xhcmF0aW9ucyA/PyBbXTtcblxuICByZXR1cm4gaW5pdGlhbGl6ZWQuc29tZSgoZGVjbGFyYXRpb24pID0+XG4gICAgaXNGdW5jdGlvbkV4cHJlc3Npb24oZGVjbGFyYXRpb24uaW5pdCksXG4gICk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBhbiBleHBvcnQgd3JhcHMgYSBmdW5jdGlvbi1saWtlIGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBleHBvcnRlZCBkZWNsYXJhdGlvbiBpcyBmdW5jdGlvbi1saWtlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzRXhwb3J0ZWRGdW5jdGlvbkxpa2UoeyB0eXBlOiBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIiB9IGFzIEVzdHJlZU5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzRXhwb3J0ZWRGdW5jdGlvbkxpa2UgPSAobm9kZTogRXN0cmVlTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBpZiAoXG4gICAgbm9kZS50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIiAmJlxuICAgIG5vZGUudHlwZSAhPT0gXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIlxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB7IGRlY2xhcmF0aW9uIH0gPSBub2RlIGFzIE5vZGVXaXRoRGVjbGFyYXRpb247XG5cbiAgcmV0dXJuIGlzRnVuY3Rpb25MaWtlTm9kZShkZWNsYXJhdGlvbik7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIG5vZGUgcmVwcmVzZW50cyBhbnkgc3VwcG9ydGVkIGZ1bmN0aW9uLWxpa2UgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIG5vZGUgaXMgZnVuY3Rpb24tbGlrZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc0Z1bmN0aW9uTGlrZU5vZGUoeyB0eXBlOiBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIiB9IGFzIEVzdHJlZU5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzRnVuY3Rpb25MaWtlTm9kZSA9IChub2RlOiBNYXliZU5vZGUpOiBib29sZWFuID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgbm9kZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICBpc0Z1bmN0aW9uRGVjbGFyYXRpb24obm9kZSkgfHxcbiAgICBpc0Z1bmN0aW9uRXhwcmVzc2lvbihub2RlKSB8fFxuICAgIGlzTWV0aG9kTGlrZShub2RlKSB8fFxuICAgIGZ1bmN0aW9uTGlrZVR5cGVzLmhhcyhub2RlLnR5cGUpIHx8XG4gICAgaXNQcm9wZXJ0eVdpdGhGdW5jdGlvblZhbHVlKG5vZGUgYXMgRXN0cmVlTm9kZSkgfHxcbiAgICBpc1ZhcmlhYmxlV2l0aEZ1bmN0aW9uSW5pdChub2RlIGFzIEVzdHJlZU5vZGUpIHx8XG4gICAgaXNFeHBvcnRlZEZ1bmN0aW9uTGlrZShub2RlIGFzIEVzdHJlZU5vZGUpXG4gICk7XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIEpTRG9jIGNvbW1lbnQgc2hvdWxkIGJlIHNraXBwZWQgZm9yIGZ1bmN0aW9uIHRhcmdldHMuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gY29tbWVudCBDb21tZW50IG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgY29tbWVudCB0YXJnZXRzIGEgZnVuY3Rpb24tbGlrZSBub2RlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHNob3VsZFNraXBGb3JGdW5jdGlvbih7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCB7fSBhcyBTb3VyY2VDb21tZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBzaG91bGRTa2lwRm9yRnVuY3Rpb24gPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGNvbW1lbnQ6IFNvdXJjZUNvbW1lbnQsXG4pOiBib29sZWFuID0+IHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuc291cmNlQ29kZSBhcyBTb3VyY2VDb2RlQWNjZXNzO1xuICBpZiAodHlwZW9mIHNvdXJjZUNvZGUuZ2V0Tm9kZUJ5UmFuZ2VJbmRleCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgdG9rZW5BZnRlciA9IGdldFRva2VuQWZ0ZXJSYW5nZShzb3VyY2VDb2RlLCBjb21tZW50KTtcbiAgaWYgKHRva2VuQWZ0ZXIgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IFtyYW5nZVN0YXJ0XSA9IHRva2VuQWZ0ZXIucmFuZ2U7XG4gIGNvbnN0IG5vZGUgPSBzb3VyY2VDb2RlLmdldE5vZGVCeVJhbmdlSW5kZXgocmFuZ2VTdGFydCk7XG4gIHJldHVybiBpc0Z1bmN0aW9uTGlrZU5vZGUobm9kZSk7XG59O1xuXG4vKiogUnVsZSBtb2R1bGUgZW5mb3JjaW5nIHNpbmdsZS1saW5lIEpTRG9jIHdoZW4gaXQgZml0cy4gKi9cbmV4cG9ydCBjb25zdCBzaW5nbGVMaW5lSnNkb2NSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IHsgb3B0aW9ucywgc291cmNlQ29kZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCBtYXhMaW5lTGVuZ3RoID0gbm9ybWFsaXplTWF4TGluZUxlbmd0aChvcHRpb25zKTtcbiAgICBjb25zdCBjb21tZW50cyA9IHNvdXJjZUNvZGUuZ2V0QWxsQ29tbWVudHMoKTtcblxuICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBjb21tZW50cykge1xuICAgICAgaWYgKCFzaG91bGRTa2lwRm9yRnVuY3Rpb24oY29udGV4dCwgY29tbWVudCkpIHtcbiAgICAgICAgcmVwb3J0SWZTaW5nbGVMaW5lKGNvbnRleHQsIGNvbW1lbnQsIG1heExpbmVMZW5ndGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7fTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRlZmF1bHRPcHRpb25zOiBbeyBtYXhMaW5lTGVuZ3RoOiA4MCB9XSxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJSZXF1aXJlIEpTRG9jIGNvbW1lbnRzIHRvIHVzZSBhIHNpbmdsZSBsaW5lIHdoZW4gdGhleSBmaXQuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9zaW5nbGUtbGluZS1qc2RvYy5tZFwiLFxuICAgIH0sXG4gICAgZml4YWJsZTogXCJjb2RlXCIsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHNpbmdsZUxpbmU6IFwiVXNlIGEgc2luZ2xlLWxpbmUgSlNEb2MgY29tbWVudCB3aGVuIGl0IGZpdHMgb24gb25lIGxpbmUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgbWF4TGluZUxlbmd0aDoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiTWF4aW11bSBsaW5lIGxlbmd0aCB0aGF0IHN0aWxsIGFsbG93cyBhIEpTRG9jIGJsb2NrIHRvIGJlIGNvbGxhcHNlZCB0byBhIHNpbmdsZSBsaW5lLlwiLFxuICAgICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgICB0eXBlOiBcImxheW91dFwiLFxuICB9LFxufTtcbiJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0sK0JBQStCLENBQUM7QUEwRHZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsVUFBNEIsRUFDNUIsT0FBc0IsRUFDTSxFQUFFO0lBQzlCLElBQUksT0FBTyxVQUFVLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQ25ELGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUMsQ0FBQztJQUNILElBQUksVUFBVSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDeEMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxnQkFBZ0I7Q0FDakIsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDeEQsSUFBSSxFQUFFLElBQUksS0FBSyxvQkFBb0I7SUFDbkMsSUFBSSxFQUFFLElBQUksS0FBSyx5QkFBeUIsQ0FBQztBQUUzQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFlLEVBQVcsRUFBRSxDQUN6RCxJQUFJLEVBQUUsSUFBSSxLQUFLLHFCQUFxQixJQUFJLElBQUksRUFBRSxJQUFJLEtBQUssbUJBQW1CLENBQUM7QUFFN0U7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWUsRUFBVyxFQUFFLENBQ2hELElBQUksRUFBRSxJQUFJLEtBQUssa0JBQWtCLElBQUksSUFBSSxFQUFFLElBQUksS0FBSyxtQkFBbUIsQ0FBQztBQUUxRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxJQUFVLEVBQVcsRUFBRTtJQUMxRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNuRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBcUIsQ0FBQztJQUN4QyxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQVUsRUFBVyxFQUFFO0lBQ3pELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUE0QixDQUFDO0lBQ3RELE1BQU0sV0FBVyxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7SUFFdkMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDdEMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsSUFBVSxFQUFXLEVBQUU7SUFDckQsSUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLHdCQUF3QjtRQUN0QyxJQUFJLENBQUMsSUFBSSxLQUFLLDBCQUEwQixFQUN4QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQTJCLENBQUM7SUFFcEQsT0FBTyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFlLEVBQVcsRUFBRTtJQUN0RCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxDQUNMLHFCQUFxQixDQUFDLElBQUksQ0FBQztRQUMzQixvQkFBb0IsQ0FBQyxJQUFJLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksQ0FBQztRQUNsQixpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQywyQkFBMkIsQ0FBQyxJQUFZLENBQUM7UUFDekMsMEJBQTBCLENBQUMsSUFBWSxDQUFDO1FBQ3hDLHNCQUFzQixDQUFDLElBQVksQ0FBQyxDQUNyQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixPQUF5QixFQUN6QixPQUFzQixFQUNiLEVBQUU7SUFDWCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBOEIsQ0FBQztJQUMxRCxJQUFJLE9BQU8sVUFBVSxDQUFDLG1CQUFtQixLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxJQUFJLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ3RDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGLDREQUE0RDtBQUM1RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBb0I7SUFDbEQsTUFBTSxDQUFDLE9BQXlCO1FBQzlCLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sYUFBYSxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUU3QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDN0Msa0JBQWtCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLGNBQWMsRUFBRSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3ZDLElBQUksRUFBRTtZQUNKLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLG9GQUFvRjtTQUMxRjtRQUNELE9BQU8sRUFBRSxNQUFNO1FBQ2YsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLDJEQUEyRDtTQUN4RTtRQUNELE1BQU0sRUFBRTtZQUNOO2dCQUNFLG9CQUFvQixFQUFFLEtBQUs7Z0JBQzNCLFVBQVUsRUFBRTtvQkFDVixhQUFhLEVBQUU7d0JBQ2IsV0FBVyxFQUNULHVGQUF1Rjt3QkFDekYsT0FBTyxFQUFFLENBQUM7d0JBQ1YsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFFBQVE7S0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IENvbW1lbnQsIE5vZGUgfSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZU1heExpbmVMZW5ndGgsXG4gIHJlcG9ydElmU2luZ2xlTGluZSxcbn0gZnJvbSBcIi4vc2luZ2xlLWxpbmUtanNkb2MtdXRpbGl0aWVzXCI7XG5cbi8qKiBUeXBlIHVuaW9uIGZvciBub2RlcyB0aGF0IG1heSBiZSBtaXNzaW5nLiAqL1xudHlwZSBNYXliZU5vZGUgPSBOb2RlIHwgTm9kZVdpdGhUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqIFNoYXBlIGZvciBleHBvcnQgbm9kZXMgdGhhdCB3cmFwIGEgZGVjbGFyYXRpb24uICovXG5pbnRlcmZhY2UgTm9kZVdpdGhEZWNsYXJhdGlvbiB7XG4gIC8qKiBEZWNsYXJhdGlvbiB3cmFwcGVkIGJ5IHRoZSBleHBvcnQuICovXG4gIGRlY2xhcmF0aW9uPzogTWF5YmVOb2RlO1xufVxuLyoqIFNoYXBlIGZvciBub2RlcyB0aGF0IGhhdmUgZGVjbGFyYXRpb25zLiAqL1xuaW50ZXJmYWNlIE5vZGVXaXRoRGVjbGFyYXRpb25zIHtcbiAgLyoqIFZhcmlhYmxlIGRlY2xhcmF0aW9ucyBmb3IgYSBkZWNsYXJhdGlvbiBsaXN0LiAqL1xuICBkZWNsYXJhdGlvbnM/OiBWYXJpYWJsZURlY2xhcmF0aW9uRW50cnlbXTtcbn1cbi8qKiBTaGFwZSBmb3IgbWluaW1hbCBub2RlcyB0aGF0IG9ubHkgZXhwb3NlIGEgdHlwZS4gKi9cbmludGVyZmFjZSBOb2RlV2l0aFR5cGUge1xuICAvKiogTm9kZSB0eXBlIGRpc2NyaW1pbmF0b3IuICovXG4gIHR5cGU6IHN0cmluZztcbn1cbi8qKiBTaGFwZSBmb3Igbm9kZXMgdGhhdCBoYXZlIGEgdmFsdWUuICovXG5pbnRlcmZhY2UgTm9kZVdpdGhWYWx1ZSB7XG4gIC8qKiBWYWx1ZSBub2RlIHVzZWQgZm9yIHByb3BlcnR5IGluaXRpYWxpemVycy4gKi9cbiAgdmFsdWU/OiBNYXliZU5vZGU7XG59XG4vKiogU291cmNlQ29kZSBhY2Nlc3NvcnMgdXNlZCBieSB0aGlzIHJ1bGUuICovXG5pbnRlcmZhY2UgU291cmNlQ29kZUFjY2VzcyB7XG4gIC8qKiBSZXR1cm5zIHRoZSBub2RlIGF0IGEgcmFuZ2UgaW5kZXguICovXG4gIGdldE5vZGVCeVJhbmdlSW5kZXg6IChpbmRleDogbnVtYmVyKSA9PiBOb2RlIHwgbnVsbDtcbiAgLyoqIFJldHVybnMgdGhlIGZpcnN0IHRva2VuIGFmdGVyIGEgY29tbWVudC4gKi9cbiAgZ2V0VG9rZW5BZnRlcjogKFxuICAgIG5vZGU6IENvbW1lbnQsXG4gICAgb3B0aW9ucz86IFRva2VuQWZ0ZXJPcHRpb25zLFxuICApID0+IG51bGwgfCBUb2tlbldpdGhPcHRpb25hbFJhbmdlO1xufVxuLyoqIFR5cGUgYWxpYXMgZm9yIGNvbW1lbnQgbm9kZXMgcHJvdmlkZWQgYnkgRVNMaW50LiAqL1xudHlwZSBTb3VyY2VDb21tZW50ID0gQ29tbWVudDtcbi8qKiBPcHRpb25zIHVzZWQgd2hlbiBmZXRjaGluZyB0b2tlbnMgYWZ0ZXIgY29tbWVudHMuICovXG5pbnRlcmZhY2UgVG9rZW5BZnRlck9wdGlvbnMge1xuICAvKiogV2hldGhlciB0byBpbmNsdWRlIGNvbW1lbnQgdG9rZW5zLiAqL1xuICBpbmNsdWRlQ29tbWVudHM/OiBib29sZWFuO1xufVxuLyoqIFNoYXBlIGZvciB0b2tlbnMgdGhhdCBtYXkgaW5jbHVkZSBhIHJhbmdlLiAqL1xuaW50ZXJmYWNlIFRva2VuV2l0aE9wdGlvbmFsUmFuZ2Uge1xuICAvKiogVG9rZW4gcmFuZ2UgdXNlZCBmb3IgbG9va3Vwcy4gKi9cbiAgcmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdO1xufVxuLyoqIFNoYXBlIGZvciB0b2tlbnMgd2l0aCByYW5nZSBtZXRhZGF0YS4gKi9cbmludGVyZmFjZSBUb2tlbldpdGhSYW5nZSB7XG4gIC8qKiBUb2tlbiByYW5nZSB1c2VkIGZvciBsb29rdXBzLiAqL1xuICByYW5nZTogW251bWJlciwgbnVtYmVyXTtcbn1cbi8qKiBTaGFwZSBmb3IgdmFyaWFibGUgZGVjbGFyYXRpb24gZW50cmllcy4gKi9cbmludGVyZmFjZSBWYXJpYWJsZURlY2xhcmF0aW9uRW50cnkge1xuICAvKiogT3B0aW9uYWwgaW5pdGlhbGl6ZXIgZm9yIHRoZSBkZWNsYXJhdGlvbi4gKi9cbiAgaW5pdD86IE1heWJlTm9kZTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgdG9rZW4gYWZ0ZXIgYSBjb21tZW50IHdoZW4gYXZhaWxhYmxlLlxuICogQHBhcmFtIHNvdXJjZUNvZGUgU291cmNlIGNvZGUgYWNjZXNzb3JzLlxuICogQHBhcmFtIGNvbW1lbnQgQ29tbWVudCBub2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUb2tlbiByYW5nZSBtZXRhZGF0YSB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRUb2tlbkFmdGVyUmFuZ2Uoe30gYXMgU291cmNlQ29kZUFjY2Vzcywge30gYXMgU291cmNlQ29tbWVudCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0VG9rZW5BZnRlclJhbmdlID0gKFxuICBzb3VyY2VDb2RlOiBTb3VyY2VDb2RlQWNjZXNzLFxuICBjb21tZW50OiBTb3VyY2VDb21tZW50LFxuKTogVG9rZW5XaXRoUmFuZ2UgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAodHlwZW9mIHNvdXJjZUNvZGUuZ2V0VG9rZW5BZnRlciAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHRva2VuQWZ0ZXIgPSBzb3VyY2VDb2RlLmdldFRva2VuQWZ0ZXIoY29tbWVudCwge1xuICAgIGluY2x1ZGVDb21tZW50czogZmFsc2UsXG4gIH0pO1xuICBpZiAodG9rZW5BZnRlcj8ucmFuZ2UgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgcmV0dXJuIHsgcmFuZ2U6IHRva2VuQWZ0ZXIucmFuZ2UgfTtcbn07XG5cbi8qKlxuICogRnVuY3Rpb24tbGlrZSBub2RlIHR5cGVzIGhhbmRsZWQgZGlyZWN0bHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZnVuY3Rpb25MaWtlVHlwZXMuaGFzKFwiVFNGdW5jdGlvblR5cGVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgZnVuY3Rpb25MaWtlVHlwZXMgPSBuZXcgU2V0PHN0cmluZz4oW1xuICBcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXG4gIFwiVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxuICBcIlRTRnVuY3Rpb25UeXBlXCIsXG5dKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIGlzIGEgZnVuY3Rpb24gZXhwcmVzc2lvbiBvciBhcnJvdyBmdW5jdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbm9kZSBpcyBhIGZ1bmN0aW9uIGV4cHJlc3Npb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkV4cHJlc3Npb24oeyB0eXBlOiBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiIH0gYXMgTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNGdW5jdGlvbkV4cHJlc3Npb24gPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiIHx8XG4gIG5vZGU/LnR5cGUgPT09IFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIjtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIGlzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gb3IgVFMgZGVjbGFyYXRpb24gc2lnbmF0dXJlLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkRlY2xhcmF0aW9uKHsgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgfSBhcyBOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0Z1bmN0aW9uRGVjbGFyYXRpb24gPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIiB8fCBub2RlPy50eXBlID09PSBcIlRTRGVjbGFyZUZ1bmN0aW9uXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIG1ldGhvZC1saWtlIGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgbWV0aG9kLWxpa2UgZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNNZXRob2RMaWtlKHsgdHlwZTogXCJNZXRob2REZWZpbml0aW9uXCIgfSBhcyBOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc01ldGhvZExpa2UgPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIk1ldGhvZERlZmluaXRpb25cIiB8fCBub2RlPy50eXBlID09PSBcIlRTTWV0aG9kU2lnbmF0dXJlXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIHByb3BlcnR5IHdpdGggYSBmdW5jdGlvbiBpbml0aWFsaXplci5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgcHJvcGVydHkgdmFsdWUgaXMgYSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUoeyB0eXBlOiBcIlByb3BlcnR5XCIgfSBhcyBOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUgPSAobm9kZTogTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBpZiAobm9kZS50eXBlICE9PSBcIlByb3BlcnR5RGVmaW5pdGlvblwiICYmIG5vZGUudHlwZSAhPT0gXCJQcm9wZXJ0eVwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyB2YWx1ZSB9ID0gbm9kZSBhcyBOb2RlV2l0aFZhbHVlO1xuICByZXR1cm4gaXNGdW5jdGlvbkV4cHJlc3Npb24odmFsdWUpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSB2YXJpYWJsZSBkZWNsYXJhdGlvbiBjb250YWlucyBhIGZ1bmN0aW9uIGluaXRpYWxpemVyLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIGFueSBpbml0aWFsaXplciBpcyBhIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzVmFyaWFibGVXaXRoRnVuY3Rpb25Jbml0KHsgdHlwZTogXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIgfSBhcyBOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1ZhcmlhYmxlV2l0aEZ1bmN0aW9uSW5pdCA9IChub2RlOiBOb2RlKTogYm9vbGVhbiA9PiB7XG4gIGlmIChub2RlLnR5cGUgIT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyBkZWNsYXJhdGlvbnMgfSA9IG5vZGUgYXMgTm9kZVdpdGhEZWNsYXJhdGlvbnM7XG4gIGNvbnN0IGluaXRpYWxpemVkID0gZGVjbGFyYXRpb25zID8/IFtdO1xuXG4gIHJldHVybiBpbml0aWFsaXplZC5zb21lKChkZWNsYXJhdGlvbikgPT5cbiAgICBpc0Z1bmN0aW9uRXhwcmVzc2lvbihkZWNsYXJhdGlvbi5pbml0KSxcbiAgKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIGFuIGV4cG9ydCB3cmFwcyBhIGZ1bmN0aW9uLWxpa2UgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGV4cG9ydGVkIGRlY2xhcmF0aW9uIGlzIGZ1bmN0aW9uLWxpa2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNFeHBvcnRlZEZ1bmN0aW9uTGlrZSh7IHR5cGU6IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiIH0gYXMgTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNFeHBvcnRlZEZ1bmN0aW9uTGlrZSA9IChub2RlOiBOb2RlKTogYm9vbGVhbiA9PiB7XG4gIGlmIChcbiAgICBub2RlLnR5cGUgIT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiICYmXG4gICAgbm9kZS50eXBlICE9PSBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHsgZGVjbGFyYXRpb24gfSA9IG5vZGUgYXMgTm9kZVdpdGhEZWNsYXJhdGlvbjtcblxuICByZXR1cm4gaXNGdW5jdGlvbkxpa2VOb2RlKGRlY2xhcmF0aW9uKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSByZXByZXNlbnRzIGFueSBzdXBwb3J0ZWQgZnVuY3Rpb24tbGlrZSBkZWNsYXJhdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbm9kZSBpcyBmdW5jdGlvbi1saWtlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzRnVuY3Rpb25MaWtlTm9kZSh7IHR5cGU6IFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiIH0gYXMgTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNGdW5jdGlvbkxpa2VOb2RlID0gKG5vZGU6IE1heWJlTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBpZiAobm9kZSA9PT0gbnVsbCB8fCBub2RlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGlzRnVuY3Rpb25EZWNsYXJhdGlvbihub2RlKSB8fFxuICAgIGlzRnVuY3Rpb25FeHByZXNzaW9uKG5vZGUpIHx8XG4gICAgaXNNZXRob2RMaWtlKG5vZGUpIHx8XG4gICAgZnVuY3Rpb25MaWtlVHlwZXMuaGFzKG5vZGUudHlwZSkgfHxcbiAgICBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUobm9kZSBhcyBOb2RlKSB8fFxuICAgIGlzVmFyaWFibGVXaXRoRnVuY3Rpb25Jbml0KG5vZGUgYXMgTm9kZSkgfHxcbiAgICBpc0V4cG9ydGVkRnVuY3Rpb25MaWtlKG5vZGUgYXMgTm9kZSlcbiAgKTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgSlNEb2MgY29tbWVudCBzaG91bGQgYmUgc2tpcHBlZCBmb3IgZnVuY3Rpb24gdGFyZ2V0cy5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBjb21tZW50IENvbW1lbnQgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjb21tZW50IHRhcmdldHMgYSBmdW5jdGlvbi1saWtlIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc2hvdWxkU2tpcEZvckZ1bmN0aW9uKHt9IGFzIFJ1bGUuUnVsZUNvbnRleHQsIHt9IGFzIFNvdXJjZUNvbW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IHNob3VsZFNraXBGb3JGdW5jdGlvbiA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgY29tbWVudDogU291cmNlQ29tbWVudCxcbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlIGFzIFNvdXJjZUNvZGVBY2Nlc3M7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29kZS5nZXROb2RlQnlSYW5nZUluZGV4ICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB0b2tlbkFmdGVyID0gZ2V0VG9rZW5BZnRlclJhbmdlKHNvdXJjZUNvZGUsIGNvbW1lbnQpO1xuICBpZiAodG9rZW5BZnRlciA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgW3JhbmdlU3RhcnRdID0gdG9rZW5BZnRlci5yYW5nZTtcbiAgY29uc3Qgbm9kZSA9IHNvdXJjZUNvZGUuZ2V0Tm9kZUJ5UmFuZ2VJbmRleChyYW5nZVN0YXJ0KTtcbiAgcmV0dXJuIGlzRnVuY3Rpb25MaWtlTm9kZShub2RlKTtcbn07XG5cbi8qKiBSdWxlIG1vZHVsZSBlbmZvcmNpbmcgc2luZ2xlLWxpbmUgSlNEb2Mgd2hlbiBpdCBmaXRzLiAqL1xuZXhwb3J0IGNvbnN0IHNpbmdsZUxpbmVKc2RvY1J1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gICAgY29uc3QgeyBvcHRpb25zLCBzb3VyY2VDb2RlIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IG1heExpbmVMZW5ndGggPSBub3JtYWxpemVNYXhMaW5lTGVuZ3RoKG9wdGlvbnMpO1xuICAgIGNvbnN0IGNvbW1lbnRzID0gc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgICBpZiAoIXNob3VsZFNraXBGb3JGdW5jdGlvbihjb250ZXh0LCBjb21tZW50KSkge1xuICAgICAgICByZXBvcnRJZlNpbmdsZUxpbmUoY29udGV4dCwgY29tbWVudCwgbWF4TGluZUxlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFt7IG1heExpbmVMZW5ndGg6IDgwIH1dLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJlcXVpcmUgSlNEb2MgY29tbWVudHMgdG8gdXNlIGEgc2luZ2xlIGxpbmUgd2hlbiB0aGV5IGZpdC5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3NpbmdsZS1saW5lLWpzZG9jLm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBtZXNzYWdlczoge1xuICAgICAgc2luZ2xlTGluZTogXCJVc2UgYSBzaW5nbGUtbGluZSBKU0RvYyBjb21tZW50IHdoZW4gaXQgZml0cyBvbiBvbmUgbGluZS5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBtYXhMaW5lTGVuZ3RoOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJNYXhpbXVtIGxpbmUgbGVuZ3RoIHRoYXQgc3RpbGwgYWxsb3dzIGEgSlNEb2MgYmxvY2sgdG8gYmUgY29sbGFwc2VkIHRvIGEgc2luZ2xlIGxpbmUuXCIsXG4gICAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6IFwibGF5b3V0XCIsXG4gIH0sXG59O1xuIl19
@@ -1,6 +1,5 @@
1
- export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noReexportsOutsideBarrelsRule, } from "./architecture/index.js";
1
+ export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noImportExportAliasesRule, noImportExportExtensionsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, } from "./architecture/index.js";
2
2
  export { noMultipleDeclaratorsRule, preferInterfaceTypesRule } from "./core/index.js";
3
- export { createRuleDocumentation, customRuleDocumentationBaseUrl, getCustomRuleDocumentationUrl, } from "./custom-rule-documentation.js";
4
3
  export { noInterfaceMemberDocumentationRule, requireExampleLanguageRule, singleLineJsdocRule, } from "./docs/index.js";
5
- export { assertActualExpectedNamesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
4
+ export { assertActualExpectedNamesRule, enforceAaaStructureRule, preferViMockedImportRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,WAAW,CAAC"}
@@ -1,6 +1,5 @@
1
- export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noReexportsOutsideBarrelsRule, } from "./architecture/index.js";
1
+ export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noImportExportAliasesRule, noImportExportExtensionsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, } from "./architecture/index.js";
2
2
  export { noMultipleDeclaratorsRule, preferInterfaceTypesRule } from "./core/index.js";
3
- export { createRuleDocumentation, customRuleDocumentationBaseUrl, getCustomRuleDocumentationUrl, } from "./custom-rule-documentation.js";
4
3
  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
4
+ export { assertActualExpectedNamesRule, enforceAaaStructureRule, preferViMockedImportRule, requireActResultCaptureRule, requireTestCompanionRule, singleActStatementRule, } from "./testing/index.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLE1BQU0sV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcclxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcclxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxyXG4gIG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXHJcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcclxuICBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZSxcclxuICBub1VudXNlZEV4cG9ydHNSdWxlLFxyXG59IGZyb20gXCIuL2FyY2hpdGVjdHVyZVwiO1xyXG5leHBvcnQgeyBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLCBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUgfSBmcm9tIFwiLi9jb3JlXCI7XHJcbmV4cG9ydCB7XHJcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcclxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcclxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxyXG59IGZyb20gXCIuL2RvY3NcIjtcclxuZXhwb3J0IHtcclxuICBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcclxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcclxuICBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGUsXHJcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxyXG4gIHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcclxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxyXG59IGZyb20gXCIuL3Rlc3RpbmdcIjtcclxuIl19
@@ -1,24 +1,6 @@
1
1
  import type { Rule } from "eslint";
2
2
  import type * as ESTree from "estree";
3
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
4
  /**
23
5
  * Analyzes supported AAA test blocks.
24
6
  * @param context Input context value.
@@ -30,5 +12,5 @@ declare const getSectionPhases: (commentValue: string) => import("./types.js").A
30
12
  * ```
31
13
  */
32
14
  declare function analyzeTestBlock(context: Rule.RuleContext, node: ESTree.CallExpression): TestBlockAnalysis | undefined;
33
- export { aaaPhaseOrder, analyzeTestBlock, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getPhaseBoundaryComments, getSectionPhases, };
15
+ export { analyzeTestBlock };
34
16
  //# sourceMappingURL=analyzer.analysis.d.ts.map
@@ -1 +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"}
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;AAwB9E;;;;;;;;;GASG;AACH,iBAAS,gBAAgB,CACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,MAAM,CAAC,cAAc,GAC1B,iBAAiB,GAAG,SAAS,CAwC/B;AAqDD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -36,26 +36,25 @@ type SupportedTestCallback = LocatedNode<ESTree.ArrowFunctionExpression | ESTree
36
36
  */
37
37
  declare function countActStatements(analysis: TestBlockAnalysis): number;
38
38
  /**
39
- * Flattens section comments.
39
+ * Gets top-level statements that belong to the Act phase only.
40
40
  * @param analysis Input analysis value.
41
41
  * @returns Return value output.
42
42
  * @example
43
43
  * ```typescript
44
- * getFlattenedSections(analysis);
44
+ * getActTopLevelStatements(analysis);
45
45
  * ```
46
46
  */
47
- declare function getFlattenedSections(analysis: Pick<TestBlockAnalysis, "sectionComments">): FlattenedSection[];
47
+ declare function getActTopLevelStatements(analysis: Pick<TestBlockAnalysis, "statements">): TestBlockAnalysis["statements"];
48
48
  /**
49
- * Gets indentation at an offset.
50
- * @param sourceText Input sourceText value.
51
- * @param offset Input offset value.
49
+ * Flattens section comments.
50
+ * @param analysis Input analysis value.
52
51
  * @returns Return value output.
53
52
  * @example
54
53
  * ```typescript
55
- * getIndentationAtOffset(sourceText, 4);
54
+ * getFlattenedSections(analysis);
56
55
  * ```
57
56
  */
58
- declare function getIndentationAtOffset(sourceText: string, offset: number): string;
57
+ declare function getFlattenedSections(analysis: Pick<TestBlockAnalysis, "sectionComments">): FlattenedSection[];
59
58
  /**
60
59
  * Gets the start range for a line.
61
60
  * @param sourceText Input sourceText value.
@@ -118,28 +117,6 @@ declare function getStatementPhases(statement: ESTree.Statement, sectionComments
118
117
  * ```
119
118
  */
120
119
  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
120
  /** 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 };
121
+ export { aaaPhaseOrder, countActStatements, getActTopLevelStatements, getFlattenedSections, getLineStartRange, getNewline, getPhaseBoundaryComments, getSectionPhases, getStatementPhases, getSupportedTestCall, };
145
122
  //# sourceMappingURL=analyzer.analysis.helpers.d.ts.map
@@ -1 +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"}
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,CAE/D;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAC9C,iBAAiB,CAAC,YAAY,CAAC,CAKjC;AAED;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GACnD,gBAAgB,EAAE,CAOpB;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;AAuCD,2CAA2C;AAC3C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,CAAC"}
@@ -16,40 +16,34 @@ const phaseNames = ["Arrange", "Act", "Assert"];
16
16
  * ```
17
17
  */
18
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;
19
+ return getActTopLevelStatements(analysis).length;
22
20
  }
23
21
  /**
24
- * Flattens section comments.
22
+ * Gets top-level statements that belong to the Act phase only.
25
23
  * @param analysis Input analysis value.
26
24
  * @returns Return value output.
27
25
  * @example
28
26
  * ```typescript
29
- * getFlattenedSections(analysis);
27
+ * getActTopLevelStatements(analysis);
30
28
  * ```
31
29
  */
32
- function getFlattenedSections(analysis) {
33
- return analysis.sectionComments.flatMap((sectionComment) => sectionComment.phases.map((phase) => ({
34
- comment: sectionComment.comment,
35
- phase,
36
- })));
30
+ function getActTopLevelStatements(analysis) {
31
+ return analysis.statements.filter((statement) => statement.phases.includes("Act") && !statement.phases.includes("Assert"));
37
32
  }
38
33
  /**
39
- * Gets indentation at an offset.
40
- * @param sourceText Input sourceText value.
41
- * @param offset Input offset value.
34
+ * Flattens section comments.
35
+ * @param analysis Input analysis value.
42
36
  * @returns Return value output.
43
37
  * @example
44
38
  * ```typescript
45
- * getIndentationAtOffset(sourceText, 4);
39
+ * getFlattenedSections(analysis);
46
40
  * ```
47
41
  */
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);
42
+ function getFlattenedSections(analysis) {
43
+ return analysis.sectionComments.flatMap((sectionComment) => sectionComment.phases.map((phase) => ({
44
+ comment: sectionComment.comment,
45
+ phase,
46
+ })));
53
47
  }
54
48
  /**
55
49
  * Gets the start range for a line.
@@ -177,6 +171,9 @@ function getSupportedTestCall(node) {
177
171
  * ```
178
172
  */
179
173
  function getTestRootName(callee) {
174
+ if (callee.type === "CallExpression") {
175
+ return getTestRootName(callee.callee);
176
+ }
180
177
  if (callee.type === "Identifier") {
181
178
  return callee.name;
182
179
  }
@@ -198,6 +195,5 @@ function isAaaPhase(value) {
198
195
  return phaseNames.includes(value);
199
196
  }
200
197
  /** 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSx5REFBeUQ7QUFDekQsTUFBTSxhQUFhLEdBQUc7SUFDcEIsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0NBQ2tDLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBSTdDLENBQUM7QUEwQkY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTJCO0lBQ3JELE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxxQkFBcUI7WUFDNUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsQ0FDbkQsQ0FBQyxNQUFNLENBQUM7QUFDWCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG9CQUFvQixDQUMzQixRQUFvRDtJQUVwRCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDekQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPO1FBQy9CLEtBQUs7S0FDTixDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNI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QUFrQixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3pFLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQy9CLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFpQixDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELDJDQUEyQztBQUMzQyxNQUFNLGdDQUFnQyxHQUFHLElBQWEsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsVUFBVSxHQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XHJcblxyXG5pbXBvcnQgdHlwZSB7XHJcbiAgQWFhUGhhc2UsXHJcbiAgTG9jYXRlZE5vZGUsXHJcbiAgU291cmNlQ29tbWVudCxcclxuICBUZXN0QmxvY2tBbmFseXNpcyxcclxufSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuLyoqIENhbm9uaWNhbCBvcmRlcmluZyB1c2VkIHdoZW4gY29tcGFyaW5nIEFBQSBwaGFzZXMuICovXHJcbmNvbnN0IGFhYVBoYXNlT3JkZXIgPSB7XHJcbiAgQWN0OiAxLFxyXG4gIEFycmFuZ2U6IDAsXHJcbiAgQXNzZXJ0OiAyLFxyXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8QWFhUGhhc2UsIG51bWJlcj47XHJcblxyXG4vKiogUmVjb2duaXplZCBBQUEgcGhhc2UgbmFtZXMuICovXHJcbmNvbnN0IHBoYXNlTmFtZXMgPSBbXCJBcnJhbmdlXCIsIFwiQWN0XCIsIFwiQXNzZXJ0XCJdIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBbXHJcbiAgQWFhUGhhc2UsXHJcbiAgQWFhUGhhc2UsXHJcbiAgQWFhUGhhc2UsXHJcbl07XHJcblxyXG4vKiogSGVscGVyIHN0YXRlIGZvciBmbGF0dGVuZWQgc2VjdGlvbiBjb21tZW50cy4gKi9cclxuaW50ZXJmYWNlIEZsYXR0ZW5lZFNlY3Rpb24ge1xyXG4gIC8qKiBPcmlnaW5hbCBzb3VyY2UgY29tbWVudCBmb3IgdGhlIHNlY3Rpb24gbWFya2VyLiAqL1xyXG4gIGNvbW1lbnQ6IFNvdXJjZUNvbW1lbnQ7XHJcbiAgLyoqIFBoYXNlIHJlcHJlc2VudGVkIGJ5IHRoZSBmbGF0dGVuZWQgc2VjdGlvbiBlbnRyeS4gKi9cclxuICBwaGFzZTogQWFhUGhhc2U7XHJcbn1cclxuXHJcbi8qKiBTdXBwb3J0ZWQgY2FsbC1leHByZXNzaW9uIHdyYXBwZXIgZm9yIGFuYWx5emVkIHRlc3QgYmxvY2tzLiAqL1xyXG5pbnRlcmZhY2UgU3VwcG9ydGVkVGVzdENhbGwge1xyXG4gIC8qKiBDYWxsYmFjayBhcmd1bWVudCB0aGF0IG93bnMgdGhlIHRlc3QgYm9keS4gKi9cclxuICBjYWxsYmFjazogU3VwcG9ydGVkVGVzdENhbGxiYWNrO1xyXG4gIC8qKiBPcmlnaW5hbCBgaXRgIG9yIGB0ZXN0YCBpbnZvY2F0aW9uLiAqL1xyXG4gIGNhbGxFeHByZXNzaW9uOiBMb2NhdGVkTm9kZTxFU1RyZWUuQ2FsbEV4cHJlc3Npb24+O1xyXG59XHJcblxyXG4vKiogU3VwcG9ydGVkIHRlc3QgY2FsbGJhY2sgc2hhcGUgZm9yIGBpdGAgYW5kIGB0ZXN0YCBjYWxscy4gKi9cclxudHlwZSBTdXBwb3J0ZWRUZXN0Q2FsbGJhY2sgPSBMb2NhdGVkTm9kZTxcclxuICBFU1RyZWUuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gfCBFU1RyZWUuRnVuY3Rpb25FeHByZXNzaW9uXHJcbj4gJiB7XHJcbiAgLyoqIENhbGxiYWNrIGJvZHkgYmxvY2sgdXNlZCBmb3Igc2VjdGlvbiBhbmFseXNpcy4gKi9cclxuICBib2R5OiBMb2NhdGVkTm9kZTxFU1RyZWUuQmxvY2tTdGF0ZW1lbnQ+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvdW50cyBBY3Qgc3RhdGVtZW50cy5cclxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpcyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY291bnRBY3RTdGF0ZW1lbnRzKGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyk6IG51bWJlciB7XHJcbiAgcmV0dXJuIGFuYWx5c2lzLnN0YXRlbWVudHMuZmlsdGVyKFxyXG4gICAgKHN0YXRlbWVudCkgPT5cclxuICAgICAgc3RhdGVtZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFjdFwiKSAmJlxyXG4gICAgICAoc3RhdGVtZW50Lm5vZGUudHlwZSA9PT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIgfHxcclxuICAgICAgICBzdGF0ZW1lbnQubm9kZS50eXBlID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIiksXHJcbiAgKS5sZW5ndGg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbGF0dGVucyBzZWN0aW9uIGNvbW1lbnRzLlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0RmxhdHRlbmVkU2VjdGlvbnMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEZsYXR0ZW5lZFNlY3Rpb25zKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogRmxhdHRlbmVkU2VjdGlvbltdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PlxyXG4gICAgc2VjdGlvbkNvbW1lbnQucGhhc2VzLm1hcCgocGhhc2UpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IHNlY3Rpb25Db21tZW50LmNvbW1lbnQsXHJcbiAgICAgIHBoYXNlLFxyXG4gICAgfSkpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIGluZGVudGF0aW9uIGF0IGFuIG9mZnNldC5cclxuICogQHBhcmFtIHNvdXJjZVRleHQgSW5wdXQgc291cmNlVGV4dCB2YWx1ZS5cclxuICogQHBhcmFtIG9mZnNldCBJbnB1dCBvZmZzZXQgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0SW5kZW50YXRpb25BdE9mZnNldChzb3VyY2VUZXh0LCA0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRJbmRlbnRhdGlvbkF0T2Zmc2V0KHNvdXJjZVRleHQ6IHN0cmluZywgb2Zmc2V0OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGNvbnN0IGxpbmVTdGFydCA9IHNvdXJjZVRleHQubGFzdEluZGV4T2YoXCJcXG5cIiwgTWF0aC5tYXgoMCwgb2Zmc2V0IC0gMSkpICsgMTtcclxuICBjb25zdCBsaW5lUHJlZml4ID0gc291cmNlVGV4dC5zbGljZShsaW5lU3RhcnQsIG9mZnNldCk7XHJcbiAgY29uc3QgdHJpbW1lZFByZWZpeCA9IGxpbmVQcmVmaXgudHJpbVN0YXJ0KCk7XHJcblxyXG4gIHJldHVybiBsaW5lUHJlZml4LnNsaWNlKDAsIGxpbmVQcmVmaXgubGVuZ3RoIC0gdHJpbW1lZFByZWZpeC5sZW5ndGgpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgc3RhcnQgcmFuZ2UgZm9yIGEgbGluZS5cclxuICogQHBhcmFtIHNvdXJjZVRleHQgSW5wdXQgc291cmNlVGV4dCB2YWx1ZS5cclxuICogQHBhcmFtIGxpbmUgSW5wdXQgbGluZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRMaW5lU3RhcnRSYW5nZShzb3VyY2VUZXh0LCAyKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRMaW5lU3RhcnRSYW5nZShzb3VyY2VUZXh0OiBzdHJpbmcsIGxpbmU6IG51bWJlcik6IFtudW1iZXIsIG51bWJlcl0ge1xyXG4gIGxldCBjdXJyZW50TGluZSA9IDE7XHJcbiAgbGV0IGN1cnJlbnRPZmZzZXQgPSAwO1xyXG4gIGZvciAoY29uc3QgY2hhcmFjdGVyIG9mIHNvdXJjZVRleHQpIHtcclxuICAgIGlmIChjdXJyZW50TGluZSA9PT0gbGluZSkge1xyXG4gICAgICByZXR1cm4gW2N1cnJlbnRPZmZzZXQsIGN1cnJlbnRPZmZzZXRdO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYXJhY3RlciA9PT0gXCJcXG5cIikge1xyXG4gICAgICBjdXJyZW50TGluZSArPSAxO1xyXG4gICAgfVxyXG4gICAgY3VycmVudE9mZnNldCArPSAxO1xyXG4gIH1cclxuICByZXR1cm4gW3NvdXJjZVRleHQubGVuZ3RoLCBzb3VyY2VUZXh0Lmxlbmd0aF07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBuZXdsaW5lIHNlcXVlbmNlLlxyXG4gKiBAcGFyYW0gdGV4dCBJbnB1dCB0ZXh0IHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldE5ld2xpbmUoc291cmNlVGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0TmV3bGluZSh0ZXh0OiBzdHJpbmcpOiBcIlxcblwiIHwgXCJcXHJcXG5cIiB7XHJcbiAgcmV0dXJuIHRleHQuaW5jbHVkZXMoXCJcXHJcXG5cIikgPyBcIlxcclxcblwiIDogXCJcXG5cIjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgcGhhc2UtYm91bmRhcnkgY29tbWVudHMuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBJbnB1dCBhbmFseXNpcyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyhcclxuICBhbmFseXNpczogUGljazxUZXN0QmxvY2tBbmFseXNpcywgXCJzZWN0aW9uQ29tbWVudHNcIj4sXHJcbik6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZpbHRlcigoc2VjdGlvbkNvbW1lbnQpID0+XHJcbiAgICBzZWN0aW9uQ29tbWVudC5waGFzZXMuc29tZShcclxuICAgICAgKHBoYXNlKSA9PiBwaGFzZSA9PT0gXCJBY3RcIiB8fCBwaGFzZSA9PT0gXCJBc3NlcnRcIixcclxuICAgICksXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhcnNlcyBBQUEgcGhhc2VzIGZyb20gYSBjb21tZW50LlxyXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIElucHV0IGNvbW1lbnRWYWx1ZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRTZWN0aW9uUGhhc2VzKFwiQXJyYW5nZSAmIEFjdFwiKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRTZWN0aW9uUGhhc2VzKGNvbW1lbnRWYWx1ZTogc3RyaW5nKTogQWFhUGhhc2VbXSB7XHJcbiAgY29uc3QgdHJpbW1lZENvbW1lbnQgPSBjb21tZW50VmFsdWUudHJpbSgpO1xyXG4gIGlmICh0cmltbWVkQ29tbWVudC5sZW5ndGggPT09IDApIHtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgY29uc3QgcGFydHMgPSB0cmltbWVkQ29tbWVudC5zcGxpdCgvXFxzKiZcXHMqL3UpO1xyXG4gIHJldHVybiBwYXJ0cy5ldmVyeSgocGFydCkgPT4gaXNBYWFQaGFzZShwYXJ0KSkgPyBwYXJ0cyA6IFtdO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgYWN0aXZlIHBoYXNlcyBmb3IgYSBzdGF0ZW1lbnQuXHJcbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW5wdXQgc3RhdGVtZW50IHZhbHVlLlxyXG4gKiBAcGFyYW0gc2VjdGlvbkNvbW1lbnRzIElucHV0IHNlY3Rpb25Db21tZW50cyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRTdGF0ZW1lbnRQaGFzZXMoc3RhdGVtZW50LCBzZWN0aW9uQ29tbWVudHMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFN0YXRlbWVudFBoYXNlcyhcclxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQsXHJcbiAgc2VjdGlvbkNvbW1lbnRzOiBUZXN0QmxvY2tBbmFseXNpc1tcInNlY3Rpb25Db21tZW50c1wiXSxcclxuKTogQWFhUGhhc2VbXSB7XHJcbiAgY29uc3Qgc3RhdGVtZW50TGluZSA9IHN0YXRlbWVudC5sb2M/LnN0YXJ0LmxpbmU7XHJcbiAgaWYgKHN0YXRlbWVudExpbmUgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBsZXQgY3VycmVudFBoYXNlczogQWFhUGhhc2VbXSA9IFtdO1xyXG4gIGZvciAoY29uc3Qgc2VjdGlvbkNvbW1lbnQgb2Ygc2VjdGlvbkNvbW1lbnRzKSB7XHJcbiAgICBpZiAoc2VjdGlvbkNvbW1lbnQuY29tbWVudC5sb2Muc3RhcnQubGluZSA+IHN0YXRlbWVudExpbmUpIHtcclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjdXJyZW50UGhhc2VzID0gc2VjdGlvbkNvbW1lbnQucGhhc2VzO1xyXG4gIH1cclxuICByZXR1cm4gY3VycmVudFBoYXNlcztcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgc3VwcG9ydGVkIHRlc3QgY2FsbCBtZXRhZGF0YS5cclxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRTdXBwb3J0ZWRUZXN0Q2FsbChub2RlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRTdXBwb3J0ZWRUZXN0Q2FsbChcclxuICBub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXHJcbik6IFN1cHBvcnRlZFRlc3RDYWxsIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCByb290TmFtZSA9IGdldFRlc3RSb290TmFtZShub2RlLmNhbGxlZSk7XHJcbiAgaWYgKHJvb3ROYW1lICE9PSBcIml0XCIgJiYgcm9vdE5hbWUgIT09IFwidGVzdFwiKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgY2FsbGJhY2tBcmd1bWVudCA9IG5vZGUuYXJndW1lbnRzLmF0KC0xKTtcclxuICBpZiAoXHJcbiAgICBjYWxsYmFja0FyZ3VtZW50ID09PSB2b2lkIDAgfHxcclxuICAgIGNhbGxiYWNrQXJndW1lbnQudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIgfHxcclxuICAgIChjYWxsYmFja0FyZ3VtZW50LnR5cGUgIT09IFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiAmJlxyXG4gICAgICBjYWxsYmFja0FyZ3VtZW50LnR5cGUgIT09IFwiRnVuY3Rpb25FeHByZXNzaW9uXCIpIHx8XHJcbiAgICBjYWxsYmFja0FyZ3VtZW50LmJvZHkudHlwZSAhPT0gXCJCbG9ja1N0YXRlbWVudFwiXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGNhbGxiYWNrOiBjYWxsYmFja0FyZ3VtZW50IGFzIFN1cHBvcnRlZFRlc3RDYWxsYmFjayxcclxuICAgIGNhbGxFeHByZXNzaW9uOiBub2RlIGFzIExvY2F0ZWROb2RlPEVTVHJlZS5DYWxsRXhwcmVzc2lvbj4sXHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIHJvb3QgdGVzdCBjYWxsZWUgbmFtZS5cclxuICogQHBhcmFtIGNhbGxlZSBJbnB1dCBjYWxsZWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0VGVzdFJvb3ROYW1lKGNhbGxFeHByZXNzaW9uLmNhbGxlZSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0VGVzdFJvb3ROYW1lKFxyXG4gIGNhbGxlZTogRVNUcmVlLkNhbGxFeHByZXNzaW9uW1wiY2FsbGVlXCJdLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChjYWxsZWUudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcclxuICAgIHJldHVybiBjYWxsZWUubmFtZTtcclxuICB9XHJcbiAgaWYgKGNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJiBjYWxsZWUub2JqZWN0LnR5cGUgIT09IFwiU3VwZXJcIikge1xyXG4gICAgcmV0dXJuIGdldFRlc3RSb290TmFtZShjYWxsZWUub2JqZWN0KTtcclxuICB9XHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgYW4gQUFBIHBoYXNlLlxyXG4gKiBAcGFyYW0gdmFsdWUgSW5wdXQgdmFsdWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNBYWFQaGFzZShcIkFycmFuZ2VcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNBYWFQaGFzZSh2YWx1ZTogc3RyaW5nKTogdmFsdWUgaXMgQWFhUGhhc2Uge1xyXG4gIHJldHVybiBwaGFzZU5hbWVzLmluY2x1ZGVzKHZhbHVlIGFzIEFhYVBoYXNlKTtcclxufVxyXG5cclxuLyoqIENvbXBhbmlvbiBtYXJrZXIgZm9yIHRlc3QgaXNvbGF0aW9uLiAqL1xyXG5jb25zdCBhbmFseXplckFuYWx5c2lzSGVscGVyc0NvbXBhbmlvbiA9IHRydWUgYXMgY29uc3Q7XHJcblxyXG5leHBvcnQge1xyXG4gIGFhYVBoYXNlT3JkZXIsXHJcbiAgYW5hbHl6ZXJBbmFseXNpc0hlbHBlcnNDb21wYW5pb24sXHJcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxyXG4gIGdldEZsYXR0ZW5lZFNlY3Rpb25zLFxyXG4gIGdldEluZGVudGF0aW9uQXRPZmZzZXQsXHJcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXHJcbiAgZ2V0TmV3bGluZSxcclxuICBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMsXHJcbiAgZ2V0U2VjdGlvblBoYXNlcyxcclxuICBnZXRTdGF0ZW1lbnRQaGFzZXMsXHJcbiAgZ2V0U3VwcG9ydGVkVGVzdENhbGwsXHJcbiAgZ2V0VGVzdFJvb3ROYW1lLFxyXG4gIGlzQWFhUGhhc2UsXHJcbn07XHJcbmV4cG9ydCB0eXBlIHsgRmxhdHRlbmVkU2VjdGlvbiB9O1xyXG4iXX0=
198
+ export { aaaPhaseOrder, countActStatements, getActTopLevelStatements, getFlattenedSections, getLineStartRange, getNewline, getPhaseBoundaryComments, getSectionPhases, getStatementPhases, getSupportedTestCall, };
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSx5REFBeUQ7QUFDekQsTUFBTSxhQUFhLEdBQUc7SUFDcEIsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0NBQ2tDLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBSTdDLENBQUM7QUEwQkY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQTJCO0lBQ3JELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ25ELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLFFBQStDO0lBRS9DLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDWixTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUMzRSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsUUFBb0Q7SUFFcEQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pELGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTztRQUMvQixLQUFLO0tBQ04sQ0FBQyxDQUFDLENBQ0osQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLGlCQUFpQixDQUFDLFVBQWtCLEVBQUUsSUFBWTtJQUN6RCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDcEIsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbkMsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDekIsT0FBTyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkIsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsYUFBYSxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsVUFBVSxDQUFDLElBQVk7SUFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQyxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUMvQixRQUFvRDtJQUVwRCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDeEQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3hCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQ2pELENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsWUFBb0I7SUFDNUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNDLElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzlELENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLGtCQUFrQixDQUN6QixTQUEyQixFQUMzQixlQUFxRDtJQUVyRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDaEQsSUFBSSxhQUFhLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFDbkMsS0FBSyxNQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM3QyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxFQUFFLENBQUM7WUFDMUQsTUFBTTtRQUNSLENBQUM7UUFDRCxhQUFhLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBQ0QsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsSUFBMkI7SUFFM0IsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxJQUNFLGdCQUFnQixLQUFLLEtBQUssQ0FBQztRQUMzQixnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssZUFBZTtRQUN6QyxDQUFDLGdCQUFnQixDQUFDLElBQUksS0FBSyx5QkFBeUI7WUFDbEQsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDO1FBQ2pELGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQy9DLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLGdCQUF5QztRQUNuRCxjQUFjLEVBQUUsSUFBMEM7S0FDM0QsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZUFBZSxDQUN0QixNQUF1QztJQUV2QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUN6RSxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxVQUFVLENBQUMsS0FBYTtJQUMvQixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBaUIsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNMLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG4gIEFhYVBoYXNlLFxyXG4gIExvY2F0ZWROb2RlLFxyXG4gIFNvdXJjZUNvbW1lbnQsXHJcbiAgVGVzdEJsb2NrQW5hbHlzaXMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbi8qKiBDYW5vbmljYWwgb3JkZXJpbmcgdXNlZCB3aGVuIGNvbXBhcmluZyBBQUEgcGhhc2VzLiAqL1xyXG5jb25zdCBhYWFQaGFzZU9yZGVyID0ge1xyXG4gIEFjdDogMSxcclxuICBBcnJhbmdlOiAwLFxyXG4gIEFzc2VydDogMixcclxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUmVjb3JkPEFhYVBoYXNlLCBudW1iZXI+O1xyXG5cclxuLyoqIFJlY29nbml6ZWQgQUFBIHBoYXNlIG5hbWVzLiAqL1xyXG5jb25zdCBwaGFzZU5hbWVzID0gW1wiQXJyYW5nZVwiLCBcIkFjdFwiLCBcIkFzc2VydFwiXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgW1xyXG4gIEFhYVBoYXNlLFxyXG4gIEFhYVBoYXNlLFxyXG4gIEFhYVBoYXNlLFxyXG5dO1xyXG5cclxuLyoqIEhlbHBlciBzdGF0ZSBmb3IgZmxhdHRlbmVkIHNlY3Rpb24gY29tbWVudHMuICovXHJcbmludGVyZmFjZSBGbGF0dGVuZWRTZWN0aW9uIHtcclxuICAvKiogT3JpZ2luYWwgc291cmNlIGNvbW1lbnQgZm9yIHRoZSBzZWN0aW9uIG1hcmtlci4gKi9cclxuICBjb21tZW50OiBTb3VyY2VDb21tZW50O1xyXG4gIC8qKiBQaGFzZSByZXByZXNlbnRlZCBieSB0aGUgZmxhdHRlbmVkIHNlY3Rpb24gZW50cnkuICovXHJcbiAgcGhhc2U6IEFhYVBoYXNlO1xyXG59XHJcblxyXG4vKiogU3VwcG9ydGVkIGNhbGwtZXhwcmVzc2lvbiB3cmFwcGVyIGZvciBhbmFseXplZCB0ZXN0IGJsb2Nrcy4gKi9cclxuaW50ZXJmYWNlIFN1cHBvcnRlZFRlc3RDYWxsIHtcclxuICAvKiogQ2FsbGJhY2sgYXJndW1lbnQgdGhhdCBvd25zIHRoZSB0ZXN0IGJvZHkuICovXHJcbiAgY2FsbGJhY2s6IFN1cHBvcnRlZFRlc3RDYWxsYmFjaztcclxuICAvKiogT3JpZ2luYWwgYGl0YCBvciBgdGVzdGAgaW52b2NhdGlvbi4gKi9cclxuICBjYWxsRXhwcmVzc2lvbjogTG9jYXRlZE5vZGU8RVNUcmVlLkNhbGxFeHByZXNzaW9uPjtcclxufVxyXG5cclxuLyoqIFN1cHBvcnRlZCB0ZXN0IGNhbGxiYWNrIHNoYXBlIGZvciBgaXRgIGFuZCBgdGVzdGAgY2FsbHMuICovXHJcbnR5cGUgU3VwcG9ydGVkVGVzdENhbGxiYWNrID0gTG9jYXRlZE5vZGU8XHJcbiAgRVNUcmVlLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHwgRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvblxyXG4+ICYge1xyXG4gIC8qKiBDYWxsYmFjayBib2R5IGJsb2NrIHVzZWQgZm9yIHNlY3Rpb24gYW5hbHlzaXMuICovXHJcbiAgYm9keTogTG9jYXRlZE5vZGU8RVNUcmVlLkJsb2NrU3RhdGVtZW50PjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb3VudHMgQWN0IHN0YXRlbWVudHMuXHJcbiAqIEBwYXJhbSBhbmFseXNpcyBJbnB1dCBhbmFseXNpcyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb3VudEFjdFN0YXRlbWVudHMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMpOiBudW1iZXIge1xyXG4gIHJldHVybiBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoYW5hbHlzaXMpLmxlbmd0aDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdG9wLWxldmVsIHN0YXRlbWVudHMgdGhhdCBiZWxvbmcgdG8gdGhlIEFjdCBwaGFzZSBvbmx5LlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0QWN0VG9wTGV2ZWxTdGF0ZW1lbnRzKGFuYWx5c2lzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoXHJcbiAgYW5hbHlzaXM6IFBpY2s8VGVzdEJsb2NrQW5hbHlzaXMsIFwic3RhdGVtZW50c1wiPixcclxuKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJzdGF0ZW1lbnRzXCJdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc3RhdGVtZW50cy5maWx0ZXIoXHJcbiAgICAoc3RhdGVtZW50KSA9PlxyXG4gICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQWN0XCIpICYmICFzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbGF0dGVucyBzZWN0aW9uIGNvbW1lbnRzLlxyXG4gKiBAcGFyYW0gYW5hbHlzaXMgSW5wdXQgYW5hbHlzaXMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0RmxhdHRlbmVkU2VjdGlvbnMoYW5hbHlzaXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEZsYXR0ZW5lZFNlY3Rpb25zKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogRmxhdHRlbmVkU2VjdGlvbltdIHtcclxuICByZXR1cm4gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PlxyXG4gICAgc2VjdGlvbkNvbW1lbnQucGhhc2VzLm1hcCgocGhhc2UpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IHNlY3Rpb25Db21tZW50LmNvbW1lbnQsXHJcbiAgICAgIHBoYXNlLFxyXG4gICAgfSkpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBzdGFydCByYW5nZSBmb3IgYSBsaW5lLlxyXG4gKiBAcGFyYW0gc291cmNlVGV4dCBJbnB1dCBzb3VyY2VUZXh0IHZhbHVlLlxyXG4gKiBAcGFyYW0gbGluZSBJbnB1dCBsaW5lIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldExpbmVTdGFydFJhbmdlKHNvdXJjZVRleHQsIDIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldExpbmVTdGFydFJhbmdlKHNvdXJjZVRleHQ6IHN0cmluZywgbGluZTogbnVtYmVyKTogW251bWJlciwgbnVtYmVyXSB7XHJcbiAgbGV0IGN1cnJlbnRMaW5lID0gMTtcclxuICBsZXQgY3VycmVudE9mZnNldCA9IDA7XHJcbiAgZm9yIChjb25zdCBjaGFyYWN0ZXIgb2Ygc291cmNlVGV4dCkge1xyXG4gICAgaWYgKGN1cnJlbnRMaW5lID09PSBsaW5lKSB7XHJcbiAgICAgIHJldHVybiBbY3VycmVudE9mZnNldCwgY3VycmVudE9mZnNldF07XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhcmFjdGVyID09PSBcIlxcblwiKSB7XHJcbiAgICAgIGN1cnJlbnRMaW5lICs9IDE7XHJcbiAgICB9XHJcbiAgICBjdXJyZW50T2Zmc2V0ICs9IDE7XHJcbiAgfVxyXG4gIHJldHVybiBbc291cmNlVGV4dC5sZW5ndGgsIHNvdXJjZVRleHQubGVuZ3RoXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIG5ld2xpbmUgc2VxdWVuY2UuXHJcbiAqIEBwYXJhbSB0ZXh0IElucHV0IHRleHQgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogZ2V0TmV3bGluZShzb3VyY2VUZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXROZXdsaW5lKHRleHQ6IHN0cmluZyk6IFwiXFxuXCIgfCBcIlxcclxcblwiIHtcclxuICByZXR1cm4gdGV4dC5pbmNsdWRlcyhcIlxcclxcblwiKSA/IFwiXFxyXFxuXCIgOiBcIlxcblwiO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBwaGFzZS1ib3VuZGFyeSBjb21tZW50cy5cclxuICogQHBhcmFtIGFuYWx5c2lzIElucHV0IGFuYWx5c2lzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyhhbmFseXNpcyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzKFxyXG4gIGFuYWx5c2lzOiBQaWNrPFRlc3RCbG9ja0FuYWx5c2lzLCBcInNlY3Rpb25Db21tZW50c1wiPixcclxuKTogVGVzdEJsb2NrQW5hbHlzaXNbXCJzZWN0aW9uQ29tbWVudHNcIl0ge1xyXG4gIHJldHVybiBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHMuZmlsdGVyKChzZWN0aW9uQ29tbWVudCkgPT5cclxuICAgIHNlY3Rpb25Db21tZW50LnBoYXNlcy5zb21lKFxyXG4gICAgICAocGhhc2UpID0+IHBoYXNlID09PSBcIkFjdFwiIHx8IHBoYXNlID09PSBcIkFzc2VydFwiLFxyXG4gICAgKSxcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogUGFyc2VzIEFBQSBwaGFzZXMgZnJvbSBhIGNvbW1lbnQuXHJcbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgSW5wdXQgY29tbWVudFZhbHVlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFNlY3Rpb25QaGFzZXMoXCJBcnJhbmdlICYgQWN0XCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFNlY3Rpb25QaGFzZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBBYWFQaGFzZVtdIHtcclxuICBjb25zdCB0cmltbWVkQ29tbWVudCA9IGNvbW1lbnRWYWx1ZS50cmltKCk7XHJcbiAgaWYgKHRyaW1tZWRDb21tZW50Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuICBjb25zdCBwYXJ0cyA9IHRyaW1tZWRDb21tZW50LnNwbGl0KC9cXHMqJlxccyovdSk7XHJcbiAgcmV0dXJuIHBhcnRzLmV2ZXJ5KChwYXJ0KSA9PiBpc0FhYVBoYXNlKHBhcnQpKSA/IHBhcnRzIDogW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSBhY3RpdmUgcGhhc2VzIGZvciBhIHN0YXRlbWVudC5cclxuICogQHBhcmFtIHN0YXRlbWVudCBJbnB1dCBzdGF0ZW1lbnQgdmFsdWUuXHJcbiAqIEBwYXJhbSBzZWN0aW9uQ29tbWVudHMgSW5wdXQgc2VjdGlvbkNvbW1lbnRzIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFN0YXRlbWVudFBoYXNlcyhzdGF0ZW1lbnQsIHNlY3Rpb25Db21tZW50cyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0U3RhdGVtZW50UGhhc2VzKFxyXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcclxuICBzZWN0aW9uQ29tbWVudHM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdLFxyXG4pOiBBYWFQaGFzZVtdIHtcclxuICBjb25zdCBzdGF0ZW1lbnRMaW5lID0gc3RhdGVtZW50LmxvYz8uc3RhcnQubGluZTtcclxuICBpZiAoc3RhdGVtZW50TGluZSA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGxldCBjdXJyZW50UGhhc2VzOiBBYWFQaGFzZVtdID0gW107XHJcbiAgZm9yIChjb25zdCBzZWN0aW9uQ29tbWVudCBvZiBzZWN0aW9uQ29tbWVudHMpIHtcclxuICAgIGlmIChzZWN0aW9uQ29tbWVudC5jb21tZW50LmxvYy5zdGFydC5saW5lID4gc3RhdGVtZW50TGluZSkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGN1cnJlbnRQaGFzZXMgPSBzZWN0aW9uQ29tbWVudC5waGFzZXM7XHJcbiAgfVxyXG4gIHJldHVybiBjdXJyZW50UGhhc2VzO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBzdXBwb3J0ZWQgdGVzdCBjYWxsIG1ldGFkYXRhLlxyXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFN1cHBvcnRlZFRlc3RDYWxsKG5vZGUpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFN1cHBvcnRlZFRlc3RDYWxsKFxyXG4gIG5vZGU6IEVTVHJlZS5DYWxsRXhwcmVzc2lvbixcclxuKTogU3VwcG9ydGVkVGVzdENhbGwgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHJvb3ROYW1lID0gZ2V0VGVzdFJvb3ROYW1lKG5vZGUuY2FsbGVlKTtcclxuICBpZiAocm9vdE5hbWUgIT09IFwiaXRcIiAmJiByb290TmFtZSAhPT0gXCJ0ZXN0XCIpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICBjb25zdCBjYWxsYmFja0FyZ3VtZW50ID0gbm9kZS5hcmd1bWVudHMuYXQoLTEpO1xyXG4gIGlmIChcclxuICAgIGNhbGxiYWNrQXJndW1lbnQgPT09IHZvaWQgMCB8fFxyXG4gICAgY2FsbGJhY2tBcmd1bWVudC50eXBlID09PSBcIlNwcmVhZEVsZW1lbnRcIiB8fFxyXG4gICAgKGNhbGxiYWNrQXJndW1lbnQudHlwZSAhPT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiICYmXHJcbiAgICAgIGNhbGxiYWNrQXJndW1lbnQudHlwZSAhPT0gXCJGdW5jdGlvbkV4cHJlc3Npb25cIikgfHxcclxuICAgIGNhbGxiYWNrQXJndW1lbnQuYm9keS50eXBlICE9PSBcIkJsb2NrU3RhdGVtZW50XCJcclxuICApIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2FsbGJhY2s6IGNhbGxiYWNrQXJndW1lbnQgYXMgU3VwcG9ydGVkVGVzdENhbGxiYWNrLFxyXG4gICAgY2FsbEV4cHJlc3Npb246IG5vZGUgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLkNhbGxFeHByZXNzaW9uPixcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyB0aGUgcm9vdCB0ZXN0IGNhbGxlZSBuYW1lLlxyXG4gKiBAcGFyYW0gY2FsbGVlIElucHV0IGNhbGxlZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBnZXRUZXN0Um9vdE5hbWUoY2FsbEV4cHJlc3Npb24uY2FsbGVlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRUZXN0Um9vdE5hbWUoXHJcbiAgY2FsbGVlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb25bXCJjYWxsZWVcIl0sXHJcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKGNhbGxlZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIpIHtcclxuICAgIHJldHVybiBnZXRUZXN0Um9vdE5hbWUoY2FsbGVlLmNhbGxlZSk7XHJcbiAgfVxyXG4gIGlmIChjYWxsZWUudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcclxuICAgIHJldHVybiBjYWxsZWUubmFtZTtcclxuICB9XHJcbiAgaWYgKGNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJiBjYWxsZWUub2JqZWN0LnR5cGUgIT09IFwiU3VwZXJcIikge1xyXG4gICAgcmV0dXJuIGdldFRlc3RSb290TmFtZShjYWxsZWUub2JqZWN0KTtcclxuICB9XHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgdmFsdWUgaXMgYW4gQUFBIHBoYXNlLlxyXG4gKiBAcGFyYW0gdmFsdWUgSW5wdXQgdmFsdWUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNBYWFQaGFzZShcIkFycmFuZ2VcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNBYWFQaGFzZSh2YWx1ZTogc3RyaW5nKTogdmFsdWUgaXMgQWFhUGhhc2Uge1xyXG4gIHJldHVybiBwaGFzZU5hbWVzLmluY2x1ZGVzKHZhbHVlIGFzIEFhYVBoYXNlKTtcclxufVxyXG5cclxuLyoqIENvbXBhbmlvbiBtYXJrZXIgZm9yIHRlc3QgaXNvbGF0aW9uLiAqL1xyXG5leHBvcnQge1xyXG4gIGFhYVBoYXNlT3JkZXIsXHJcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxyXG4gIGdldEFjdFRvcExldmVsU3RhdGVtZW50cyxcclxuICBnZXRGbGF0dGVuZWRTZWN0aW9ucyxcclxuICBnZXRMaW5lU3RhcnRSYW5nZSxcclxuICBnZXROZXdsaW5lLFxyXG4gIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyxcclxuICBnZXRTZWN0aW9uUGhhc2VzLFxyXG4gIGdldFN0YXRlbWVudFBoYXNlcyxcclxuICBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCxcclxufTtcclxuIl19
@@ -1,39 +1,7 @@
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";
1
+ import { getNewline, getSectionPhases, getStatementPhases, getSupportedTestCall, } from "./analyzer.analysis.helpers.js";
2
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);
3
+ /** Memoized comment arrays keyed by ESLint source-code instances. */
4
+ const sourceCommentsCache = new WeakMap();
37
5
  /**
38
6
  * Analyzes supported AAA test blocks.
39
7
  * @param context Input context value.
@@ -51,11 +19,11 @@ function analyzeTestBlock(context, node) {
51
19
  }
52
20
  const { callback, callExpression } = testCall;
53
21
  const { sourceCode } = context;
54
- const sectionComments = sourceCode
55
- .getAllComments()
22
+ const sectionComments = getSourceComments(sourceCode)
56
23
  .filter((comment) => isLocatedComment(comment) &&
57
24
  comment.type === "Line" &&
58
25
  isRangeWithin(comment.range, callback.body.range) &&
26
+ !isInsideTopLevelStatement(comment, callback.body.body) &&
59
27
  getSectionPhases(comment.value).length > 0)
60
28
  .map((comment) => ({
61
29
  comment: comment,
@@ -78,5 +46,44 @@ function analyzeTestBlock(context, node) {
78
46
  }),
79
47
  };
80
48
  }
81
- export { aaaPhaseOrder, analyzeTestBlock, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getPhaseBoundaryComments, getSectionPhases, };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxhQUFhLElBQUksMkJBQTJCLEVBQzVDLGtCQUFrQixJQUFJLGdDQUFnQyxFQUN0RCxvQkFBb0IsSUFBSSxrQ0FBa0MsRUFDMUQsc0JBQXNCLElBQUksb0NBQW9DLEVBQzlELGlCQUFpQixJQUFJLCtCQUErQixFQUNwRCxVQUFVLElBQUksd0JBQXdCLEVBQ3RDLHdCQUF3QixJQUFJLHNDQUFzQyxFQUNsRSxnQkFBZ0IsSUFBSSw4QkFBOEIsRUFDbEQsa0JBQWtCLElBQUksZ0NBQWdDLEVBQ3RELG9CQUFvQixJQUFJLGtDQUFrQyxHQUMzRCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxPQUFPLENBQ2QsY0FBdUQ7SUFFdkQsT0FBTyxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLE1BQU0sYUFBYSxHQUFHLDJCQUEyQixDQUFDO0FBRWxELDREQUE0RDtBQUM1RCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRXpFLCtFQUErRTtBQUMvRSxNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0FBRTdFLGlFQUFpRTtBQUNqRSxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRW5FLDJEQUEyRDtBQUMzRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUVyRCwrRUFBK0U7QUFDL0UsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQ3RDLHNDQUFzQyxDQUN2QyxDQUFDO0FBRUYsMkRBQTJEO0FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFFakUseURBQXlEO0FBQ3pELE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFckUsMkZBQTJGO0FBQzNGLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFekU7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FDdkIsT0FBeUIsRUFDekIsSUFBMkI7SUFFM0IsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUM5QyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQy9CLE1BQU0sZUFBZSxHQUF5QyxVQUFVO1NBQ3JFLGNBQWMsRUFBRTtTQUNoQixNQUFNLENBQ0wsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN6QixPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU07UUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzdDO1NBQ0EsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxPQUF5QjtRQUNsQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVOLE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDbkIsYUFBYSxFQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQy9ELGNBQWM7UUFDZCxPQUFPLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsZUFBZTtRQUNmLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSTtRQUMzQixVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzlELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFNBQTBDO2dCQUNoRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsTUFBTTthQUNQLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XHJcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgTG9jYXRlZENvbW1lbnQsIExvY2F0ZWROb2RlLCBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIGFhYVBoYXNlT3JkZXIgYXMgYWFhUGhhc2VPcmRlckltcGxlbWVudGF0aW9uLFxyXG4gIGNvdW50QWN0U3RhdGVtZW50cyBhcyBjb3VudEFjdFN0YXRlbWVudHNJbXBsZW1lbnRhdGlvbixcclxuICBnZXRGbGF0dGVuZWRTZWN0aW9ucyBhcyBnZXRGbGF0dGVuZWRTZWN0aW9uc0ltcGxlbWVudGF0aW9uLFxyXG4gIGdldEluZGVudGF0aW9uQXRPZmZzZXQgYXMgZ2V0SW5kZW50YXRpb25BdE9mZnNldEltcGxlbWVudGF0aW9uLFxyXG4gIGdldExpbmVTdGFydFJhbmdlIGFzIGdldExpbmVTdGFydFJhbmdlSW1wbGVtZW50YXRpb24sXHJcbiAgZ2V0TmV3bGluZSBhcyBnZXROZXdsaW5lSW1wbGVtZW50YXRpb24sXHJcbiAgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzIGFzIGdldFBoYXNlQm91bmRhcnlDb21tZW50c0ltcGxlbWVudGF0aW9uLFxyXG4gIGdldFNlY3Rpb25QaGFzZXMgYXMgZ2V0U2VjdGlvblBoYXNlc0ltcGxlbWVudGF0aW9uLFxyXG4gIGdldFN0YXRlbWVudFBoYXNlcyBhcyBnZXRTdGF0ZW1lbnRQaGFzZXNJbXBsZW1lbnRhdGlvbixcclxuICBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCBhcyBnZXRTdXBwb3J0ZWRUZXN0Q2FsbEltcGxlbWVudGF0aW9uLFxyXG59IGZyb20gXCIuL2FuYWx5emVyLmFuYWx5c2lzLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgaXNMb2NhdGVkQ29tbWVudCwgaXNSYW5nZVdpdGhpbiB9IGZyb20gXCIuL2FuYWx5emVyLnN1cGVyXCI7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIGxvY2FsIGZvcndhcmRpbmcgZnVuY3Rpb24gZm9yIGFuIGltcG9ydGVkIGFuYWx5emVyIGhlbHBlci5cclxuICogQHRlbXBsYXRlIFRQYXJhbWV0ZXJzIEZvcndhcmRlZCBwYXJhbWV0ZXIgdHVwbGUuXHJcbiAqIEB0ZW1wbGF0ZSBUUmVzdWx0IEZvcndhcmRlZCByZXR1cm4gdHlwZS5cclxuICogQHBhcmFtIGltcGxlbWVudGF0aW9uIEltcG9ydGVkIGhlbHBlciBpbXBsZW1lbnRhdGlvbi5cclxuICogQHJldHVybnMgTG9jYWwgZnVuY3Rpb24gdGhhdCBmb3J3YXJkcyBhbGwgYXJndW1lbnRzIHRvIHRoZSBpbXBsZW1lbnRhdGlvbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBsb2NhbEhlbHBlciA9IGZvcndhcmQoaW1wbGVtZW50YXRpb24pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGZvcndhcmQ8VFBhcmFtZXRlcnMgZXh0ZW5kcyB1bmtub3duW10sIFRSZXN1bHQ+KFxyXG4gIGltcGxlbWVudGF0aW9uOiAoLi4ucGFyYW1ldGVyczogVFBhcmFtZXRlcnMpID0+IFRSZXN1bHQsXHJcbik6ICguLi5wYXJhbWV0ZXJzOiBUUGFyYW1ldGVycykgPT4gVFJlc3VsdCB7XHJcbiAgcmV0dXJuICguLi5wYXJhbWV0ZXJzKSA9PiBpbXBsZW1lbnRhdGlvbiguLi5wYXJhbWV0ZXJzKTtcclxufVxyXG5cclxuLyoqIE9yZGVyZWQgbGlzdCBvZiBBQUEgcGhhc2UgbmFtZXMuICovXHJcbmNvbnN0IGFhYVBoYXNlT3JkZXIgPSBhYWFQaGFzZU9yZGVySW1wbGVtZW50YXRpb247XHJcblxyXG4vKiogQ291bnRzIEFjdC1waGFzZSBzdGF0ZW1lbnRzIGluIGEgdGVzdCBibG9jayBhbmFseXNpcy4gKi9cclxuY29uc3QgY291bnRBY3RTdGF0ZW1lbnRzID0gZm9yd2FyZChjb3VudEFjdFN0YXRlbWVudHNJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4vKiogRmxhdHRlbnMgbXVsdGktcGhhc2Ugc2VjdGlvbiBjb21tZW50cyBpbnRvIG9uZSBlbnRyeSBwZXIgcGhhc2UuICovXHJcbmNvbnN0IGdldEZsYXR0ZW5lZFNlY3Rpb25zID0gZm9yd2FyZChnZXRGbGF0dGVuZWRTZWN0aW9uc0ltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBSZXNvbHZlcyB0aGUgbGVhZGluZyB3aGl0ZXNwYWNlIGZvciB0aGUgbGluZSBjb250YWluaW5nIGEgc291cmNlIG9mZnNldC4gKi9cclxuY29uc3QgZ2V0SW5kZW50YXRpb25BdE9mZnNldCA9IGZvcndhcmQoZ2V0SW5kZW50YXRpb25BdE9mZnNldEltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBSZXR1cm5zIHRoZSBzdGFydC1vZi1saW5lIHJhbmdlIGZvciBhIGdpdmVuIHNvdXJjZSBvZmZzZXQuICovXHJcbmNvbnN0IGdldExpbmVTdGFydFJhbmdlID0gZm9yd2FyZChnZXRMaW5lU3RhcnRSYW5nZUltcGxlbWVudGF0aW9uKTtcclxuXHJcbi8qKiBEZXRlY3RzIHRoZSBsaW5lLWVuZGluZyBzdHlsZSB1c2VkIGluIGEgc291cmNlIHRleHQuICovXHJcbmNvbnN0IGdldE5ld2xpbmUgPSBmb3J3YXJkKGdldE5ld2xpbmVJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4vKiogRXh0cmFjdHMgdGhlIHBoYXNlLWJvdW5kYXJ5IHNlY3Rpb24gY29tbWVudHMgZnJvbSBhIHRlc3QgYmxvY2sgYW5hbHlzaXMuICovXHJcbmNvbnN0IGdldFBoYXNlQm91bmRhcnlDb21tZW50cyA9IGZvcndhcmQoXHJcbiAgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzSW1wbGVtZW50YXRpb24sXHJcbik7XHJcblxyXG4vKiogUGFyc2VzIEFBQSBwaGFzZSBuYW1lcyBmcm9tIGEgc2VjdGlvbiBjb21tZW50IHZhbHVlLiAqL1xyXG5jb25zdCBnZXRTZWN0aW9uUGhhc2VzID0gZm9yd2FyZChnZXRTZWN0aW9uUGhhc2VzSW1wbGVtZW50YXRpb24pO1xyXG5cclxuLyoqIFJlc29sdmVzIHRoZSBBQUEgcGhhc2VzIGFwcGxpY2FibGUgdG8gYSBzdGF0ZW1lbnQuICovXHJcbmNvbnN0IGdldFN0YXRlbWVudFBoYXNlcyA9IGZvcndhcmQoZ2V0U3RhdGVtZW50UGhhc2VzSW1wbGVtZW50YXRpb24pO1xyXG5cclxuLyoqIEV4dHJhY3RzIHRoZSB0ZXN0IGNhbGwgYW5kIGNhbGxiYWNrIGZyb20gYSBzdXBwb3J0ZWQgYGl0YCBvciBgdGVzdGAgY2FsbCBleHByZXNzaW9uLiAqL1xyXG5jb25zdCBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCA9IGZvcndhcmQoZ2V0U3VwcG9ydGVkVGVzdENhbGxJbXBsZW1lbnRhdGlvbik7XHJcblxyXG4vKipcclxuICogQW5hbHl6ZXMgc3VwcG9ydGVkIEFBQSB0ZXN0IGJsb2Nrcy5cclxuICogQHBhcmFtIGNvbnRleHQgSW5wdXQgY29udGV4dCB2YWx1ZS5cclxuICogQHBhcmFtIG5vZGUgSW5wdXQgbm9kZSB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBhbmFseXplVGVzdEJsb2NrKGNvbnRleHQsIG5vZGUpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGFuYWx5emVUZXN0QmxvY2soXHJcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcclxuICBub2RlOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXHJcbik6IFRlc3RCbG9ja0FuYWx5c2lzIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCB0ZXN0Q2FsbCA9IGdldFN1cHBvcnRlZFRlc3RDYWxsKG5vZGUpO1xyXG4gIGlmICh0ZXN0Q2FsbCA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgeyBjYWxsYmFjaywgY2FsbEV4cHJlc3Npb24gfSA9IHRlc3RDYWxsO1xyXG4gIGNvbnN0IHsgc291cmNlQ29kZSB9ID0gY29udGV4dDtcclxuICBjb25zdCBzZWN0aW9uQ29tbWVudHM6IFRlc3RCbG9ja0FuYWx5c2lzW1wic2VjdGlvbkNvbW1lbnRzXCJdID0gc291cmNlQ29kZVxyXG4gICAgLmdldEFsbENvbW1lbnRzKClcclxuICAgIC5maWx0ZXIoXHJcbiAgICAgIChjb21tZW50KSA9PlxyXG4gICAgICAgIGlzTG9jYXRlZENvbW1lbnQoY29tbWVudCkgJiZcclxuICAgICAgICBjb21tZW50LnR5cGUgPT09IFwiTGluZVwiICYmXHJcbiAgICAgICAgaXNSYW5nZVdpdGhpbihjb21tZW50LnJhbmdlLCBjYWxsYmFjay5ib2R5LnJhbmdlKSAmJlxyXG4gICAgICAgIGdldFNlY3Rpb25QaGFzZXMoY29tbWVudC52YWx1ZSkubGVuZ3RoID4gMCxcclxuICAgIClcclxuICAgIC5tYXAoKGNvbW1lbnQpID0+ICh7XHJcbiAgICAgIGNvbW1lbnQ6IGNvbW1lbnQgYXMgTG9jYXRlZENvbW1lbnQsXHJcbiAgICAgIHBoYXNlczogZ2V0U2VjdGlvblBoYXNlcyhjb21tZW50LnZhbHVlKSxcclxuICAgIH0pKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGJvZHk6IGNhbGxiYWNrLmJvZHksXHJcbiAgICBib2R5TGluZUNvdW50OlxyXG4gICAgICBjYWxsYmFjay5ib2R5LmxvYy5lbmQubGluZSAtIGNhbGxiYWNrLmJvZHkubG9jLnN0YXJ0LmxpbmUgLSAxLFxyXG4gICAgY2FsbEV4cHJlc3Npb24sXHJcbiAgICBuZXdsaW5lOiBnZXROZXdsaW5lKHNvdXJjZUNvZGUudGV4dCksXHJcbiAgICBzZWN0aW9uQ29tbWVudHMsXHJcbiAgICBzb3VyY2VUZXh0OiBzb3VyY2VDb2RlLnRleHQsXHJcbiAgICBzdGF0ZW1lbnRzOiBjYWxsYmFjay5ib2R5LmJvZHkubWFwKChzdGF0ZW1lbnQpID0+IHtcclxuICAgICAgY29uc3QgcGhhc2VzID0gZ2V0U3RhdGVtZW50UGhhc2VzKHN0YXRlbWVudCwgc2VjdGlvbkNvbW1lbnRzKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBub2RlOiBzdGF0ZW1lbnQgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLlN0YXRlbWVudD4sXHJcbiAgICAgICAgcGhhc2U6IHBoYXNlcy5hdCgtMSksXHJcbiAgICAgICAgcGhhc2VzLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IHtcclxuICBhYWFQaGFzZU9yZGVyLFxyXG4gIGFuYWx5emVUZXN0QmxvY2ssXHJcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxyXG4gIGdldEZsYXR0ZW5lZFNlY3Rpb25zLFxyXG4gIGdldEluZGVudGF0aW9uQXRPZmZzZXQsXHJcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXHJcbiAgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzLFxyXG4gIGdldFNlY3Rpb25QaGFzZXMsXHJcbn07XHJcbiJdfQ==
49
+ /**
50
+ * Returns cached source comments for the active file.
51
+ * @param sourceCode Input sourceCode value.
52
+ * @returns Return value output.
53
+ * @example
54
+ * ```typescript
55
+ * getSourceComments(sourceCode);
56
+ * ```
57
+ */
58
+ function getSourceComments(sourceCode) {
59
+ const cachedComments = sourceCommentsCache.get(sourceCode);
60
+ if (cachedComments !== void 0) {
61
+ return cachedComments;
62
+ }
63
+ const loadedComments = sourceCode.getAllComments();
64
+ sourceCommentsCache.set(sourceCode, loadedComments);
65
+ return loadedComments;
66
+ }
67
+ /**
68
+ * Checks whether a comment is nested inside one top-level statement range.
69
+ * @param comment Input comment value.
70
+ * @param statements Input statements value.
71
+ * @returns Return value output.
72
+ * @example
73
+ * ```typescript
74
+ * isInsideTopLevelStatement(comment, statements);
75
+ * ```
76
+ */
77
+ function isInsideTopLevelStatement(comment, statements) {
78
+ const commentLine = comment.loc.start.line;
79
+ return statements.some((statement) => {
80
+ const statementStartLine = statement.loc?.start.line;
81
+ const statementEndLine = statement.loc?.end.line;
82
+ if (statementStartLine === void 0 || statementEndLine === void 0) {
83
+ return false;
84
+ }
85
+ return commentLine >= statementStartLine && commentLine <= statementEndLine;
86
+ });
87
+ }
88
+ export { analyzeTestBlock };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl6ZXIuYW5hbHlzaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvYWFhL2FuYWx5emVyLmFuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFVbkUscUVBQXFFO0FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxPQUFPLEVBR3BDLENBQUM7QUFFSjs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixPQUF5QixFQUN6QixJQUEyQjtJQUUzQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQzlDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDL0IsTUFBTSxlQUFlLEdBQ25CLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztTQUMxQixNQUFNLENBQ0wsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNWLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN6QixPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU07UUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakQsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzdDO1NBQ0EsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxPQUF5QjtRQUNsQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVSLE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7UUFDbkIsYUFBYSxFQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQy9ELGNBQWM7UUFDZCxPQUFPLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsZUFBZTtRQUNmLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSTtRQUMzQixVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzlELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFNBQTBDO2dCQUNoRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsTUFBTTthQUNQLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FDeEIsVUFBOEI7SUFFOUIsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELElBQUksY0FBYyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXBELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF1QixFQUN2QixVQUF1QztJQUV2QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFFM0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFFakQsSUFBSSxrQkFBa0IsS0FBSyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sV0FBVyxJQUFJLGtCQUFrQixJQUFJLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQztJQUM5RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcclxuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBMb2NhdGVkQ29tbWVudCwgTG9jYXRlZE5vZGUsIFRlc3RCbG9ja0FuYWx5c2lzIH0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgZ2V0TmV3bGluZSxcclxuICBnZXRTZWN0aW9uUGhhc2VzLFxyXG4gIGdldFN0YXRlbWVudFBoYXNlcyxcclxuICBnZXRTdXBwb3J0ZWRUZXN0Q2FsbCxcclxufSBmcm9tIFwiLi9hbmFseXplci5hbmFseXNpcy5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGlzTG9jYXRlZENvbW1lbnQsIGlzUmFuZ2VXaXRoaW4gfSBmcm9tIFwiLi9hbmFseXplci5zdXBlclwiO1xyXG5cclxuLyoqIFNvdXJjZSBjb21tZW50IHNoYXBlIHJldHVybmVkIGJ5IEVTTGludCBmb3Igb25lIGZpbGUuICovXHJcbnR5cGUgQW5hbHl6ZXJDb21tZW50ID0gUmV0dXJuVHlwZTxcclxuICBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXVtcImdldEFsbENvbW1lbnRzXCJdXHJcbj5bbnVtYmVyXTtcclxuXHJcbi8qKiBFU0xpbnQgc291cmNlLWNvZGUgc2VydmljZSByZWZlcmVuY2UgdXNlZCBmb3IgY29tbWVudCBjYWNoaW5nLiAqL1xyXG50eXBlIEFuYWx5emVyU291cmNlQ29kZSA9IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdO1xyXG5cclxuLyoqIE1lbW9pemVkIGNvbW1lbnQgYXJyYXlzIGtleWVkIGJ5IEVTTGludCBzb3VyY2UtY29kZSBpbnN0YW5jZXMuICovXHJcbmNvbnN0IHNvdXJjZUNvbW1lbnRzQ2FjaGUgPSBuZXcgV2Vha01hcDxcclxuICBBbmFseXplclNvdXJjZUNvZGUsXHJcbiAgcmVhZG9ubHkgQW5hbHl6ZXJDb21tZW50W11cclxuPigpO1xyXG5cclxuLyoqXHJcbiAqIEFuYWx5emVzIHN1cHBvcnRlZCBBQUEgdGVzdCBibG9ja3MuXHJcbiAqIEBwYXJhbSBjb250ZXh0IElucHV0IGNvbnRleHQgdmFsdWUuXHJcbiAqIEBwYXJhbSBub2RlIElucHV0IG5vZGUgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogYW5hbHl6ZVRlc3RCbG9jayhjb250ZXh0LCBub2RlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBhbmFseXplVGVzdEJsb2NrKFxyXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXHJcbiAgbm9kZTogRVNUcmVlLkNhbGxFeHByZXNzaW9uLFxyXG4pOiBUZXN0QmxvY2tBbmFseXNpcyB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgdGVzdENhbGwgPSBnZXRTdXBwb3J0ZWRUZXN0Q2FsbChub2RlKTtcclxuICBpZiAodGVzdENhbGwgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHsgY2FsbGJhY2ssIGNhbGxFeHByZXNzaW9uIH0gPSB0ZXN0Q2FsbDtcclxuICBjb25zdCB7IHNvdXJjZUNvZGUgfSA9IGNvbnRleHQ7XHJcbiAgY29uc3Qgc2VjdGlvbkNvbW1lbnRzOiBUZXN0QmxvY2tBbmFseXNpc1tcInNlY3Rpb25Db21tZW50c1wiXSA9XHJcbiAgICBnZXRTb3VyY2VDb21tZW50cyhzb3VyY2VDb2RlKVxyXG4gICAgICAuZmlsdGVyKFxyXG4gICAgICAgIChjb21tZW50KSA9PlxyXG4gICAgICAgICAgaXNMb2NhdGVkQ29tbWVudChjb21tZW50KSAmJlxyXG4gICAgICAgICAgY29tbWVudC50eXBlID09PSBcIkxpbmVcIiAmJlxyXG4gICAgICAgICAgaXNSYW5nZVdpdGhpbihjb21tZW50LnJhbmdlLCBjYWxsYmFjay5ib2R5LnJhbmdlKSAmJlxyXG4gICAgICAgICAgIWlzSW5zaWRlVG9wTGV2ZWxTdGF0ZW1lbnQoY29tbWVudCwgY2FsbGJhY2suYm9keS5ib2R5KSAmJlxyXG4gICAgICAgICAgZ2V0U2VjdGlvblBoYXNlcyhjb21tZW50LnZhbHVlKS5sZW5ndGggPiAwLFxyXG4gICAgICApXHJcbiAgICAgIC5tYXAoKGNvbW1lbnQpID0+ICh7XHJcbiAgICAgICAgY29tbWVudDogY29tbWVudCBhcyBMb2NhdGVkQ29tbWVudCxcclxuICAgICAgICBwaGFzZXM6IGdldFNlY3Rpb25QaGFzZXMoY29tbWVudC52YWx1ZSksXHJcbiAgICAgIH0pKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGJvZHk6IGNhbGxiYWNrLmJvZHksXHJcbiAgICBib2R5TGluZUNvdW50OlxyXG4gICAgICBjYWxsYmFjay5ib2R5LmxvYy5lbmQubGluZSAtIGNhbGxiYWNrLmJvZHkubG9jLnN0YXJ0LmxpbmUgLSAxLFxyXG4gICAgY2FsbEV4cHJlc3Npb24sXHJcbiAgICBuZXdsaW5lOiBnZXROZXdsaW5lKHNvdXJjZUNvZGUudGV4dCksXHJcbiAgICBzZWN0aW9uQ29tbWVudHMsXHJcbiAgICBzb3VyY2VUZXh0OiBzb3VyY2VDb2RlLnRleHQsXHJcbiAgICBzdGF0ZW1lbnRzOiBjYWxsYmFjay5ib2R5LmJvZHkubWFwKChzdGF0ZW1lbnQpID0+IHtcclxuICAgICAgY29uc3QgcGhhc2VzID0gZ2V0U3RhdGVtZW50UGhhc2VzKHN0YXRlbWVudCwgc2VjdGlvbkNvbW1lbnRzKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBub2RlOiBzdGF0ZW1lbnQgYXMgTG9jYXRlZE5vZGU8RVNUcmVlLlN0YXRlbWVudD4sXHJcbiAgICAgICAgcGhhc2U6IHBoYXNlcy5hdCgtMSksXHJcbiAgICAgICAgcGhhc2VzLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgY2FjaGVkIHNvdXJjZSBjb21tZW50cyBmb3IgdGhlIGFjdGl2ZSBmaWxlLlxyXG4gKiBAcGFyYW0gc291cmNlQ29kZSBJbnB1dCBzb3VyY2VDb2RlIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGdldFNvdXJjZUNvbW1lbnRzKHNvdXJjZUNvZGUpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFNvdXJjZUNvbW1lbnRzKFxyXG4gIHNvdXJjZUNvZGU6IEFuYWx5emVyU291cmNlQ29kZSxcclxuKTogcmVhZG9ubHkgQW5hbHl6ZXJDb21tZW50W10ge1xyXG4gIGNvbnN0IGNhY2hlZENvbW1lbnRzID0gc291cmNlQ29tbWVudHNDYWNoZS5nZXQoc291cmNlQ29kZSk7XHJcbiAgaWYgKGNhY2hlZENvbW1lbnRzICE9PSB2b2lkIDApIHtcclxuICAgIHJldHVybiBjYWNoZWRDb21tZW50cztcclxuICB9XHJcblxyXG4gIGNvbnN0IGxvYWRlZENvbW1lbnRzID0gc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpO1xyXG4gIHNvdXJjZUNvbW1lbnRzQ2FjaGUuc2V0KHNvdXJjZUNvZGUsIGxvYWRlZENvbW1lbnRzKTtcclxuXHJcbiAgcmV0dXJuIGxvYWRlZENvbW1lbnRzO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSBjb21tZW50IGlzIG5lc3RlZCBpbnNpZGUgb25lIHRvcC1sZXZlbCBzdGF0ZW1lbnQgcmFuZ2UuXHJcbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXHJcbiAqIEBwYXJhbSBzdGF0ZW1lbnRzIElucHV0IHN0YXRlbWVudHMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogaXNJbnNpZGVUb3BMZXZlbFN0YXRlbWVudChjb21tZW50LCBzdGF0ZW1lbnRzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc0luc2lkZVRvcExldmVsU3RhdGVtZW50KFxyXG4gIGNvbW1lbnQ6IExvY2F0ZWRDb21tZW50LFxyXG4gIHN0YXRlbWVudHM6IHJlYWRvbmx5IEVTVHJlZS5TdGF0ZW1lbnRbXSxcclxuKTogYm9vbGVhbiB7XHJcbiAgY29uc3QgY29tbWVudExpbmUgPSBjb21tZW50LmxvYy5zdGFydC5saW5lO1xyXG5cclxuICByZXR1cm4gc3RhdGVtZW50cy5zb21lKChzdGF0ZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IHN0YXRlbWVudFN0YXJ0TGluZSA9IHN0YXRlbWVudC5sb2M/LnN0YXJ0LmxpbmU7XHJcbiAgICBjb25zdCBzdGF0ZW1lbnRFbmRMaW5lID0gc3RhdGVtZW50LmxvYz8uZW5kLmxpbmU7XHJcblxyXG4gICAgaWYgKHN0YXRlbWVudFN0YXJ0TGluZSA9PT0gdm9pZCAwIHx8IHN0YXRlbWVudEVuZExpbmUgPT09IHZvaWQgMCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbW1lbnRMaW5lID49IHN0YXRlbWVudFN0YXJ0TGluZSAmJiBjb21tZW50TGluZSA8PSBzdGF0ZW1lbnRFbmRMaW5lO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgeyBhbmFseXplVGVzdEJsb2NrIH07XHJcbiJdfQ==
@@ -1,18 +1,2 @@
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, };
1
+ export {};
18
2
  //# sourceMappingURL=analyzer.assertions.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"analyzer.assertions.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/aaa/analyzer.assertions.ts"],"names":[],"mappings":""}