@codeperfect/eslint-plugin 2.4.0 → 2.6.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 (163) hide show
  1. package/README.md +2 -0
  2. package/dist/application/custom-rules.d.ts +3 -0
  3. package/dist/application/custom-rules.d.ts.map +1 -1
  4. package/dist/application/custom-rules.js +6 -2
  5. package/dist/application/index.d.ts +1 -1
  6. package/dist/application/index.d.ts.map +1 -1
  7. package/dist/application/index.js +2 -2
  8. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  9. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +1 -11
  10. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
  11. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +6 -14
  12. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  13. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +2 -4
  14. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
  15. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +4 -134
  16. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts +14 -0
  17. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts.map +1 -0
  18. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.js +154 -0
  19. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -1
  20. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +10 -12
  21. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  22. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +4 -11
  23. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -1
  24. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +2 -12
  25. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
  26. package/dist/domain/architecture/consistent-barrel-files/rule.js +4 -3
  27. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts +14 -0
  28. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -0
  29. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +187 -0
  30. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts +26 -0
  31. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -0
  32. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +95 -0
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts +32 -0
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +78 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts +18 -0
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -0
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +45 -0
  39. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts +34 -0
  40. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts.map +1 -0
  41. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.js +44 -0
  42. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts +59 -0
  43. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -0
  44. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +133 -0
  45. package/dist/domain/architecture/no-unused-exports/{no-unused-exports-utilities.d.ts → no-unused-exports-usage-utilities.d.ts} +2 -23
  46. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts.map +1 -0
  47. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.js +106 -0
  48. package/dist/domain/architecture/no-unused-exports/rule.js +4 -2
  49. package/dist/domain/core/index.d.ts +1 -0
  50. package/dist/domain/core/index.d.ts.map +1 -1
  51. package/dist/domain/core/index.js +2 -1
  52. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts +58 -0
  53. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -0
  54. package/dist/domain/core/no-multiple-declarators/rule-utilities.js +204 -0
  55. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  56. package/dist/domain/core/no-multiple-declarators/rule.js +9 -211
  57. package/dist/domain/core/no-multiple-declarators/types.js +2 -2
  58. package/dist/domain/core/no-useless-delegation/index.d.ts +2 -0
  59. package/dist/domain/core/no-useless-delegation/index.d.ts.map +1 -0
  60. package/dist/domain/core/no-useless-delegation/index.js +2 -0
  61. package/dist/domain/core/no-useless-delegation/rule.d.ts +5 -0
  62. package/dist/domain/core/no-useless-delegation/rule.d.ts.map +1 -0
  63. package/dist/domain/core/no-useless-delegation/rule.js +200 -0
  64. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +57 -0
  65. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -0
  66. package/dist/domain/core/prefer-interface-types/rule-utilities.js +105 -0
  67. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  68. package/dist/domain/core/prefer-interface-types/rule.js +2 -104
  69. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts +25 -0
  70. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -0
  71. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +64 -0
  72. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts +2 -24
  73. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  74. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +3 -65
  75. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -2
  76. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -2
  77. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  78. package/dist/domain/docs/no-interface-member-docs/rule.js +3 -2
  79. package/dist/domain/docs/require-example-language/examples-collect.d.ts +15 -0
  80. package/dist/domain/docs/require-example-language/examples-collect.d.ts.map +1 -0
  81. package/dist/domain/docs/require-example-language/examples-collect.js +113 -0
  82. package/dist/domain/docs/require-example-language/examples.d.ts +24 -13
  83. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  84. package/dist/domain/docs/require-example-language/examples.js +2 -111
  85. package/dist/domain/docs/require-example-language/fixes.js +4 -4
  86. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  87. package/dist/domain/docs/require-example-language/rule.js +9 -8
  88. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  89. package/dist/domain/docs/require-example-language/types.js +1 -1
  90. package/dist/domain/index.d.ts +1 -1
  91. package/dist/domain/index.d.ts.map +1 -1
  92. package/dist/domain/index.js +2 -2
  93. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  94. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +8 -8
  95. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  96. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +10 -9
  97. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  98. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +2 -5
  99. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +14 -16
  100. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +6 -4
  101. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  102. package/dist/domain/testing/aaa/analyzer.super.js +10 -8
  103. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  104. package/dist/domain/testing/assert-actual-expected-names/rule.js +21 -23
  105. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  106. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +1 -1
  107. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  108. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +2 -160
  109. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts +41 -0
  110. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts.map +1 -0
  111. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.js +161 -0
  112. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  113. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +2 -2
  114. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts +81 -0
  115. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -0
  116. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +181 -0
  117. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  118. package/dist/domain/testing/enforce-aaa-structure/rule.js +28 -217
  119. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +29 -0
  120. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +1 -0
  121. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +200 -0
  122. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +12 -0
  123. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +1 -0
  124. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +151 -0
  125. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +16 -0
  126. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +1 -0
  127. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +109 -0
  128. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -1
  129. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +18 -450
  130. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -1
  131. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +7 -4
  132. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  133. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +7 -4
  134. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +2 -2
  135. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts +18 -0
  136. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -0
  137. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +162 -0
  138. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -1
  139. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +5 -4
  140. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts +29 -0
  141. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -0
  142. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +100 -0
  143. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  144. package/dist/domain/testing/prefer-vi-mocked-import/match.js +5 -246
  145. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  146. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +18 -20
  147. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  148. package/dist/domain/testing/require-act-result-capture/rule.js +47 -21
  149. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  150. package/dist/domain/testing/require-test-companion/rule.js +2 -4
  151. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  152. package/dist/domain/testing/single-act-statement/rule.js +20 -22
  153. package/dist/index.d.ts +1 -1
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +2 -2
  156. package/dist/infrastructure/codeperfect-plugin.d.ts +2 -0
  157. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -1
  158. package/dist/infrastructure/codeperfect-plugin.js +3 -2
  159. package/dist/infrastructure/presets.d.ts.map +1 -1
  160. package/dist/infrastructure/presets.js +3 -1
  161. package/package.json +60 -69
  162. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +0 -1
  163. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +0 -612
package/README.md CHANGED
@@ -100,8 +100,10 @@ void preferInterfaceTypesRule;
100
100
  - `codeperfect/no-import-export-aliases`
101
101
  - `codeperfect/no-import-export-extensions`
102
102
  - `codeperfect/no-interface-member-docs`
103
+ - `codeperfect/no-multiple-declarators`
103
104
  - `codeperfect/no-reexports-outside-barrels`
104
105
  - `codeperfect/no-unused-exports`
106
+ - `codeperfect/no-useless-delegation`
105
107
  - `codeperfect/prefer-interface-types`
106
108
  - `codeperfect/prefer-vi-mocked-import`
107
109
  - `codeperfect/require-act-result-capture`
@@ -34,6 +34,9 @@ declare const customRules: readonly [{
34
34
  }, {
35
35
  readonly rule: Rule.RuleModule;
36
36
  readonly ruleName: "no-multiple-declarators";
37
+ }, {
38
+ readonly rule: Rule.RuleModule;
39
+ readonly ruleName: "no-useless-delegation";
37
40
  }, {
38
41
  readonly rule: Rule.RuleModule;
39
42
  readonly ruleName: "prefer-interface-types";
@@ -1 +1 @@
1
- {"version":3,"file":"custom-rules.d.ts","sourceRoot":"","sources":["../../src/application/custom-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAsBnC,+DAA+D;AAC/D,UAAU,eAAe;IACvB,kCAAkC;IAClC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mEAAmE;AACnE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqE8B,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"custom-rules.d.ts","sourceRoot":"","sources":["../../src/application/custom-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuBnC,+DAA+D;AAC/D,UAAU,eAAe;IACvB,kCAAkC;IAClC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mEAAmE;AACnE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyE8B,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,eAAe,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 "../domain/index.js";
1
+ import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, noUselessDelegationRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
2
2
  /** Source-of-truth registry for all package-owned custom rules. */
3
3
  const customRules = [
4
4
  {
@@ -37,6 +37,10 @@ const customRules = [
37
37
  rule: noMultipleDeclaratorsRule,
38
38
  ruleName: "no-multiple-declarators",
39
39
  },
40
+ {
41
+ rule: noUselessDelegationRule,
42
+ ruleName: "no-useless-delegation",
43
+ },
40
44
  {
41
45
  rule: preferInterfaceTypesRule,
42
46
  ruleName: "prefer-interface-types",
@@ -71,4 +75,4 @@ const customRules = [
71
75
  },
72
76
  ];
73
77
  export { customRules };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2N1c3RvbS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLFdBQVcsQ0FBQztBQVduQixtRUFBbUU7QUFDbkUsTUFBTSxXQUFXLEdBQUc7SUFDbEI7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRDtRQUNFLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsUUFBUSxFQUFFLDJCQUEyQjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLFFBQVEsRUFBRSx1QkFBdUI7S0FDbEM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxRQUFRLEVBQUUsNkJBQTZCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSw2QkFBNkI7UUFDbkMsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxRQUFRLEVBQUUsMEJBQTBCO0tBQ3JDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxRQUFRLEVBQUUsNEJBQTRCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUM0QyxDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9kb21haW5cIjtcblxuLyoqIEludGVybmFsIHJlZ2lzdHJ5IGVudHJ5IGZvciBhIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGUuICovXG5pbnRlcmZhY2UgQ3VzdG9tUnVsZUVudHJ5IHtcbiAgLyoqIEVTTGludCBydWxlIGltcGxlbWVudGF0aW9uLiAqL1xuICBydWxlOiBSdWxlLlJ1bGVNb2R1bGU7XG5cbiAgLyoqIEVTTGludCBydWxlIG5hbWUgd2l0aG91dCB0aGUgcGx1Z2luIHByZWZpeC4gKi9cbiAgcnVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqIFNvdXJjZS1vZi10cnV0aCByZWdpc3RyeSBmb3IgYWxsIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGVzLiAqL1xuY29uc3QgY3VzdG9tUnVsZXMgPSBbXG4gIHtcbiAgICBydWxlOiBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgICBydWxlTmFtZTogXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgICBydWxlTmFtZTogXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgICBydWxlTmFtZTogXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcIm5vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9uc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9VbnVzZWRFeHBvcnRzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG4gICAgcnVsZU5hbWU6IFwic2luZ2xlLWxpbmUtanNkb2NcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgICBydWxlTmFtZTogXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgICBydWxlTmFtZTogXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ3VzdG9tUnVsZUVudHJ5W107XG5cbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9O1xuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2N1c3RvbS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSxXQUFXLENBQUM7QUFXbkIsbUVBQW1FO0FBQ25FLE1BQU0sV0FBVyxHQUFHO0lBQ2xCO1FBQ0UsSUFBSSxFQUFFLDZCQUE2QjtRQUNuQyxRQUFRLEVBQUUsOEJBQThCO0tBQ3pDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLFFBQVEsRUFBRSwyQkFBMkI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixRQUFRLEVBQUUsdUJBQXVCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFFBQVEsRUFBRSwwQkFBMEI7S0FDckM7SUFDRDtRQUNFLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsUUFBUSxFQUFFLDZCQUE2QjtLQUN4QztJQUNEO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixRQUFRLEVBQUUsbUJBQW1CO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixRQUFRLEVBQUUsdUJBQXVCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxRQUFRLEVBQUUsMEJBQTBCO0tBQ3JDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxRQUFRLEVBQUUsNEJBQTRCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUM0QyxDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIG5vVXNlbGVzc0RlbGVnYXRpb25SdWxlLFxuICBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vZG9tYWluXCI7XG5cbi8qKiBJbnRlcm5hbCByZWdpc3RyeSBlbnRyeSBmb3IgYSBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlLiAqL1xuaW50ZXJmYWNlIEN1c3RvbVJ1bGVFbnRyeSB7XG4gIC8qKiBFU0xpbnQgcnVsZSBpbXBsZW1lbnRhdGlvbi4gKi9cbiAgcnVsZTogUnVsZS5SdWxlTW9kdWxlO1xuXG4gIC8qKiBFU0xpbnQgcnVsZSBuYW1lIHdpdGhvdXQgdGhlIHBsdWdpbiBwcmVmaXguICovXG4gIHJ1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBTb3VyY2Utb2YtdHJ1dGggcmVnaXN0cnkgZm9yIGFsbCBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlcy4gKi9cbmNvbnN0IGN1c3RvbVJ1bGVzID0gW1xuICB7XG4gICAgcnVsZTogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gICAgcnVsZU5hbWU6IFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgICBydWxlTmFtZTogXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXG4gICAgcnVsZU5hbWU6IFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcIm5vLWltcG9ydC1leHBvcnQtYWxpYXNlc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tdW51c2VkLWV4cG9ydHNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vVXNlbGVzc0RlbGVnYXRpb25SdWxlLFxuICAgIHJ1bGVOYW1lOiBcIm5vLXVzZWxlc3MtZGVsZWdhdGlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG4gICAgcnVsZU5hbWU6IFwic2luZ2xlLWxpbmUtanNkb2NcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgICBydWxlTmFtZTogXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgICBydWxlTmFtZTogXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ3VzdG9tUnVsZUVudHJ5W107XG5cbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9O1xuIl19
@@ -1,4 +1,4 @@
1
- export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnsafeVitestMockFactoryCastRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
1
+ export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnsafeVitestMockFactoryCastRule, noUnusedExportsRule, noUselessDelegationRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
2
2
  export { customRules } from "./custom-rules.js";
3
3
  export type { CustomRuleEntry } from "./custom-rules.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,iCAAiC,EACjC,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,iCAAiC,EACjC,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,3 @@
1
- export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnsafeVitestMockFactoryCastRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
1
+ export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnsafeVitestMockFactoryCastRule, noUnusedExportsRule, noUselessDelegationRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
2
2
  export { customRules } from "./custom-rules.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLGlDQUFpQyxFQUNqQyxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlLFxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXG4gIG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXG4gIG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUsXG4gIG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gIG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxuICBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9kb21haW5cIjtcbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH0gZnJvbSBcIi4vY3VzdG9tLXJ1bGVzXCI7XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9IGZyb20gXCIuL2N1c3RvbS1ydWxlc1wiO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLGlDQUFpQyxFQUNqQyxtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gIGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlLFxuICBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlLFxuICBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlLFxuICBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLFxuICBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZSxcbiAgbm9VbnNhZmVWaXRlc3RNb2NrRmFjdG9yeUNhc3RSdWxlLFxuICBub1VudXNlZEV4cG9ydHNSdWxlLFxuICBub1VzZWxlc3NEZWxlZ2F0aW9uUnVsZSxcbiAgcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGUsXG4gIHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSxcbiAgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUsXG4gIHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcbiAgc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgc2luZ2xlTGluZUpzZG9jUnVsZSxcbn0gZnJvbSBcIi4uL2RvbWFpblwiO1xuZXhwb3J0IHsgY3VzdG9tUnVsZXMgfSBmcm9tIFwiLi9jdXN0b20tcnVsZXNcIjtcbmV4cG9ydCB0eXBlIHsgQ3VzdG9tUnVsZUVudHJ5IH0gZnJvbSBcIi4vY3VzdG9tLXJ1bGVzXCI7XG4iXX0=
@@ -19,16 +19,6 @@ interface ConsistentBarrelFilesState {
19
19
  * ```
20
20
  */
21
21
  declare const getOptions: (options: readonly unknown[]) => ConsistentBarrelFilesState;
22
- /**
23
- * Determines whether a filename is eligible for linting.
24
- * @param filename Filename to inspect.
25
- * @returns True when the filename is a lintable module file.
26
- * @example
27
- * ```typescript
28
- * const lintable = isLintableFilename(`${cwd()}/src/index.ts`);
29
- * ```
30
- */
31
- declare const isLintableFilename: (filename: string) => boolean;
32
22
  /**
33
23
  * Determines whether the rule should lint a file.
34
24
  * @param filename Filename to inspect.
@@ -40,6 +30,6 @@ declare const isLintableFilename: (filename: string) => boolean;
40
30
  * ```
41
31
  */
42
32
  declare const shouldLintFile: (filename: string, allowedNames: string[]) => boolean;
43
- export { getOptions, isLintableFilename, shouldLintFile };
33
+ export { getOptions, shouldLintFile };
44
34
  export type { ConsistentBarrelFilesState };
45
35
  //# sourceMappingURL=consistent-barrel-files-options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-barrel-files-options.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts"],"names":[],"mappings":"AASA,qCAAqC;AACrC,UAAU,0BAA0B;IAClC,gCAAgC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IAExB,mCAAmC;IACnC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU,GACd,SAAS,SAAS,OAAO,EAAE,KAC1B,0BAYF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OACf,CAAC;AAkBjC;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,EAAE,KAAG,OAMlE,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC;AAC1D,YAAY,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"consistent-barrel-files-options.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts"],"names":[],"mappings":"AASA,qCAAqC;AACrC,UAAU,0BAA0B;IAClC,gCAAgC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IAExB,mCAAmC;IACnC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU,GACd,SAAS,SAAS,OAAO,EAAE,KAC1B,0BAcF,CAAC;AAkBF;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,EAAE,KAAG,OAMlE,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACtC,YAAY,EAAE,0BAA0B,EAAE,CAAC"}
@@ -13,7 +13,9 @@ const getOptions = (options) => {
13
13
  const rawOptions = options[0];
14
14
  const enforce = rawOptions?.enforce ?? true;
15
15
  const allowedNames = normalizeAllowedBarrelNames(rawOptions?.allowedNames);
16
- const allowedNamesKey = allowedNames.toSorted().join("|");
16
+ const allowedNamesKey = allowedNames
17
+ .toSorted((a, b) => a.localeCompare(b))
18
+ .join("|");
17
19
  return {
18
20
  allowedNames,
19
21
  allowedNamesKey,
@@ -21,16 +23,6 @@ const getOptions = (options) => {
21
23
  enforce,
22
24
  };
23
25
  };
24
- /**
25
- * Determines whether a filename is eligible for linting.
26
- * @param filename Filename to inspect.
27
- * @returns True when the filename is a lintable module file.
28
- * @example
29
- * ```typescript
30
- * const lintable = isLintableFilename(`${cwd()}/src/index.ts`);
31
- * ```
32
- */
33
- const isLintableFilename = (filename) => isLintableModuleFile(filename);
34
26
  /**
35
27
  * Checks whether a path is nested inside a src directory.
36
28
  * @param filename Filename to inspect.
@@ -56,9 +48,9 @@ const isInSourceDirectory = (filename) => {
56
48
  * ```
57
49
  */
58
50
  const shouldLintFile = (filename, allowedNames) => {
59
- return (isLintableFilename(filename) &&
51
+ return (isLintableModuleFile(filename) &&
60
52
  isInSourceDirectory(filename) &&
61
53
  allowedNames.length > 0);
62
54
  };
63
- export { getOptions, isLintableFilename, shouldLintFile };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBSTdCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsMkJBQTJCLEdBQzVCLE1BQU0seUJBQXlCLENBQUM7QUFpQmpDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FDakIsT0FBMkIsRUFDQyxFQUFFO0lBQzlCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQTZDLENBQUM7SUFDMUUsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDNUMsTUFBTSxZQUFZLEdBQUcsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNFLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUQsT0FBTztRQUNMLFlBQVk7UUFDWixlQUFlO1FBQ2YsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN0QyxPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFFBQWdCLEVBQVcsRUFBRSxDQUN2RCxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFXLEVBQUU7SUFDeEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFcEUsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxZQUFzQixFQUFXLEVBQUU7SUFDM0UsT0FBTyxDQUNMLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUM1QixtQkFBbUIsQ0FBQyxRQUFRLENBQUM7UUFDN0IsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ3hCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbXBvcnQgdHlwZSB7IENvbnNpc3RlbnRCYXJyZWxGaWxlc09wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQge1xuICBpc0xpbnRhYmxlTW9kdWxlRmlsZSxcbiAgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzLFxufSBmcm9tIFwiLi9iYXJyZWwtZmlsZS11dGlsaXRpZXNcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbnNpc3RlbnRCYXJyZWxGaWxlc1N0YXRlIHtcbiAgLyoqIEFsbG93ZWROYW1lcyBmaWVsZCB2YWx1ZS4gKi9cbiAgYWxsb3dlZE5hbWVzOiBzdHJpbmdbXTtcblxuICAvKiogQWxsb3dlZE5hbWVzS2V5IGZpZWxkIHZhbHVlLiAqL1xuICBhbGxvd2VkTmFtZXNLZXk6IHN0cmluZztcblxuICAvKiogQWxsb3dlZE5hbWVzU2V0IGZpZWxkIHZhbHVlLiAqL1xuICBhbGxvd2VkTmFtZXNTZXQ6IFNldDxzdHJpbmc+O1xuXG4gIC8qKiBFbmZvcmNlIGZpZWxkIHZhbHVlLiAqL1xuICBlbmZvcmNlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBub3JtYWxpemVkIHJ1bGUgb3B0aW9ucyBmcm9tIHJhdyBydWxlIGlucHV0LlxuICogQHBhcmFtIG9wdGlvbnMgUmF3IHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIHJ1bGUgc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3RhdGUgPSBnZXRPcHRpb25zKFt7fV0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldE9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IHJlYWRvbmx5IHVua25vd25bXSxcbik6IENvbnNpc3RlbnRCYXJyZWxGaWxlc1N0YXRlID0+IHtcbiAgY29uc3QgcmF3T3B0aW9ucyA9IG9wdGlvbnNbMF0gYXMgQ29uc2lzdGVudEJhcnJlbEZpbGVzT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgZW5mb3JjZSA9IHJhd09wdGlvbnM/LmVuZm9yY2UgPz8gdHJ1ZTtcbiAgY29uc3QgYWxsb3dlZE5hbWVzID0gbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzKHJhd09wdGlvbnM/LmFsbG93ZWROYW1lcyk7XG4gIGNvbnN0IGFsbG93ZWROYW1lc0tleSA9IGFsbG93ZWROYW1lcy50b1NvcnRlZCgpLmpvaW4oXCJ8XCIpO1xuXG4gIHJldHVybiB7XG4gICAgYWxsb3dlZE5hbWVzLFxuICAgIGFsbG93ZWROYW1lc0tleSxcbiAgICBhbGxvd2VkTmFtZXNTZXQ6IG5ldyBTZXQoYWxsb3dlZE5hbWVzKSxcbiAgICBlbmZvcmNlLFxuICB9O1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmaWxlbmFtZSBpcyBlbGlnaWJsZSBmb3IgbGludGluZy5cbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlbmFtZSBpcyBhIGxpbnRhYmxlIG1vZHVsZSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpbnRhYmxlID0gaXNMaW50YWJsZUZpbGVuYW1lKGAke2N3ZCgpfS9zcmMvaW5kZXgudHNgKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0xpbnRhYmxlRmlsZW5hbWUgPSAoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgaXNMaW50YWJsZU1vZHVsZUZpbGUoZmlsZW5hbWUpO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgcGF0aCBpcyBuZXN0ZWQgaW5zaWRlIGEgc3JjIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlIHBhdGggY29udGFpbnMgYSBzcmMgcGF0aCBzZWdtZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGluU3JjID0gaXNJblNvdXJjZURpcmVjdG9yeShgJHtjd2QoKX0vc3JjL2luZGV4LnRzYCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNJblNvdXJjZURpcmVjdG9yeSA9IChmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gcGF0aC5ub3JtYWxpemUoZmlsZW5hbWUpO1xuICBjb25zdCBwYXRoU2VnbWVudHMgPSBub3JtYWxpemVkUGF0aC5zcGxpdChwYXRoLnNlcCkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gIHJldHVybiBwYXRoU2VnbWVudHMuaW5jbHVkZXMoXCJzcmNcIik7XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgcnVsZSBzaG91bGQgbGludCBhIGZpbGUuXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSBhbGxvd2VkTmFtZXMgQWxsb3dlZCBiYXJyZWwgbmFtZXMgZm9yIHRoZSBydWxlIHJ1bi5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZmlsZSBzaG91bGQgYmUgY2hlY2tlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzaG91bGRMaW50ID0gc2hvdWxkTGludEZpbGUoYCR7Y3dkKCl9L3NyYy9pbmRleC50c2AsIFtcImluZGV4XCJdKTtcbiAqIGBgYFxuICovXG5jb25zdCBzaG91bGRMaW50RmlsZSA9IChmaWxlbmFtZTogc3RyaW5nLCBhbGxvd2VkTmFtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAoXG4gICAgaXNMaW50YWJsZUZpbGVuYW1lKGZpbGVuYW1lKSAmJlxuICAgIGlzSW5Tb3VyY2VEaXJlY3RvcnkoZmlsZW5hbWUpICYmXG4gICAgYWxsb3dlZE5hbWVzLmxlbmd0aCA+IDBcbiAgKTtcbn07XG5cbmV4cG9ydCB7IGdldE9wdGlvbnMsIGlzTGludGFibGVGaWxlbmFtZSwgc2hvdWxkTGludEZpbGUgfTtcbmV4cG9ydCB0eXBlIHsgQ29uc2lzdGVudEJhcnJlbEZpbGVzU3RhdGUgfTtcbiJdfQ==
55
+ export { getOptions, shouldLintFile };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBSTdCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsMkJBQTJCLEdBQzVCLE1BQU0seUJBQXlCLENBQUM7QUFpQmpDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FDakIsT0FBMkIsRUFDQyxFQUFFO0lBQzlCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQTZDLENBQUM7SUFDMUUsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDNUMsTUFBTSxZQUFZLEdBQUcsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNFLE1BQU0sZUFBZSxHQUFHLFlBQVk7U0FDakMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFYixPQUFPO1FBQ0wsWUFBWTtRQUNaLGVBQWU7UUFDZixlQUFlLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQ3RDLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsUUFBZ0IsRUFBVyxFQUFFO0lBQ3hELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBFLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQUUsWUFBc0IsRUFBVyxFQUFFO0lBQzNFLE9BQU8sQ0FDTCxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFDOUIsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1FBQzdCLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUN4QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcblxuaW1wb3J0IHR5cGUgeyBDb25zaXN0ZW50QmFycmVsRmlsZXNPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgaXNMaW50YWJsZU1vZHVsZUZpbGUsXG4gIG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyxcbn0gZnJvbSBcIi4vYmFycmVsLWZpbGUtdXRpbGl0aWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSB7XG4gIC8qKiBBbGxvd2VkTmFtZXMgZmllbGQgdmFsdWUuICovXG4gIGFsbG93ZWROYW1lczogc3RyaW5nW107XG5cbiAgLyoqIEFsbG93ZWROYW1lc0tleSBmaWVsZCB2YWx1ZS4gKi9cbiAgYWxsb3dlZE5hbWVzS2V5OiBzdHJpbmc7XG5cbiAgLyoqIEFsbG93ZWROYW1lc1NldCBmaWVsZCB2YWx1ZS4gKi9cbiAgYWxsb3dlZE5hbWVzU2V0OiBTZXQ8c3RyaW5nPjtcblxuICAvKiogRW5mb3JjZSBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5mb3JjZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgbm9ybWFsaXplZCBydWxlIG9wdGlvbnMgZnJvbSByYXcgcnVsZSBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIFJhdyBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBydWxlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YXRlID0gZ2V0T3B0aW9ucyhbe31dKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRPcHRpb25zID0gKFxuICBvcHRpb25zOiByZWFkb25seSB1bmtub3duW10sXG4pOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSA9PiB7XG4gIGNvbnN0IHJhd09wdGlvbnMgPSBvcHRpb25zWzBdIGFzIENvbnNpc3RlbnRCYXJyZWxGaWxlc09wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGVuZm9yY2UgPSByYXdPcHRpb25zPy5lbmZvcmNlID8/IHRydWU7XG4gIGNvbnN0IGFsbG93ZWROYW1lcyA9IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyhyYXdPcHRpb25zPy5hbGxvd2VkTmFtZXMpO1xuICBjb25zdCBhbGxvd2VkTmFtZXNLZXkgPSBhbGxvd2VkTmFtZXNcbiAgICAudG9Tb3J0ZWQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSlcbiAgICAuam9pbihcInxcIik7XG5cbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkTmFtZXMsXG4gICAgYWxsb3dlZE5hbWVzS2V5LFxuICAgIGFsbG93ZWROYW1lc1NldDogbmV3IFNldChhbGxvd2VkTmFtZXMpLFxuICAgIGVuZm9yY2UsXG4gIH07XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgcGF0aCBpcyBuZXN0ZWQgaW5zaWRlIGEgc3JjIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlIHBhdGggY29udGFpbnMgYSBzcmMgcGF0aCBzZWdtZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGluU3JjID0gaXNJblNvdXJjZURpcmVjdG9yeShgJHtjd2QoKX0vc3JjL2luZGV4LnRzYCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNJblNvdXJjZURpcmVjdG9yeSA9IChmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gcGF0aC5ub3JtYWxpemUoZmlsZW5hbWUpO1xuICBjb25zdCBwYXRoU2VnbWVudHMgPSBub3JtYWxpemVkUGF0aC5zcGxpdChwYXRoLnNlcCkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gIHJldHVybiBwYXRoU2VnbWVudHMuaW5jbHVkZXMoXCJzcmNcIik7XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgcnVsZSBzaG91bGQgbGludCBhIGZpbGUuXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSBhbGxvd2VkTmFtZXMgQWxsb3dlZCBiYXJyZWwgbmFtZXMgZm9yIHRoZSBydWxlIHJ1bi5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZmlsZSBzaG91bGQgYmUgY2hlY2tlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzaG91bGRMaW50ID0gc2hvdWxkTGludEZpbGUoYCR7Y3dkKCl9L3NyYy9pbmRleC50c2AsIFtcImluZGV4XCJdKTtcbiAqIGBgYFxuICovXG5jb25zdCBzaG91bGRMaW50RmlsZSA9IChmaWxlbmFtZTogc3RyaW5nLCBhbGxvd2VkTmFtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAoXG4gICAgaXNMaW50YWJsZU1vZHVsZUZpbGUoZmlsZW5hbWUpICYmXG4gICAgaXNJblNvdXJjZURpcmVjdG9yeShmaWxlbmFtZSkgJiZcbiAgICBhbGxvd2VkTmFtZXMubGVuZ3RoID4gMFxuICApO1xufTtcblxuZXhwb3J0IHsgZ2V0T3B0aW9ucywgc2hvdWxkTGludEZpbGUgfTtcbmV4cG9ydCB0eXBlIHsgQ29uc2lzdGVudEJhcnJlbEZpbGVzU3RhdGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"exports-only-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmMxC;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UA8CtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"exports-only-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmMxC;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UA6CtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -138,9 +138,7 @@ const barrelFilesExportsOnlyRule = {
138
138
  * const listeners = barrelFilesExportsOnlyRule.create(context);
139
139
  * ```
140
140
  */
141
- create(context) {
142
- return buildListenerForFile(context, context.filename, getOptions(context.options));
143
- },
141
+ create: (context) => buildListenerForFile(context, context.filename, getOptions(context.options)),
144
142
  meta: {
145
143
  defaultOptions: [{ allowedBarrelNames: ["index"] }],
146
144
  docs: {
@@ -169,4 +167,4 @@ const barrelFilesExportsOnlyRule = {
169
167
  },
170
168
  };
171
169
  export { barrelFilesExportsOnlyRule };
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQThCakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixPQUEyQixFQUNFLEVBQUU7SUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBOEMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUNwRCxVQUFVLEVBQUUsa0JBQWtCLENBQy9CLENBQUM7SUFFRixPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFFLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUN4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUksS0FBc0MsQ0FBQyxJQUFJLENBQUM7SUFFckUsT0FBTyxDQUNMLGVBQWUsS0FBSyx3QkFBd0I7UUFDNUMsZUFBZSxLQUFLLHdCQUF3QixDQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBa0MsRUFBVyxFQUFFO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFeEMsSUFBSSxDQUFD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QUcsRUFBRSw0RkFBNEY7U0FDbEc7UUFDRCxRQUFRLEVBQUU7WUFDUixvQkFBb0IsRUFDbEIsZ0ZBQWdGO1NBQ25GO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0Usb0JBQW9CLEVBQUUsS0FBSztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLGtCQUFrQixFQUFFO3dCQUNsQixXQUFXLEVBQ1Qsa0VBQWtFO3dCQUNwRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO3dCQUN6QixRQUFRLEVBQUUsQ0FBQzt3QkFDWCxJQUFJLEVBQUUsT0FBTztxQkFDZDtpQkFDRjtnQkFDRCxJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVNULCBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IEJhcnJlbEZpbGVzRXhwb3J0c09ubHlPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgaXNCYXJyZWxGaWxlLFxuICBpc0xpbnRhYmxlTW9kdWxlRmlsZSxcbiAgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzLFxufSBmcm9tIFwiLi9iYXJyZWwtZmlsZS11dGlsaXRpZXNcIjtcblxuLyoqIFN0b3JlcyBub3JtYWxpemVkIHJ1bGUgb3B0aW9ucyBmb3IgdGhlIGV4cG9ydHMtb25seSBydWxlLiAqL1xuaW50ZXJmYWNlIEJhcnJlbEZpbGVzRXhwb3J0c09ubHlTdGF0ZSB7XG4gIC8qKiBBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgZm9yIHRoZSBjdXJyZW50IHJ1bGUgcnVuLiAqL1xuICBhbGxvd2VkQmFycmVsTmFtZXM6IHN0cmluZ1tdO1xuICAvKiogQWxsb3dlZCBiYXJyZWwgYmFzZW5hbWVzIGluIHNldCBmb3JtIGZvciBxdWljayBsb29rdXBzLiAqL1xuICBhbGxvd2VkQmFycmVsTmFtZXNTZXQ6IFNldDxzdHJpbmc+O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGVjbGFyYXRpb24tbGlrZSB2YWx1ZSB0aGF0IG1heSBleHBvc2UgYSBgdHlwZWAgZmllbGQuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlEZWNsYXJhdGlvbkNhbmRpZGF0ZSB7XG4gIC8qKiBDYW5kaWRhdGUgZGVjbGFyYXRpb24gdHlwZS4gKi9cbiAgdHlwZT86IHVua25vd247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gZXhwb3J0IGRlY2xhcmF0aW9uLWxpa2UgdmFsdWUgd2l0aCBleHBvcnQgbWV0YWRhdGEuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlFeHBvcnRDYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGRlY2xhcmF0aW9uLWxldmVsIGV4cG9ydCBraW5kLiAqL1xuICBleHBvcnRLaW5kPzogdW5rbm93bjtcbiAgLyoqIENhbmRpZGF0ZSBleHBvcnQgc3BlY2lmaWVycy4gKi9cbiAgc3BlY2lmaWVycz86IHVua25vd247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gZXhwb3J0IHNwZWNpZmllci1saWtlIHZhbHVlIHRoYXQgbWF5IGV4cG9zZSBgZXhwb3J0S2luZGAuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlFeHBvcnRTcGVjaWZpZXJDYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGV4cG9ydCBraW5kIGZvciBhIHNwZWNpZmllci4gKi9cbiAgZXhwb3J0S2luZD86IHVua25vd247XG59XG5cbi8qKlxuICogQnVpbGRzIG5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zIGZyb20gcmF3IGlucHV0LlxuICogQHBhcmFtIG9wdGlvbnMgUmF3IHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGV4cG9ydHMtb25seSBydWxlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YXRlID0gZ2V0T3B0aW9ucyhbe31dKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRPcHRpb25zID0gKFxuICBvcHRpb25zOiByZWFkb25seSB1bmtub3duW10sXG4pOiBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5U3RhdGUgPT4ge1xuICBjb25zdCByYXdPcHRpb25zID0gb3B0aW9uc1swXSBhcyBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5T3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgYWxsb3dlZEJhcnJlbE5hbWVzID0gbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzKFxuICAgIHJhd09wdGlvbnM/LmFsbG93ZWRCYXJyZWxOYW1lcyxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGFsbG93ZWRCYXJyZWxOYW1lcyxcbiAgICBhbGxvd2VkQmFycmVsTmFtZXNTZXQ6IG5ldyBTZXQoYWxsb3dlZEJhcnJlbE5hbWVzKSxcbiAgfTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZGVjbGFyYXRpb24gaXMgdHlwZS1vbmx5LlxuICogQHBhcmFtIHZhbHVlIERlY2xhcmF0aW9uIGNhbmRpZGF0ZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc1R5cGVPbmx5RGVjbGFyYXRpb24oeyB0eXBlOiBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1R5cGVPbmx5RGVjbGFyYXRpb24gPSAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uVHlwZSA9ICh2YWx1ZSBhcyBUeXBlT25seURlY2xhcmF0aW9uQ2FuZGlkYXRlKS50eXBlO1xuXG4gIHJldHVybiAoXG4gICAgZGVjbGFyYXRpb25UeXBlID09PSBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB8fFxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCJcbiAgKTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV4cG9ydCBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkgdmlhIHNwZWNpZmllcnMuXG4gKiBAcGFyYW0gY2FuZGlkYXRlIEV4cG9ydCBkZWNsYXJhdGlvbiBjYW5kaWRhdGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZXhwb3J0IGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzVHlwZU9ubHlFeHBvcnQoeyBleHBvcnRLaW5kOiBcInR5cGVcIiwgc3BlY2lmaWVyczogW3sgZXhwb3J0S2luZDogXCJ0eXBlXCIgfV0gfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNUeXBlT25seUV4cG9ydCA9IChjYW5kaWRhdGU6IFR5cGVPbmx5RXhwb3J0Q2FuZGlkYXRlKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHNwZWNpZmllcnMgPSBjYW5kaWRhdGUuc3BlY2lmaWVycztcblxuICBpZiAoIUFycmF5LmlzQXJyYXkoc3BlY2lmaWVycykgfHwgc3BlY2lmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoY2FuZGlkYXRlLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gc3BlY2lmaWVycy5ldmVyeSgoc3BlY2lmaWVyKSA9PiB7XG4gICAgaWYgKHNwZWNpZmllciA9PT0gbnVsbCB8fCB0eXBlb2Ygc3BlY2lmaWVyICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIChzcGVjaWZpZXIgYXMgVHlwZU9ubHlFeHBvcnRTcGVjaWZpZXJDYW5kaWRhdGUpLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiXG4gICAgKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgc3RhdGVtZW50IGlzIGFsbG93ZWQgaW4gYSBiYXJyZWwgZmlsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgUHJvZ3JhbSBzdGF0ZW1lbnQgbm9kZS5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIHBlcm1pdHRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudCA9IChcbiAgc3RhdGVtZW50OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc3RhdGVtZW50LmRlY2xhcmF0aW9uID8/IHZvaWQgMDtcblxuICBpZiAoZGVjbGFyYXRpb24gIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBpc1R5cGVPbmx5RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGVtZW50LnNvdXJjZSA/PyB2b2lkIDA7XG5cbiAgaWYgKHNvdXJjZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGlzVHlwZU9ubHlFeHBvcnQoc3RhdGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBydWxlIGxpc3RlbmVyIGZvciB0aGUgc3VwcGxpZWQgZmlsZS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgQWJzb2x1dGUgZmlsZW5hbWUgdG8gbGludC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHJ1bGUgbGlzdGVuZXIgZm9yIHRoZSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckZpbGUoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZExpc3RlbmVyRm9yRmlsZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBpZiAoXG4gICAgIWlzTGludGFibGVNb2R1bGVGaWxlKGZpbGVuYW1lKSB8fFxuICAgICFpc0JhcnJlbEZpbGUoZmlsZW5hbWUsIG9wdGlvbnMuYWxsb3dlZEJhcnJlbE5hbWVzU2V0KVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgdGhlIGZpcnN0IGludmFsaWQgYmFycmVsIHN0YXRlbWVudCBpbiB0aGUgcHJvZ3JhbS5cbiAgICAgKiBAcGFyYW0gbm9kZSBQcm9ncmFtIG5vZGUgdG8gaW5zcGVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsaXN0ZW5lci5Qcm9ncmFtKHByb2dyYW1Ob2RlKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBQcm9ncmFtKG5vZGU6IEFTVC5Qcm9ncmFtKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcbiAgICAgICAgaWYgKCFpc0FsbG93ZWRCYXJyZWxTdGF0ZW1lbnQoc3RhdGVtZW50KSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJpbnZhbGlkQmFycmVsQ29udGVudFwiLFxuICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgZW5mb3JjaW5nIHJlLWV4cG9ydC1vbmx5IGJhcnJlbCBmaWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU7XG4gKiBgYGBcbiAqL1xuY29uc3QgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgbGlzdGVuZXJzIGZvciB0aGUgY3VycmVudCBsaW50IGNvbnRleHQuXG4gICAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0ZW5lcnMgZm9yIHRoZSBjb250ZXh0LlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxpc3RlbmVycyA9IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgICogYGBgXG4gICAqL1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5maWxlbmFtZSxcbiAgICAgIGdldE9wdGlvbnMoY29udGV4dC5vcHRpb25zKSxcbiAgICApO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFt7IGFsbG93ZWRCYXJyZWxOYW1lczogW1wiaW5kZXhcIl0gfV0sXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiUmVxdWlyZSBiYXJyZWwgZmlsZXMgdG8gb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9iYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW52YWxpZEJhcnJlbENvbnRlbnQ6XG4gICAgICAgIFwiQmFycmVsIGZpbGVzIG11c3Qgb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBiYXJyZWwgZmlsZXMuXCIsXG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUgfTtcbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQThCakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixPQUEyQixFQUNFLEVBQUU7SUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBOEMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUNwRCxVQUFVLEVBQUUsa0JBQWtCLENBQy9CLENBQUM7SUFFRixPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFFLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUN4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUksS0FBc0MsQ0FBQyxJQUFJLENBQUM7SUFFckUsT0FBTyxDQUNMLGVBQWUsS0FBSyx3QkFBd0I7UUFDNUMsZUFBZSxLQUFLLHdCQUF3QixDQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBa0MsRUFBVyxFQUFFO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFeEMsSUFBSSxDQUFD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QUFFLDRGQUE0RjtTQUNsRztRQUNELFFBQVEsRUFBRTtZQUNSLG9CQUFvQixFQUNsQixnRkFBZ0Y7U0FDbkY7UUFDRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxvQkFBb0IsRUFBRSxLQUFLO2dCQUMzQixVQUFVLEVBQUU7b0JBQ1Ysa0JBQWtCLEVBQUU7d0JBQ2xCLFdBQVcsRUFDVCxrRUFBa0U7d0JBQ3BFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7d0JBQ3pCLFFBQVEsRUFBRSxDQUFDO3dCQUNYLElBQUksRUFBRSxPQUFPO3FCQUNkO2lCQUNGO2dCQUNELElBQUksRUFBRSxRQUFRO2FBQ2Y7U0FDRjtRQUNELElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBU1QsIFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgQmFycmVsRmlsZXNFeHBvcnRzT25seU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQge1xuICBpc0JhcnJlbEZpbGUsXG4gIGlzTGludGFibGVNb2R1bGVGaWxlLFxuICBub3JtYWxpemVBbGxvd2VkQmFycmVsTmFtZXMsXG59IGZyb20gXCIuL2JhcnJlbC1maWxlLXV0aWxpdGllc1wiO1xuXG4vKiogU3RvcmVzIG5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zIGZvciB0aGUgZXhwb3J0cy1vbmx5IHJ1bGUuICovXG5pbnRlcmZhY2UgQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlIHtcbiAgLyoqIEFsbG93ZWQgYmFycmVsIGJhc2VuYW1lcyBmb3IgdGhlIGN1cnJlbnQgcnVsZSBydW4uICovXG4gIGFsbG93ZWRCYXJyZWxOYW1lczogc3RyaW5nW107XG4gIC8qKiBBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgaW4gc2V0IGZvcm0gZm9yIHF1aWNrIGxvb2t1cHMuICovXG4gIGFsbG93ZWRCYXJyZWxOYW1lc1NldDogU2V0PHN0cmluZz47XG59XG5cbi8qKiBEZXNjcmliZXMgYSBkZWNsYXJhdGlvbi1saWtlIHZhbHVlIHRoYXQgbWF5IGV4cG9zZSBhIGB0eXBlYCBmaWVsZC4gKi9cbmludGVyZmFjZSBUeXBlT25seURlY2xhcmF0aW9uQ2FuZGlkYXRlIHtcbiAgLyoqIENhbmRpZGF0ZSBkZWNsYXJhdGlvbiB0eXBlLiAqL1xuICB0eXBlPzogdW5rbm93bjtcbn1cblxuLyoqIERlc2NyaWJlcyBhbiBleHBvcnQgZGVjbGFyYXRpb24tbGlrZSB2YWx1ZSB3aXRoIGV4cG9ydCBtZXRhZGF0YS4gKi9cbmludGVyZmFjZSBUeXBlT25seUV4cG9ydENhbmRpZGF0ZSB7XG4gIC8qKiBDYW5kaWRhdGUgZGVjbGFyYXRpb24tbGV2ZWwgZXhwb3J0IGtpbmQuICovXG4gIGV4cG9ydEtpbmQ/OiB1bmtub3duO1xuICAvKiogQ2FuZGlkYXRlIGV4cG9ydCBzcGVjaWZpZXJzLiAqL1xuICBzcGVjaWZpZXJzPzogdW5rbm93bjtcbn1cblxuLyoqIERlc2NyaWJlcyBhbiBleHBvcnQgc3BlY2lmaWVyLWxpa2UgdmFsdWUgdGhhdCBtYXkgZXhwb3NlIGBleHBvcnRLaW5kYC4gKi9cbmludGVyZmFjZSBUeXBlT25seUV4cG9ydFNwZWNpZmllckNhbmRpZGF0ZSB7XG4gIC8qKiBDYW5kaWRhdGUgZXhwb3J0IGtpbmQgZm9yIGEgc3BlY2lmaWVyLiAqL1xuICBleHBvcnRLaW5kPzogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgbm9ybWFsaXplZCBydWxlIG9wdGlvbnMgZnJvbSByYXcgaW5wdXQuXG4gKiBAcGFyYW0gb3B0aW9ucyBSYXcgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgZXhwb3J0cy1vbmx5IHJ1bGUgc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3RhdGUgPSBnZXRPcHRpb25zKFt7fV0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldE9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IHJlYWRvbmx5IHVua25vd25bXSxcbik6IEJhcnJlbEZpbGVzRXhwb3J0c09ubHlTdGF0ZSA9PiB7XG4gIGNvbnN0IHJhd09wdGlvbnMgPSBvcHRpb25zWzBdIGFzIEJhcnJlbEZpbGVzRXhwb3J0c09ubHlPcHRpb25zIHwgdW5kZWZpbmVkO1xuICBjb25zdCBhbGxvd2VkQmFycmVsTmFtZXMgPSBub3JtYWxpemVBbGxvd2VkQmFycmVsTmFtZXMoXG4gICAgcmF3T3B0aW9ucz8uYWxsb3dlZEJhcnJlbE5hbWVzLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgYWxsb3dlZEJhcnJlbE5hbWVzLFxuICAgIGFsbG93ZWRCYXJyZWxOYW1lc1NldDogbmV3IFNldChhbGxvd2VkQmFycmVsTmFtZXMpLFxuICB9O1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkuXG4gKiBAcGFyYW0gdmFsdWUgRGVjbGFyYXRpb24gY2FuZGlkYXRlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzVHlwZU9ubHlEZWNsYXJhdGlvbih7IHR5cGU6IFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiIH0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzVHlwZU9ubHlEZWNsYXJhdGlvbiA9ICh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4gPT4ge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGVjbGFyYXRpb25UeXBlID0gKHZhbHVlIGFzIFR5cGVPbmx5RGVjbGFyYXRpb25DYW5kaWRhdGUpLnR5cGU7XG5cbiAgcmV0dXJuIChcbiAgICBkZWNsYXJhdGlvblR5cGUgPT09IFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiIHx8XG4gICAgZGVjbGFyYXRpb25UeXBlID09PSBcIlRTVHlwZUFsaWFzRGVjbGFyYXRpb25cIlxuICApO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXhwb3J0IGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seSB2aWEgc3BlY2lmaWVycy5cbiAqIEBwYXJhbSBjYW5kaWRhdGUgRXhwb3J0IGRlY2xhcmF0aW9uIGNhbmRpZGF0ZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBleHBvcnQgZGVjbGFyYXRpb24gaXMgdHlwZS1vbmx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNUeXBlT25seUV4cG9ydCh7IGV4cG9ydEtpbmQ6IFwidHlwZVwiLCBzcGVjaWZpZXJzOiBbeyBleHBvcnRLaW5kOiBcInR5cGVcIiB9XSB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1R5cGVPbmx5RXhwb3J0ID0gKGNhbmRpZGF0ZTogVHlwZU9ubHlFeHBvcnRDYW5kaWRhdGUpOiBib29sZWFuID0+IHtcbiAgY29uc3Qgc3BlY2lmaWVycyA9IGNhbmRpZGF0ZS5zcGVjaWZpZXJzO1xuXG4gIGlmICghQXJyYXkuaXNBcnJheShzcGVjaWZpZXJzKSB8fCBzcGVjaWZpZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChjYW5kaWRhdGUuZXhwb3J0S2luZCA9PT0gXCJ0eXBlXCIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzcGVjaWZpZXJzLmV2ZXJ5KChzcGVjaWZpZXIpID0+IHtcbiAgICBpZiAoc3BlY2lmaWVyID09PSBudWxsIHx8IHR5cGVvZiBzcGVjaWZpZXIgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgKHNwZWNpZmllciBhcyBUeXBlT25seUV4cG9ydFNwZWNpZmllckNhbmRpZGF0ZSkuZXhwb3J0S2luZCA9PT0gXCJ0eXBlXCJcbiAgICApO1xuICB9KTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBzdGF0ZW1lbnQgaXMgYWxsb3dlZCBpbiBhIGJhcnJlbCBmaWxlLlxuICogQHBhcmFtIHN0YXRlbWVudCBQcm9ncmFtIHN0YXRlbWVudCBub2RlLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBzdGF0ZW1lbnQgaXMgcGVybWl0dGVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNBbGxvd2VkQmFycmVsU3RhdGVtZW50KHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNBbGxvd2VkQmFycmVsU3RhdGVtZW50ID0gKFxuICBzdGF0ZW1lbnQ6IEFTVC5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdLFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoc3RhdGVtZW50LnR5cGUgIT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZGVjbGFyYXRpb24gPSBzdGF0ZW1lbnQuZGVjbGFyYXRpb24gPz8gdm9pZCAwO1xuXG4gIGlmIChkZWNsYXJhdGlvbiAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGlzVHlwZU9ubHlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbik7XG4gIH1cblxuICBjb25zdCBzb3VyY2UgPSBzdGF0ZW1lbnQuc291cmNlID8/IHZvaWQgMDtcblxuICBpZiAoc291cmNlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gaXNUeXBlT25seUV4cG9ydChzdGF0ZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vKipcbiAqIEJ1aWxkcyBhIHJ1bGUgbGlzdGVuZXIgZm9yIHRoZSBzdXBwbGllZCBmaWxlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmaWxlbmFtZSBBYnNvbHV0ZSBmaWxlbmFtZSB0byBsaW50LlxuICogQHBhcmFtIG9wdGlvbnMgTm9ybWFsaXplZCBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcnVsZSBsaXN0ZW5lciBmb3IgdGhlIGZpbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGlzdGVuZXIgPSBidWlsZExpc3RlbmVyRm9yRmlsZShjb250ZXh0LCBmaWxlbmFtZSwgc3RhdGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkTGlzdGVuZXJGb3JGaWxlID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5U3RhdGUsXG4pOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PiB7XG4gIGlmIChcbiAgICAhaXNMaW50YWJsZU1vZHVsZUZpbGUoZmlsZW5hbWUpIHx8XG4gICAgIWlzQmFycmVsRmlsZShmaWxlbmFtZSwgb3B0aW9ucy5hbGxvd2VkQmFycmVsTmFtZXNTZXQpXG4gICkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogUmVwb3J0cyB0aGUgZmlyc3QgaW52YWxpZCBiYXJyZWwgc3RhdGVtZW50IGluIHRoZSBwcm9ncmFtLlxuICAgICAqIEBwYXJhbSBub2RlIFByb2dyYW0gbm9kZSB0byBpbnNwZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxpc3RlbmVyLlByb2dyYW0ocHJvZ3JhbU5vZGUpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIFByb2dyYW0obm9kZTogQVNULlByb2dyYW0pOiB2b2lkIHtcbiAgICAgIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIG5vZGUuYm9keSkge1xuICAgICAgICBpZiAoIWlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudChzdGF0ZW1lbnQpKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgbWVzc2FnZUlkOiBcImludmFsaWRCYXJyZWxDb250ZW50XCIsXG4gICAgICAgICAgICBub2RlOiBzdGF0ZW1lbnQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9O1xufTtcblxuLyoqXG4gKiBFU0xpbnQgcnVsZSBlbmZvcmNpbmcgcmUtZXhwb3J0LW9ubHkgYmFycmVsIGZpbGVzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJ1bGUgPSBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZTtcbiAqIGBgYFxuICovXG5jb25zdCBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICAvKipcbiAgICogQ3JlYXRlcyBsaXN0ZW5lcnMgZm9yIHRoZSBjdXJyZW50IGxpbnQgY29udGV4dC5cbiAgICogQHBhcmFtIGNvbnRleHQgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAgICogQHJldHVybnMgVGhlIGxpc3RlbmVycyBmb3IgdGhlIGNvbnRleHQuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgbGlzdGVuZXJzID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUuY3JlYXRlKGNvbnRleHQpO1xuICAgKiBgYGBcbiAgICovXG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgIGJ1aWxkTGlzdGVuZXJGb3JGaWxlKFxuICAgICAgY29udGV4dCxcbiAgICAgIGNvbnRleHQuZmlsZW5hbWUsXG4gICAgICBnZXRPcHRpb25zKGNvbnRleHQub3B0aW9ucyksXG4gICAgKSxcbiAgbWV0YToge1xuICAgIGRlZmF1bHRPcHRpb25zOiBbeyBhbGxvd2VkQmFycmVsTmFtZXM6IFtcImluZGV4XCJdIH1dLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgYmFycmVsIGZpbGVzIHRvIG9ubHkgY29udGFpbiByZS1leHBvcnQgc3RhdGVtZW50cyBvciB0eXBlLW9ubHkgZGVjbGFyYXRpb25zLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seS5tZFwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIGludmFsaWRCYXJyZWxDb250ZW50OlxuICAgICAgICBcIkJhcnJlbCBmaWxlcyBtdXN0IG9ubHkgY29udGFpbiByZS1leHBvcnQgc3RhdGVtZW50cyBvciB0eXBlLW9ubHkgZGVjbGFyYXRpb25zLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGFsbG93ZWRCYXJyZWxOYW1lczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiQWxsb3dlZCBiYXJyZWwgYmFzZW5hbWVzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYmFycmVsIGZpbGVzLlwiLFxuICAgICAgICAgICAgaXRlbXM6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlIH07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"no-import-export-aliases-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqUnC,yGAAyG;AACzG,QAAA,MAAM,yBAAyB,EAAE,IAAI,CAAC,UAkBrC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"no-import-export-aliases-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAoJnC,yGAAyG;AACzG,QAAA,MAAM,yBAAyB,EAAE,IAAI,CAAC,UAiBrC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,132 +1,4 @@
1
- /**
2
- * Adds all identifier names introduced by one binding pattern.
3
- * @param pattern Binding pattern to inspect.
4
- * @param boundNames Destination set.
5
- * @example
6
- * ```typescript
7
- * addPatternBoundNames(variable.id, names);
8
- * ```
9
- */
10
- const addPatternBoundNames = (pattern, boundNames) => {
11
- if (pattern.type === "Identifier") {
12
- boundNames.add(pattern.name);
13
- return;
14
- }
15
- if (pattern.type === "RestElement") {
16
- addPatternBoundNames(pattern.argument, boundNames);
17
- return;
18
- }
19
- if (pattern.type === "AssignmentPattern") {
20
- addPatternBoundNames(pattern.left, boundNames);
21
- return;
22
- }
23
- if (pattern.type === "ObjectPattern") {
24
- for (const property of pattern.properties) {
25
- if (property.type === "Property") {
26
- addPatternBoundNames(property.value, boundNames);
27
- }
28
- if (property.type === "RestElement") {
29
- addPatternBoundNames(property.argument, boundNames);
30
- }
31
- }
32
- return;
33
- }
34
- if (pattern.type === "ArrayPattern") {
35
- for (const element of pattern.elements) {
36
- if (element !== null) {
37
- addPatternBoundNames(element, boundNames);
38
- }
39
- }
40
- }
41
- };
42
- /**
43
- * Adds one declaration identifier name when present.
44
- * @param declaration Declaration that may bind an identifier.
45
- * @param boundNames Destination set.
46
- * @example
47
- * ```typescript
48
- * addDeclarationIdentifierBoundName(declaration, names);
49
- * ```
50
- */
51
- const addDeclarationIdentifierBoundName = (declaration, boundNames) => {
52
- if (declaration.id !== null && declaration.id !== void 0) {
53
- addPatternBoundNames(declaration.id, boundNames);
54
- }
55
- };
56
- /**
57
- * Adds bound variable names from one variable declaration.
58
- * @param declaration Variable declaration to inspect.
59
- * @param boundNames Destination set.
60
- * @example
61
- * ```typescript
62
- * addVariableBoundNames(declaration, names);
63
- * ```
64
- */
65
- const addVariableBoundNames = (declaration, boundNames) => {
66
- for (const variable of declaration.declarations) {
67
- addPatternBoundNames(variable.id, boundNames);
68
- }
69
- };
70
- /**
71
- * Collects bound names available for collision detection.
72
- * @param body Program body statements.
73
- * @returns Bound names in the file.
74
- * @example
75
- * ```typescript
76
- * const names = collectBoundNames(program.body);
77
- * ```
78
- */
79
- const collectBoundNames = (body) => {
80
- const boundNames = new Set();
81
- for (const statement of body) {
82
- if (statement.type === "ImportDeclaration") {
83
- const declarationImportKind = statement.importKind;
84
- for (const specifier of statement.specifiers) {
85
- const specifierImportKind = specifier.importKind;
86
- const isTypeOnly = declarationImportKind === "type" || specifierImportKind === "type";
87
- if (!isTypeOnly) {
88
- boundNames.add(specifier.local.name);
89
- }
90
- }
91
- }
92
- if (statement.type === "VariableDeclaration") {
93
- addVariableBoundNames(statement, boundNames);
94
- }
95
- if (statement.type === "FunctionDeclaration") {
96
- addDeclarationIdentifierBoundName(statement, boundNames);
97
- }
98
- if (statement.type === "ClassDeclaration") {
99
- addDeclarationIdentifierBoundName(statement, boundNames);
100
- }
101
- if (statement.type === "ExportNamedDeclaration" &&
102
- statement.declaration !== null &&
103
- statement.declaration !== void 0 &&
104
- statement.declaration.type === "VariableDeclaration") {
105
- addVariableBoundNames(statement.declaration, boundNames);
106
- }
107
- if (statement.type === "ExportNamedDeclaration" &&
108
- statement.declaration !== null &&
109
- statement.declaration !== void 0 &&
110
- statement.declaration.type === "FunctionDeclaration") {
111
- addDeclarationIdentifierBoundName(statement.declaration, boundNames);
112
- }
113
- if (statement.type === "ExportNamedDeclaration" &&
114
- statement.declaration !== null &&
115
- statement.declaration !== void 0 &&
116
- statement.declaration.type === "ClassDeclaration") {
117
- addDeclarationIdentifierBoundName(statement.declaration, boundNames);
118
- }
119
- if (statement.type === "ExportDefaultDeclaration" &&
120
- statement.declaration.type === "FunctionDeclaration") {
121
- addDeclarationIdentifierBoundName(statement.declaration, boundNames);
122
- }
123
- if (statement.type === "ExportDefaultDeclaration" &&
124
- statement.declaration.type === "ClassDeclaration") {
125
- addDeclarationIdentifierBoundName(statement.declaration, boundNames);
126
- }
127
- }
128
- return boundNames;
129
- };
1
+ import { collectBoundNames } from "./no-import-export-aliases-utilities.js";
130
2
  /**
131
3
  * Collects aliased named import specifiers from one import declaration.
132
4
  * @param declaration Import declaration to inspect.
@@ -196,7 +68,7 @@ const collectAliasedSpecifiers = (body) => {
196
68
  if (statement.type === "ImportDeclaration") {
197
69
  candidates.push(...collectImportAliasCandidates(statement));
198
70
  }
199
- if (statement.type === "ExportNamedDeclaration") {
71
+ else if (statement.type === "ExportNamedDeclaration") {
200
72
  candidates.push(...collectExportAliasCandidates(statement));
201
73
  }
202
74
  }
@@ -227,9 +99,7 @@ const buildListener = (context) => ({
227
99
  });
228
100
  /** ESLint rule that forbids aliased import/export names unless required by same-file name collisions. */
229
101
  const noImportExportAliasesRule = {
230
- create(context) {
231
- return buildListener(context);
232
- },
102
+ create: (context) => buildListener(context),
233
103
  meta: {
234
104
  docs: {
235
105
  description: "Forbid aliased import/export names unless the original name is already bound in the same file.",
@@ -244,4 +114,4 @@ const noImportExportAliasesRule = {
244
114
  },
245
115
  };
246
116
  export { noImportExportAliasesRule };
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9uby1pbXBvcnQtZXhwb3J0LWFsaWFzZXMtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QkE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLE9BQXVCLEVBQ3ZCLFVBQXVCLEVBQ2pCLEVBQUU7SUFDUixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDbEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFLENBQUM7UUFDbkMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRCxPQUFPO0lBQ1QsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7UUFDckMsS0FBSyxNQUFNLFFBQVEsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUMsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNqQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFLENBQUM7Z0JBQ3BDLG9CQUFvQixD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QUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixTQUFTLEVBQUUsaUJBQWlCO29CQUM1QixJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVM7aUJBQzFCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILHlHQUF5RztBQUN6RyxNQUFNLHlCQUF5QixHQUFvQjtJQUNqRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxnR0FBZ0c7WUFDbEcsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLDJGQUEyRjtTQUNqRztRQUNELFFBQVEsRUFBRTtZQUNSLGVBQWUsRUFDYiwyRkFBMkY7U0FDOUY7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG4vKiogVHJhY2tzIG9uZSBhbGlhc2VkIHNwZWNpZmllciBjYW5kaWRhdGUgaW4gYSBwcm9ncmFtLiAqL1xuaW50ZXJmYWNlIEFsaWFzZWRTcGVjaWZpZXJDYW5kaWRhdGUge1xuICAvKiogSWRlbnRpZmllciBuYW1lIGJlZm9yZSBhbGlhc2luZyAoZS5nLiBBIGluIEEgYXMgQikuICovXG4gIG9yaWdpbmFsTmFtZTogc3RyaW5nO1xuXG4gIC8qKiBTcGVjaWZpZXIgbm9kZSB0byByZXBvcnQgd2hlbiBhbGlhc2luZyBpcyBub3QgYWxsb3dlZC4gKi9cbiAgc3BlY2lmaWVyOiBFU1RyZWUuRXhwb3J0U3BlY2lmaWVyIHwgRVNUcmVlLkltcG9ydFNwZWNpZmllcjtcbn1cblxuLyoqIE1pbmltYWwgZGVjbGFyYXRpb24gc2hhcGUgdGhhdCBtYXkgY2FycnkgYW4gaWRlbnRpZmllciBiaW5kaW5nLiAqL1xuaW50ZXJmYWNlIERlY2xhcmF0aW9uV2l0aElkZW50aWZpZXIge1xuICAvKiogRGVjbGFyYXRpb24gaWRlbnRpZmllciBpZiBvbmUgZXhpc3RzLiAqL1xuICBpZD86IEVTVHJlZS5QYXR0ZXJuIHwgbnVsbDtcbn1cblxuLyoqIE9wdGlvbmFsIGV4cG9ydC1raW5kIGNhcnJpZXIgc2hhcGUgdXNlZCBmb3IgdHlwZS1vbmx5IGNoZWNrcy4gKi9cbmludGVyZmFjZSBFeHBvcnRLaW5kQ2FycmllciB7XG4gIC8qKiBFU1RyZWUtY29tcGF0aWJsZSBleHBvcnQga2luZCB2YWx1ZS4gKi9cbiAgZXhwb3J0S2luZD86IFwidHlwZVwiIHwgXCJ2YWx1ZVwiO1xufVxuXG4vKiogT3B0aW9uYWwgaW1wb3J0LWtpbmQgY2FycmllciBzaGFwZSB1c2VkIGZvciB0eXBlLW9ubHkgY2hlY2tzLiAqL1xuaW50ZXJmYWNlIEltcG9ydEtpbmRDYXJyaWVyIHtcbiAgLyoqIEVTVHJlZS1jb21wYXRpYmxlIGltcG9ydCBraW5kIHZhbHVlLiAqL1xuICBpbXBvcnRLaW5kPzogXCJ0eXBlXCIgfCBcInZhbHVlXCI7XG59XG5cbi8qKlxuICogQWRkcyBhbGwgaWRlbnRpZmllciBuYW1lcyBpbnRyb2R1Y2VkIGJ5IG9uZSBiaW5kaW5nIHBhdHRlcm4uXG4gKiBAcGFyYW0gcGF0dGVybiBCaW5kaW5nIHBhdHRlcm4gdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSBib3VuZE5hbWVzIERlc3RpbmF0aW9uIHNldC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhZGRQYXR0ZXJuQm91bmROYW1lcyh2YXJpYWJsZS5pZCwgbmFtZXMpO1xuICogYGBgXG4gKi9cbmNvbnN0IGFkZFBhdHRlcm5Cb3VuZE5hbWVzID0gKFxuICBwYXR0ZXJuOiBFU1RyZWUuUGF0dGVybixcbiAgYm91bmROYW1lczogU2V0PHN0cmluZz4sXG4pOiB2b2lkID0+IHtcbiAgaWYgKHBhdHRlcm4udHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICBib3VuZE5hbWVzLmFkZChwYXR0ZXJuLm5hbWUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXR0ZXJuLnR5cGUgPT09IFwiUmVzdEVsZW1lbnRcIikge1xuICAgIGFkZFBhdHRlcm5Cb3VuZE5hbWVzKHBhdHRlcm4uYXJndW1lbnQsIGJvdW5kTmFtZXMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXR0ZXJuLnR5cGUgPT09IFwiQXNzaWdubWVudFBhdHRlcm5cIikge1xuICAgIGFkZFBhdHRlcm5Cb3VuZE5hbWVzKHBhdHRlcm4ubGVmdCwgYm91bmROYW1lcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHBhdHRlcm4udHlwZSA9PT0gXCJPYmplY3RQYXR0ZXJuXCIpIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHBhdHRlcm4ucHJvcGVydGllcykge1xuICAgICAgaWYgKHByb3BlcnR5LnR5cGUgPT09IFwiUHJvcGVydHlcIikge1xuICAgICAgICBhZGRQYXR0ZXJuQm91bmROYW1lcyhwcm9wZXJ0eS52YWx1ZSwgYm91bmROYW1lcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eS50eXBlID09PSBcIlJlc3RFbGVtZW50XCIpIHtcbiAgICAgICAgYWRkUGF0dGVybkJvdW5kTmFtZXMocHJvcGVydHkuYXJndW1lbnQsIGJvdW5kTmFtZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXR0ZXJuLnR5cGUgPT09IFwiQXJyYXlQYXR0ZXJuXCIpIHtcbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgcGF0dGVybi5lbGVtZW50cykge1xuICAgICAgaWYgKGVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgYWRkUGF0dGVybkJvdW5kTmFtZXMoZWxlbWVudCwgYm91bmROYW1lcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIEFkZHMgb25lIGRlY2xhcmF0aW9uIGlkZW50aWZpZXIgbmFtZSB3aGVuIHByZXNlbnQuXG4gKiBAcGFyYW0gZGVjbGFyYXRpb24gRGVjbGFyYXRpb24gdGhhdCBtYXkgYmluZCBhbiBpZGVudGlmaWVyLlxuICogQHBhcmFtIGJvdW5kTmFtZXMgRGVzdGluYXRpb24gc2V0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFkZERlY2xhcmF0aW9uSWRlbnRpZmllckJvdW5kTmFtZShkZWNsYXJhdGlvbiwgbmFtZXMpO1xuICogYGBgXG4gKi9cbmNvbnN0IGFkZERlY2xhcmF0aW9uSWRlbnRpZmllckJvdW5kTmFtZSA9IChcbiAgZGVjbGFyYXRpb246IERlY2xhcmF0aW9uV2l0aElkZW50aWZpZXIsXG4gIGJvdW5kTmFtZXM6IFNldDxzdHJpbmc+LFxuKTogdm9pZCA9PiB7XG4gIGlmIChkZWNsYXJhdGlvbi5pZCAhPT0gbnVsbCAmJiBkZWNsYXJhdGlvbi5pZCAhPT0gdm9pZCAwKSB7XG4gICAgYWRkUGF0dGVybkJvdW5kTmFtZXMoZGVjbGFyYXRpb24uaWQsIGJvdW5kTmFtZXMpO1xuICB9XG59O1xuXG4vKipcbiAqIEFkZHMgYm91bmQgdmFyaWFibGUgbmFtZXMgZnJvbSBvbmUgdmFyaWFibGUgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gZGVjbGFyYXRpb24gVmFyaWFibGUgZGVjbGFyYXRpb24gdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSBib3VuZE5hbWVzIERlc3RpbmF0aW9uIHNldC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhZGRWYXJpYWJsZUJvdW5kTmFtZXMoZGVjbGFyYXRpb24sIG5hbWVzKTtcbiAqIGBgYFxuICovXG5jb25zdCBhZGRWYXJpYWJsZUJvdW5kTmFtZXMgPSAoXG4gIGRlY2xhcmF0aW9uOiBFU1RyZWUuVmFyaWFibGVEZWNsYXJhdGlvbixcbiAgYm91bmROYW1lczogU2V0PHN0cmluZz4sXG4pOiB2b2lkID0+IHtcbiAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiBkZWNsYXJhdGlvbi5kZWNsYXJhdGlvbnMpIHtcbiAgICBhZGRQYXR0ZXJuQm91bmROYW1lcyh2YXJpYWJsZS5pZCwgYm91bmROYW1lcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQ29sbGVjdHMgYm91bmQgbmFtZXMgYXZhaWxhYmxlIGZvciBjb2xsaXNpb24gZGV0ZWN0aW9uLlxuICogQHBhcmFtIGJvZHkgUHJvZ3JhbSBib2R5IHN0YXRlbWVudHMuXG4gKiBAcmV0dXJucyBCb3VuZCBuYW1lcyBpbiB0aGUgZmlsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuYW1lcyA9IGNvbGxlY3RCb3VuZE5hbWVzKHByb2dyYW0uYm9keSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdEJvdW5kTmFtZXMgPSAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKTogU2V0PHN0cmluZz4gPT4ge1xuICBjb25zdCBib3VuZE5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgYm9keSkge1xuICAgIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiKSB7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbkltcG9ydEtpbmQgPSAoc3RhdGVtZW50IGFzIEltcG9ydEtpbmRDYXJyaWVyKS5pbXBvcnRLaW5kO1xuXG4gICAgICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBzdGF0ZW1lbnQuc3BlY2lmaWVycykge1xuICAgICAgICBjb25zdCBzcGVjaWZpZXJJbXBvcnRLaW5kID0gKHNwZWNpZmllciBhcyBJbXBvcnRLaW5kQ2FycmllcikuaW1wb3J0S2luZDtcbiAgICAgICAgY29uc3QgaXNUeXBlT25seSA9XG4gICAgICAgICAgZGVjbGFyYXRpb25JbXBvcnRLaW5kID09PSBcInR5cGVcIiB8fCBzcGVjaWZpZXJJbXBvcnRLaW5kID09PSBcInR5cGVcIjtcblxuICAgICAgICBpZiAoIWlzVHlwZU9ubHkpIHtcbiAgICAgICAgICBib3VuZE5hbWVzLmFkZChzcGVjaWZpZXIubG9jYWwubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSB7XG4gICAgICBhZGRWYXJpYWJsZUJvdW5kTmFtZXMoc3RhdGVtZW50LCBib3VuZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiKSB7XG4gICAgICBhZGREZWNsYXJhdGlvbklkZW50aWZpZXJCb3VuZE5hbWUoc3RhdGVtZW50LCBib3VuZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiQ2xhc3NEZWNsYXJhdGlvblwiKSB7XG4gICAgICBhZGREZWNsYXJhdGlvbklkZW50aWZpZXJCb3VuZE5hbWUoc3RhdGVtZW50LCBib3VuZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIgJiZcbiAgICAgIHN0YXRlbWVudC5kZWNsYXJhdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgc3RhdGVtZW50LmRlY2xhcmF0aW9uICE9PSB2b2lkIDAgJiZcbiAgICAgIHN0YXRlbWVudC5kZWNsYXJhdGlvbi50eXBlID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIlxuICAgICkge1xuICAgICAgYWRkVmFyaWFibGVCb3VuZE5hbWVzKHN0YXRlbWVudC5kZWNsYXJhdGlvbiwgYm91bmROYW1lcyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiICYmXG4gICAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb24gIT09IG51bGwgJiZcbiAgICAgIHN0YXRlbWVudC5kZWNsYXJhdGlvbiAhPT0gdm9pZCAwICYmXG4gICAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb24udHlwZSA9PT0gXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCJcbiAgICApIHtcbiAgICAgIGFkZERlY2xhcmF0aW9uSWRlbnRpZmllckJvdW5kTmFtZShzdGF0ZW1lbnQuZGVjbGFyYXRpb24sIGJvdW5kTmFtZXMpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHN0YXRlbWVudC50eXBlID09PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIiAmJlxuICAgICAgc3RhdGVtZW50LmRlY2xhcmF0aW9uICE9PSBudWxsICYmXG4gICAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb24gIT09IHZvaWQgMCAmJlxuICAgICAgc3RhdGVtZW50LmRlY2xhcmF0aW9uLnR5cGUgPT09IFwiQ2xhc3NEZWNsYXJhdGlvblwiXG4gICAgKSB7XG4gICAgICBhZGREZWNsYXJhdGlvbklkZW50aWZpZXJCb3VuZE5hbWUoc3RhdGVtZW50LmRlY2xhcmF0aW9uLCBib3VuZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIiAmJlxuICAgICAgc3RhdGVtZW50LmRlY2xhcmF0aW9uLnR5cGUgPT09IFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiXG4gICAgKSB7XG4gICAgICBhZGREZWNsYXJhdGlvbklkZW50aWZpZXJCb3VuZE5hbWUoc3RhdGVtZW50LmRlY2xhcmF0aW9uLCBib3VuZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIiAmJlxuICAgICAgc3RhdGVtZW50LmRlY2xhcmF0aW9uLnR5cGUgPT09IFwiQ2xhc3NEZWNsYXJhdGlvblwiXG4gICAgKSB7XG4gICAgICBhZGREZWNsYXJhdGlvbklkZW50aWZpZXJCb3VuZE5hbWUoc3RhdGVtZW50LmRlY2xhcmF0aW9uLCBib3VuZE5hbWVzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYm91bmROYW1lcztcbn07XG5cbi8qKlxuICogQ29sbGVjdHMgYWxpYXNlZCBuYW1lZCBpbXBvcnQgc3BlY2lmaWVycyBmcm9tIG9uZSBpbXBvcnQgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gZGVjbGFyYXRpb24gSW1wb3J0IGRlY2xhcmF0aW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBBbGlhc2VkIGltcG9ydCBzcGVjaWZpZXIgY2FuZGlkYXRlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjYW5kaWRhdGVzID0gY29sbGVjdEltcG9ydEFsaWFzQ2FuZGlkYXRlcyhkZWNsYXJhdGlvbik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdEltcG9ydEFsaWFzQ2FuZGlkYXRlcyA9IChcbiAgZGVjbGFyYXRpb246IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbixcbik6IEFsaWFzZWRTcGVjaWZpZXJDYW5kaWRhdGVbXSA9PiB7XG4gIGNvbnN0IGNhbmRpZGF0ZXM6IEFsaWFzZWRTcGVjaWZpZXJDYW5kaWRhdGVbXSA9IFtdO1xuICBjb25zdCBkZWNsYXJhdGlvbkltcG9ydEtpbmQgPSAoZGVjbGFyYXRpb24gYXMgSW1wb3J0S2luZENhcnJpZXIpLmltcG9ydEtpbmQ7XG5cbiAgZm9yIChjb25zdCBzcGVjaWZpZXIgb2YgZGVjbGFyYXRpb24uc3BlY2lmaWVycykge1xuICAgIGNvbnN0IHNwZWNpZmllckltcG9ydEtpbmQgPSAoc3BlY2lmaWVyIGFzIEltcG9ydEtpbmRDYXJyaWVyKS5pbXBvcnRLaW5kO1xuICAgIGNvbnN0IGlzVHlwZU9ubHkgPVxuICAgICAgZGVjbGFyYXRpb25JbXBvcnRLaW5kID09PSBcInR5cGVcIiB8fCBzcGVjaWZpZXJJbXBvcnRLaW5kID09PSBcInR5cGVcIjtcblxuICAgIGlmIChcbiAgICAgICFpc1R5cGVPbmx5ICYmXG4gICAgICBzcGVjaWZpZXIudHlwZSA9PT0gXCJJbXBvcnRTcGVjaWZpZXJcIiAmJlxuICAgICAgc3BlY2lmaWVyLmltcG9ydGVkLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICBzcGVjaWZpZXIubG9jYWwubmFtZSAhPT0gc3BlY2lmaWVyLmltcG9ydGVkLm5hbWVcbiAgICApIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaCh7XG4gICAgICAgIG9yaWdpbmFsTmFtZTogc3BlY2lmaWVyLmltcG9ydGVkLm5hbWUsXG4gICAgICAgIHNwZWNpZmllcixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjYW5kaWRhdGVzO1xufTtcblxuLyoqXG4gKiBDb2xsZWN0cyBhbGlhc2VkIG5hbWVkIGV4cG9ydCBzcGVjaWZpZXJzIGZyb20gb25lIGV4cG9ydCBkZWNsYXJhdGlvbi5cbiAqIEBwYXJhbSBkZWNsYXJhdGlvbiBFeHBvcnQgZGVjbGFyYXRpb24gdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIEFsaWFzZWQgZXhwb3J0IHNwZWNpZmllciBjYW5kaWRhdGVzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNhbmRpZGF0ZXMgPSBjb2xsZWN0RXhwb3J0QWxpYXNDYW5kaWRhdGVzKGRlY2xhcmF0aW9uKTtcbiAqIGBgYFxuICovXG5jb25zdCBjb2xsZWN0RXhwb3J0QWxpYXNDYW5kaWRhdGVzID0gKFxuICBkZWNsYXJhdGlvbjogRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24sXG4pOiBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlW10gPT4ge1xuICBjb25zdCBjYW5kaWRhdGVzOiBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlW10gPSBbXTtcbiAgY29uc3QgZGVjbGFyYXRpb25FeHBvcnRLaW5kID0gKGRlY2xhcmF0aW9uIGFzIEV4cG9ydEtpbmRDYXJyaWVyKS5leHBvcnRLaW5kO1xuXG4gIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGRlY2xhcmF0aW9uLnNwZWNpZmllcnMpIHtcbiAgICBjb25zdCBzcGVjaWZpZXJFeHBvcnRLaW5kID0gKHNwZWNpZmllciBhcyBFeHBvcnRLaW5kQ2FycmllcikuZXhwb3J0S2luZDtcbiAgICBjb25zdCBpc1R5cGVPbmx5ID1cbiAgICAgIGRlY2xhcmF0aW9uRXhwb3J0S2luZCA9PT0gXCJ0eXBlXCIgfHwgc3BlY2lmaWVyRXhwb3J0S2luZCA9PT0gXCJ0eXBlXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNUeXBlT25seSAmJlxuICAgICAgc3BlY2lmaWVyLmxvY2FsLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICBzcGVjaWZpZXIuZXhwb3J0ZWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgIHNwZWNpZmllci5sb2NhbC5uYW1lICE9PSBzcGVjaWZpZXIuZXhwb3J0ZWQubmFtZVxuICAgICkge1xuICAgICAgY2FuZGlkYXRlcy5wdXNoKHtcbiAgICAgICAgb3JpZ2luYWxOYW1lOiBzcGVjaWZpZXIubG9jYWwubmFtZSxcbiAgICAgICAgc3BlY2lmaWVyLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNhbmRpZGF0ZXM7XG59O1xuXG4vKipcbiAqIENvbGxlY3RzIGFsaWFzZWQgaW1wb3J0L2V4cG9ydCBuYW1lZCBzcGVjaWZpZXJzLlxuICogQHBhcmFtIGJvZHkgUHJvZ3JhbSBib2R5IHN0YXRlbWVudHMuXG4gKiBAcmV0dXJucyBBbGlhc2VkIG5hbWVkIGltcG9ydC9leHBvcnQgc3BlY2lmaWVycy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjYW5kaWRhdGVzID0gY29sbGVjdEFsaWFzZWRTcGVjaWZpZXJzKHByb2dyYW0uYm9keSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdEFsaWFzZWRTcGVjaWZpZXJzID0gKFxuICBib2R5OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl0sXG4pOiBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlW10gPT4ge1xuICBjb25zdCBjYW5kaWRhdGVzOiBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBib2R5KSB7XG4gICAgaWYgKHN0YXRlbWVudC50eXBlID09PSBcIkltcG9ydERlY2xhcmF0aW9uXCIpIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaCguLi5jb2xsZWN0SW1wb3J0QWxpYXNDYW5kaWRhdGVzKHN0YXRlbWVudCkpO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIpIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaCguLi5jb2xsZWN0RXhwb3J0QWxpYXNDYW5kaWRhdGVzKHN0YXRlbWVudCkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjYW5kaWRhdGVzO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBsaXN0ZW5lciBmb3IgdGhpcyBydWxlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEByZXR1cm5zIExpc3RlbmVyIGZvciBpbXBvcnQvZXhwb3J0IGFsaWFzIGNoZWNrcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkTGlzdGVuZXIoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYnVpbGRMaXN0ZW5lciA9IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIgPT4gKHtcbiAgUHJvZ3JhbShub2RlOiBFU1RyZWUuUHJvZ3JhbSk6IHZvaWQge1xuICAgIGNvbnN0IGJvdW5kTmFtZXMgPSBjb2xsZWN0Qm91bmROYW1lcyhub2RlLmJvZHkpO1xuICAgIGNvbnN0IGFsaWFzZWRTcGVjaWZpZXJzID0gY29sbGVjdEFsaWFzZWRTcGVjaWZpZXJzKG5vZGUuYm9keSk7XG5cbiAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBhbGlhc2VkU3BlY2lmaWVycykge1xuICAgICAgaWYgKCFib3VuZE5hbWVzLmhhcyhjYW5kaWRhdGUub3JpZ2luYWxOYW1lKSkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbWVzc2FnZUlkOiBcImFsaWFzTm90QWxsb3dlZFwiLFxuICAgICAgICAgIG5vZGU6IGNhbmRpZGF0ZS5zcGVjaWZpZXIsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn0pO1xuXG4vKiogRVNMaW50IHJ1bGUgdGhhdCBmb3JiaWRzIGFsaWFzZWQgaW1wb3J0L2V4cG9ydCBuYW1lcyB1bmxlc3MgcmVxdWlyZWQgYnkgc2FtZS1maWxlIG5hbWUgY29sbGlzaW9ucy4gKi9cbmNvbnN0IG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gICAgcmV0dXJuIGJ1aWxkTGlzdGVuZXIoY29udGV4dCk7XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJGb3JiaWQgYWxpYXNlZCBpbXBvcnQvZXhwb3J0IG5hbWVzIHVubGVzcyB0aGUgb3JpZ2luYWwgbmFtZSBpcyBhbHJlYWR5IGJvdW5kIGluIHRoZSBzYW1lIGZpbGUuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9uby1pbXBvcnQtZXhwb3J0LWFsaWFzZXMubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBhbGlhc05vdEFsbG93ZWQ6XG4gICAgICAgIFwiQXZvaWQgYWxpYXNlZCBpbXBvcnQvZXhwb3J0IG5hbWVzIHVubGVzcyB0aGUgb3JpZ2luYWwgbmFtZSBpcyBhbHJlYWR5IGJvdW5kIGluIHRoaXMgZmlsZS5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlIH07XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9uby1pbXBvcnQtZXhwb3J0LWFsaWFzZXMtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQXVCekU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDRCQUE0QixHQUFHLENBQ25DLFdBQXFDLEVBQ1IsRUFBRTtJQUMvQixNQUFNLFVBQVUsR0FBZ0MsRUFBRSxDQUFDO0lBQ25ELE1BQU0scUJBQXFCLEdBQUksV0FBaUMsQ0FBQyxVQUFVLENBQUM7SUFFNUUsS0FBSyxNQUFNLFNBQVMsSUFBSSxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsTUFBTSxtQkFBbUIsR0FBSSxTQUErQixDQUFDLFVBQVUsQ0FBQztRQUN4RSxNQUFNLFVBQVUsR0FDZCxxQkFBcUIsS0FBSyxNQUFNLElBQUksbUJBQW1CLEtBQUssTUFBTSxDQUFDO1FBRXJFLElBQ0UsQ0FBQyxVQUFVO1lBQ1gsU0FBUyxDQUFDLElBQUksS0FBSyxpQkFBaUI7WUFDcEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUN4QyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFDaEQsQ0FBQztZQUNELFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsWUFBWSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDckMsU0FBUzthQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDRCQUE0QixHQUFHLENB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgeyBjb2xsZWN0Qm91bmROYW1lcyB9IGZyb20gXCIuL25vLWltcG9ydC1leHBvcnQtYWxpYXNlcy11dGlsaXRpZXNcIjtcblxuLyoqIFRyYWNrcyBvbmUgYWxpYXNlZCBzcGVjaWZpZXIgY2FuZGlkYXRlIGluIGEgcHJvZ3JhbS4gKi9cbmludGVyZmFjZSBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlIHtcbiAgLyoqIElkZW50aWZpZXIgbmFtZSBiZWZvcmUgYWxpYXNpbmcgKGUuZy4gQSBpbiBBIGFzIEIpLiAqL1xuICBvcmlnaW5hbE5hbWU6IHN0cmluZztcblxuICAvKiogU3BlY2lmaWVyIG5vZGUgdG8gcmVwb3J0IHdoZW4gYWxpYXNpbmcgaXMgbm90IGFsbG93ZWQuICovXG4gIHNwZWNpZmllcjogRVNUcmVlLkV4cG9ydFNwZWNpZmllciB8IEVTVHJlZS5JbXBvcnRTcGVjaWZpZXI7XG59XG5cbi8qKiBPcHRpb25hbCBleHBvcnQta2luZCBjYXJyaWVyIHNoYXBlIHVzZWQgZm9yIHR5cGUtb25seSBjaGVja3MuICovXG5pbnRlcmZhY2UgRXhwb3J0S2luZENhcnJpZXIge1xuICAvKiogRVNUcmVlLWNvbXBhdGlibGUgZXhwb3J0IGtpbmQgdmFsdWUuICovXG4gIGV4cG9ydEtpbmQ/OiBcInR5cGVcIiB8IFwidmFsdWVcIjtcbn1cblxuLyoqIE9wdGlvbmFsIGltcG9ydC1raW5kIGNhcnJpZXIgc2hhcGUgdXNlZCBmb3IgdHlwZS1vbmx5IGNoZWNrcy4gKi9cbmludGVyZmFjZSBJbXBvcnRLaW5kQ2FycmllciB7XG4gIC8qKiBFU1RyZWUtY29tcGF0aWJsZSBpbXBvcnQga2luZCB2YWx1ZS4gKi9cbiAgaW1wb3J0S2luZD86IFwidHlwZVwiIHwgXCJ2YWx1ZVwiO1xufVxuXG4vKipcbiAqIENvbGxlY3RzIGFsaWFzZWQgbmFtZWQgaW1wb3J0IHNwZWNpZmllcnMgZnJvbSBvbmUgaW1wb3J0IGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIGRlY2xhcmF0aW9uIEltcG9ydCBkZWNsYXJhdGlvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgQWxpYXNlZCBpbXBvcnQgc3BlY2lmaWVyIGNhbmRpZGF0ZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY2FuZGlkYXRlcyA9IGNvbGxlY3RJbXBvcnRBbGlhc0NhbmRpZGF0ZXMoZGVjbGFyYXRpb24pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNvbGxlY3RJbXBvcnRBbGlhc0NhbmRpZGF0ZXMgPSAoXG4gIGRlY2xhcmF0aW9uOiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24sXG4pOiBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlW10gPT4ge1xuICBjb25zdCBjYW5kaWRhdGVzOiBBbGlhc2VkU3BlY2lmaWVyQ2FuZGlkYXRlW10gPSBbXTtcbiAgY29uc3QgZGVjbGFyYXRpb25JbXBvcnRLaW5kID0gKGRlY2xhcmF0aW9uIGFzIEltcG9ydEtpbmRDYXJyaWVyKS5pbXBvcnRLaW5kO1xuXG4gIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGRlY2xhcmF0aW9uLnNwZWNpZmllcnMpIHtcbiAgICBjb25zdCBzcGVjaWZpZXJJbXBvcnRLaW5kID0gKHNwZWNpZmllciBhcyBJbXBvcnRLaW5kQ2FycmllcikuaW1wb3J0S2luZDtcbiAgICBjb25zdCBpc1R5cGVPbmx5ID1cbiAgICAgIGRlY2xhcmF0aW9uSW1wb3J0S2luZCA9PT0gXCJ0eXBlXCIgfHwgc3BlY2lmaWVySW1wb3J0S2luZCA9PT0gXCJ0eXBlXCI7XG5cbiAgICBpZiAoXG4gICAgICAhaXNUeXBlT25seSAmJlxuICAgICAgc3BlY2lmaWVyLnR5cGUgPT09IFwiSW1wb3J0U3BlY2lmaWVyXCIgJiZcbiAgICAgIHNwZWNpZmllci5pbXBvcnRlZC50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgc3BlY2lmaWVyLmxvY2FsLm5hbWUgIT09IHNwZWNpZmllci5pbXBvcnRlZC5uYW1lXG4gICAgKSB7XG4gICAgICBjYW5kaWRhdGVzLnB1c2goe1xuICAgICAgICBvcmlnaW5hbE5hbWU6IHNwZWNpZmllci5pbXBvcnRlZC5uYW1lLFxuICAgICAgICBzcGVjaWZpZXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuZGlkYXRlcztcbn07XG5cbi8qKlxuICogQ29sbGVjdHMgYWxpYXNlZCBuYW1lZCBleHBvcnQgc3BlY2lmaWVycyBmcm9tIG9uZSBleHBvcnQgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gZGVjbGFyYXRpb24gRXhwb3J0IGRlY2xhcmF0aW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBBbGlhc2VkIGV4cG9ydCBzcGVjaWZpZXIgY2FuZGlkYXRlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjYW5kaWRhdGVzID0gY29sbGVjdEV4cG9ydEFsaWFzQ2FuZGlkYXRlcyhkZWNsYXJhdGlvbik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdEV4cG9ydEFsaWFzQ2FuZGlkYXRlcyA9IChcbiAgZGVjbGFyYXRpb246IEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uLFxuKTogQWxpYXNlZFNwZWNpZmllckNhbmRpZGF0ZVtdID0+IHtcbiAgY29uc3QgY2FuZGlkYXRlczogQWxpYXNlZFNwZWNpZmllckNhbmRpZGF0ZVtdID0gW107XG4gIGNvbnN0IGRlY2xhcmF0aW9uRXhwb3J0S2luZCA9IChkZWNsYXJhdGlvbiBhcyBFeHBvcnRLaW5kQ2FycmllcikuZXhwb3J0S2luZDtcblxuICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBkZWNsYXJhdGlvbi5zcGVjaWZpZXJzKSB7XG4gICAgY29uc3Qgc3BlY2lmaWVyRXhwb3J0S2luZCA9IChzcGVjaWZpZXIgYXMgRXhwb3J0S2luZENhcnJpZXIpLmV4cG9ydEtpbmQ7XG4gICAgY29uc3QgaXNUeXBlT25seSA9XG4gICAgICBkZWNsYXJhdGlvbkV4cG9ydEtpbmQgPT09IFwidHlwZVwiIHx8IHNwZWNpZmllckV4cG9ydEtpbmQgPT09IFwidHlwZVwiO1xuXG4gICAgaWYgKFxuICAgICAgIWlzVHlwZU9ubHkgJiZcbiAgICAgIHNwZWNpZmllci5sb2NhbC50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgc3BlY2lmaWVyLmV4cG9ydGVkLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICBzcGVjaWZpZXIubG9jYWwubmFtZSAhPT0gc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWVcbiAgICApIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaCh7XG4gICAgICAgIG9yaWdpbmFsTmFtZTogc3BlY2lmaWVyLmxvY2FsLm5hbWUsXG4gICAgICAgIHNwZWNpZmllcixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjYW5kaWRhdGVzO1xufTtcblxuLyoqXG4gKiBDb2xsZWN0cyBhbGlhc2VkIGltcG9ydC9leHBvcnQgbmFtZWQgc3BlY2lmaWVycy5cbiAqIEBwYXJhbSBib2R5IFByb2dyYW0gYm9keSBzdGF0ZW1lbnRzLlxuICogQHJldHVybnMgQWxpYXNlZCBuYW1lZCBpbXBvcnQvZXhwb3J0IHNwZWNpZmllcnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY2FuZGlkYXRlcyA9IGNvbGxlY3RBbGlhc2VkU3BlY2lmaWVycyhwcm9ncmFtLmJvZHkpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNvbGxlY3RBbGlhc2VkU3BlY2lmaWVycyA9IChcbiAgYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdLFxuKTogQWxpYXNlZFNwZWNpZmllckNhbmRpZGF0ZVtdID0+IHtcbiAgY29uc3QgY2FuZGlkYXRlczogQWxpYXNlZFNwZWNpZmllckNhbmRpZGF0ZVtdID0gW107XG5cbiAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgYm9keSkge1xuICAgIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiKSB7XG4gICAgICBjYW5kaWRhdGVzLnB1c2goLi4uY29sbGVjdEltcG9ydEFsaWFzQ2FuZGlkYXRlcyhzdGF0ZW1lbnQpKTtcbiAgICB9IGVsc2UgaWYgKHN0YXRlbWVudC50eXBlID09PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgICAgY2FuZGlkYXRlcy5wdXNoKC4uLmNvbGxlY3RFeHBvcnRBbGlhc0NhbmRpZGF0ZXMoc3RhdGVtZW50KSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNhbmRpZGF0ZXM7XG59O1xuXG4vKipcbiAqIEJ1aWxkcyBhIGxpc3RlbmVyIGZvciB0aGlzIHJ1bGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHJldHVybnMgTGlzdGVuZXIgZm9yIGltcG9ydC9leHBvcnQgYWxpYXMgY2hlY2tzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lcihjb250ZXh0KTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZExpc3RlbmVyID0gKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PiAoe1xuICBQcm9ncmFtKG5vZGU6IEVTVHJlZS5Qcm9ncmFtKTogdm9pZCB7XG4gICAgY29uc3QgYm91bmROYW1lcyA9IGNvbGxlY3RCb3VuZE5hbWVzKG5vZGUuYm9keSk7XG4gICAgY29uc3QgYWxpYXNlZFNwZWNpZmllcnMgPSBjb2xsZWN0QWxpYXNlZFNwZWNpZmllcnMobm9kZS5ib2R5KTtcblxuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGFsaWFzZWRTcGVjaWZpZXJzKSB7XG4gICAgICBpZiAoIWJvdW5kTmFtZXMuaGFzKGNhbmRpZGF0ZS5vcmlnaW5hbE5hbWUpKSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBtZXNzYWdlSWQ6IFwiYWxpYXNOb3RBbGxvd2VkXCIsXG4gICAgICAgICAgbm9kZTogY2FuZGlkYXRlLnNwZWNpZmllcixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufSk7XG5cbi8qKiBFU0xpbnQgcnVsZSB0aGF0IGZvcmJpZHMgYWxpYXNlZCBpbXBvcnQvZXhwb3J0IG5hbWVzIHVubGVzcyByZXF1aXJlZCBieSBzYW1lLWZpbGUgbmFtZSBjb2xsaXNpb25zLiAqL1xuY29uc3Qgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGU6IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIgPT5cbiAgICBidWlsZExpc3RlbmVyKGNvbnRleHQpLFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiRm9yYmlkIGFsaWFzZWQgaW1wb3J0L2V4cG9ydCBuYW1lcyB1bmxlc3MgdGhlIG9yaWdpbmFsIG5hbWUgaXMgYWxyZWFkeSBib3VuZCBpbiB0aGUgc2FtZSBmaWxlLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvbm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzLm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgYWxpYXNOb3RBbGxvd2VkOlxuICAgICAgICBcIkF2b2lkIGFsaWFzZWQgaW1wb3J0L2V4cG9ydCBuYW1lcyB1bmxlc3MgdGhlIG9yaWdpbmFsIG5hbWUgaXMgYWxyZWFkeSBib3VuZCBpbiB0aGlzIGZpbGUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSB9O1xuIl19
@@ -0,0 +1,14 @@
1
+ import type * as ESTree from "estree";
2
+ /**
3
+ * Collects bound names available for collision detection.
4
+ * @param body Program body statements.
5
+ * @returns Bound names in the file.
6
+ * @example
7
+ * ```typescript
8
+ * const names = collectBoundNames(program.body);
9
+ * ```
10
+ */
11
+ declare const collectBoundNames: (body: ESTree.Program["body"]) => Set<string>;
12
+ /** Companion marker for module isolation. */
13
+ export { collectBoundNames };
14
+ //# sourceMappingURL=no-import-export-aliases-utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-import-export-aliases-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AA4LtC;;;;;;;;GAQG;AACH,QAAA,MAAM,iBAAiB,GAAI,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAG,GAAG,CAAC,MAAM,CAQnE,CAAC;AAEF,6CAA6C;AAC7C,OAAO,EAAE,iBAAiB,EAAE,CAAC"}