@codeperfect/eslint-plugin 2.0.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 (301) 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 +36 -4
  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/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  26. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +8 -3
  27. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
  28. package/dist/domain/architecture/consistent-barrel-files/rule.js +12 -5
  29. package/dist/domain/architecture/index.d.ts +2 -1
  30. package/dist/domain/architecture/index.d.ts.map +1 -1
  31. package/dist/domain/architecture/index.js +3 -2
  32. package/dist/domain/architecture/no-unused-exports/index.d.ts +3 -0
  33. package/dist/domain/architecture/no-unused-exports/index.d.ts.map +1 -0
  34. package/dist/domain/architecture/no-unused-exports/index.js +2 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts +50 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -0
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +141 -0
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +49 -0
  39. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -0
  40. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +608 -0
  41. package/dist/domain/architecture/no-unused-exports/rule.d.ts +5 -0
  42. package/dist/domain/architecture/no-unused-exports/rule.d.ts.map +1 -0
  43. package/dist/domain/architecture/no-unused-exports/rule.js +82 -0
  44. package/dist/domain/architecture/no-unused-exports/types.d.ts +32 -0
  45. package/dist/domain/architecture/no-unused-exports/types.d.ts.map +1 -0
  46. package/dist/domain/architecture/no-unused-exports/types.js +2 -0
  47. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  48. package/dist/domain/core/no-multiple-declarators/rule.js +58 -6
  49. package/dist/domain/core/no-multiple-declarators/types.d.ts +3 -1
  50. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -1
  51. package/dist/domain/core/no-multiple-declarators/types.js +5 -2
  52. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  53. package/dist/domain/core/prefer-interface-types/rule.js +94 -23
  54. package/dist/domain/custom-rule-documentation.d.ts +3 -14
  55. package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
  56. package/dist/domain/custom-rule-documentation.js +3 -2
  57. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  58. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +11 -2
  59. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  60. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +1 -1
  61. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +1 -1
  62. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  63. package/dist/domain/docs/no-interface-member-docs/rule.js +12 -4
  64. package/dist/domain/docs/require-example-language/examples.d.ts +4 -15
  65. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  66. package/dist/domain/docs/require-example-language/examples.js +119 -26
  67. package/dist/domain/docs/require-example-language/fixes.d.ts +1 -21
  68. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
  69. package/dist/domain/docs/require-example-language/fixes.js +5 -2
  70. package/dist/domain/docs/require-example-language/reporting.d.ts +2 -38
  71. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  72. package/dist/domain/docs/require-example-language/reporting.js +2 -2
  73. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  74. package/dist/domain/docs/require-example-language/rule.js +7 -3
  75. package/dist/domain/docs/require-example-language/types.d.ts +1 -1
  76. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  77. package/dist/domain/docs/require-example-language/types.js +1 -1
  78. package/dist/domain/docs/single-line-jsdoc/rule.d.ts +1 -2
  79. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
  80. package/dist/domain/docs/single-line-jsdoc/rule.js +18 -13
  81. package/dist/domain/index.d.ts +2 -3
  82. package/dist/domain/index.d.ts.map +1 -1
  83. package/dist/domain/index.js +3 -4
  84. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +2 -78
  85. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
  86. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +121 -3
  87. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  88. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +199 -4
  89. package/dist/domain/testing/aaa/analyzer.analysis.js +30 -188
  90. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +1 -92
  91. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
  92. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +93 -0
  93. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
  94. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +184 -0
  95. package/dist/domain/testing/aaa/analyzer.assertions.js +5 -283
  96. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +62 -0
  97. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
  98. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +106 -0
  99. package/dist/domain/testing/aaa/analyzer.classification.d.ts +1 -74
  100. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
  101. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +75 -0
  102. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
  103. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +202 -0
  104. package/dist/domain/testing/aaa/analyzer.classification.js +5 -201
  105. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +13 -0
  106. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
  107. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +32 -0
  108. package/dist/domain/testing/aaa/analyzer.super.d.ts +6 -13
  109. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  110. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +14 -0
  111. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
  112. package/dist/domain/testing/aaa/analyzer.super.helpers.js +64 -0
  113. package/dist/domain/testing/aaa/analyzer.super.js +29 -61
  114. package/dist/domain/testing/aaa/index.d.ts +1 -2
  115. package/dist/domain/testing/aaa/index.d.ts.map +1 -1
  116. package/dist/domain/testing/aaa/index.js +2 -2
  117. package/dist/domain/testing/aaa/types.d.ts +1 -1
  118. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  119. package/dist/domain/testing/aaa/types.js +1 -1
  120. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  121. package/dist/domain/testing/assert-actual-expected-names/rule.js +33 -5
  122. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -1
  123. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -1
  124. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +3 -2
  125. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +1 -1
  126. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -1
  127. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
  128. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +1 -1
  129. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  130. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +78 -16
  131. package/dist/domain/testing/{require-aaa-sections → enforce-aaa-structure}/missing-section-fixes.d.ts +1 -1
  132. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -0
  133. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +150 -0
  134. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  135. package/dist/domain/testing/enforce-aaa-structure/rule.js +165 -3
  136. package/dist/domain/testing/index.d.ts +0 -3
  137. package/dist/domain/testing/index.d.ts.map +1 -1
  138. package/dist/domain/testing/index.js +1 -4
  139. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +1 -15
  140. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -1
  141. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +2 -71
  142. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  143. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +4 -2
  144. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +1 -13
  145. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
  146. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +3 -21
  147. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
  148. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +2 -1
  149. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
  150. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +1 -1
  151. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +6 -6
  152. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +1 -12
  153. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  154. package/dist/domain/testing/prefer-vi-mocked-import/match.js +149 -15
  155. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  156. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +6 -3
  157. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  158. package/dist/domain/testing/require-act-result-capture/rule.js +42 -10
  159. package/dist/domain/testing/require-test-companion/index.d.ts +0 -1
  160. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -1
  161. package/dist/domain/testing/require-test-companion/index.js +1 -2
  162. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts +2 -1
  163. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
  164. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +13 -58
  165. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts +2 -1
  166. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -1
  167. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -5
  168. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  169. package/dist/domain/testing/require-test-companion/rule.js +34 -9
  170. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  171. package/dist/domain/testing/single-act-statement/rule.js +11 -5
  172. package/dist/index.d.ts +1 -1
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +2 -2
  175. package/dist/infrastructure/codeperfect-plugin.d.ts +6 -6
  176. package/dist/infrastructure/codeperfect-plugin.js +5 -5
  177. package/dist/infrastructure/presets.d.ts.map +1 -1
  178. package/dist/infrastructure/presets.js +23 -7
  179. package/package.json +37 -38
  180. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +0 -41
  181. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  182. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -87
  183. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +0 -40
  184. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  185. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -91
  186. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +0 -4
  187. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +0 -1
  188. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +0 -4
  189. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts +0 -141
  190. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  191. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +0 -20
  192. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +0 -1
  193. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +0 -25
  194. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +0 -235
  195. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +0 -101
  196. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +0 -1
  197. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +0 -108
  198. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +0 -35
  199. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +0 -1
  200. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +0 -95
  201. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +0 -4
  202. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +0 -1
  203. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +0 -4
  204. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +0 -4
  205. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +0 -1
  206. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +0 -4
  207. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts +0 -110
  208. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  209. package/dist/domain/core/prefer-interface-types/test-helpers.js +0 -116
  210. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -89
  211. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  212. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  213. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts +0 -103
  214. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  215. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +0 -157
  216. package/dist/domain/docs/require-example-language/create-fixer.d.ts +0 -5
  217. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +0 -1
  218. package/dist/domain/docs/require-example-language/create-fixer.js +0 -5
  219. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +0 -4
  220. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +0 -1
  221. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +0 -5
  222. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +0 -4
  223. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +0 -1
  224. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +0 -5
  225. package/dist/domain/docs/test-helpers.d.ts +0 -50
  226. package/dist/domain/docs/test-helpers.d.ts.map +0 -1
  227. package/dist/domain/docs/test-helpers.js +0 -107
  228. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +0 -9
  229. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +0 -1
  230. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +0 -10
  231. package/dist/domain/testing/aaa/analyzer.d.ts +0 -46
  232. package/dist/domain/testing/aaa/analyzer.d.ts.map +0 -1
  233. package/dist/domain/testing/aaa/analyzer.js +0 -59
  234. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +0 -4
  235. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +0 -1
  236. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +0 -4
  237. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +0 -42
  238. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +0 -1
  239. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +0 -188
  240. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts +0 -5
  241. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  242. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +0 -34
  243. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +0 -20
  244. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +0 -1
  245. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +0 -39
  246. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +0 -86
  247. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +0 -1
  248. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +0 -150
  249. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +0 -2
  250. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +0 -1
  251. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +0 -2
  252. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +0 -14
  253. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +0 -1
  254. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +0 -81
  255. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +0 -13
  256. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +0 -1
  257. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +0 -189
  258. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +0 -25
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +0 -1
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +0 -92
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +0 -32
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +0 -1
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +0 -164
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +0 -5
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +0 -1
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +0 -4
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +0 -1
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +0 -4
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +0 -4
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +0 -1
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +0 -4
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +0 -62
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +0 -4
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +0 -1
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +0 -4
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +0 -24
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +0 -1
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +0 -113
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +0 -36
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +0 -1
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +0 -138
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +0 -203
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +0 -1
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +0 -2
  285. package/dist/domain/testing/require-aaa-sections/index.d.ts +0 -2
  286. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +0 -1
  287. package/dist/domain/testing/require-aaa-sections/index.js +0 -2
  288. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +0 -1
  289. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +0 -150
  290. package/dist/domain/testing/require-aaa-sections/rule.d.ts +0 -5
  291. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +0 -1
  292. package/dist/domain/testing/require-aaa-sections/rule.js +0 -129
  293. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +0 -104
  294. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +0 -1
  295. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +0 -217
  296. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts +0 -51
  297. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  298. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +0 -184
  299. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts +0 -28
  300. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  301. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +0 -26
@@ -17,6 +17,6 @@ interface Example {
17
17
  startOffset: number;
18
18
  }
19
19
  /** Type definition for rule data. */
20
- type Problem = "emptyExample" | "missingFence" | "missingLanguage";
20
+ type Problem = "contentOutsideFence" | "emptyExample" | "missingFence" | "missingLanguage";
21
21
  export type { Comment, Example, Problem };
22
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEnE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,OAAO;IACf,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qCAAqC;AACrC,KAAK,OAAO,GACR,qBAAqB,GACrB,cAAc,GACd,cAAc,GACd,iBAAiB,CAAC;AAEtB,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGUge1xuICAvKiogQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKiBFbmRJbmRleCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kSW5kZXg6IG51bWJlcjtcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogTGluZUluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lSW5kZXg6IG51bWJlcjtcblxuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUHJvYmxlbSA9IFwiZW1wdHlFeGFtcGxlXCIgfCBcIm1pc3NpbmdGZW5jZVwiIHwgXCJtaXNzaW5nTGFuZ3VhZ2VcIjtcblxuZXhwb3J0IHR5cGUgeyBDb21tZW50LCBFeGFtcGxlLCBQcm9ibGVtIH07XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGUge1xuICAvKiogQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKiBFbmRJbmRleCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kSW5kZXg6IG51bWJlcjtcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogTGluZUluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lSW5kZXg6IG51bWJlcjtcblxuICAvKiogUHJlZml4IGZpZWxkIHZhbHVlLiAqL1xuICBwcmVmaXg6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUHJvYmxlbSA9XG4gIHwgXCJjb250ZW50T3V0c2lkZUZlbmNlXCJcbiAgfCBcImVtcHR5RXhhbXBsZVwiXG4gIHwgXCJtaXNzaW5nRmVuY2VcIlxuICB8IFwibWlzc2luZ0xhbmd1YWdlXCI7XG5cbmV4cG9ydCB0eXBlIHsgQ29tbWVudCwgRXhhbXBsZSwgUHJvYmxlbSB9O1xuIl19
@@ -1,5 +1,4 @@
1
1
  import type { Rule } from "eslint";
2
2
  /** Rule module enforcing single-line JSDoc when it fits. */
3
- declare const singleLineJsdocRule: Rule.RuleModule;
4
- export { singleLineJsdocRule };
3
+ export declare const singleLineJsdocRule: Rule.RuleModule;
5
4
  //# sourceMappingURL=rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAoQnC,4DAA4D;AAC5D,QAAA,MAAM,mBAAmB,EAAE,IAAI,CAAC,UAmC/B,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/single-line-jsdoc/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAiQnC,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,UAyCtC,CAAC"}
@@ -1,4 +1,3 @@
1
- import { createRuleDocumentation } from "../../custom-rule-documentation.js";
2
1
  import { normalizeMaxLineLength, reportIfSingleLine, } from "./single-line-jsdoc-utilities.js";
3
2
  /**
4
3
  * Resolves the token after a comment when available.
@@ -40,17 +39,18 @@ const functionLikeTypes = new Set([
40
39
  * @returns True when the node is a function expression.
41
40
  * @example
42
41
  * ```typescript
43
- * isFunctionExpression({ type: "FunctionExpression" } as EstreeNode);
42
+ * isFunctionExpression({ type: "FunctionExpression" } as Node);
44
43
  * ```
45
44
  */
46
- const isFunctionExpression = (node) => node?.type === "FunctionExpression" || node?.type === "ArrowFunctionExpression";
45
+ const isFunctionExpression = (node) => node?.type === "FunctionExpression" ||
46
+ node?.type === "ArrowFunctionExpression";
47
47
  /**
48
48
  * Checks if a node is a function declaration or TS declaration signature.
49
49
  * @param node Node to inspect.
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) => {
@@ -159,7 +159,7 @@ const shouldSkipForFunction = (context, comment) => {
159
159
  return isFunctionLikeNode(node);
160
160
  };
161
161
  /** Rule module enforcing single-line JSDoc when it fits. */
162
- const singleLineJsdocRule = {
162
+ export const singleLineJsdocRule = {
163
163
  create(context) {
164
164
  const { options, sourceCode } = context;
165
165
  const maxLineLength = normalizeMaxLineLength(options);
@@ -172,7 +172,12 @@ const singleLineJsdocRule = {
172
172
  return {};
173
173
  },
174
174
  meta: {
175
- docs: createRuleDocumentation("single-line-jsdoc", "Require JSDoc comments to use a single line when they fit."),
175
+ defaultOptions: [{ maxLineLength: 80 }],
176
+ docs: {
177
+ description: "Require JSDoc comments to use a single line when they fit.",
178
+ recommended: false,
179
+ url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/single-line-jsdoc.md",
180
+ },
176
181
  fixable: "code",
177
182
  messages: {
178
183
  singleLine: "Use a single-line JSDoc comment when it fits on one line.",
@@ -182,6 +187,7 @@ const singleLineJsdocRule = {
182
187
  additionalProperties: false,
183
188
  properties: {
184
189
  maxLineLength: {
190
+ description: "Maximum line length that still allows a JSDoc block to be collapsed to a single line.",
185
191
  minimum: 1,
186
192
  type: "number",
187
193
  },
@@ -192,5 +198,4 @@ const singleLineJsdocRule = {
192
198
  type: "layout",
193
199
  },
194
200
  };
195
- export { singleLineJsdocRule };
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0sK0JBQStCLENBQUM7QUEwRHZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsVUFBNEIsRUFDNUIsT0FBc0IsRUFDTSxFQUFFO0lBQzlCLElBQUksT0FBTyxVQUFVLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQ25ELGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksVUFBVSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDeEMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxnQkFBZ0I7Q0FDakIsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDeEQsSUFBSSxFQUFFLElBQUksS0FBSyxvQkFBb0IsSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLHlCQUF5QixDQUFDO0FBRWxGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLElBQWUsRUFBVyxFQUFFLENBQ3pELElBQUksRUFBRSxJQUFJLEtBQUsscUJBQXFCLElBQUksSUFBSSxFQUFFLElBQUksS0FBSyxtQkFBbUIsQ0FBQztBQUU3RTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDaEQsSUFBSSxFQUFFLElBQUksS0FBSyxrQkFBa0IsSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLG1CQUFtQixDQUFDO0FBRTFFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLElBQWdCLEVBQVcsRUFBRTtJQUNoRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNuRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBcUIsQ0FBQztJQUV4QyxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQWdCLEVBQVcsRUFBRTtJQUMvRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBNEIsQ0FBQztJQUN0RCxNQUFNLFdBQVcsR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO0lBRXZDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ3RDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FDdkMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLElBQWdCLEVBQVcsRUFBRTtJQUMzRCxJQUNFLElBQUksQ0FBQyxJQUFJLEtBQUssd0JBQXdCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEtBQUssMEJBQTBCLEVBQ3hDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBMkIsQ0FBQztJQUVwRCxPQUFPLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQWUsRUFBVyxFQUFFO0lBQ3RELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLENBQ0wscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQzNCLG9CQUFvQixDQUFDLElBQUksQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ2xCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2hDLDJCQUEyQixDQUFDLElBQWtCLENBQUM7UUFDL0MsMEJBQTBCLENBQUMsSUFBa0IsQ0FBQztRQUM5QyxzQkFBc0IsQ0FBQyxJQUFrQixDQUFDLENBQzNDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLE9BQXlCLEVBQ3pCLE9BQXNCLEVBQ2IsRUFBRTtJQUNYLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUE4QixDQUFDO0lBQzFELElBQUksT0FBTyxVQUFVLENBQUMsbUJBQW1CLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNELElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRUYsNERBQTREO0FBQzVELE1BQU0sbUJBQW1CLEdBQW9CO0lBQzNDLE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN4QyxNQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFN0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsdUJBQXVCLENBQUMsbUJBQW1CLEVBQUUsNERBQTRELENBQUM7UUFDaEgsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUU7WUFDUixVQUFVLEVBQUUsMkRBQTJEO1NBQ3hFO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0Usb0JBQW9CLEVBQUUsS0FBSztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRTt3QkFDYixPQUFPLEVBQUUsQ0FBQzt3QkFDVixJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjtnQkFDRCxJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsUUFBUTtLQUNmO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgeyBDb21tZW50IGFzIEVzdHJlZUNvbW1lbnQsIE5vZGUgYXMgRXN0cmVlTm9kZSB9IGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHsgY3JlYXRlUnVsZURvY3VtZW50YXRpb24gfSBmcm9tIFwiLi4vLi4vY3VzdG9tLXJ1bGUtZG9jdW1lbnRhdGlvblwiO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplTWF4TGluZUxlbmd0aCxcbiAgcmVwb3J0SWZTaW5nbGVMaW5lLFxufSBmcm9tIFwiLi9zaW5nbGUtbGluZS1qc2RvYy11dGlsaXRpZXNcIjtcbi8qKiBUeXBlIHVuaW9uIGZvciBub2RlcyB0aGF0IG1heSBiZSBtaXNzaW5nLiAqL1xudHlwZSBNYXliZU5vZGUgPSBFc3RyZWVOb2RlIHwgTm9kZVdpdGhUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqIFNoYXBlIGZvciBleHBvcnQgbm9kZXMgdGhhdCB3cmFwIGEgZGVjbGFyYXRpb24uICovXG5pbnRlcmZhY2UgTm9kZVdpdGhEZWNsYXJhdGlvbiB7XG4gIC8qKiBEZWNsYXJhdGlvbiB3cmFwcGVkIGJ5IHRoZSBleHBvcnQuICovXG4gIGRlY2xhcmF0aW9uPzogTWF5YmVOb2RlO1xufVxuLyoqIFNoYXBlIGZvciBub2RlcyB0aGF0IGhhdmUgZGVjbGFyYXRpb25zLiAqL1xuaW50ZXJmYWNlIE5vZGVXaXRoRGVjbGFyYXRpb25zIHtcbiAgLyoqIFZhcmlhYmxlIGRlY2xhcmF0aW9ucyBmb3IgYSBkZWNsYXJhdGlvbiBsaXN0LiAqL1xuICBkZWNsYXJhdGlvbnM/OiBWYXJpYWJsZURlY2xhcmF0aW9uRW50cnlbXTtcbn1cbi8qKiBTaGFwZSBmb3IgbWluaW1hbCBub2RlcyB0aGF0IG9ubHkgZXhwb3NlIGEgdHlwZS4gKi9cbmludGVyZmFjZSBOb2RlV2l0aFR5cGUge1xuICAvKiogTm9kZSB0eXBlIGRpc2NyaW1pbmF0b3IuICovXG4gIHR5cGU6IHN0cmluZztcbn1cbi8qKiBTaGFwZSBmb3Igbm9kZXMgdGhhdCBoYXZlIGEgdmFsdWUuICovXG5pbnRlcmZhY2UgTm9kZVdpdGhWYWx1ZSB7XG4gIC8qKiBWYWx1ZSBub2RlIHVzZWQgZm9yIHByb3BlcnR5IGluaXRpYWxpemVycy4gKi9cbiAgdmFsdWU/OiBNYXliZU5vZGU7XG59XG4vKiogU291cmNlQ29kZSBhY2Nlc3NvcnMgdXNlZCBieSB0aGlzIHJ1bGUuICovXG5pbnRlcmZhY2UgU291cmNlQ29kZUFjY2VzcyB7XG4gIC8qKiBSZXR1cm5zIHRoZSBub2RlIGF0IGEgcmFuZ2UgaW5kZXguICovXG4gIGdldE5vZGVCeVJhbmdlSW5kZXg6IChpbmRleDogbnVtYmVyKSA9PiBFc3RyZWVOb2RlIHwgbnVsbDtcblxuICAvKiogUmV0dXJucyB0aGUgZmlyc3QgdG9rZW4gYWZ0ZXIgYSBjb21tZW50LiAqL1xuICBnZXRUb2tlbkFmdGVyOiAoXG4gICAgbm9kZTogRXN0cmVlQ29tbWVudCxcbiAgICBvcHRpb25zPzogVG9rZW5BZnRlck9wdGlvbnMsXG4gICkgPT4gbnVsbCB8IFRva2VuV2l0aE9wdGlvbmFsUmFuZ2U7XG59XG4vKiogVHlwZSBhbGlhcyBmb3IgY29tbWVudCBub2RlcyBwcm92aWRlZCBieSBFU0xpbnQuICovXG50eXBlIFNvdXJjZUNvbW1lbnQgPSBFc3RyZWVDb21tZW50O1xuLyoqIE9wdGlvbnMgdXNlZCB3aGVuIGZldGNoaW5nIHRva2VucyBhZnRlciBjb21tZW50cy4gKi9cbmludGVyZmFjZSBUb2tlbkFmdGVyT3B0aW9ucyB7XG4gIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgY29tbWVudCB0b2tlbnMuICovXG4gIGluY2x1ZGVDb21tZW50cz86IGJvb2xlYW47XG59XG4vKiogU2hhcGUgZm9yIHRva2VucyB0aGF0IG1heSBpbmNsdWRlIGEgcmFuZ2UuICovXG5pbnRlcmZhY2UgVG9rZW5XaXRoT3B0aW9uYWxSYW5nZSB7XG4gIC8qKiBUb2tlbiByYW5nZSB1c2VkIGZvciBsb29rdXBzLiAqL1xuICByYW5nZT86IFtudW1iZXIsIG51bWJlcl07XG59XG4vKiogU2hhcGUgZm9yIHRva2VucyB3aXRoIHJhbmdlIG1ldGFkYXRhLiAqL1xuaW50ZXJmYWNlIFRva2VuV2l0aFJhbmdlIHtcbiAgLyoqIFRva2VuIHJhbmdlIHVzZWQgZm9yIGxvb2t1cHMuICovXG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xufVxuLyoqIFNoYXBlIGZvciB2YXJpYWJsZSBkZWNsYXJhdGlvbiBlbnRyaWVzLiAqL1xuaW50ZXJmYWNlIFZhcmlhYmxlRGVjbGFyYXRpb25FbnRyeSB7XG4gIC8qKiBPcHRpb25hbCBpbml0aWFsaXplciBmb3IgdGhlIGRlY2xhcmF0aW9uLiAqL1xuICBpbml0PzogTWF5YmVOb2RlO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSB0b2tlbiBhZnRlciBhIGNvbW1lbnQgd2hlbiBhdmFpbGFibGUuXG4gKiBAcGFyYW0gc291cmNlQ29kZSBTb3VyY2UgY29kZSBhY2Nlc3NvcnMuXG4gKiBAcGFyYW0gY29tbWVudCBDb21tZW50IG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRva2VuIHJhbmdlIG1ldGFkYXRhIHdoZW4gYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldFRva2VuQWZ0ZXJSYW5nZSh7fSBhcyBTb3VyY2VDb2RlQWNjZXNzLCB7fSBhcyBTb3VyY2VDb21tZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRUb2tlbkFmdGVyUmFuZ2UgPSAoXG4gIHNvdXJjZUNvZGU6IFNvdXJjZUNvZGVBY2Nlc3MsXG4gIGNvbW1lbnQ6IFNvdXJjZUNvbW1lbnQsXG4pOiBUb2tlbldpdGhSYW5nZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICh0eXBlb2Ygc291cmNlQ29kZS5nZXRUb2tlbkFmdGVyICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdG9rZW5BZnRlciA9IHNvdXJjZUNvZGUuZ2V0VG9rZW5BZnRlcihjb21tZW50LCB7XG4gICAgaW5jbHVkZUNvbW1lbnRzOiBmYWxzZSxcbiAgfSk7XG5cbiAgaWYgKHRva2VuQWZ0ZXI/LnJhbmdlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIHsgcmFuZ2U6IHRva2VuQWZ0ZXIucmFuZ2UgfTtcbn07XG5cbi8qKlxuICogRnVuY3Rpb24tbGlrZSBub2RlIHR5cGVzIGhhbmRsZWQgZGlyZWN0bHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZnVuY3Rpb25MaWtlVHlwZXMuaGFzKFwiVFNGdW5jdGlvblR5cGVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgZnVuY3Rpb25MaWtlVHlwZXMgPSBuZXcgU2V0PHN0cmluZz4oW1xuICBcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXG4gIFwiVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxuICBcIlRTRnVuY3Rpb25UeXBlXCIsXG5dKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIGlzIGEgZnVuY3Rpb24gZXhwcmVzc2lvbiBvciBhcnJvdyBmdW5jdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbm9kZSBpcyBhIGZ1bmN0aW9uIGV4cHJlc3Npb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkV4cHJlc3Npb24oeyB0eXBlOiBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiIH0gYXMgRXN0cmVlTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNGdW5jdGlvbkV4cHJlc3Npb24gPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiIHx8IG5vZGU/LnR5cGUgPT09IFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIjtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIGlzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gb3IgVFMgZGVjbGFyYXRpb24gc2lnbmF0dXJlLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkRlY2xhcmF0aW9uKHsgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0Z1bmN0aW9uRGVjbGFyYXRpb24gPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIiB8fCBub2RlPy50eXBlID09PSBcIlRTRGVjbGFyZUZ1bmN0aW9uXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIG1ldGhvZC1saWtlIGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGEgbWV0aG9kLWxpa2UgZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNNZXRob2RMaWtlKHsgdHlwZTogXCJNZXRob2REZWZpbml0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc01ldGhvZExpa2UgPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PlxuICBub2RlPy50eXBlID09PSBcIk1ldGhvZERlZmluaXRpb25cIiB8fCBub2RlPy50eXBlID09PSBcIlRTTWV0aG9kU2lnbmF0dXJlXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbm9kZSBpcyBhIHByb3BlcnR5IHdpdGggYSBmdW5jdGlvbiBpbml0aWFsaXplci5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgcHJvcGVydHkgdmFsdWUgaXMgYSBmdW5jdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUoeyB0eXBlOiBcIlByb3BlcnR5XCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1Byb3BlcnR5V2l0aEZ1bmN0aW9uVmFsdWUgPSAobm9kZTogRXN0cmVlTm9kZSk6IGJvb2xlYW4gPT4ge1xuICBpZiAobm9kZS50eXBlICE9PSBcIlByb3BlcnR5RGVmaW5pdGlvblwiICYmIG5vZGUudHlwZSAhPT0gXCJQcm9wZXJ0eVwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyB2YWx1ZSB9ID0gbm9kZSBhcyBOb2RlV2l0aFZhbHVlO1xuXG4gIHJldHVybiBpc0Z1bmN0aW9uRXhwcmVzc2lvbih2YWx1ZSk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGNvbnRhaW5zIGEgZnVuY3Rpb24gaW5pdGlhbGl6ZXIuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gYW55IGluaXRpYWxpemVyIGlzIGEgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNWYXJpYWJsZVdpdGhGdW5jdGlvbkluaXQoeyB0eXBlOiBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIiB9IGFzIEVzdHJlZU5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzVmFyaWFibGVXaXRoRnVuY3Rpb25Jbml0ID0gKG5vZGU6IEVzdHJlZU5vZGUpOiBib29sZWFuID0+IHtcbiAgaWYgKG5vZGUudHlwZSAhPT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB7IGRlY2xhcmF0aW9ucyB9ID0gbm9kZSBhcyBOb2RlV2l0aERlY2xhcmF0aW9ucztcbiAgY29uc3QgaW5pdGlhbGl6ZWQgPSBkZWNsYXJhdGlvbnMgPz8gW107XG5cbiAgcmV0dXJuIGluaXRpYWxpemVkLnNvbWUoKGRlY2xhcmF0aW9uKSA9PlxuICAgIGlzRnVuY3Rpb25FeHByZXNzaW9uKGRlY2xhcmF0aW9uLmluaXQpLFxuICApO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYW4gZXhwb3J0IHdyYXBzIGEgZnVuY3Rpb24tbGlrZSBkZWNsYXJhdGlvbi5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZXhwb3J0ZWQgZGVjbGFyYXRpb24gaXMgZnVuY3Rpb24tbGlrZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpc0V4cG9ydGVkRnVuY3Rpb25MaWtlKHsgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0V4cG9ydGVkRnVuY3Rpb25MaWtlID0gKG5vZGU6IEVzdHJlZU5vZGUpOiBib29sZWFuID0+IHtcbiAgaWYgKFxuICAgIG5vZGUudHlwZSAhPT0gXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIgJiZcbiAgICBub2RlLnR5cGUgIT09IFwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCJcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyBkZWNsYXJhdGlvbiB9ID0gbm9kZSBhcyBOb2RlV2l0aERlY2xhcmF0aW9uO1xuXG4gIHJldHVybiBpc0Z1bmN0aW9uTGlrZU5vZGUoZGVjbGFyYXRpb24pO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYSBub2RlIHJlcHJlc2VudHMgYW55IHN1cHBvcnRlZCBmdW5jdGlvbi1saWtlIGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBub2RlIGlzIGZ1bmN0aW9uLWxpa2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNGdW5jdGlvbkxpa2VOb2RlKHsgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgfSBhcyBFc3RyZWVOb2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0Z1bmN0aW9uTGlrZU5vZGUgPSAobm9kZTogTWF5YmVOb2RlKTogYm9vbGVhbiA9PiB7XG4gIGlmIChub2RlID09PSBudWxsIHx8IG5vZGUgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNGdW5jdGlvbkRlY2xhcmF0aW9uKG5vZGUpIHx8XG4gICAgaXNGdW5jdGlvbkV4cHJlc3Npb24obm9kZSkgfHxcbiAgICBpc01ldGhvZExpa2Uobm9kZSkgfHxcbiAgICBmdW5jdGlvbkxpa2VUeXBlcy5oYXMobm9kZS50eXBlKSB8fFxuICAgIGlzUHJvcGVydHlXaXRoRnVuY3Rpb25WYWx1ZShub2RlIGFzIEVzdHJlZU5vZGUpIHx8XG4gICAgaXNWYXJpYWJsZVdpdGhGdW5jdGlvbkluaXQobm9kZSBhcyBFc3RyZWVOb2RlKSB8fFxuICAgIGlzRXhwb3J0ZWRGdW5jdGlvbkxpa2Uobm9kZSBhcyBFc3RyZWVOb2RlKVxuICApO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBKU0RvYyBjb21tZW50IHNob3VsZCBiZSBza2lwcGVkIGZvciBmdW5jdGlvbiB0YXJnZXRzLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGNvbW1lbnQgQ29tbWVudCBub2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGNvbW1lbnQgdGFyZ2V0cyBhIGZ1bmN0aW9uLWxpa2Ugbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzaG91bGRTa2lwRm9yRnVuY3Rpb24oe30gYXMgUnVsZS5SdWxlQ29udGV4dCwge30gYXMgU291cmNlQ29tbWVudCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgc2hvdWxkU2tpcEZvckZ1bmN0aW9uID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBjb21tZW50OiBTb3VyY2VDb21tZW50LFxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHNvdXJjZUNvZGUgPSBjb250ZXh0LnNvdXJjZUNvZGUgYXMgU291cmNlQ29kZUFjY2VzcztcbiAgaWYgKHR5cGVvZiBzb3VyY2VDb2RlLmdldE5vZGVCeVJhbmdlSW5kZXggIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHRva2VuQWZ0ZXIgPSBnZXRUb2tlbkFmdGVyUmFuZ2Uoc291cmNlQ29kZSwgY29tbWVudCk7XG4gIGlmICh0b2tlbkFmdGVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBbcmFuZ2VTdGFydF0gPSB0b2tlbkFmdGVyLnJhbmdlO1xuICBjb25zdCBub2RlID0gc291cmNlQ29kZS5nZXROb2RlQnlSYW5nZUluZGV4KHJhbmdlU3RhcnQpO1xuICByZXR1cm4gaXNGdW5jdGlvbkxpa2VOb2RlKG5vZGUpO1xufTtcblxuLyoqIFJ1bGUgbW9kdWxlIGVuZm9yY2luZyBzaW5nbGUtbGluZSBKU0RvYyB3aGVuIGl0IGZpdHMuICovXG5jb25zdCBzaW5nbGVMaW5lSnNkb2NSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IHsgb3B0aW9ucywgc291cmNlQ29kZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCBtYXhMaW5lTGVuZ3RoID0gbm9ybWFsaXplTWF4TGluZUxlbmd0aChvcHRpb25zKTtcblxuICAgIGNvbnN0IGNvbW1lbnRzID0gc291cmNlQ29kZS5nZXRBbGxDb21tZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgICBpZiAoIXNob3VsZFNraXBGb3JGdW5jdGlvbihjb250ZXh0LCBjb21tZW50KSkge1xuICAgICAgICByZXBvcnRJZlNpbmdsZUxpbmUoY29udGV4dCwgY29tbWVudCwgbWF4TGluZUxlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczogY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXCJzaW5nbGUtbGluZS1qc2RvY1wiLCBcIlJlcXVpcmUgSlNEb2MgY29tbWVudHMgdG8gdXNlIGEgc2luZ2xlIGxpbmUgd2hlbiB0aGV5IGZpdC5cIiksXG4gICAgZml4YWJsZTogXCJjb2RlXCIsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHNpbmdsZUxpbmU6IFwiVXNlIGEgc2luZ2xlLWxpbmUgSlNEb2MgY29tbWVudCB3aGVuIGl0IGZpdHMgb24gb25lIGxpbmUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgbWF4TGluZUxlbmd0aDoge1xuICAgICAgICAgICAgbWluaW11bTogMSxcbiAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgICB0eXBlOiBcImxheW91dFwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgc2luZ2xlTGluZUpzZG9jUnVsZSB9OyJdfQ==
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9zaW5nbGUtbGluZS1qc2RvYy9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0sK0JBQStCLENBQUM7QUEwRHZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsVUFBNEIsRUFDNUIsT0FBc0IsRUFDTSxFQUFFO0lBQzlCLElBQUksT0FBTyxVQUFVLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQ25ELGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUMsQ0FBQztJQUNILElBQUksVUFBVSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDeEMsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyxnQkFBZ0I7Q0FDakIsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBZSxFQUFXLEVBQUUsQ0FDeEQsSUFBSSxFQUFFLElBQUksS0FBSyxvQkFBb0I7SUFDbkMsSUFBSSxFQUFFLElBQUksS0FBSyx5QkFBeUIsQ0FBQztBQUUzQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFlLEVBQVcsRUFBRSxDQUN6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QUM7d0JBQ1YsSUFBSSxFQUFFLFFBQVE7cUJBQ2Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFFBQVE7S0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IENvbW1lbnQsIE5vZGUgfSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB7XG4gIG5vcm1hbGl6ZU1heExpbmVMZW5ndGgsXG4gIHJlcG9ydElmU2luZ2xlTGluZSxcbn0gZnJvbSBcIi4vc2luZ2xlLWxpbmUtanNkb2MtdXRpbGl0aWVzXCI7XG5cbi8qKiBUeXBlIHVuaW9uIGZvciBub2RlcyB0aGF0IG1heSBiZSBtaXNzaW5nLiAqL1xudHlwZSBNYXliZU5vZGUgPSBOb2RlIHwgTm9kZVdpdGhUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqIFNoYXBlIGZvciBleHBvcnQgbm9kZXMgdGhhdCB3cmFwIGEgZGVjbGFyYXRpb24uICovXG5pbnRlcmZhY2UgTm9kZVdpdGhEZWNsYXJhdGlvbiB7XG4gIC8qKiBEZWNsYXJhdGlvbiB3cmFwcGVkIGJ5IHRoZSBleHBvcnQuICovXG4gIGRlY2xhcmF0aW9uPzogTWF5YmVOb2RlO1xufVxuLyoqIFNoYXBlIGZvciBub2RlcyB0aGF0IGhhdmUgZGVjbGFyYXRpb25zLiAqL1xuaW50ZXJmYWNlIE5vZGVXaXRoRGVjbGFyYXRpb25zIHtcbiAgLyoqIFZhcmlhYmxlIGRlY2xhcmF0aW9ucyBmb3IgYSBkZWNsYXJhdGlvbiBsaXN0LiAqL1xuICBkZWNsYXJhdGlvbnM/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,19 +1,6 @@
1
1
  import type { Rule } from "eslint";
2
2
  import type * as ESTree from "estree";
3
- import type { AaaPhase, SourceComment, TestBlockAnalysis } from "./types.js";
4
- /** Canonical ordering used when comparing AAA phases. */
5
- declare const aaaPhaseOrder: {
6
- readonly Act: 1;
7
- readonly Arrange: 0;
8
- readonly Assert: 2;
9
- };
10
- /** Helper state for flattened section comments. */
11
- interface FlattenedSection {
12
- /** Original source comment for the section marker. */
13
- comment: SourceComment;
14
- /** Phase represented by the flattened section entry. */
15
- phase: AaaPhase;
16
- }
3
+ import type { TestBlockAnalysis } from "./types.js";
17
4
  /**
18
5
  * Analyzes supported AAA test blocks.
19
6
  * @param context Input context value.
@@ -25,68 +12,5 @@ interface FlattenedSection {
25
12
  * ```
26
13
  */
27
14
  declare function analyzeTestBlock(context: Rule.RuleContext, node: ESTree.CallExpression): TestBlockAnalysis | undefined;
28
- /**
29
- * Counts Act statements.
30
- * @param analysis Input analysis value.
31
- * @returns Return value output.
32
- * @example
33
- * ```typescript
34
- * countActStatements(analysis);
35
- * ```
36
- */
37
- declare function countActStatements(analysis: TestBlockAnalysis): number;
38
- /**
39
- * Flattens section comments.
40
- * @param analysis Input analysis value.
41
- * @returns Return value output.
42
- * @example
43
- * ```typescript
44
- * getFlattenedSections(analysis);
45
- * ```
46
- */
47
- declare function getFlattenedSections(analysis: Pick<TestBlockAnalysis, "sectionComments">): FlattenedSection[];
48
- /**
49
- * Gets indentation at an offset.
50
- * @param sourceText Input sourceText value.
51
- * @param offset Input offset value.
52
- * @returns Return value output.
53
- * @example
54
- * ```typescript
55
- * getIndentationAtOffset(sourceText, 4);
56
- * ```
57
- */
58
- declare function getIndentationAtOffset(sourceText: string, offset: number): string;
59
- /**
60
- * Gets the start range for a line.
61
- * @param sourceText Input sourceText value.
62
- * @param line Input line value.
63
- * @returns Return value output.
64
- * @example
65
- * ```typescript
66
- * getLineStartRange(sourceText, 2);
67
- * ```
68
- */
69
- declare function getLineStartRange(sourceText: string, line: number): [number, number];
70
- /**
71
- * Gets phase-boundary comments.
72
- * @param analysis Input analysis value.
73
- * @returns Return value output.
74
- * @example
75
- * ```typescript
76
- * getPhaseBoundaryComments(analysis);
77
- * ```
78
- */
79
- declare function getPhaseBoundaryComments(analysis: Pick<TestBlockAnalysis, "sectionComments">): TestBlockAnalysis["sectionComments"];
80
- /**
81
- * Parses AAA phases from a comment.
82
- * @param commentValue Input commentValue value.
83
- * @returns Return value output.
84
- * @example
85
- * ```typescript
86
- * getSectionPhases("Arrange & Act");
87
- * ```
88
- */
89
- declare function getSectionPhases(commentValue: string): AaaPhase[];
90
- export { aaaPhaseOrder, analyzeTestBlock, countActStatements, getFlattenedSections, getIndentationAtOffset, getLineStartRange, getPhaseBoundaryComments, getSectionPhases, };
91
- export type { FlattenedSection };
15
+ export { analyzeTestBlock };
92
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":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,QAAQ,EAGR,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAIjB,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;AAkBD;;;;;;;;;GASG;AACH,iBAAS,gBAAgB,CACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,MAAM,CAAC,cAAc,GAC1B,iBAAiB,GAAG,SAAS,CAuC/B;AAED;;;;;;;;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,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;AAkGD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,gBAAgB,EAAE,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"}
@@ -1,4 +1,122 @@
1
- /** Companion marker for the analyzer analysis helpers tests. */
2
- declare const analyzerAnalysisHelpersCompanion = true;
3
- export { analyzerAnalysisHelpersCompanion };
1
+ import type * as ESTree from "estree";
2
+ import type { AaaPhase, LocatedNode, SourceComment, TestBlockAnalysis } from "./types.js";
3
+ /** Canonical ordering used when comparing AAA phases. */
4
+ declare const aaaPhaseOrder: {
5
+ readonly Act: 1;
6
+ readonly Arrange: 0;
7
+ readonly Assert: 2;
8
+ };
9
+ /** Helper state for flattened section comments. */
10
+ interface FlattenedSection {
11
+ /** Original source comment for the section marker. */
12
+ comment: SourceComment;
13
+ /** Phase represented by the flattened section entry. */
14
+ phase: AaaPhase;
15
+ }
16
+ /** Supported call-expression wrapper for analyzed test blocks. */
17
+ interface SupportedTestCall {
18
+ /** Callback argument that owns the test body. */
19
+ callback: SupportedTestCallback;
20
+ /** Original `it` or `test` invocation. */
21
+ callExpression: LocatedNode<ESTree.CallExpression>;
22
+ }
23
+ /** Supported test callback shape for `it` and `test` calls. */
24
+ type SupportedTestCallback = LocatedNode<ESTree.ArrowFunctionExpression | ESTree.FunctionExpression> & {
25
+ /** Callback body block used for section analysis. */
26
+ body: LocatedNode<ESTree.BlockStatement>;
27
+ };
28
+ /**
29
+ * Counts Act statements.
30
+ * @param analysis Input analysis value.
31
+ * @returns Return value output.
32
+ * @example
33
+ * ```typescript
34
+ * countActStatements(analysis);
35
+ * ```
36
+ */
37
+ declare function countActStatements(analysis: TestBlockAnalysis): number;
38
+ /**
39
+ * Gets top-level statements that belong to the Act phase only.
40
+ * @param analysis Input analysis value.
41
+ * @returns Return value output.
42
+ * @example
43
+ * ```typescript
44
+ * getActTopLevelStatements(analysis);
45
+ * ```
46
+ */
47
+ declare function getActTopLevelStatements(analysis: Pick<TestBlockAnalysis, "statements">): TestBlockAnalysis["statements"];
48
+ /**
49
+ * Flattens section comments.
50
+ * @param analysis Input analysis value.
51
+ * @returns Return value output.
52
+ * @example
53
+ * ```typescript
54
+ * getFlattenedSections(analysis);
55
+ * ```
56
+ */
57
+ declare function getFlattenedSections(analysis: Pick<TestBlockAnalysis, "sectionComments">): FlattenedSection[];
58
+ /**
59
+ * Gets the start range for a line.
60
+ * @param sourceText Input sourceText value.
61
+ * @param line Input line value.
62
+ * @returns Return value output.
63
+ * @example
64
+ * ```typescript
65
+ * getLineStartRange(sourceText, 2);
66
+ * ```
67
+ */
68
+ declare function getLineStartRange(sourceText: string, line: number): [number, number];
69
+ /**
70
+ * Gets the newline sequence.
71
+ * @param text Input text value.
72
+ * @returns Return value output.
73
+ * @example
74
+ * ```typescript
75
+ * getNewline(sourceText);
76
+ * ```
77
+ */
78
+ declare function getNewline(text: string): "\n" | "\r\n";
79
+ /**
80
+ * Gets phase-boundary comments.
81
+ * @param analysis Input analysis value.
82
+ * @returns Return value output.
83
+ * @example
84
+ * ```typescript
85
+ * getPhaseBoundaryComments(analysis);
86
+ * ```
87
+ */
88
+ declare function getPhaseBoundaryComments(analysis: Pick<TestBlockAnalysis, "sectionComments">): TestBlockAnalysis["sectionComments"];
89
+ /**
90
+ * Parses AAA phases from a comment.
91
+ * @param commentValue Input commentValue value.
92
+ * @returns Return value output.
93
+ * @example
94
+ * ```typescript
95
+ * getSectionPhases("Arrange & Act");
96
+ * ```
97
+ */
98
+ declare function getSectionPhases(commentValue: string): AaaPhase[];
99
+ /**
100
+ * Gets the active phases for a statement.
101
+ * @param statement Input statement value.
102
+ * @param sectionComments Input sectionComments value.
103
+ * @returns Return value output.
104
+ * @example
105
+ * ```typescript
106
+ * getStatementPhases(statement, sectionComments);
107
+ * ```
108
+ */
109
+ declare function getStatementPhases(statement: ESTree.Statement, sectionComments: TestBlockAnalysis["sectionComments"]): AaaPhase[];
110
+ /**
111
+ * Gets supported test call metadata.
112
+ * @param node Input node value.
113
+ * @returns Return value output.
114
+ * @example
115
+ * ```typescript
116
+ * getSupportedTestCall(node);
117
+ * ```
118
+ */
119
+ declare function getSupportedTestCall(node: ESTree.CallExpression): SupportedTestCall | undefined;
120
+ /** Companion marker for test isolation. */
121
+ export { aaaPhaseOrder, countActStatements, getActTopLevelStatements, getFlattenedSections, getLineStartRange, getNewline, getPhaseBoundaryComments, getSectionPhases, getStatementPhases, getSupportedTestCall, };
4
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,gEAAgE;AAChE,QAAA,MAAM,gCAAgC,OAAO,CAAC;AAE9C,OAAO,EAAE,gCAAgC,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"}