@codeperfect/eslint-plugin 2.3.0 → 2.5.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 (151) hide show
  1. package/dist/application/index.d.ts +1 -1
  2. package/dist/application/index.d.ts.map +1 -1
  3. package/dist/application/index.js +2 -2
  4. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  5. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
  6. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +4 -2
  7. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  8. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +2 -4
  9. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
  10. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +4 -134
  11. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts +14 -0
  12. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts.map +1 -0
  13. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.js +154 -0
  14. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -1
  15. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +10 -12
  16. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  17. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +4 -11
  18. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts +14 -0
  19. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -0
  20. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +187 -0
  21. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts +26 -0
  22. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -0
  23. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +95 -0
  24. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts +32 -0
  25. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -0
  26. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +78 -0
  27. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts +18 -0
  28. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -0
  29. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +45 -0
  30. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts +34 -0
  31. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts.map +1 -0
  32. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.js +44 -0
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts +59 -0
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +133 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts +28 -0
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts.map +1 -0
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.js +106 -0
  39. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +21 -21
  40. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -1
  41. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +24 -587
  42. package/dist/domain/architecture/no-unused-exports/rule.js +3 -3
  43. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts +58 -0
  44. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -0
  45. package/dist/domain/core/no-multiple-declarators/rule-utilities.js +204 -0
  46. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  47. package/dist/domain/core/no-multiple-declarators/rule.js +9 -211
  48. package/dist/domain/core/no-multiple-declarators/types.js +2 -2
  49. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +57 -0
  50. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -0
  51. package/dist/domain/core/prefer-interface-types/rule-utilities.js +105 -0
  52. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  53. package/dist/domain/core/prefer-interface-types/rule.js +2 -104
  54. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts +25 -0
  55. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -0
  56. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +64 -0
  57. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts +2 -24
  58. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  59. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +3 -65
  60. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -2
  61. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -2
  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 +3 -2
  64. package/dist/domain/docs/require-example-language/examples-collect.d.ts +15 -0
  65. package/dist/domain/docs/require-example-language/examples-collect.d.ts.map +1 -0
  66. package/dist/domain/docs/require-example-language/examples-collect.js +113 -0
  67. package/dist/domain/docs/require-example-language/examples.d.ts +24 -13
  68. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  69. package/dist/domain/docs/require-example-language/examples.js +2 -111
  70. package/dist/domain/docs/require-example-language/fixes.js +4 -4
  71. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  72. package/dist/domain/docs/require-example-language/rule.js +9 -8
  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/index.d.ts +1 -1
  76. package/dist/domain/index.d.ts.map +1 -1
  77. package/dist/domain/index.js +2 -2
  78. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  79. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +8 -8
  80. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  81. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +10 -9
  82. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  83. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +2 -5
  84. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +14 -16
  85. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +6 -4
  86. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  87. package/dist/domain/testing/aaa/analyzer.super.js +10 -8
  88. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  89. package/dist/domain/testing/assert-actual-expected-names/rule.js +21 -23
  90. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  91. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +1 -1
  92. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  93. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +2 -160
  94. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts +41 -0
  95. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts.map +1 -0
  96. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.js +161 -0
  97. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  98. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +2 -2
  99. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts +81 -0
  100. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -0
  101. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +181 -0
  102. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  103. package/dist/domain/testing/enforce-aaa-structure/rule.js +28 -217
  104. package/dist/domain/testing/index.d.ts +1 -0
  105. package/dist/domain/testing/index.d.ts.map +1 -1
  106. package/dist/domain/testing/index.js +2 -1
  107. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts +2 -0
  108. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts.map +1 -0
  109. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.js +2 -0
  110. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +29 -0
  111. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +1 -0
  112. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +200 -0
  113. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +12 -0
  114. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +1 -0
  115. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +151 -0
  116. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +16 -0
  117. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +1 -0
  118. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +109 -0
  119. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts +5 -0
  120. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -0
  121. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +35 -0
  122. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -1
  123. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +7 -4
  124. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  125. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +7 -4
  126. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +2 -2
  127. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts +18 -0
  128. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -0
  129. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +162 -0
  130. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -1
  131. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +5 -4
  132. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts +29 -0
  133. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -0
  134. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +100 -0
  135. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  136. package/dist/domain/testing/prefer-vi-mocked-import/match.js +5 -246
  137. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  138. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +18 -20
  139. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  140. package/dist/domain/testing/require-act-result-capture/rule.js +47 -21
  141. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  142. package/dist/domain/testing/require-test-companion/rule.js +2 -4
  143. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  144. package/dist/domain/testing/single-act-statement/rule.js +20 -22
  145. package/dist/infrastructure/codeperfect-plugin.d.ts +2 -0
  146. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -1
  147. package/dist/infrastructure/codeperfect-plugin.js +3 -2
  148. package/dist/infrastructure/presets.d.ts.map +1 -1
  149. package/dist/infrastructure/presets.js +3 -1
  150. package/package.json +58 -58
  151. package/dist/.tsbuildinfo +0 -1
@@ -1,3 +1,5 @@
1
+ import { ESLintUtils } from "@typescript-eslint/utils";
2
+ import * as ts from "typescript";
1
3
  import { analyzeTestBlock } from "../aaa/analyzer.analysis.js";
2
4
  import { hasCapturableActResult } from "../aaa/analyzer.classification.helpers.js";
3
5
  /** Known helper wrappers whose return value is intentionally ignored in Act. */
@@ -98,29 +100,53 @@ function isRuleCreateCall(expression) {
98
100
  const objectName = getMemberObjectName(expression.callee.object);
99
101
  return objectName !== void 0 && objectName.endsWith("Rule");
100
102
  }
103
+ /**
104
+ * Checks whether a call's TypeScript return type is void.
105
+ * @param context Rule context that may expose TypeScript parser services.
106
+ * @param statement Act statement to inspect.
107
+ * @returns True when the resolved return type is void; otherwise false.
108
+ * @example
109
+ * ```typescript
110
+ * returnsVoid({} as Rule.RuleContext, {} as ESTree.Statement);
111
+ * ```
112
+ */
113
+ function returnsVoid(context, statement) {
114
+ if (statement.type !== "ExpressionStatement" ||
115
+ statement.expression.type !== "CallExpression") {
116
+ return false;
117
+ }
118
+ try {
119
+ const services = ESLintUtils.getParserServices(context);
120
+ const typeNode = services.esTreeNodeToTSNodeMap.get(statement.expression);
121
+ const type = services.program.getTypeChecker().getTypeAtLocation(typeNode);
122
+ return (type.flags & ts.TypeFlags.Void) !== 0;
123
+ }
124
+ catch {
125
+ return false;
126
+ }
127
+ }
101
128
  /** Requires Act-phase expressions to capture non-void results before asserting. */
102
129
  const requireActResultCaptureRule = {
103
- create(context) {
104
- return {
105
- CallExpression(node) {
106
- const analysis = analyzeTestBlock(context, node);
107
- if (analysis === void 0) {
108
- return;
130
+ create: (context) => ({
131
+ CallExpression(node) {
132
+ const analysis = analyzeTestBlock(context, node);
133
+ if (analysis === void 0) {
134
+ return;
135
+ }
136
+ for (const statement of analysis.statements) {
137
+ if (statement.phases.includes("Act") &&
138
+ !statement.phases.includes("Assert") &&
139
+ !isHelperDrivenAct(statement.node) &&
140
+ hasCapturableActResult(statement.node) &&
141
+ !returnsVoid(context, statement.node)) {
142
+ context.report({
143
+ messageId: "captureActResult",
144
+ node: statement.node,
145
+ });
109
146
  }
110
- for (const statement of analysis.statements) {
111
- if (statement.phases.includes("Act") &&
112
- !statement.phases.includes("Assert") &&
113
- !isHelperDrivenAct(statement.node) &&
114
- hasCapturableActResult(statement.node)) {
115
- context.report({
116
- messageId: "captureActResult",
117
- node: statement.node,
118
- });
119
- }
120
- }
121
- },
122
- };
123
- },
147
+ }
148
+ },
149
+ }),
124
150
  meta: {
125
151
  docs: {
126
152
  description: "Require non-void Act expressions to store the observed result before assertions.",
@@ -135,4 +161,4 @@ const requireActResultCaptureRule = {
135
161
  },
136
162
  };
137
163
  export { requireActResultCaptureRule };
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZS9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWhGLGdGQUFnRjtBQUNoRixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM5QixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLFNBQVM7Q0FDVixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLG1CQUFtQixDQUMxQixNQUF5QztJQUV6QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDakMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNFLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1FBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFlBQVksRUFDckMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsbUJBQW1CLENBQUMsVUFBaUM7SUFDNUQsT0FBTyxDQUNMLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtRQUM3QyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssWUFBWTtRQUM5QyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUztRQUMzQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWTtR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LENBQUM7QUFFRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXNcIjtcbmltcG9ydCB7IGhhc0NhcHR1cmFibGVBY3RSZXN1bHQgfSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmNsYXNzaWZpY2F0aW9uLmhlbHBlcnNcIjtcblxuLyoqIEtub3duIGhlbHBlciB3cmFwcGVycyB3aG9zZSByZXR1cm4gdmFsdWUgaXMgaW50ZW50aW9uYWxseSBpZ25vcmVkIGluIEFjdC4gKi9cbmNvbnN0IGtub3duQWN0SGVscGVycyA9IG5ldyBTZXQoW1xuICBcInJ1bkZ1bmN0aW9uTGlzdGVuZXJcIixcbiAgXCJydW5MaXN0ZW5lclwiLFxuICBcInJ1blJ1bGVcIixcbl0pO1xuXG4vKipcbiAqIEdldHMgdGhlIG5lYXJlc3QgaWRlbnRpZmllci1saWtlIG5hbWUgZnJvbSBhIG1lbWJlciBleHByZXNzaW9uIG9iamVjdC5cbiAqIEBwYXJhbSBvYmplY3QgTWVtYmVyIGV4cHJlc3Npb24gb2JqZWN0IG5vZGUuXG4gKiBAcmV0dXJucyBJZGVudGlmaWVyLWxpa2UgbmFtZSB3aGVuIGl0IGNhbiBiZSByZXNvbHZlZCBzdGF0aWNhbGx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5hbWUgPSBnZXRNZW1iZXJPYmplY3ROYW1lKHt9IGFzIEVTVHJlZS5NZW1iZXJFeHByZXNzaW9uW1wib2JqZWN0XCJdKTtcbiAqIHZvaWQgbmFtZTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRNZW1iZXJPYmplY3ROYW1lKFxuICBvYmplY3Q6IEVTVHJlZS5NZW1iZXJFeHByZXNzaW9uW1wib2JqZWN0XCJdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iamVjdC50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgIHJldHVybiBvYmplY3QubmFtZTtcbiAgfVxuXG4gIGlmIChcbiAgICBvYmplY3QudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBvYmplY3QucHJvcGVydHkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgKSB7XG4gICAgcmV0dXJuIG9iamVjdC5wcm9wZXJ0eS5uYW1lO1xuICB9XG5cbiAgcmV0dXJuIHZvaWQgMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgcmVwb3J0cyB0aHJvdWdoIGBjb250ZXh0LnJlcG9ydCguLi4pYC5cbiAqIEBwYXJhbSBleHByZXNzaW9uIENhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYGNvbnRleHQucmVwb3J0YC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNDb250ZXh0UmVwb3J0Q2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ29udGV4dFJlcG9ydENhbGwoZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZSA9PT0gXCJjb250ZXh0XCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5Lm5hbWUgPT09IFwicmVwb3J0XCJcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBBY3Qgc3RhdGVtZW50IGlzIGFscmVhZHkgZGVsZWdhdGVkIHRvIGEga25vd24gaGVscGVyLlxuICogQHBhcmFtIHN0YXRlbWVudCBTdGF0ZW1lbnQgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIGhhbmRsZWQgYnkgYSBoZWxwZXIgd3JhcHBlci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBoYW5kbGVkID0gaXNIZWxwZXJEcml2ZW5BY3Qoe30gYXMgRVNUcmVlLlN0YXRlbWVudCk7XG4gKiB2b2lkIGhhbmRsZWQ7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNIZWxwZXJEcml2ZW5BY3Qoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB7IGV4cHJlc3Npb24gfSA9IHN0YXRlbWVudDtcbiAgaWYgKGV4cHJlc3Npb24udHlwZSAhPT0gXCJDYWxsRXhwcmVzc2lvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICBpc0NvbnRleHRSZXBvcnRDYWxsKGV4cHJlc3Npb24pIHx8XG4gICAgaXNOYW1lZEhlbHBlckNhbGwoZXhwcmVzc2lvbikgfHxcbiAgICBpc1J1bGVDcmVhdGVDYWxsKGV4cHJlc3Npb24pXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHRhcmdldHMgb25lIG9mIHRoZSBrbm93biBBY3QgaGVscGVyIHdyYXBwZXJzLlxuICogQHBhcmFtIGV4cHJlc3Npb24gQ2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGhlbHBlciBuYW1lIG1hdGNoZXMgdGhlIGFsbG93bGlzdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNOYW1lZEhlbHBlckNhbGwoe30gYXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uKTtcbiAqIHZvaWQgbWF0Y2hlcztcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc05hbWVkSGVscGVyQ2FsbChleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGtub3duQWN0SGVscGVycy5oYXMoZXhwcmVzc2lvbi5jYWxsZWUubmFtZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgdGFyZ2V0cyBgKi5SdWxlLmNyZWF0ZSguLi4pYC5cbiAqIEBwYXJhbSBleHByZXNzaW9uIENhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYSBydWxlIGZhY3RvcnkgY3JlYXRlIG1ldGhvZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNSdWxlQ3JlYXRlQ2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUnVsZUNyZWF0ZUNhbGwoZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlICE9PSBcIk1lbWJlckV4cHJlc3Npb25cIiB8fFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5LnR5cGUgIT09IFwiSWRlbnRpZmllclwiIHx8XG4gICAgZXhwcmVzc2lvbi5jYWxsZWUucHJvcGVydHkubmFtZSAhPT0gXCJjcmVhdGVcIlxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBvYmplY3ROYW1lID0gZ2V0TWVtYmVyT2JqZWN0TmFtZShleHByZXNzaW9uLmNhbGxlZS5vYmplY3QpO1xuXG4gIHJldHVybiBvYmplY3ROYW1lICE9PSB2b2lkIDAgJiYgb2JqZWN0TmFtZS5lbmRzV2l0aChcIlJ1bGVcIik7XG59XG5cbi8qKiBSZXF1aXJlcyBBY3QtcGhhc2UgZXhwcmVzc2lvbnMgdG8gY2FwdHVyZSBub24tdm9pZCByZXN1bHRzIGJlZm9yZSBhc3NlcnRpbmcuICovXG5jb25zdCByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYW5hbHlzaXMgPSBhbmFseXplVGVzdEJsb2NrKGNvbnRleHQsIG5vZGUpO1xuICAgICAgICBpZiAoYW5hbHlzaXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIGFuYWx5c2lzLnN0YXRlbWVudHMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQWN0XCIpICYmXG4gICAgICAgICAgICAhc3RhdGVtZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFzc2VydFwiKSAmJlxuICAgICAgICAgICAgIWlzSGVscGVyRHJpdmVuQWN0KHN0YXRlbWVudC5ub2RlKSAmJlxuICAgICAgICAgICAgaGFzQ2FwdHVyYWJsZUFjdFJlc3VsdChzdGF0ZW1lbnQubm9kZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBcImNhcHR1cmVBY3RSZXN1bHRcIixcbiAgICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50Lm5vZGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXI7XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIG5vbi12b2lkIEFjdCBleHByZXNzaW9ucyB0byBzdG9yZSB0aGUgb2JzZXJ2ZWQgcmVzdWx0IGJlZm9yZSBhc3NlcnRpb25zLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvcmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmUubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBjYXB0dXJlQWN0UmVzdWx0OlxuICAgICAgICBcIkNhcHR1cmUgdGhlIC8vIEFjdCByZXN1bHQgaW4gYSBuYW1lZCB2YXJpYWJsZSBiZWZvcmUgYXNzZXJ0aW5nIG9uIGl0LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSB9O1xuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZS9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVoRixnRkFBZ0Y7QUFDaEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDOUIscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixTQUFTO0NBQ1YsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsTUFBeUM7SUFFekMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDRSxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtRQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQ3JDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLG1CQUFtQixDQUFDLFVBQWlDO0lBQzVELE9BQU8sQ0FDTCxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7UUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDOUMsVUFBVSxDQUFDLE1BQU0sQ0FB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QUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPO1lBQ1QsQ0FBQztZQUVELEtBQUssTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM1QyxJQUNFLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDaEMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ3BDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDbEMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDdEMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDckMsQ0FBQztvQkFDRCxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNiLFNBQVMsRUFBRSxrQkFBa0I7d0JBQzdCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtxQkFDckIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQTZCO0lBQ2hDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxrRkFBa0Y7WUFDcEYsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLDZGQUE2RjtTQUNuRztRQUNELFFBQVEsRUFBRTtZQUNSLGdCQUFnQixFQUNkLHVFQUF1RTtTQUMxRTtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB7IEVTTGludFV0aWxzIH0gZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC91dGlsc1wiO1xuaW1wb3J0ICogYXMgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcblxuaW1wb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXNcIjtcbmltcG9ydCB7IGhhc0NhcHR1cmFibGVBY3RSZXN1bHQgfSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmNsYXNzaWZpY2F0aW9uLmhlbHBlcnNcIjtcblxuLyoqIEtub3duIGhlbHBlciB3cmFwcGVycyB3aG9zZSByZXR1cm4gdmFsdWUgaXMgaW50ZW50aW9uYWxseSBpZ25vcmVkIGluIEFjdC4gKi9cbmNvbnN0IGtub3duQWN0SGVscGVycyA9IG5ldyBTZXQoW1xuICBcInJ1bkZ1bmN0aW9uTGlzdGVuZXJcIixcbiAgXCJydW5MaXN0ZW5lclwiLFxuICBcInJ1blJ1bGVcIixcbl0pO1xuXG4vKipcbiAqIEdldHMgdGhlIG5lYXJlc3QgaWRlbnRpZmllci1saWtlIG5hbWUgZnJvbSBhIG1lbWJlciBleHByZXNzaW9uIG9iamVjdC5cbiAqIEBwYXJhbSBvYmplY3QgTWVtYmVyIGV4cHJlc3Npb24gb2JqZWN0IG5vZGUuXG4gKiBAcmV0dXJucyBJZGVudGlmaWVyLWxpa2UgbmFtZSB3aGVuIGl0IGNhbiBiZSByZXNvbHZlZCBzdGF0aWNhbGx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5hbWUgPSBnZXRNZW1iZXJPYmplY3ROYW1lKHt9IGFzIEVTVHJlZS5NZW1iZXJFeHByZXNzaW9uW1wib2JqZWN0XCJdKTtcbiAqIHZvaWQgbmFtZTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRNZW1iZXJPYmplY3ROYW1lKFxuICBvYmplY3Q6IEVTVHJlZS5NZW1iZXJFeHByZXNzaW9uW1wib2JqZWN0XCJdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iamVjdC50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgIHJldHVybiBvYmplY3QubmFtZTtcbiAgfVxuXG4gIGlmIChcbiAgICBvYmplY3QudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBvYmplY3QucHJvcGVydHkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgKSB7XG4gICAgcmV0dXJuIG9iamVjdC5wcm9wZXJ0eS5uYW1lO1xuICB9XG5cbiAgcmV0dXJuIHZvaWQgMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgcmVwb3J0cyB0aHJvdWdoIGBjb250ZXh0LnJlcG9ydCguLi4pYC5cbiAqIEBwYXJhbSBleHByZXNzaW9uIENhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYGNvbnRleHQucmVwb3J0YC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNDb250ZXh0UmVwb3J0Q2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ29udGV4dFJlcG9ydENhbGwoZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZSA9PT0gXCJjb250ZXh0XCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5Lm5hbWUgPT09IFwicmVwb3J0XCJcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBBY3Qgc3RhdGVtZW50IGlzIGFscmVhZHkgZGVsZWdhdGVkIHRvIGEga25vd24gaGVscGVyLlxuICogQHBhcmFtIHN0YXRlbWVudCBTdGF0ZW1lbnQgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIGhhbmRsZWQgYnkgYSBoZWxwZXIgd3JhcHBlci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBoYW5kbGVkID0gaXNIZWxwZXJEcml2ZW5BY3Qoe30gYXMgRVNUcmVlLlN0YXRlbWVudCk7XG4gKiB2b2lkIGhhbmRsZWQ7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNIZWxwZXJEcml2ZW5BY3Qoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB7IGV4cHJlc3Npb24gfSA9IHN0YXRlbWVudDtcbiAgaWYgKGV4cHJlc3Npb24udHlwZSAhPT0gXCJDYWxsRXhwcmVzc2lvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICBpc0NvbnRleHRSZXBvcnRDYWxsKGV4cHJlc3Npb24pIHx8XG4gICAgaXNOYW1lZEhlbHBlckNhbGwoZXhwcmVzc2lvbikgfHxcbiAgICBpc1J1bGVDcmVhdGVDYWxsKGV4cHJlc3Npb24pXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHRhcmdldHMgb25lIG9mIHRoZSBrbm93biBBY3QgaGVscGVyIHdyYXBwZXJzLlxuICogQHBhcmFtIGV4cHJlc3Npb24gQ2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGhlbHBlciBuYW1lIG1hdGNoZXMgdGhlIGFsbG93bGlzdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNOYW1lZEhlbHBlckNhbGwoe30gYXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uKTtcbiAqIHZvaWQgbWF0Y2hlcztcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc05hbWVkSGVscGVyQ2FsbChleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGtub3duQWN0SGVscGVycy5oYXMoZXhwcmVzc2lvbi5jYWxsZWUubmFtZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgdGFyZ2V0cyBgKi5SdWxlLmNyZWF0ZSguLi4pYC5cbiAqIEBwYXJhbSBleHByZXNzaW9uIENhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYSBydWxlIGZhY3RvcnkgY3JlYXRlIG1ldGhvZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNSdWxlQ3JlYXRlQ2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUnVsZUNyZWF0ZUNhbGwoZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlICE9PSBcIk1lbWJlckV4cHJlc3Npb25cIiB8fFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5LnR5cGUgIT09IFwiSWRlbnRpZmllclwiIHx8XG4gICAgZXhwcmVzc2lvbi5jYWxsZWUucHJvcGVydHkubmFtZSAhPT0gXCJjcmVhdGVcIlxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBvYmplY3ROYW1lID0gZ2V0TWVtYmVyT2JqZWN0TmFtZShleHByZXNzaW9uLmNhbGxlZS5vYmplY3QpO1xuXG4gIHJldHVybiBvYmplY3ROYW1lICE9PSB2b2lkIDAgJiYgb2JqZWN0TmFtZS5lbmRzV2l0aChcIlJ1bGVcIik7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsJ3MgVHlwZVNjcmlwdCByZXR1cm4gdHlwZSBpcyB2b2lkLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBjb250ZXh0IHRoYXQgbWF5IGV4cG9zZSBUeXBlU2NyaXB0IHBhcnNlciBzZXJ2aWNlcy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgQWN0IHN0YXRlbWVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSByZXNvbHZlZCByZXR1cm4gdHlwZSBpcyB2b2lkOyBvdGhlcndpc2UgZmFsc2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmV0dXJuc1ZvaWQoe30gYXMgUnVsZS5SdWxlQ29udGV4dCwge30gYXMgRVNUcmVlLlN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmV0dXJuc1ZvaWQoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoXG4gICAgc3RhdGVtZW50LnR5cGUgIT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiIHx8XG4gICAgc3RhdGVtZW50LmV4cHJlc3Npb24udHlwZSAhPT0gXCJDYWxsRXhwcmVzc2lvblwiXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2VydmljZXMgPSBFU0xpbnRVdGlscy5nZXRQYXJzZXJTZXJ2aWNlcyhjb250ZXh0IGFzIG5ldmVyKTtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoXG4gICAgICBzdGF0ZW1lbnQuZXhwcmVzc2lvbiBhcyBuZXZlcixcbiAgICApO1xuICAgIGNvbnN0IHR5cGUgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCkuZ2V0VHlwZUF0TG9jYXRpb24odHlwZU5vZGUpO1xuXG4gICAgcmV0dXJuICh0eXBlLmZsYWdzICYgdHMuVHlwZUZsYWdzLlZvaWQpICE9PSAwO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqIFJlcXVpcmVzIEFjdC1waGFzZSBleHByZXNzaW9ucyB0byBjYXB0dXJlIG5vbi12b2lkIHJlc3VsdHMgYmVmb3JlIGFzc2VydGluZy4gKi9cbmNvbnN0IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGU6IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIgPT5cbiAgICAoe1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgYW5hbHlzaXMuc3RhdGVtZW50cykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHN0YXRlbWVudC5waGFzZXMuaW5jbHVkZXMoXCJBY3RcIikgJiZcbiAgICAgICAgICAgICFzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpICYmXG4gICAgICAgICAgICAhaXNIZWxwZXJEcml2ZW5BY3Qoc3RhdGVtZW50Lm5vZGUpICYmXG4gICAgICAgICAgICBoYXNDYXB0dXJhYmxlQWN0UmVzdWx0KHN0YXRlbWVudC5ub2RlKSAmJlxuICAgICAgICAgICAgIXJldHVybnNWb2lkKGNvbnRleHQsIHN0YXRlbWVudC5ub2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICBtZXNzYWdlSWQ6IFwiY2FwdHVyZUFjdFJlc3VsdFwiLFxuICAgICAgICAgICAgICBub2RlOiBzdGF0ZW1lbnQubm9kZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXIsXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIG5vbi12b2lkIEFjdCBleHByZXNzaW9ucyB0byBzdG9yZSB0aGUgb2JzZXJ2ZWQgcmVzdWx0IGJlZm9yZSBhc3NlcnRpb25zLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvcmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmUubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBjYXB0dXJlQWN0UmVzdWx0OlxuICAgICAgICBcIkNhcHR1cmUgdGhlIC8vIEFjdCByZXN1bHQgaW4gYSBuYW1lZCB2YXJpYWJsZSBiZWZvcmUgYXNzZXJ0aW5nIG9uIGl0LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSB9O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-test-companion/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAOnC,sEAAsE;AACtE,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UAqFpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-test-companion/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAOnC,sEAAsE;AACtE,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UAoFpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -3,9 +3,7 @@ import { buildListenerForFilename } from "./require-test-companion-listeners.js"
3
3
  import { getOptions } from "./require-test-companion-options.js";
4
4
  /** ESLint rule enforcing 1:1 test companions for TypeScript files. */
5
5
  const requireTestCompanionRule = {
6
- create(context) {
7
- return buildListenerForFilename(context, context.filename, getOptions(context.options), typeof context.cwd === "string" ? context.cwd : cwd());
8
- },
6
+ create: (context) => buildListenerForFilename(context, context.filename, getOptions(context.options), typeof context.cwd === "string" ? context.cwd : cwd()),
9
7
  meta: {
10
8
  defaultOptions: [
11
9
  {
@@ -79,4 +77,4 @@ const requireTestCompanionRule = {
79
77
  },
80
78
  };
81
79
  export { requireTestCompanionRule };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUQsc0VBQXNFO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQW9CO0lBQ2hELE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixPQUFPLHdCQUF3QixDQUM3QixPQUFPLEVBQ1AsT0FBTyxDQUFDLFFBQVEsRUFDaEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDM0IsT0FBTyxPQUFPLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQ3RELENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osY0FBYyxFQUFFO1lBQ2Q7Z0JBQ0UsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNyQixjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO2dCQUN4QyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO2FBQy9CO1NBQ0Y7UUFDRCxJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1QsbUVBQW1FO1lBQ3JFLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSx5RkFBeUY7U0FDL0Y7UUFDRCxRQUFRLEVBQUU7WUFDUixhQUFhLEVBQ1gsd0xBQXdMO1NBQzNMO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0Usb0JBQW9CLEVBQUUsS0FBSztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLFNBQVMsRUFBRTt3QkFDVCxXQUFXLEVBQ1Qsa0ZBQWtGO3dCQUNwRixLQUFLLEVBQUU7NEJBQ0w7Z0NBQ0UsV0FBVyxFQUFFLHdCQUF3QjtnQ0FDckMsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0Q7Z0NBQ0UsV0FBVyxFQUFFLDBCQUEwQjtnQ0FDdkMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQ0FDekIsUUFBUSxFQUFFLENBQUM7Z0NBQ1gsSUFBSSxFQUFFLE9BQU87NkJBQ2Q7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsY0FBYyxFQUFFO3dCQUNkLFdBQVcsRUFDVCw2RUFBNkU7d0JBQy9FLEtBQUssRUFBRTs0QkFDTDtnQ0FDRSxXQUFXLEVBQUUsK0JBQStCO2dDQUM1QyxJQUFJLEVBQUUsUUFBUTs2QkFDZjs0QkFDRDtnQ0FDRSxXQUFXLEVBQUUsaUNBQWlDO2dDQUM5QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dDQUN6QixRQUFRLEVBQUUsQ0FBQztnQ0FDWCxJQUFJLEVBQUUsT0FBTzs2QkFDZDt5QkFDRjtxQkFDRjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osV0FBVyxFQUNULGlFQUFpRTt3QkFDbkUsS0FBSyxFQUFFOzRCQUNMO2dDQUNFLFdBQVcsRUFBRSxnQ0FBZ0M7Z0NBQzdDLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFdBQVcsRUFBRSxtQ0FBbUM7Z0NBQ2hELEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0NBQ3pCLFFBQVEsRUFBRSxDQUFDO2dDQUNYLElBQUksRUFBRSxPQUFPOzZCQUNkO3lCQUNGO3FCQUNGO2lCQUNGO2dCQUNELElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjd2QgfSBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5cbmltcG9ydCB7IGJ1aWxkTGlzdGVuZXJGb3JGaWxlbmFtZSB9IGZyb20gXCIuL3JlcXVpcmUtdGVzdC1jb21wYW5pb24tbGlzdGVuZXJzXCI7XG5pbXBvcnQgeyBnZXRPcHRpb25zIH0gZnJvbSBcIi4vcmVxdWlyZS10ZXN0LWNvbXBhbmlvbi1vcHRpb25zXCI7XG5cbi8qKiBFU0xpbnQgcnVsZSBlbmZvcmNpbmcgMToxIHRlc3QgY29tcGFuaW9ucyBmb3IgVHlwZVNjcmlwdCBmaWxlcy4gKi9cbmNvbnN0IHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGVuYW1lKFxuICAgICAgY29udGV4dCxcbiAgICAgIGNvbnRleHQuZmlsZW5hbWUsXG4gICAgICBnZXRPcHRpb25zKGNvbnRleHQub3B0aW9ucyksXG4gICAgICB0eXBlb2YgY29udGV4dC5jd2QgPT09IFwic3RyaW5nXCIgPyBjb250ZXh0LmN3ZCA6IGN3ZCgpLFxuICAgICk7XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkZWZhdWx0T3B0aW9uczogW1xuICAgICAge1xuICAgICAgICBlbmZvcmNlSW46IFtcInNyYy8qKlwiXSxcbiAgICAgICAgaWdub3JlUGF0dGVybnM6IFtcIi8qLmQudHNcIiwgXCIvaW5kZXgudHNcIl0sXG4gICAgICAgIHRlc3RTdWZmaXhlczogW1wic3BlY1wiLCBcInRlc3RcIl0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiUmVxdWlyZSBlYWNoIHRlc3QgZmlsZSB0byBoYXZlIGEgbWF0Y2hpbmcgVHlwZVNjcmlwdCBzb3VyY2UgZmlsZS5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3JlcXVpcmUtdGVzdC1jb21wYW5pb24ubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBtaXNzaW5nU291cmNlOlxuICAgICAgICBcIlRlc3QgZmlsZSByZXF1aXJlcyBhIG1hdGNoaW5nIHNvdXJjZSBmaWxlICd7e3NvdXJjZUZpbGV9fScgaW4gdGhlIHNhbWUgZm9sZGVyLiBJZiB0aGlzIHRlc3QgZmlsZSBpcyBvcnBoYW5lZCwgbW92ZSBpdHMgdGVzdHMgdG8gdGhlIGNvcnJlY3QgY29tcGFuaW9uIGZpbGUgb3IgZGVsZXRlIHRoaXMgb3JwaGFuIGZpbGUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgZW5mb3JjZUluOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJHbG9iIHBhdHRlcm5zIHRoYXQgZGVmaW5lIHdoZXJlIHRlc3QgZmlsZXMgbXVzdCBoYXZlIG1hdGNoaW5nIHNvdXJjZSBjb21wYW5pb25zLlwiLFxuICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgc2luZ2xlIGdsb2IgcGF0dGVybi5cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBsaXN0IG9mIGdsb2IgcGF0dGVybnMuXCIsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZ25vcmVQYXR0ZXJuczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiR2xvYiBwYXR0ZXJucyB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRlc3QtdG8tc291cmNlIGNvbXBhbmlvbiBjaGVja3MuXCIsXG4gICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgaWdub3JlIGdsb2IgcGF0dGVybi5cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBsaXN0IG9mIGlnbm9yZSBnbG9iIHBhdHRlcm5zLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGVzdFN1ZmZpeGVzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJGaWxlbmFtZSBzdWZmaXhlcyB0aGF0IGFyZSByZWNvZ25pemVkIGFzIHZhbGlkIHRlc3QgY29tcGFuaW9ucy5cIixcbiAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBIHNpbmdsZSB0ZXN0IGZpbGVuYW1lIHN1ZmZpeC5cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBsaXN0IG9mIHRlc3QgZmlsZW5hbWUgc3VmZml4ZXMuXCIsXG4gICAgICAgICAgICAgICAgaXRlbXM6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgICAgIG1pbkl0ZW1zOiAxLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSB9O1xuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUQsc0VBQXNFO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQW9CO0lBQ2hELE1BQU0sRUFBRSxDQUFDLE9BQXlCLEVBQXFCLEVBQUUsQ0FDdkQsd0JBQXdCLENBQ3RCLE9BQU8sRUFDUCxPQUFPLENBQUMsUUFBUSxFQUNoQixVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUMzQixPQUFPLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FDdEQ7SUFDSCxJQUFJLEVBQUU7UUFDSixjQUFjLEVBQUU7WUFDZDtnQkFDRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7Z0JBQ3hDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7YUFDL0I7U0FDRjtRQUNELElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxtRUFBbUU7WUFDckUsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLHlGQUF5RjtTQUMvRjtRQUNELFFBQVEsRUFBRTtZQUNSLGFBQWEsRUFDWCx3TEFBd0w7U0FDM0w7UUFDRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxvQkFBb0IsRUFBRSxLQUFLO2dCQUMzQixVQUFVLEVBQUU7b0JBQ1YsU0FBUyxFQUFFO3dCQUNULFdBQVcsRUFDVCxrRkFBa0Y7d0JBQ3BGLEtBQUssRUFBRTs0QkFDTDtnQ0FDRSxXQUFXLEVBQUUsd0JBQXdCO2dDQUNyQyxJQUFJLEVBQUUsUUFBUTs2QkFDZjs0QkFDRDtnQ0FDRSxXQUFXLEVBQUUsMEJBQTBCO2dDQUN2QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dDQUN6QixRQUFRLEVBQUUsQ0FBQztnQ0FDWCxJQUFJLEVBQUUsT0FBTzs2QkFDZDt5QkFDRjtxQkFDRjtvQkFDRCxjQUFjLEVBQUU7d0JBQ2QsV0FBVyxFQUNULDZFQUE2RTt3QkFDL0UsS0FBSyxFQUFFOzRCQUNMO2dDQUNFLFdBQVcsRUFBRSwrQkFBK0I7Z0NBQzVDLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFdBQVcsRUFBRSxpQ0FBaUM7Z0NBQzlDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0NBQ3pCLFFBQVEsRUFBRSxDQUFDO2dDQUNYLElBQUksRUFBRSxPQUFPOzZCQUNkO3lCQUNGO3FCQUNGO29CQUNELFlBQVksRUFBRTt3QkFDWixXQUFXLEVBQ1QsaUVBQWlFO3dCQUNuRSxLQUFLLEVBQUU7NEJBQ0w7Z0NBQ0UsV0FBVyxFQUFFLGdDQUFnQztnQ0FDN0MsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0Q7Z0NBQ0UsV0FBVyxFQUFFLG1DQUFtQztnQ0FDaEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQ0FDekIsUUFBUSxFQUFFLENBQUM7Z0NBQ1gsSUFBSSxFQUFFLE9BQU87NkJBQ2Q7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcblxuaW1wb3J0IHsgYnVpbGRMaXN0ZW5lckZvckZpbGVuYW1lIH0gZnJvbSBcIi4vcmVxdWlyZS10ZXN0LWNvbXBhbmlvbi1saXN0ZW5lcnNcIjtcbmltcG9ydCB7IGdldE9wdGlvbnMgfSBmcm9tIFwiLi9yZXF1aXJlLXRlc3QtY29tcGFuaW9uLW9wdGlvbnNcIjtcblxuLyoqIEVTTGludCBydWxlIGVuZm9yY2luZyAxOjEgdGVzdCBjb21wYW5pb25zIGZvciBUeXBlU2NyaXB0IGZpbGVzLiAqL1xuY29uc3QgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgIGJ1aWxkTGlzdGVuZXJGb3JGaWxlbmFtZShcbiAgICAgIGNvbnRleHQsXG4gICAgICBjb250ZXh0LmZpbGVuYW1lLFxuICAgICAgZ2V0T3B0aW9ucyhjb250ZXh0Lm9wdGlvbnMpLFxuICAgICAgdHlwZW9mIGNvbnRleHQuY3dkID09PSBcInN0cmluZ1wiID8gY29udGV4dC5jd2QgOiBjd2QoKSxcbiAgICApLFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZW5mb3JjZUluOiBbXCJzcmMvKipcIl0sXG4gICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbXCIvKi5kLnRzXCIsIFwiL2luZGV4LnRzXCJdLFxuICAgICAgICB0ZXN0U3VmZml4ZXM6IFtcInNwZWNcIiwgXCJ0ZXN0XCJdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgZWFjaCB0ZXN0IGZpbGUgdG8gaGF2ZSBhIG1hdGNoaW5nIFR5cGVTY3JpcHQgc291cmNlIGZpbGUuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uLm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbWlzc2luZ1NvdXJjZTpcbiAgICAgICAgXCJUZXN0IGZpbGUgcmVxdWlyZXMgYSBtYXRjaGluZyBzb3VyY2UgZmlsZSAne3tzb3VyY2VGaWxlfX0nIGluIHRoZSBzYW1lIGZvbGRlci4gSWYgdGhpcyB0ZXN0IGZpbGUgaXMgb3JwaGFuZWQsIG1vdmUgaXRzIHRlc3RzIHRvIHRoZSBjb3JyZWN0IGNvbXBhbmlvbiBmaWxlIG9yIGRlbGV0ZSB0aGlzIG9ycGhhbiBmaWxlLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGVuZm9yY2VJbjoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiR2xvYiBwYXR0ZXJucyB0aGF0IGRlZmluZSB3aGVyZSB0ZXN0IGZpbGVzIG11c3QgaGF2ZSBtYXRjaGluZyBzb3VyY2UgY29tcGFuaW9ucy5cIixcbiAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBIHNpbmdsZSBnbG9iIHBhdHRlcm4uXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiBnbG9iIHBhdHRlcm5zLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaWdub3JlUGF0dGVybnM6IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICBcIkdsb2IgcGF0dGVybnMgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0ZXN0LXRvLXNvdXJjZSBjb21wYW5pb24gY2hlY2tzLlwiLFxuICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgc2luZ2xlIGlnbm9yZSBnbG9iIHBhdHRlcm4uXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiBpZ25vcmUgZ2xvYiBwYXR0ZXJucy5cIixcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRlc3RTdWZmaXhlczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiRmlsZW5hbWUgc3VmZml4ZXMgdGhhdCBhcmUgcmVjb2duaXplZCBhcyB2YWxpZCB0ZXN0IGNvbXBhbmlvbnMuXCIsXG4gICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgdGVzdCBmaWxlbmFtZSBzdWZmaXguXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiB0ZXN0IGZpbGVuYW1lIHN1ZmZpeGVzLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/single-act-statement/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAQnC,sEAAsE;AACtE,QAAA,MAAM,sBAAsB,EAAE,IAAI,CAAC,UAuClC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/single-act-statement/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAQnC,sEAAsE;AACtE,QAAA,MAAM,sBAAsB,EAAE,IAAI,CAAC,UAsClC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -2,27 +2,25 @@ import { analyzeTestBlock } from "../aaa/analyzer.analysis.js";
2
2
  import { countActStatements, getActTopLevelStatements, } from "../aaa/analyzer.analysis.helpers.js";
3
3
  /** Requires the Act phase to contain a single top-level statement. */
4
4
  const singleActStatementRule = {
5
- create(context) {
6
- return {
7
- CallExpression(node) {
8
- const analysis = analyzeTestBlock(context, node);
9
- if (analysis === void 0) {
10
- return;
11
- }
12
- const actStatementCount = countActStatements(analysis);
13
- if (actStatementCount <= 1) {
14
- return;
15
- }
16
- const actStatements = getActTopLevelStatements(analysis);
17
- const firstExcessActStatement = actStatements.at(1)?.node;
18
- context.report({
19
- data: { count: String(actStatementCount) },
20
- messageId: "multipleActStatements",
21
- node: firstExcessActStatement ?? analysis.callExpression,
22
- });
23
- },
24
- };
25
- },
5
+ create: (context) => ({
6
+ CallExpression(node) {
7
+ const analysis = analyzeTestBlock(context, node);
8
+ if (analysis === void 0) {
9
+ return;
10
+ }
11
+ const actStatementCount = countActStatements(analysis);
12
+ if (actStatementCount <= 1) {
13
+ return;
14
+ }
15
+ const actStatements = getActTopLevelStatements(analysis);
16
+ const firstExcessActStatement = actStatements.at(1)?.node;
17
+ context.report({
18
+ data: { count: String(actStatementCount) },
19
+ messageId: "multipleActStatements",
20
+ node: firstExcessActStatement ?? analysis.callExpression,
21
+ });
22
+ },
23
+ }),
26
24
  meta: {
27
25
  docs: {
28
26
  description: "Require the // Act section to contain a single top-level statement or declaration.",
@@ -37,4 +35,4 @@ const singleActStatementRule = {
37
35
  },
38
36
  };
39
37
  export { singleActStatementRule };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9zaW5nbGUtYWN0LXN0YXRlbWVudC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQ3pCLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsc0VBQXNFO0FBQ3RFLE1BQU0sc0JBQXNCLEdBQW9CO0lBQzlDLE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixPQUFPO1lBQ0wsY0FBYyxDQUFDLElBQUk7Z0JBQ2pCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZELElBQUksaUJBQWlCLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQzNCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekQsTUFBTSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztnQkFFMUQsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7b0JBQzFDLFNBQVMsRUFBRSx1QkFBdUI7b0JBQ2xDLElBQUksRUFBRSx1QkFBdUIsSUFBSSxRQUFRLENBQUMsY0FBYztpQkFDekQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUMwQixDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsb0ZBQW9GO1lBQ3RGLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSx1RkFBdUY7U0FDN0Y7UUFDRCxRQUFRLEVBQUU7WUFDUixxQkFBcUIsRUFDbkIscUdBQXFHO1NBQ3hHO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWTtLQUNuQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXNcIjtcbmltcG9ydCB7XG4gIGNvdW50QWN0U3RhdGVtZW50cyxcbiAgZ2V0QWN0VG9wTGV2ZWxTdGF0ZW1lbnRzLFxufSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmFuYWx5c2lzLmhlbHBlcnNcIjtcblxuLyoqIFJlcXVpcmVzIHRoZSBBY3QgcGhhc2UgdG8gY29udGFpbiBhIHNpbmdsZSB0b3AtbGV2ZWwgc3RhdGVtZW50LiAqL1xuY29uc3Qgc2luZ2xlQWN0U3RhdGVtZW50UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0U3RhdGVtZW50Q291bnQgPSBjb3VudEFjdFN0YXRlbWVudHMoYW5hbHlzaXMpO1xuICAgICAgICBpZiAoYWN0U3RhdGVtZW50Q291bnQgPD0gMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFjdFN0YXRlbWVudHMgPSBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMoYW5hbHlzaXMpO1xuICAgICAgICBjb25zdCBmaXJzdEV4Y2Vzc0FjdFN0YXRlbWVudCA9IGFjdFN0YXRlbWVudHMuYXQoMSk/Lm5vZGU7XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGRhdGE6IHsgY291bnQ6IFN0cmluZyhhY3RTdGF0ZW1lbnRDb3VudCkgfSxcbiAgICAgICAgICBtZXNzYWdlSWQ6IFwibXVsdGlwbGVBY3RTdGF0ZW1lbnRzXCIsXG4gICAgICAgICAgbm9kZTogZmlyc3RFeGNlc3NBY3RTdGF0ZW1lbnQgPz8gYW5hbHlzaXMuY2FsbEV4cHJlc3Npb24sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcjtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgdGhlIC8vIEFjdCBzZWN0aW9uIHRvIGNvbnRhaW4gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciBkZWNsYXJhdGlvbi5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3NpbmdsZS1hY3Qtc3RhdGVtZW50Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbXVsdGlwbGVBY3RTdGF0ZW1lbnRzOlxuICAgICAgICBcIlJlZHVjZSB0aGUgLy8gQWN0IHNlY3Rpb24gdG8gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciB2YXJpYWJsZSBkZWNsYXJhdGlvbjsgZm91bmQge3tjb3VudH19LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUgfTtcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9zaW5nbGUtYWN0LXN0YXRlbWVudC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQ3pCLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsc0VBQXNFO0FBQ3RFLE1BQU0sc0JBQXNCLEdBQW9CO0lBQzlDLE1BQU0sRUFBRSxDQUFDLE9BQXlCLEVBQXFCLEVBQUUsQ0FDdkQsQ0FBQztRQUNDLGNBQWMsQ0FBQyxJQUFJO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkQsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBRTFELE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUMxQyxTQUFTLEVBQUUsdUJBQXVCO2dCQUNsQyxJQUFJLEVBQUUsdUJBQXVCLElBQUksUUFBUSxDQUFDLGNBQWM7YUFDekQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQTZCO0lBQ2hDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxvRkFBb0Y7WUFDdEYsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLHVGQUF1RjtTQUM3RjtRQUNELFFBQVEsRUFBRTtZQUNSLHFCQUFxQixFQUNuQixxR0FBcUc7U0FDeEc7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO0tBQ25CO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBhbmFseXplVGVzdEJsb2NrIH0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5hbmFseXNpc1wiO1xuaW1wb3J0IHtcbiAgY291bnRBY3RTdGF0ZW1lbnRzLFxuICBnZXRBY3RUb3BMZXZlbFN0YXRlbWVudHMsXG59IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuXG4vKiogUmVxdWlyZXMgdGhlIEFjdCBwaGFzZSB0byBjb250YWluIGEgc2luZ2xlIHRvcC1sZXZlbCBzdGF0ZW1lbnQuICovXG5jb25zdCBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgICh7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZVRlc3RCbG9jayhjb250ZXh0LCBub2RlKTtcbiAgICAgICAgaWYgKGFuYWx5c2lzID09PSB2b2lkIDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RTdGF0ZW1lbnRDb3VudCA9IGNvdW50QWN0U3RhdGVtZW50cyhhbmFseXNpcyk7XG4gICAgICAgIGlmIChhY3RTdGF0ZW1lbnRDb3VudCA8PSAxKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0U3RhdGVtZW50cyA9IGdldEFjdFRvcExldmVsU3RhdGVtZW50cyhhbmFseXNpcyk7XG4gICAgICAgIGNvbnN0IGZpcnN0RXhjZXNzQWN0U3RhdGVtZW50ID0gYWN0U3RhdGVtZW50cy5hdCgxKT8ubm9kZTtcblxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgZGF0YTogeyBjb3VudDogU3RyaW5nKGFjdFN0YXRlbWVudENvdW50KSB9LFxuICAgICAgICAgIG1lc3NhZ2VJZDogXCJtdWx0aXBsZUFjdFN0YXRlbWVudHNcIixcbiAgICAgICAgICBub2RlOiBmaXJzdEV4Y2Vzc0FjdFN0YXRlbWVudCA/PyBhbmFseXNpcy5jYWxsRXhwcmVzc2lvbixcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pIHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcixcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgdGhlIC8vIEFjdCBzZWN0aW9uIHRvIGNvbnRhaW4gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciBkZWNsYXJhdGlvbi5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3NpbmdsZS1hY3Qtc3RhdGVtZW50Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbXVsdGlwbGVBY3RTdGF0ZW1lbnRzOlxuICAgICAgICBcIlJlZHVjZSB0aGUgLy8gQWN0IHNlY3Rpb24gdG8gYSBzaW5nbGUgdG9wLWxldmVsIHN0YXRlbWVudCBvciB2YXJpYWJsZSBkZWNsYXJhdGlvbjsgZm91bmQge3tjb3VudH19LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUgfTtcbiJdfQ==
@@ -10,6 +10,7 @@ declare const codeperfectRules: {
10
10
  readonly "no-interface-member-docs": Rule.RuleModule;
11
11
  readonly "no-multiple-declarators": Rule.RuleModule;
12
12
  readonly "no-reexports-outside-barrels": Rule.RuleModule;
13
+ readonly "no-unsafe-vitest-mock-factory-cast": Rule.RuleModule;
13
14
  readonly "no-unused-exports": Rule.RuleModule;
14
15
  readonly "prefer-interface-types": Rule.RuleModule;
15
16
  readonly "prefer-vi-mocked-import": Rule.RuleModule;
@@ -34,6 +35,7 @@ declare const codeperfectPlugin: {
34
35
  readonly "no-interface-member-docs": Rule.RuleModule;
35
36
  readonly "no-multiple-declarators": Rule.RuleModule;
36
37
  readonly "no-reexports-outside-barrels": Rule.RuleModule;
38
+ readonly "no-unsafe-vitest-mock-factory-cast": Rule.RuleModule;
37
39
  readonly "no-unused-exports": Rule.RuleModule;
38
40
  readonly "prefer-interface-types": Rule.RuleModule;
39
41
  readonly "prefer-vi-mocked-import": Rule.RuleModule;
@@ -1 +1 @@
1
- {"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../../src/infrastructure/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAsB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;CAkB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAKkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../../src/infrastructure/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CAmB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;CAKkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../application/index.js";
1
+ import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnsafeVitestMockFactoryCastRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../application/index.js";
2
2
  /** Rule registry exposed by the package plugin. */
3
3
  const codeperfectRules = {
4
4
  "assert-actual-expected-names": assertActualExpectedNamesRule,
@@ -10,6 +10,7 @@ const codeperfectRules = {
10
10
  "no-interface-member-docs": noInterfaceMemberDocumentationRule,
11
11
  "no-multiple-declarators": noMultipleDeclaratorsRule,
12
12
  "no-reexports-outside-barrels": noReexportsOutsideBarrelsRule,
13
+ "no-unsafe-vitest-mock-factory-cast": noUnsafeVitestMockFactoryCastRule,
13
14
  "no-unused-exports": noUnusedExportsRule,
14
15
  "prefer-interface-types": preferInterfaceTypesRule,
15
16
  "prefer-vi-mocked-import": preferViMockedImportRule,
@@ -27,4 +28,4 @@ const codeperfectPlugin = {
27
28
  rules: codeperfectRules,
28
29
  };
29
30
  export { codeperfectPlugin, codeperfectRules };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvZGVwZXJmZWN0LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLG1EQUFtRDtBQUNuRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLDhCQUE4QixFQUFFLDZCQUE2QjtJQUM3RCwyQkFBMkIsRUFBRSwwQkFBMEI7SUFDdkQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELHVCQUF1QixFQUFFLHVCQUF1QjtJQUNoRCwwQkFBMEIsRUFBRSx5QkFBeUI7SUFDckQsNkJBQTZCLEVBQUUsNEJBQTRCO0lBQzNELDBCQUEwQixFQUFFLGtDQUFrQztJQUM5RCx5QkFBeUIsRUFBRSx5QkFBeUI7SUFDcEQsOEJBQThCLEVBQUUsNkJBQTZCO0lBQzdELG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4Qyx3QkFBd0IsRUFBRSx3QkFBd0I7SUFDbEQseUJBQXlCLEVBQUUsd0JBQXdCO0lBQ25ELDRCQUE0QixFQUFFLDJCQUEyQjtJQUN6RCwwQkFBMEIsRUFBRSwwQkFBMEI7SUFDdEQsd0JBQXdCLEVBQUUsd0JBQXdCO0lBQ2xELHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxtQkFBbUIsRUFBRSxtQkFBbUI7Q0FDVSxDQUFDO0FBRXJELG9EQUFvRDtBQUNwRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSw0QkFBNEI7S0FDbkM7SUFDRCxLQUFLLEVBQUUsZ0JBQWdCO0NBQ2dDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciwgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9hcHBsaWNhdGlvblwiO1xuXG4vKiogUnVsZSByZWdpc3RyeSBleHBvc2VkIGJ5IHRoZSBwYWNrYWdlIHBsdWdpbi4gKi9cbmNvbnN0IGNvZGVwZXJmZWN0UnVsZXMgPSB7XG4gIFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiOiBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCI6IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCI6IGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCI6IGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlLFxuICBcIm5vLWltcG9ydC1leHBvcnQtYWxpYXNlc1wiOiBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlLFxuICBcIm5vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9uc1wiOiBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlLFxuICBcIm5vLWludGVyZmFjZS1tZW1iZXItZG9jc1wiOiBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLFxuICBcIm5vLW11bHRpcGxlLWRlY2xhcmF0b3JzXCI6IG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gIFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiOiBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZSxcbiAgXCJuby11bnVzZWQtZXhwb3J0c1wiOiBub1VudXNlZEV4cG9ydHNSdWxlLFxuICBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIjogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCI6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiOiByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIFwicmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlXCI6IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIjogcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBcInNpbmdsZS1hY3Qtc3RhdGVtZW50XCI6IHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIFwic2luZ2xlLWxpbmUtanNkb2NcIjogc2luZ2xlTGluZUpzZG9jUnVsZSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIFJ1bGUuUnVsZU1vZHVsZT47XG5cbi8qKiBFU0xpbnQgcGx1Z2luIG9iamVjdCBleHBvcnRlZCBieSB0aGUgcGFja2FnZS4gKi9cbmNvbnN0IGNvZGVwZXJmZWN0UGx1Z2luID0ge1xuICBtZXRhOiB7XG4gICAgbmFtZTogXCJAY29kZXBlcmZlY3QvZXNsaW50LXBsdWdpblwiLFxuICB9LFxuICBydWxlczogY29kZXBlcmZlY3RSdWxlcyxcbn0gc2F0aXNmaWVzIE5vbk51bGxhYmxlPExpbnRlci5Db25maWdbXCJwbHVnaW5zXCJdPltzdHJpbmddO1xuXG5leHBvcnQgeyBjb2RlcGVyZmVjdFBsdWdpbiwgY29kZXBlcmZlY3RSdWxlcyB9O1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvZGVwZXJmZWN0LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEVBQ2pDLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixtREFBbUQ7QUFDbkQsTUFBTSxnQkFBZ0IsR0FBRztJQUN2Qiw4QkFBOEIsRUFBRSw2QkFBNkI7SUFDN0QsMkJBQTJCLEVBQUUsMEJBQTBCO0lBQ3ZELHlCQUF5QixFQUFFLHlCQUF5QjtJQUNwRCx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQsMEJBQTBCLEVBQUUseUJBQXlCO0lBQ3JELDZCQUE2QixFQUFFLDRCQUE0QjtJQUMzRCwwQkFBMEIsRUFBRSxrQ0FBa0M7SUFDOUQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELDhCQUE4QixFQUFFLDZCQUE2QjtJQUM3RCxvQ0FBb0MsRUFBRSxpQ0FBaUM7SUFDdkUsbUJBQW1CLEVBQUUsbUJBQW1CO0lBQ3hDLHdCQUF3QixFQUFFLHdCQUF3QjtJQUNsRCx5QkFBeUIsRUFBRSx3QkFBd0I7SUFDbkQsNEJBQTRCLEVBQUUsMkJBQTJCO0lBQ3pELDBCQUEwQixFQUFFLDBCQUEwQjtJQUN0RCx3QkFBd0IsRUFBRSx3QkFBd0I7SUFDbEQsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLG1CQUFtQixFQUFFLG1CQUFtQjtDQUNVLENBQUM7QUFFckQsb0RBQW9EO0FBQ3BELE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLDRCQUE0QjtLQUNuQztJQUNELEtBQUssRUFBRSxnQkFBZ0I7Q0FDZ0MsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyLCBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQge1xuICBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gIGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlLFxuICBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlLFxuICBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlLFxuICBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLFxuICBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZSxcbiAgbm9VbnNhZmVWaXRlc3RNb2NrRmFjdG9yeUNhc3RSdWxlLFxuICBub1VudXNlZEV4cG9ydHNSdWxlLFxuICBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vYXBwbGljYXRpb25cIjtcblxuLyoqIFJ1bGUgcmVnaXN0cnkgZXhwb3NlZCBieSB0aGUgcGFja2FnZSBwbHVnaW4uICovXG5jb25zdCBjb2RlcGVyZmVjdFJ1bGVzID0ge1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIjogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIjogbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIjogbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIjogbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiOiBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIjogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIFwibm8tdW5zYWZlLXZpdGVzdC1tb2NrLWZhY3RvcnktY2FzdFwiOiBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGUsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIjogbm9VbnVzZWRFeHBvcnRzUnVsZSxcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCI6IHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiOiBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGUsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIjogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCI6IHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiOiBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCI6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCBSdWxlLlJ1bGVNb2R1bGU+O1xuXG4vKiogRVNMaW50IHBsdWdpbiBvYmplY3QgZXhwb3J0ZWQgYnkgdGhlIHBhY2thZ2UuICovXG5jb25zdCBjb2RlcGVyZmVjdFBsdWdpbiA9IHtcbiAgbWV0YToge1xuICAgIG5hbWU6IFwiQGNvZGVwZXJmZWN0L2VzbGludC1wbHVnaW5cIixcbiAgfSxcbiAgcnVsZXM6IGNvZGVwZXJmZWN0UnVsZXMsXG59IHNhdGlzZmllcyBOb25OdWxsYWJsZTxMaW50ZXIuQ29uZmlnW1wicGx1Z2luc1wiXT5bc3RyaW5nXTtcblxuZXhwb3J0IHsgY29kZXBlcmZlY3RQbHVnaW4sIGNvZGVwZXJmZWN0UnVsZXMgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/infrastructure/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,gEAAgE;AAChE,KAAK,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AA6GlE,oDAAoD;AACpD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,sDAAsD;AACtD,QAAA,MAAM,YAAY,mBAAsC,CAAC;AAEzD,sCAAsC;AACtC,QAAA,MAAM,IAAI,mBAA8B,CAAC;AAEzC,+CAA+C;AAC/C,QAAA,MAAM,aAAa,mBAAuC,CAAC;AAE3D,yCAAyC;AACzC,QAAA,MAAM,OAAO,mBAAiC,CAAC;AAE/C,sDAAsD;AACtD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/infrastructure/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,gEAAgE;AAChE,KAAK,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AA+GlE,oDAAoD;AACpD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,sDAAsD;AACtD,QAAA,MAAM,YAAY,mBAAsC,CAAC;AAEzD,sCAAsC;AACtC,QAAA,MAAM,IAAI,mBAA8B,CAAC;AAEzC,+CAA+C;AAC/C,QAAA,MAAM,aAAa,mBAAuC,CAAC;AAE3D,yCAAyC;AACzC,QAAA,MAAM,OAAO,mBAAiC,CAAC;AAE/C,sDAAsD;AACtD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -27,6 +27,7 @@ const aaaRuleNames = [
27
27
  const testingRuleNames = [
28
28
  "assert-actual-expected-names",
29
29
  "enforce-aaa-structure",
30
+ "no-unsafe-vitest-mock-factory-cast",
30
31
  "prefer-vi-mocked-import",
31
32
  "require-act-result-capture",
32
33
  "require-test-companion",
@@ -44,6 +45,7 @@ const allRuleNames = [
44
45
  "no-multiple-declarators",
45
46
  "no-reexports-outside-barrels",
46
47
  "no-unused-exports",
48
+ "no-unsafe-vitest-mock-factory-cast",
47
49
  "prefer-interface-types",
48
50
  "prefer-vi-mocked-import",
49
51
  "require-act-result-capture",
@@ -94,4 +96,4 @@ const testing = createPreset(testingRuleNames);
94
96
  /** Preset that enables AAA-specific testing rules. */
95
97
  const aaa = createPreset(aaaRuleNames);
96
98
  export { aaa, all, architecture, core, documentation, testing };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsd0JBQXdCO0NBQ3lCLENBQUM7QUFFcEQsd0RBQXdEO0FBQ3hELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRCxzREFBc0Q7QUFDdEQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsdUJBQXVCO0NBQzBCLENBQUM7QUFFcEQsMERBQTBEO0FBQzFELE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4QixzQkFBc0I7Q0FDMkIsQ0FBQztBQUVwRCwrQ0FBK0M7QUFDL0MsTUFBTSxZQUFZLEdBQUc7SUFDbkIsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtDQUM4QixDQUFDO0FBRXBEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxZQUFZLENBQ25CLFNBQXlDO0lBRXpDLE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsaUJBQWlCO1NBQy9CO1FBQ0QsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUNsQixTQUF5QztJQUV6QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELG9EQUFvRDtBQUNwRCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFdkMsc0RBQXNEO0FBQ3RELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRXpELHNDQUFzQztBQUN0QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFekMsK0NBQStDO0FBQy9DLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTNELHlDQUF5QztBQUN6QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUUvQyxzREFBc0Q7QUFDdEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH0gZnJvbSBcIi4vY29kZXBlcmZlY3QtcGx1Z2luXCI7XG5cbi8qKiBSZXByZXNlbnRzIGEgcmVhZHktdG8tdXNlIHByZXNldCBleHBvcnRlZCBieSB0aGUgcGFja2FnZS4gKi9cbnR5cGUgQ29kZXBlcmZlY3RQcmVzZXQgPSBQaWNrPExpbnRlci5Db25maWcsIFwicGx1Z2luc1wiIHwgXCJydWxlc1wiPjtcblxuLyoqIFJlcHJlc2VudHMgdGhlIGVuYWJsZWQgcnVsZSBlbnRyaWVzIGluc2lkZSBhIHByZXNldC4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlRW50cmllcyA9IFBhcnRpYWw8XG4gIFJlY29yZDxDb2RlcGVyZmVjdFJ1bGVLZXksIExpbnRlci5SdWxlRW50cnk+XG4+O1xuXG4vKiogTmFtZXNwYWNlcyBhIHBhY2thZ2Utb3duZWQgcnVsZSB1bmRlciB0aGUgYGNvZGVwZXJmZWN0L2AgcHJlZml4LiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVLZXkgPSBgY29kZXBlcmZlY3QvJHtDb2RlcGVyZmVjdFJ1bGVOYW1lfWA7XG5cbi8qKiBFbnVtZXJhdGVzIHRoZSBwYWNrYWdlLW93bmVkIHJ1bGUgbmFtZXMuICovXG50eXBlIENvZGVwZXJmZWN0UnVsZU5hbWUgPSBrZXlvZiB0eXBlb2YgY29kZXBlcmZlY3RSdWxlcztcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBhcmNoaXRlY3R1cmUgcHJlc2V0LiAqL1xuY29uc3QgYXJjaGl0ZWN0dXJlUnVsZU5hbWVzID0gW1xuICBcImJhcnJlbC1maWxlcy1leHBvcnRzLW9ubHlcIixcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiLFxuICBcIm5vLWltcG9ydC1leHBvcnQtYWxpYXNlc1wiLFxuICBcIm5vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9uc1wiLFxuICBcIm5vLXVudXNlZC1leHBvcnRzXCIsXG4gIFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGNvcmUgcHJlc2V0LiAqL1xuY29uc3QgY29yZVJ1bGVOYW1lcyA9IFtcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBkb2N1bWVudGF0aW9uIHByZXNldC4gKi9cbmNvbnN0IGRvY3VtZW50YXRpb25SdWxlTmFtZXMgPSBbXG4gIFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIFwicmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlXCIsXG4gIFwic2luZ2xlLWxpbmUtanNkb2NcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBBQUEtZm9jdXNlZCBwcmVzZXQuICovXG5jb25zdCBhYWFSdWxlTmFtZXMgPSBbXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgYnJvYWRlciB0ZXN0aW5nIHByZXNldC4gKi9cbmNvbnN0IHRlc3RpbmdSdWxlTmFtZXMgPSBbXG4gIFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIixcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCIsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgdXNlZCBieSB0aGUgYWxsLXJ1bGVzIHByZXNldC4gKi9cbmNvbnN0IGFsbFJ1bGVOYW1lcyA9IFtcbiAgXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zXCIsXG4gIFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgXCJuby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzXCIsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIixcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIixcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByZXNldCBmb3IgdGhlIHByb3ZpZGVkIHJ1bGUgbmFtZXMuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgRVNMaW50IHByZXNldCBjb250YWluaW5nIHRoZSBwYWNrYWdlIHBsdWdpbiBhbmQgZW5hYmxlZCBydWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcmVzZXQgPSBjcmVhdGVQcmVzZXQoW1wibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVByZXNldChcbiAgcnVsZU5hbWVzOiByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW10sXG4pOiBDb2RlcGVyZmVjdFByZXNldCB7XG4gIHJldHVybiB7XG4gICAgcGx1Z2luczoge1xuICAgICAgY29kZXBlcmZlY3Q6IGNvZGVwZXJmZWN0UGx1Z2luLFxuICAgIH0sXG4gICAgcnVsZXM6IGNyZWF0ZVJ1bGVzKHJ1bGVOYW1lcyksXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgcnVsZSBlbnRyeSBtYXAgZm9yIGEgcHJlc2V0LlxuICogQHBhcmFtIHJ1bGVOYW1lcyBSdWxlIG5hbWVzIHRvIGVuYWJsZS5cbiAqIEByZXR1cm5zIFJ1bGUgZW50cnkgbWFwIGtleWVkIGJ5IGBjb2RlcGVyZmVjdC9gIHJ1bGUgbmFtZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlcyA9IGNyZWF0ZVJ1bGVzKFtcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVJ1bGVzKFxuICBydWxlTmFtZXM6IHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXSxcbik6IENvZGVwZXJmZWN0UnVsZUVudHJpZXMge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiBbYGNvZGVwZXJmZWN0LyR7cnVsZU5hbWV9YCwgXCJlcnJvclwiXSksXG4gICk7XG59XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGV2ZXJ5IHBhY2thZ2Utb3duZWQgcnVsZS4gKi9cbmNvbnN0IGFsbCA9IGNyZWF0ZVByZXNldChhbGxSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBhcmNoaXRlY3R1cmUtZm9jdXNlZCBydWxlcy4gKi9cbmNvbnN0IGFyY2hpdGVjdHVyZSA9IGNyZWF0ZVByZXNldChhcmNoaXRlY3R1cmVSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBjb3JlIHJ1bGVzLiAqL1xuY29uc3QgY29yZSA9IGNyZWF0ZVByZXNldChjb3JlUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgZG9jdW1lbnRhdGlvbiBydWxlcy4gKi9cbmNvbnN0IGRvY3VtZW50YXRpb24gPSBjcmVhdGVQcmVzZXQoZG9jdW1lbnRhdGlvblJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIHRlc3RpbmcgcnVsZXMuICovXG5jb25zdCB0ZXN0aW5nID0gY3JlYXRlUHJlc2V0KHRlc3RpbmdSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBBQUEtc3BlY2lmaWMgdGVzdGluZyBydWxlcy4gKi9cbmNvbnN0IGFhYSA9IGNyZWF0ZVByZXNldChhYWFSdWxlTmFtZXMpO1xuXG5leHBvcnQgeyBhYWEsIGFsbCwgYXJjaGl0ZWN0dXJlLCBjb3JlLCBkb2N1bWVudGF0aW9uLCB0ZXN0aW5nIH07XG5leHBvcnQgdHlwZSB7IENvZGVwZXJmZWN0UHJlc2V0IH07XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsd0JBQXdCO0NBQ3lCLENBQUM7QUFFcEQsd0RBQXdEO0FBQ3hELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRCxzREFBc0Q7QUFDdEQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsdUJBQXVCO0NBQzBCLENBQUM7QUFFcEQsMERBQTBEO0FBQzFELE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2QixvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1Qix3QkFBd0I7SUFDeEIsc0JBQXNCO0NBQzJCLENBQUM7QUFFcEQsK0NBQStDO0FBQy9DLE1BQU0sWUFBWSxHQUFHO0lBQ25CLDhCQUE4QjtJQUM5QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLG1CQUFtQjtJQUNuQixvQ0FBb0M7SUFDcEMsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIsbUJBQW1CO0NBQzhCLENBQUM7QUFFcEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFlBQVksQ0FDbkIsU0FBeUM7SUFFekMsT0FBTztRQUNMLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRSxpQkFBaUI7U0FDL0I7UUFDRCxLQUFLLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQztLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxXQUFXLENBQ2xCLFNBQXlDO0lBRXpDLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FDdkIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ2xFLENBQUM7QUFDSixDQUFDO0FBRUQsb0RBQW9EO0FBQ3BELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV2QyxzREFBc0Q7QUFDdEQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFekQsc0NBQXNDO0FBQ3RDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV6QywrQ0FBK0M7QUFDL0MsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFM0QseUNBQXlDO0FBQ3pDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRS9DLHNEQUFzRDtBQUN0RCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgY29kZXBlcmZlY3RQbHVnaW4sIGNvZGVwZXJmZWN0UnVsZXMgfSBmcm9tIFwiLi9jb2RlcGVyZmVjdC1wbHVnaW5cIjtcblxuLyoqIFJlcHJlc2VudHMgYSByZWFkeS10by11c2UgcHJlc2V0IGV4cG9ydGVkIGJ5IHRoZSBwYWNrYWdlLiAqL1xudHlwZSBDb2RlcGVyZmVjdFByZXNldCA9IFBpY2s8TGludGVyLkNvbmZpZywgXCJwbHVnaW5zXCIgfCBcInJ1bGVzXCI+O1xuXG4vKiogUmVwcmVzZW50cyB0aGUgZW5hYmxlZCBydWxlIGVudHJpZXMgaW5zaWRlIGEgcHJlc2V0LiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVFbnRyaWVzID0gUGFydGlhbDxcbiAgUmVjb3JkPENvZGVwZXJmZWN0UnVsZUtleSwgTGludGVyLlJ1bGVFbnRyeT5cbj47XG5cbi8qKiBOYW1lc3BhY2VzIGEgcGFja2FnZS1vd25lZCBydWxlIHVuZGVyIHRoZSBgY29kZXBlcmZlY3QvYCBwcmVmaXguICovXG50eXBlIENvZGVwZXJmZWN0UnVsZUtleSA9IGBjb2RlcGVyZmVjdC8ke0NvZGVwZXJmZWN0UnVsZU5hbWV9YDtcblxuLyoqIEVudW1lcmF0ZXMgdGhlIHBhY2thZ2Utb3duZWQgcnVsZSBuYW1lcy4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlTmFtZSA9IGtleW9mIHR5cGVvZiBjb2RlcGVyZmVjdFJ1bGVzO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGFyY2hpdGVjdHVyZSBwcmVzZXQuICovXG5jb25zdCBhcmNoaXRlY3R1cmVSdWxlTmFtZXMgPSBbXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zXCIsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIixcbiAgXCJuby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgY29yZSBwcmVzZXQuICovXG5jb25zdCBjb3JlUnVsZU5hbWVzID0gW1xuICBcIm5vLW11bHRpcGxlLWRlY2xhcmF0b3JzXCIsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGRvY3VtZW50YXRpb24gcHJlc2V0LiAqL1xuY29uc3QgZG9jdW1lbnRhdGlvblJ1bGVOYW1lcyA9IFtcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIixcbiAgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgXCJzaW5nbGUtbGluZS1qc2RvY1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIEFBQS1mb2N1c2VkIHByZXNldC4gKi9cbmNvbnN0IGFhYVJ1bGVOYW1lcyA9IFtcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBicm9hZGVyIHRlc3RpbmcgcHJlc2V0LiAqL1xuY29uc3QgdGVzdGluZ1J1bGVOYW1lcyA9IFtcbiAgXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG4gIFwibm8tdW5zYWZlLXZpdGVzdC1tb2NrLWZhY3RvcnktY2FzdFwiLFxuICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIixcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCIsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgdXNlZCBieSB0aGUgYWxsLXJ1bGVzIHByZXNldC4gKi9cbmNvbnN0IGFsbFJ1bGVOYW1lcyA9IFtcbiAgXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zXCIsXG4gIFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgXCJuby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzXCIsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIixcbiAgXCJuby11bnNhZmUtdml0ZXN0LW1vY2stZmFjdG9yeS1jYXN0XCIsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiLFxuICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIixcbiAgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCIsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIixcbiAgXCJzaW5nbGUtbGluZS1qc2RvY1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBwcmVzZXQgZm9yIHRoZSBwcm92aWRlZCBydWxlIG5hbWVzLlxuICogQHBhcmFtIHJ1bGVOYW1lcyBSdWxlIG5hbWVzIHRvIGVuYWJsZS5cbiAqIEByZXR1cm5zIEVTTGludCBwcmVzZXQgY29udGFpbmluZyB0aGUgcGFja2FnZSBwbHVnaW4gYW5kIGVuYWJsZWQgcnVsZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJlc2V0ID0gY3JlYXRlUHJlc2V0KFtcIm5vLW11bHRpcGxlLWRlY2xhcmF0b3JzXCJdKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjcmVhdGVQcmVzZXQoXG4gIHJ1bGVOYW1lczogcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdLFxuKTogQ29kZXBlcmZlY3RQcmVzZXQge1xuICByZXR1cm4ge1xuICAgIHBsdWdpbnM6IHtcbiAgICAgIGNvZGVwZXJmZWN0OiBjb2RlcGVyZmVjdFBsdWdpbixcbiAgICB9LFxuICAgIHJ1bGVzOiBjcmVhdGVSdWxlcyhydWxlTmFtZXMpLFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIHJ1bGUgZW50cnkgbWFwIGZvciBhIHByZXNldC5cbiAqIEBwYXJhbSBydWxlTmFtZXMgUnVsZSBuYW1lcyB0byBlbmFibGUuXG4gKiBAcmV0dXJucyBSdWxlIGVudHJ5IG1hcCBrZXllZCBieSBgY29kZXBlcmZlY3QvYCBydWxlIG5hbWUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcnVsZXMgPSBjcmVhdGVSdWxlcyhbXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCJdKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjcmVhdGVSdWxlcyhcbiAgcnVsZU5hbWVzOiByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW10sXG4pOiBDb2RlcGVyZmVjdFJ1bGVFbnRyaWVzIHtcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBydWxlTmFtZXMubWFwKChydWxlTmFtZSkgPT4gW2Bjb2RlcGVyZmVjdC8ke3J1bGVOYW1lfWAsIFwiZXJyb3JcIl0pLFxuICApO1xufVxuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBldmVyeSBwYWNrYWdlLW93bmVkIHJ1bGUuICovXG5jb25zdCBhbGwgPSBjcmVhdGVQcmVzZXQoYWxsUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgYXJjaGl0ZWN0dXJlLWZvY3VzZWQgcnVsZXMuICovXG5jb25zdCBhcmNoaXRlY3R1cmUgPSBjcmVhdGVQcmVzZXQoYXJjaGl0ZWN0dXJlUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgY29yZSBydWxlcy4gKi9cbmNvbnN0IGNvcmUgPSBjcmVhdGVQcmVzZXQoY29yZVJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGRvY3VtZW50YXRpb24gcnVsZXMuICovXG5jb25zdCBkb2N1bWVudGF0aW9uID0gY3JlYXRlUHJlc2V0KGRvY3VtZW50YXRpb25SdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyB0ZXN0aW5nIHJ1bGVzLiAqL1xuY29uc3QgdGVzdGluZyA9IGNyZWF0ZVByZXNldCh0ZXN0aW5nUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgQUFBLXNwZWNpZmljIHRlc3RpbmcgcnVsZXMuICovXG5jb25zdCBhYWEgPSBjcmVhdGVQcmVzZXQoYWFhUnVsZU5hbWVzKTtcblxuZXhwb3J0IHsgYWFhLCBhbGwsIGFyY2hpdGVjdHVyZSwgY29yZSwgZG9jdW1lbnRhdGlvbiwgdGVzdGluZyB9O1xuZXhwb3J0IHR5cGUgeyBDb2RlcGVyZmVjdFByZXNldCB9O1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-plugin",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "description": "Custom ESLint rules for TypeScript repositories",
5
5
  "keywords": [
6
6
  "eslint",
@@ -34,99 +34,99 @@
34
34
  "dist"
35
35
  ],
36
36
  "scripts": {
37
- "\n# --------------- SCM --------------- #": "",
37
+ "\n# ---------------- GENERAL ---------------- #": "",
38
+ "postinstall": "patch-package",
39
+ "\n# ------------------ SCM ------------------ #": "",
38
40
  "commit": "npx --yes git-cz",
39
41
  "prepare": "husky",
40
- "\n# --------------- BUILDING --------------- #": "",
42
+ "\n# ---------------- BUILDING ---------------- #": "",
41
43
  "build": "npm run clean && npm run compile && npm run resolve-paths",
42
44
  "clean": "npx --yes rimraf dist",
43
- "compile": "tsc --build --force ./tsconfig.build.json",
45
+ "\n • ---------- compilation ---------- •": "",
44
46
  "pack": "npm pack --pack-destination dist",
45
- "resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
46
- "\n# --------------- LINTING --------------- #": "",
47
- "\t• --------------- checking --------------- •": "",
47
+ "compile": "tsc --build --force ./tsconfig.build.json",
48
+ "resolve-paths": "npx --yes tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
49
+ "\n# ---------------- LINTING ---------------- #": "",
50
+ "\n • ------------ checking ------------ •": "",
48
51
  "eslint": "npx --yes eslint --max-warnings=0",
49
52
  "lint": "npm run lint:run",
50
53
  "lint:run": "npm run prettier && npm run eslint",
51
- "lint:staged": "npx --yes tsx scripts/lint-staged.ts",
52
54
  "prettier": "npx --yes prettier --ignore-unknown --check .",
53
- "\n\t• --------------- fixing --------------- •": "",
55
+ "\n • ------------- fixing ------------- •": "",
54
56
  "eslint:fix": "npm run check:rules && npm run eslint -- --fix",
55
57
  "lint:fix": "npm run prettier:write && npm run eslint:fix",
58
+ "lint:staged": "npx --yes tsx scripts/lint-staged.ts",
56
59
  "prettier:write": "npm run prettier -- --write",
57
- "\n\t• --------------- helpers --------------- •": "",
60
+ "\n • ------------ helpers ------------ •": "",
58
61
  "check:rules": "npx --yes eslint-config-prettier eslint.config.ts",
59
62
  "eslint:inspect": "npx --yes @eslint/config-inspector",
60
- "\n# --------------- TESTING --------------- #": "",
63
+ "\n# ---------------- TESTING ---------------- #": "",
64
+ "e2e": "npx --yes vitest run --config vitest.config.e2e.ts",
65
+ "mutation": "npx --yes stryker run",
66
+ "test:all": "npm run test && npm run e2e && npm run mutation",
61
67
  "typecheck": "tsc --noEmit",
62
68
  "typecheck:spec": "tsc -p tsconfig.spec.json --noEmit",
63
- "validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test && npm run build && npm run pack",
64
- "\n\t• --------------- unit --------------- •": "",
65
- "mutation": "npx --yes stryker run",
66
- "tdd": "npx --yes vitest run --watch --silent=true --coverage.enabled=false",
67
- "test": "npm run unit && npm run mutation",
68
- "unit": "npx --yes vitest run",
69
- "\n# --------------- DOCS --------------- #": "",
70
- "docs:api": "npx --yes typedoc --options typedoc.json",
71
- "docs:clean": "npx --yes rimraf docs/api",
69
+ "validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test:all && npm run build --if-present && npm run pack --if-present",
70
+ "\n • -------------- unit -------------- •": "",
71
+ "test": "npx --yes vitest run",
72
+ "tdd": "npm run test -- --watch --silent=true --coverage.enabled=false",
73
+ "\n# ------------------ DOCS ------------------ #": "",
72
74
  "docs": "npm run docs:clean && npm run docs:api",
73
- "postinstall": "patch-package"
75
+ "docs:api": "npx --yes typedoc --options typedoc.json",
76
+ "docs:clean": "npx --yes rimraf docs/api"
74
77
  },
75
78
  "dependencies": {
76
- "@typescript-eslint/utils": "^8.60.0",
77
- "minimatch": "^10.2.5"
79
+ "@typescript-eslint/utils": "^8.67.0",
80
+ "minimatch": "^10.2.6"
78
81
  },
79
82
  "peerDependencies": {
80
- "eslint": ">=10.4.0"
83
+ "eslint": ">=10.9.0"
81
84
  },
82
85
  "devDependencies": {
83
86
  "@codeperfect/commitlint-config-emoji": "^1.0.0",
84
- "@codeperfect/eslint-config": "^1.10.0",
85
- "@commitlint/cz-commitlint": "^21.0.1",
86
- "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
87
+ "@codeperfect/eslint-config": "^1.13.0",
88
+ "@commitlint/cz-commitlint": "^21.2.2",
89
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
87
90
  "@eslint/js": "^10.0.1",
88
- "@stryker-mutator/core": "^9.6.1",
89
- "@stryker-mutator/typescript-checker": "^9.6.1",
90
- "@stryker-mutator/vitest-runner": "^9.6.1",
91
+ "@stryker-mutator/core": "^10.0.0",
92
+ "@stryker-mutator/typescript-checker": "^10.0.0",
93
+ "@stryker-mutator/vitest-runner": "^10.0.0",
91
94
  "@stylistic/eslint-plugin": "^5.10.0",
92
95
  "@types/lodash-es": "^4.17.12",
93
- "@types/node": "^25.9.1",
96
+ "@types/node": "^26.2.0",
94
97
  "@types/signale": "^1.4.7",
95
- "@typescript-eslint/rule-tester": "^8.60.0",
96
- "@vitest/coverage-v8": "^4.1.7",
97
- "@vitest/eslint-plugin": "^1.6.18",
98
- "chalk": "^5.6.2",
99
- "eslint": "^10.4.0",
98
+ "@typescript-eslint/rule-tester": "^8.67.0",
99
+ "@vitest/coverage-v8": "^4.1.11",
100
+ "@vitest/eslint-plugin": "^1.6.27",
101
+ "chalk": "^6.0.0",
102
+ "eslint": "^10.9.0",
100
103
  "eslint-config-prettier": "^10.1.8",
101
- "eslint-import-resolver-typescript": "^4.4.4",
102
- "eslint-plugin-boundaries": "^6.0.2",
103
- "eslint-plugin-eslint-plugin": "^7.3.3",
104
- "eslint-plugin-import-x": "^4.16.2",
104
+ "eslint-import-resolver-typescript": "^4.4.5",
105
+ "eslint-plugin-boundaries": "^7.2.0",
106
+ "eslint-plugin-eslint-plugin": "^7.6.2",
107
+ "eslint-plugin-import-x": "^4.17.1",
105
108
  "eslint-plugin-jasmine": "^4.2.2",
106
- "eslint-plugin-jest": "^29.15.2",
107
- "eslint-plugin-jsdoc": "^63.0.0",
108
- "eslint-plugin-perfectionist": "^5.9.0",
109
- "eslint-plugin-prettier": "^5.5.5",
110
- "eslint-plugin-rxjs-x": "^1.0.2",
111
- "eslint-plugin-unicorn": "^64.0.0",
112
- "globals": "^17.6.0",
109
+ "eslint-plugin-jest": "^29.16.1",
110
+ "eslint-plugin-jsdoc": "^64.2.1",
111
+ "eslint-plugin-perfectionist": "^5.10.1",
112
+ "eslint-plugin-prettier": "^5.5.6",
113
+ "eslint-plugin-rxjs-x": "^1.0.5",
114
+ "eslint-plugin-unicorn": "^73.0.0",
115
+ "globals": "^17.11.0",
113
116
  "husky": "^9.1.7",
114
117
  "jiti": "^2.7.0",
115
- "lint-staged": "^17.0.5",
118
+ "lint-staged": "^17.3.0",
116
119
  "lodash-es": "^4.18.1",
117
120
  "patch-package": "^8.0.1",
118
- "prettier": "^3.8.3",
121
+ "prettier": "^3.9.6",
119
122
  "rimraf": "^6.1.3",
120
- "semantic-release": "^25.0.3",
121
- "tsc-alias": "^1.8.17",
122
- "typedoc": "^0.28.19",
123
- "typedoc-plugin-markdown": "^4.11.0",
123
+ "semantic-release": "^25.0.9",
124
+ "tsc-alias": "^1.9.2",
125
+ "typedoc": "^0.28.20",
126
+ "typedoc-plugin-markdown": "^4.12.0",
124
127
  "typescript": "^6.0.3",
125
- "typescript-eslint": "^8.60.0",
126
- "vitest": "^4.1.7"
127
- },
128
- "engines": {
129
- "node": ">=24.0.0"
128
+ "typescript-eslint": "^8.67.0",
129
+ "vitest": "^4.1.11"
130
130
  },
131
131
  "publishConfig": {
132
132
  "access": "public"
package/dist/.tsbuildinfo DELETED
@@ -1 +0,0 @@
1
- {"root":["../src/index.ts","../src/application/custom-rules.ts","../src/application/index.ts","../src/domain/custom-rule-documentation.ts","../src/domain/index.ts","../src/domain/architecture/index.ts","../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts","../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts","../src/domain/architecture/consistent-barrel-files/index.ts","../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts","../src/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.ts","../src/domain/architecture/consistent-barrel-files/rule.ts","../src/domain/architecture/consistent-barrel-files/types.ts","../src/domain/architecture/no-unused-exports/index.ts","../src/domain/architecture/no-unused-exports/no-unused-exports-options.ts","../src/domain/architecture/no-unused-exports/no-unused-exports-utilities.ts","../src/domain/architecture/no-unused-exports/rule.ts","../src/domain/architecture/no-unused-exports/types.ts","../src/domain/core/index.ts","../src/domain/core/no-multiple-declarators/index.ts","../src/domain/core/no-multiple-declarators/rule.ts","../src/domain/core/no-multiple-declarators/types.ts","../src/domain/core/prefer-interface-types/index.ts","../src/domain/core/prefer-interface-types/rule.ts","../src/domain/docs/index.ts","../src/domain/docs/no-interface-member-docs/comment-utilities.ts","../src/domain/docs/no-interface-member-docs/index.ts","../src/domain/docs/no-interface-member-docs/parameter-tags.ts","../src/domain/docs/no-interface-member-docs/parameter-utilities.ts","../src/domain/docs/no-interface-member-docs/rule.ts","../src/domain/docs/no-interface-member-docs/types.ts","../src/domain/docs/require-example-language/empty-fence-fixes.ts","../src/domain/docs/require-example-language/example-utilities.ts","../src/domain/docs/require-example-language/examples.ts","../src/domain/docs/require-example-language/fixes.ts","../src/domain/docs/require-example-language/index.ts","../src/domain/docs/require-example-language/reporting.ts","../src/domain/docs/require-example-language/rule.ts","../src/domain/docs/require-example-language/types.ts","../src/domain/docs/single-line-jsdoc/index.ts","../src/domain/docs/single-line-jsdoc/rule.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-content.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.ts","../src/domain/testing/index.ts","../src/domain/testing/aaa/analyzer.analysis.helpers.ts","../src/domain/testing/aaa/analyzer.analysis.ts","../src/domain/testing/aaa/analyzer.assertions.helpers.ts","../src/domain/testing/aaa/analyzer.assertions.operands.ts","../src/domain/testing/aaa/analyzer.assertions.ts","../src/domain/testing/aaa/analyzer.classification.helpers.ts","../src/domain/testing/aaa/analyzer.classification.traversal.ts","../src/domain/testing/aaa/analyzer.classification.ts","../src/domain/testing/aaa/analyzer.super.helpers.ts","../src/domain/testing/aaa/analyzer.super.ts","../src/domain/testing/aaa/index.ts","../src/domain/testing/aaa/types.ts","../src/domain/testing/assert-actual-expected-names/index.ts","../src/domain/testing/assert-actual-expected-names/rule.ts","../src/domain/testing/enforce-aaa-phase-purity/index.ts","../src/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.ts","../src/domain/testing/enforce-aaa-structure/index.ts","../src/domain/testing/enforce-aaa-structure/missing-section-fixes.ts","../src/domain/testing/enforce-aaa-structure/rule.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-statements.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-updates.ts","../src/domain/testing/prefer-vi-mocked-import/fix-imports.ts","../src/domain/testing/prefer-vi-mocked-import/fix.ts","../src/domain/testing/prefer-vi-mocked-import/index.ts","../src/domain/testing/prefer-vi-mocked-import/match-bindings.ts","../src/domain/testing/prefer-vi-mocked-import/match-declarations.ts","../src/domain/testing/prefer-vi-mocked-import/match-helpers.ts","../src/domain/testing/prefer-vi-mocked-import/match-imports.ts","../src/domain/testing/prefer-vi-mocked-import/match-rewrites.ts","../src/domain/testing/prefer-vi-mocked-import/match-walk.ts","../src/domain/testing/prefer-vi-mocked-import/match.ts","../src/domain/testing/prefer-vi-mocked-import/rule.ts","../src/domain/testing/prefer-vi-mocked-import/types.ts","../src/domain/testing/require-act-result-capture/index.ts","../src/domain/testing/require-act-result-capture/rule.ts","../src/domain/testing/require-test-companion/index.ts","../src/domain/testing/require-test-companion/require-test-companion-listeners.ts","../src/domain/testing/require-test-companion/require-test-companion-options.ts","../src/domain/testing/require-test-companion/rule.ts","../src/domain/testing/require-test-companion/types.ts","../src/domain/testing/single-act-statement/index.ts","../src/domain/testing/single-act-statement/rule.ts","../src/infrastructure/codeperfect-plugin.ts","../src/infrastructure/index.ts","../src/infrastructure/presets.ts"],"version":"6.0.3"}