@codeperfect/eslint-plugin 2.6.0 → 2.8.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 (108) hide show
  1. package/README.md +3 -7
  2. package/dist/application/custom-rules.d.ts.map +1 -1
  3. package/dist/application/custom-rules.js +15 -57
  4. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  5. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +1 -1
  6. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +0 -1
  7. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -1
  8. package/dist/domain/architecture/consistent-barrel-files/index.js +1 -2
  9. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
  10. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +3 -9
  11. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  12. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +3 -9
  13. package/dist/domain/architecture/index.d.ts +2 -1
  14. package/dist/domain/architecture/index.d.ts.map +1 -1
  15. package/dist/domain/architecture/index.js +3 -2
  16. package/dist/domain/architecture/no-import-export-extensions/index.d.ts +2 -0
  17. package/dist/domain/architecture/no-import-export-extensions/index.d.ts.map +1 -0
  18. package/dist/domain/architecture/no-import-export-extensions/index.js +2 -0
  19. package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.d.ts.map +1 -0
  20. package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.js +171 -0
  21. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  22. package/dist/domain/core/no-multiple-declarators/rule.js +6 -1
  23. package/dist/domain/core/no-multiple-declarators/types.js +1 -1
  24. package/dist/domain/core/no-useless-delegation/rule.d.ts.map +1 -1
  25. package/dist/domain/core/no-useless-delegation/rule.js +12 -8
  26. package/dist/domain/core/prefer-interface-types/autofix.d.ts +15 -0
  27. package/dist/domain/core/prefer-interface-types/autofix.d.ts.map +1 -0
  28. package/dist/domain/core/prefer-interface-types/autofix.js +196 -0
  29. package/dist/domain/core/prefer-interface-types/declaration-names.d.ts +23 -0
  30. package/dist/domain/core/prefer-interface-types/declaration-names.d.ts.map +1 -0
  31. package/dist/domain/core/prefer-interface-types/declaration-names.js +139 -0
  32. package/dist/domain/core/prefer-interface-types/naming.d.ts +45 -0
  33. package/dist/domain/core/prefer-interface-types/naming.d.ts.map +1 -0
  34. package/dist/domain/core/prefer-interface-types/naming.js +179 -0
  35. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +2 -0
  36. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -1
  37. package/dist/domain/core/prefer-interface-types/rule-utilities.js +1 -1
  38. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  39. package/dist/domain/core/prefer-interface-types/rule.js +40 -16
  40. package/dist/domain/core/prefer-interface-types/types.d.ts +80 -0
  41. package/dist/domain/core/prefer-interface-types/types.d.ts.map +1 -0
  42. package/dist/domain/core/prefer-interface-types/types.js +2 -0
  43. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -1
  44. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +2 -7
  45. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  46. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -6
  47. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -1
  48. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -5
  49. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  50. package/dist/domain/docs/no-interface-member-docs/rule.js +6 -2
  51. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  52. package/dist/domain/docs/require-example-language/examples.js +2 -6
  53. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  54. package/dist/domain/docs/require-example-language/reporting.js +34 -7
  55. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  56. package/dist/domain/docs/require-example-language/rule.js +6 -1
  57. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
  58. package/dist/domain/docs/single-line-jsdoc/rule.js +5 -3
  59. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -1
  60. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +4 -2
  61. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +1 -1
  62. package/dist/domain/testing/aaa/analyzer.analysis.js +1 -1
  63. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  64. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +27 -3
  65. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +1 -1
  66. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
  67. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +29 -4
  68. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +1 -1
  69. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  70. package/dist/domain/testing/aaa/analyzer.super.helpers.js +1 -1
  71. package/dist/domain/testing/aaa/analyzer.super.js +10 -3
  72. package/dist/domain/testing/aaa/index.d.ts +1 -1
  73. package/dist/domain/testing/aaa/index.d.ts.map +1 -1
  74. package/dist/domain/testing/aaa/index.js +1 -1
  75. package/dist/domain/testing/aaa/types.d.ts +7 -9
  76. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  77. package/dist/domain/testing/aaa/types.js +1 -1
  78. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  79. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +2 -18
  80. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
  81. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  82. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +3 -2
  83. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -1
  84. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +44 -58
  85. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  86. package/dist/domain/testing/enforce-aaa-structure/rule.js +4 -1
  87. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -1
  88. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +10 -4
  89. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +1 -1
  90. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +1 -1
  91. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +1 -1
  92. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -1
  93. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +2 -6
  94. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  95. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +10 -4
  96. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  97. package/dist/domain/testing/require-act-result-capture/rule.js +10 -5
  98. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  99. package/dist/domain/testing/require-test-companion/rule.js +4 -13
  100. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -1
  101. package/dist/infrastructure/codeperfect-plugin.js +2 -4
  102. package/dist/infrastructure/index.js +1 -1
  103. package/dist/infrastructure/presets.d.ts.map +1 -1
  104. package/dist/infrastructure/presets.js +2 -4
  105. package/package.json +24 -23
  106. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +0 -1
  107. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +0 -134
  108. /package/dist/domain/architecture/{consistent-barrel-files → no-import-export-extensions}/no-import-export-extensions-rule.d.ts +0 -0
@@ -9,12 +9,16 @@ const preferViMockedImportRule = {
9
9
  return;
10
10
  }
11
11
  for (const [index, match] of matches.entries()) {
12
+ const fix = index === 0
13
+ ? (fixer) => buildFixes(matches, fixer)
14
+ : void 0;
12
15
  context.report({
13
- fix: index === 0
14
- ? (fixer) => buildFixes(matches, fixer)
15
- : void 0,
16
+ ...(fix !== void 0 && { fix }),
16
17
  messageId: "preferViMockedImport",
17
18
  node: match.node,
19
+ ...(fix !== void 0 && {
20
+ suggest: [{ fix, messageId: "inlineViMockedImport" }],
21
+ }),
18
22
  });
19
23
  }
20
24
  },
@@ -26,7 +30,9 @@ const preferViMockedImportRule = {
26
30
  url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/prefer-vi-mocked-import.md",
27
31
  },
28
32
  fixable: "code",
33
+ hasSuggestions: true,
29
34
  messages: {
35
+ inlineViMockedImport: "Inline the vi.fn mocks and use vi.mocked(...) for calls.",
30
36
  preferViMockedImport: "Inline vi.fn mocks in the vi.mock/vi.doMock factory and use vi.mocked(...) for calls.",
31
37
  },
32
38
  schema: [],
@@ -34,4 +40,4 @@ const preferViMockedImportRule = {
34
40
  },
35
41
  };
36
42
  export { preferViMockedImportRule };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdmktbW9ja2VkLWltcG9ydC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6Qyw2RUFBNkU7QUFDN0UsTUFBTSx3QkFBd0IsR0FBb0I7SUFDaEQsTUFBTSxFQUFFLENBQUMsT0FBeUIsRUFBcUIsRUFBRSxDQUN2RCxDQUFDO1FBQ0MsT0FBTyxFQUFFLEdBQVMsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QixPQUFPO1lBQ1QsQ0FBQztZQUVELEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixHQUFHLEVBQ0QsS0FBSyxLQUFLLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLENBQUMsS0FBcUIsRUFBYyxFQUFFLENBQ3BDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO3dCQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDO29CQUNaLFNBQVMsRUFBRSxzQkFBc0I7b0JBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7S0FDRixDQUE2QjtJQUNoQyxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsc0ZBQXNGO1lBQ3hGLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSwwRkFBMEY7U0FDaEc7UUFDRCxPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRTtZQUNSLG9CQUFvQixFQUNsQix1RkFBdUY7U0FDMUY7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO0tBQ25CO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBidWlsZEZpeGVzIH0gZnJvbSBcIi4vZml4XCI7XG5pbXBvcnQgeyBjb2xsZWN0TWF0Y2hlcyB9IGZyb20gXCIuL21hdGNoXCI7XG5cbi8qKiBFbmZvcmNlIGlubGluZSBgdmkuZm4oKWAgbW9ja3MgaW5zaWRlIGB2aS5tb2NrYC9gdmkuZG9Nb2NrYCBmYWN0b3JpZXMuICovXG5jb25zdCBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlOiAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyID0+XG4gICAgKHtcbiAgICAgIFByb2dyYW06ICgpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGNvbGxlY3RNYXRjaGVzKGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgW2luZGV4LCBtYXRjaF0gb2YgbWF0Y2hlcy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBmaXg6XG4gICAgICAgICAgICAgIGluZGV4ID09PSAwXG4gICAgICAgICAgICAgICAgPyAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKTogUnVsZS5GaXhbXSA9PlxuICAgICAgICAgICAgICAgICAgICBidWlsZEZpeGVzKG1hdGNoZXMsIGZpeGVyKVxuICAgICAgICAgICAgICAgIDogdm9pZCAwLFxuICAgICAgICAgICAgbWVzc2FnZUlkOiBcInByZWZlclZpTW9ja2VkSW1wb3J0XCIsXG4gICAgICAgICAgICBub2RlOiBtYXRjaC5ub2RlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pIHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcixcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlByZWZlciBpbmxpbmluZyB2aS5mbiBtb2NrcyBpbiB2aS5tb2NrL3ZpLmRvTW9jayBmYWN0b3JpZXMgYW5kIHVzaW5nIHZpLm1vY2tlZCguLi4pLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvcHJlZmVyLXZpLW1vY2tlZC1pbXBvcnQubWRcIixcbiAgICB9LFxuICAgIGZpeGFibGU6IFwiY29kZVwiLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBwcmVmZXJWaU1vY2tlZEltcG9ydDpcbiAgICAgICAgXCJJbmxpbmUgdmkuZm4gbW9ja3MgaW4gdGhlIHZpLm1vY2svdmkuZG9Nb2NrIGZhY3RvcnkgYW5kIHVzZSB2aS5tb2NrZWQoLi4uKSBmb3IgY2FsbHMuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwic3VnZ2VzdGlvblwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlIH07XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdmktbW9ja2VkLWltcG9ydC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6Qyw2RUFBNkU7QUFDN0UsTUFBTSx3QkFBd0IsR0FBb0I7SUFDaEQsTUFBTSxFQUFFLENBQUMsT0FBeUIsRUFBcUIsRUFBRSxDQUN2RCxDQUFDO1FBQ0MsT0FBTyxFQUFFLEdBQVMsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QixPQUFPO1lBQ1QsQ0FBQztZQUVELEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxHQUFHLEdBQ1AsS0FBSyxLQUFLLENBQUM7b0JBQ1QsQ0FBQyxDQUFDLENBQUMsS0FBcUIsRUFBYyxFQUFFLENBQ3BDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO29CQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWIsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxzQkFBc0I7b0JBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDaEIsR0FBRyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsSUFBSTt3QkFDcEIsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUM7cUJBQ3RELENBQUM7aUJBQ0gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7S0FDRixDQUE2QjtJQUNoQyxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsc0ZBQXNGO1lBQ3hGLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSwwRkFBMEY7U0FDaEc7UUFDRCxPQUFPLEVBQUUsTUFBTTtRQUNmLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFFBQVEsRUFBRTtZQUNSLG9CQUFvQixFQUNsQiwwREFBMEQ7WUFDNUQsb0JBQW9CLEVBQ2xCLHVGQUF1RjtTQUMxRjtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGJ1aWxkRml4ZXMgfSBmcm9tIFwiLi9maXhcIjtcbmltcG9ydCB7IGNvbGxlY3RNYXRjaGVzIH0gZnJvbSBcIi4vbWF0Y2hcIjtcblxuLyoqIEVuZm9yY2UgaW5saW5lIGB2aS5mbigpYCBtb2NrcyBpbnNpZGUgYHZpLm1vY2tgL2B2aS5kb01vY2tgIGZhY3Rvcmllcy4gKi9cbmNvbnN0IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGU6IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIgPT5cbiAgICAoe1xuICAgICAgUHJvZ3JhbTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGVzID0gY29sbGVjdE1hdGNoZXMoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBbaW5kZXgsIG1hdGNoXSBvZiBtYXRjaGVzLmVudHJpZXMoKSkge1xuICAgICAgICAgIGNvbnN0IGZpeCA9XG4gICAgICAgICAgICBpbmRleCA9PT0gMFxuICAgICAgICAgICAgICA/IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeFtdID0+XG4gICAgICAgICAgICAgICAgICBidWlsZEZpeGVzKG1hdGNoZXMsIGZpeGVyKVxuICAgICAgICAgICAgICA6IHZvaWQgMDtcblxuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIC4uLihmaXggIT09IHZvaWQgMCAmJiB7IGZpeCB9KSxcbiAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJwcmVmZXJWaU1vY2tlZEltcG9ydFwiLFxuICAgICAgICAgICAgbm9kZTogbWF0Y2gubm9kZSxcbiAgICAgICAgICAgIC4uLihmaXggIT09IHZvaWQgMCAmJiB7XG4gICAgICAgICAgICAgIHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcImlubGluZVZpTW9ja2VkSW1wb3J0XCIgfV0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXIsXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJQcmVmZXIgaW5saW5pbmcgdmkuZm4gbW9ja3MgaW4gdmkubW9jay92aS5kb01vY2sgZmFjdG9yaWVzIGFuZCB1c2luZyB2aS5tb2NrZWQoLi4uKS5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3ByZWZlci12aS1tb2NrZWQtaW1wb3J0Lm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBoYXNTdWdnZXN0aW9uczogdHJ1ZSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW5saW5lVmlNb2NrZWRJbXBvcnQ6XG4gICAgICAgIFwiSW5saW5lIHRoZSB2aS5mbiBtb2NrcyBhbmQgdXNlIHZpLm1vY2tlZCguLi4pIGZvciBjYWxscy5cIixcbiAgICAgIHByZWZlclZpTW9ja2VkSW1wb3J0OlxuICAgICAgICBcIklubGluZSB2aS5mbiBtb2NrcyBpbiB0aGUgdmkubW9jay92aS5kb01vY2sgZmFjdG9yeSBhbmQgdXNlIHZpLm1vY2tlZCguLi4pIGZvciBjYWxscy5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogXCJzdWdnZXN0aW9uXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-act-result-capture/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqKnC,mFAAmF;AACnF,QAAA,MAAM,2BAA2B,EAAE,IAAI,CAAC,UAuCvC,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-act-result-capture/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA0KnC,mFAAmF;AACnF,QAAA,MAAM,2BAA2B,EAAE,IAAI,CAAC,UAuCvC,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -112,14 +112,19 @@ function isRuleCreateCall(expression) {
112
112
  */
113
113
  function returnsVoid(context, statement) {
114
114
  if (statement.type !== "ExpressionStatement" ||
115
- statement.expression.type !== "CallExpression") {
115
+ !["AwaitExpression", "CallExpression"].includes(statement.expression.type)) {
116
116
  return false;
117
117
  }
118
118
  try {
119
119
  const services = ESLintUtils.getParserServices(context);
120
- const typeNode = services.esTreeNodeToTSNodeMap.get(statement.expression);
121
- const type = services.program.getTypeChecker().getTypeAtLocation(typeNode);
122
- return (type.flags & ts.TypeFlags.Void) !== 0;
120
+ const expression = statement.expression;
121
+ const typeNode = services.esTreeNodeToTSNodeMap.get((expression.type === "AwaitExpression"
122
+ ? expression.argument
123
+ : expression));
124
+ const checker = services.program.getTypeChecker();
125
+ const type = checker.getTypeAtLocation(typeNode);
126
+ const awaitedType = checker.getAwaitedType(type);
127
+ return ((awaitedType ?? type).flags & ts.TypeFlags.Void) !== 0;
123
128
  }
124
129
  catch {
125
130
  return false;
@@ -161,4 +166,4 @@ const requireActResultCaptureRule = {
161
166
  },
162
167
  };
163
168
  export { requireActResultCaptureRule };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZS9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVoRixnRkFBZ0Y7QUFDaEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDOUIscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixTQUFTO0NBQ1YsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsTUFBeUM7SUFFekMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDRSxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtRQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQ3JDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLG1CQUFtQixDQUFDLFVBQWlDO0lBQzVELE9BQU8sQ0FDTCxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7UUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDOUMsVUFBVSxDQUFDLE1BQU0sQ0FB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QUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPO1lBQ1QsQ0FBQztZQUVELEtBQUssTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM1QyxJQUNFLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDaEMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ3BDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDbEMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDdEMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDckMsQ0FBQztvQkFDRCxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNiLFNBQVMsRUFBRSxrQkFBa0I7d0JBQzdCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtxQkFDckIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQTZCO0lBQ2hDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxrRkFBa0Y7WUFDcEYsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLDZGQUE2RjtTQUNuRztRQUNELFFBQVEsRUFBRTtZQUNSLGdCQUFnQixFQUNkLHVFQUF1RTtTQUMxRTtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB7IEVTTGludFV0aWxzIH0gZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC91dGlsc1wiO1xuaW1wb3J0ICogYXMgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcblxuaW1wb3J0IHsgYW5hbHl6ZVRlc3RCbG9jayB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXNcIjtcbmltcG9ydCB7IGhhc0NhcHR1cmFibGVBY3RSZXN1bHQgfSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmNsYXNzaWZpY2F0aW9uLmhlbHBlcnNcIjtcblxuLyoqIEtub3duIGhlbHBlciB3cmFwcGVycyB3aG9zZSByZXR1cm4gdmFsdWUgaXMgaW50ZW50aW9uYWxseSBpZ25vcmVkIGluIEFjdC4gKi9cbmNvbnN0IGtub3duQWN0SGVscGVycyA9IG5ldyBTZXQoW1xuICBcInJ1bkZ1bmN0aW9uTGlzdGVuZXJcIixcbiAgXCJydW5MaXN0ZW5lclwiLFxuICBcInJ1blJ1bGVcIixcbl0pO1xuXG4vKipcbiAqIEdldHMgdGhlIG5lYXJlc3QgaWRlbnRpZmllci1saWtlIG5hbWUgZnJvbSBhIG1lbWJlciBleHByZXNzaW9uIG9iamVjdC5cbiAqIEBwYXJhbSBvYmplY3QgTWVtYmVyIGV4cHJlc3Npb24gb2JqZWN0IG5vZGUuXG4gKiBAcmV0dXJucyBJZGVudGlmaWVyLWxpa2UgbmFtZSB3aGVuIGl0IGNhbiBiZSByZXNvbHZlZCBzdGF0aWNhbGx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5hbWUgPSBnZXRNZW1iZXJPYmplY3ROYW1lKHt9IGFzIEVTVHJlZS5NZW1iZXJFeHByZXNzaW9uW1wib2JqZWN0XCJdKTtcbiAqIHZvaWQgbmFtZTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRNZW1iZXJPYmplY3ROYW1lKFxuICBvYmplY3Q6IEVTVHJlZS5NZW1iZXJFeHByZXNzaW9uW1wib2JqZWN0XCJdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iamVjdC50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgIHJldHVybiBvYmplY3QubmFtZTtcbiAgfVxuXG4gIGlmIChcbiAgICBvYmplY3QudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBvYmplY3QucHJvcGVydHkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgKSB7XG4gICAgcmV0dXJuIG9iamVjdC5wcm9wZXJ0eS5uYW1lO1xuICB9XG5cbiAgcmV0dXJuIHZvaWQgMDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgcmVwb3J0cyB0aHJvdWdoIGBjb250ZXh0LnJlcG9ydCguLi4pYC5cbiAqIEBwYXJhbSBleHByZXNzaW9uIENhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYGNvbnRleHQucmVwb3J0YC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNDb250ZXh0UmVwb3J0Q2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ29udGV4dFJlcG9ydENhbGwoZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5vYmplY3QubmFtZSA9PT0gXCJjb250ZXh0XCIgJiZcbiAgICBleHByZXNzaW9uLmNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5Lm5hbWUgPT09IFwicmVwb3J0XCJcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBBY3Qgc3RhdGVtZW50IGlzIGFscmVhZHkgZGVsZWdhdGVkIHRvIGEga25vd24gaGVscGVyLlxuICogQHBhcmFtIHN0YXRlbWVudCBTdGF0ZW1lbnQgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIGhhbmRsZWQgYnkgYSBoZWxwZXIgd3JhcHBlci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBoYW5kbGVkID0gaXNIZWxwZXJEcml2ZW5BY3Qoe30gYXMgRVNUcmVlLlN0YXRlbWVudCk7XG4gKiB2b2lkIGhhbmRsZWQ7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNIZWxwZXJEcml2ZW5BY3Qoc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB7IGV4cHJlc3Npb24gfSA9IHN0YXRlbWVudDtcbiAgaWYgKGV4cHJlc3Npb24udHlwZSAhPT0gXCJDYWxsRXhwcmVzc2lvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICBpc0NvbnRleHRSZXBvcnRDYWxsKGV4cHJlc3Npb24pIHx8XG4gICAgaXNOYW1lZEhlbHBlckNhbGwoZXhwcmVzc2lvbikgfHxcbiAgICBpc1J1bGVDcmVhdGVDYWxsKGV4cHJlc3Npb24pXG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHRhcmdldHMgb25lIG9mIHRoZSBrbm93biBBY3QgaGVscGVyIHdyYXBwZXJzLlxuICogQHBhcmFtIGV4cHJlc3Npb24gQ2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGhlbHBlciBuYW1lIG1hdGNoZXMgdGhlIGFsbG93bGlzdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNOYW1lZEhlbHBlckNhbGwoe30gYXMgRVNUcmVlLkNhbGxFeHByZXNzaW9uKTtcbiAqIHZvaWQgbWF0Y2hlcztcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc05hbWVkSGVscGVyQ2FsbChleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGtub3duQWN0SGVscGVycy5oYXMoZXhwcmVzc2lvbi5jYWxsZWUubmFtZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgdGFyZ2V0cyBgKi5SdWxlLmNyZWF0ZSguLi4pYC5cbiAqIEBwYXJhbSBleHByZXNzaW9uIENhbGwgZXhwcmVzc2lvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYSBydWxlIGZhY3RvcnkgY3JlYXRlIG1ldGhvZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaGVzID0gaXNSdWxlQ3JlYXRlQ2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUnVsZUNyZWF0ZUNhbGwoZXhwcmVzc2lvbjogRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlICE9PSBcIk1lbWJlckV4cHJlc3Npb25cIiB8fFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5LnR5cGUgIT09IFwiSWRlbnRpZmllclwiIHx8XG4gICAgZXhwcmVzc2lvbi5jYWxsZWUucHJvcGVydHkubmFtZSAhPT0gXCJjcmVhdGVcIlxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBvYmplY3ROYW1lID0gZ2V0TWVtYmVyT2JqZWN0TmFtZShleHByZXNzaW9uLmNhbGxlZS5vYmplY3QpO1xuXG4gIHJldHVybiBvYmplY3ROYW1lICE9PSB2b2lkIDAgJiYgb2JqZWN0TmFtZS5lbmRzV2l0aChcIlJ1bGVcIik7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsJ3MgVHlwZVNjcmlwdCByZXR1cm4gdHlwZSBpcyB2b2lkLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBjb250ZXh0IHRoYXQgbWF5IGV4cG9zZSBUeXBlU2NyaXB0IHBhcnNlciBzZXJ2aWNlcy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgQWN0IHN0YXRlbWVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSByZXNvbHZlZCByZXR1cm4gdHlwZSBpcyB2b2lkOyBvdGhlcndpc2UgZmFsc2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmV0dXJuc1ZvaWQoe30gYXMgUnVsZS5SdWxlQ29udGV4dCwge30gYXMgRVNUcmVlLlN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmV0dXJuc1ZvaWQoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIHN0YXRlbWVudDogRVNUcmVlLlN0YXRlbWVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoXG4gICAgc3RhdGVtZW50LnR5cGUgIT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiIHx8XG4gICAgc3RhdGVtZW50LmV4cHJlc3Npb24udHlwZSAhPT0gXCJDYWxsRXhwcmVzc2lvblwiXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2VydmljZXMgPSBFU0xpbnRVdGlscy5nZXRQYXJzZXJTZXJ2aWNlcyhjb250ZXh0IGFzIG5ldmVyKTtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoXG4gICAgICBzdGF0ZW1lbnQuZXhwcmVzc2lvbiBhcyBuZXZlcixcbiAgICApO1xuICAgIGNvbnN0IHR5cGUgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCkuZ2V0VHlwZUF0TG9jYXRpb24odHlwZU5vZGUpO1xuXG4gICAgcmV0dXJuICh0eXBlLmZsYWdzICYgdHMuVHlwZUZsYWdzLlZvaWQpICE9PSAwO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqIFJlcXVpcmVzIEFjdC1waGFzZSBleHByZXNzaW9ucyB0byBjYXB0dXJlIG5vbi12b2lkIHJlc3VsdHMgYmVmb3JlIGFzc2VydGluZy4gKi9cbmNvbnN0IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGU6IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIgPT5cbiAgICAoe1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgYW5hbHlzaXMuc3RhdGVtZW50cykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHN0YXRlbWVudC5waGFzZXMuaW5jbHVkZXMoXCJBY3RcIikgJiZcbiAgICAgICAgICAgICFzdGF0ZW1lbnQucGhhc2VzLmluY2x1ZGVzKFwiQXNzZXJ0XCIpICYmXG4gICAgICAgICAgICAhaXNIZWxwZXJEcml2ZW5BY3Qoc3RhdGVtZW50Lm5vZGUpICYmXG4gICAgICAgICAgICBoYXNDYXB0dXJhYmxlQWN0UmVzdWx0KHN0YXRlbWVudC5ub2RlKSAmJlxuICAgICAgICAgICAgIXJldHVybnNWb2lkKGNvbnRleHQsIHN0YXRlbWVudC5ub2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICBtZXNzYWdlSWQ6IFwiY2FwdHVyZUFjdFJlc3VsdFwiLFxuICAgICAgICAgICAgICBub2RlOiBzdGF0ZW1lbnQubm9kZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXIsXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIG5vbi12b2lkIEFjdCBleHByZXNzaW9ucyB0byBzdG9yZSB0aGUgb2JzZXJ2ZWQgcmVzdWx0IGJlZm9yZSBhc3NlcnRpb25zLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvcmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmUubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBjYXB0dXJlQWN0UmVzdWx0OlxuICAgICAgICBcIkNhcHR1cmUgdGhlIC8vIEFjdCByZXN1bHQgaW4gYSBuYW1lZCB2YXJpYWJsZSBiZWZvcmUgYXNzZXJ0aW5nIG9uIGl0LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSB9O1xuIl19
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZS9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVoRixnRkFBZ0Y7QUFDaEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDOUIscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixTQUFTO0NBQ1YsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsTUFBeUM7SUFFekMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDRSxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQjtRQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQ3JDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLG1CQUFtQixDQUFDLFVBQWlDO0lBQzVELE9BQU8sQ0FDTCxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7UUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFlBQVk7UUFDOUMsVUFBVSxDQUFDLE1BQU0sQ0FB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O1NBQzFFO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWTtLQUNuQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHsgRVNMaW50VXRpbHMgfSBmcm9tIFwiQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzXCI7XG5pbXBvcnQgKiBhcyB0cyBmcm9tIFwidHlwZXNjcmlwdFwiO1xuXG5pbXBvcnQgeyBhbmFseXplVGVzdEJsb2NrIH0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5hbmFseXNpc1wiO1xuaW1wb3J0IHsgaGFzQ2FwdHVyYWJsZUFjdFJlc3VsdCB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVyc1wiO1xuXG4vKiogS25vd24gaGVscGVyIHdyYXBwZXJzIHdob3NlIHJldHVybiB2YWx1ZSBpcyBpbnRlbnRpb25hbGx5IGlnbm9yZWQgaW4gQWN0LiAqL1xuY29uc3Qga25vd25BY3RIZWxwZXJzID0gbmV3IFNldChbXG4gIFwicnVuRnVuY3Rpb25MaXN0ZW5lclwiLFxuICBcInJ1bkxpc3RlbmVyXCIsXG4gIFwicnVuUnVsZVwiLFxuXSk7XG5cbi8qKlxuICogR2V0cyB0aGUgbmVhcmVzdCBpZGVudGlmaWVyLWxpa2UgbmFtZSBmcm9tIGEgbWVtYmVyIGV4cHJlc3Npb24gb2JqZWN0LlxuICogQHBhcmFtIG9iamVjdCBNZW1iZXIgZXhwcmVzc2lvbiBvYmplY3Qgbm9kZS5cbiAqIEByZXR1cm5zIElkZW50aWZpZXItbGlrZSBuYW1lIHdoZW4gaXQgY2FuIGJlIHJlc29sdmVkIHN0YXRpY2FsbHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmFtZSA9IGdldE1lbWJlck9iamVjdE5hbWUoe30gYXMgRVNUcmVlLk1lbWJlckV4cHJlc3Npb25bXCJvYmplY3RcIl0pO1xuICogdm9pZCBuYW1lO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldE1lbWJlck9iamVjdE5hbWUoXG4gIG9iamVjdDogRVNUcmVlLk1lbWJlckV4cHJlc3Npb25bXCJvYmplY3RcIl0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAob2JqZWN0LnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgcmV0dXJuIG9iamVjdC5uYW1lO1xuICB9XG5cbiAgaWYgKFxuICAgIG9iamVjdC50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgIG9iamVjdC5wcm9wZXJ0eS50eXBlID09PSBcIklkZW50aWZpZXJcIlxuICApIHtcbiAgICByZXR1cm4gb2JqZWN0LnByb3BlcnR5Lm5hbWU7XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCByZXBvcnRzIHRocm91Z2ggYGNvbnRleHQucmVwb3J0KC4uLilgLlxuICogQHBhcmFtIGV4cHJlc3Npb24gQ2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGNhbGwgdGFyZ2V0cyBgY29udGV4dC5yZXBvcnRgLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1hdGNoZXMgPSBpc0NvbnRleHRSZXBvcnRDYWxsKHt9IGFzIEVTVHJlZS5DYWxsRXhwcmVzc2lvbik7XG4gKiB2b2lkIG1hdGNoZXM7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNDb250ZXh0UmVwb3J0Q2FsbChleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBleHByZXNzaW9uLmNhbGxlZS50eXBlID09PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdC5uYW1lID09PSBcImNvbnRleHRcIiAmJlxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgZXhwcmVzc2lvbi5jYWxsZWUucHJvcGVydHkubmFtZSA9PT0gXCJyZXBvcnRcIlxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGFuIEFjdCBzdGF0ZW1lbnQgaXMgYWxyZWFkeSBkZWxlZ2F0ZWQgdG8gYSBrbm93biBoZWxwZXIuXG4gKiBAcGFyYW0gc3RhdGVtZW50IFN0YXRlbWVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBzdGF0ZW1lbnQgaXMgaGFuZGxlZCBieSBhIGhlbHBlciB3cmFwcGVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGhhbmRsZWQgPSBpc0hlbHBlckRyaXZlbkFjdCh7fSBhcyBFU1RyZWUuU3RhdGVtZW50KTtcbiAqIHZvaWQgaGFuZGxlZDtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc0hlbHBlckRyaXZlbkFjdChzdGF0ZW1lbnQ6IEVTVHJlZS5TdGF0ZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cHJlc3Npb25TdGF0ZW1lbnRcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHsgZXhwcmVzc2lvbiB9ID0gc3RhdGVtZW50O1xuICBpZiAoZXhwcmVzc2lvbi50eXBlICE9PSBcIkNhbGxFeHByZXNzaW9uXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGlzQ29udGV4dFJlcG9ydENhbGwoZXhwcmVzc2lvbikgfHxcbiAgICBpc05hbWVkSGVscGVyQ2FsbChleHByZXNzaW9uKSB8fFxuICAgIGlzUnVsZUNyZWF0ZUNhbGwoZXhwcmVzc2lvbilcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwgdGFyZ2V0cyBvbmUgb2YgdGhlIGtub3duIEFjdCBoZWxwZXIgd3JhcHBlcnMuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBDYWxsIGV4cHJlc3Npb24gdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgaGVscGVyIG5hbWUgbWF0Y2hlcyB0aGUgYWxsb3dsaXN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1hdGNoZXMgPSBpc05hbWVkSGVscGVyQ2FsbCh7fSBhcyBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICogdm9pZCBtYXRjaGVzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzTmFtZWRIZWxwZXJDYWxsKGV4cHJlc3Npb246IEVTVHJlZS5DYWxsRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAga25vd25BY3RIZWxwZXJzLmhhcyhleHByZXNzaW9uLmNhbGxlZS5uYW1lKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCB0YXJnZXRzIGAqLlJ1bGUuY3JlYXRlKC4uLilgLlxuICogQHBhcmFtIGV4cHJlc3Npb24gQ2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGNhbGwgdGFyZ2V0cyBhIHJ1bGUgZmFjdG9yeSBjcmVhdGUgbWV0aG9kLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1hdGNoZXMgPSBpc1J1bGVDcmVhdGVDYWxsKHt9IGFzIEVTVHJlZS5DYWxsRXhwcmVzc2lvbik7XG4gKiB2b2lkIG1hdGNoZXM7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNSdWxlQ3JlYXRlQ2FsbChleHByZXNzaW9uOiBFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgaWYgKFxuICAgIGV4cHJlc3Npb24uY2FsbGVlLnR5cGUgIT09IFwiTWVtYmVyRXhwcmVzc2lvblwiIHx8XG4gICAgZXhwcmVzc2lvbi5jYWxsZWUucHJvcGVydHkudHlwZSAhPT0gXCJJZGVudGlmaWVyXCIgfHxcbiAgICBleHByZXNzaW9uLmNhbGxlZS5wcm9wZXJ0eS5uYW1lICE9PSBcImNyZWF0ZVwiXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG9iamVjdE5hbWUgPSBnZXRNZW1iZXJPYmplY3ROYW1lKGV4cHJlc3Npb24uY2FsbGVlLm9iamVjdCk7XG5cbiAgcmV0dXJuIG9iamVjdE5hbWUgIT09IHZvaWQgMCAmJiBvYmplY3ROYW1lLmVuZHNXaXRoKFwiUnVsZVwiKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGNhbGwncyBUeXBlU2NyaXB0IHJldHVybiB0eXBlIGlzIHZvaWQuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGNvbnRleHQgdGhhdCBtYXkgZXhwb3NlIFR5cGVTY3JpcHQgcGFyc2VyIHNlcnZpY2VzLlxuICogQHBhcmFtIHN0YXRlbWVudCBBY3Qgc3RhdGVtZW50IHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHJlc29sdmVkIHJldHVybiB0eXBlIGlzIHZvaWQ7IG90aGVyd2lzZSBmYWxzZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXR1cm5zVm9pZCh7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCB7fSBhcyBFU1RyZWUuU3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXR1cm5zVm9pZChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgc3RhdGVtZW50OiBFU1RyZWUuU3RhdGVtZW50LFxuKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBzdGF0ZW1lbnQudHlwZSAhPT0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCIgfHxcbiAgICAhW1wiQXdhaXRFeHByZXNzaW9uXCIsIFwiQ2FsbEV4cHJlc3Npb25cIl0uaW5jbHVkZXMoc3RhdGVtZW50LmV4cHJlc3Npb24udHlwZSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzZXJ2aWNlcyA9IEVTTGludFV0aWxzLmdldFBhcnNlclNlcnZpY2VzKGNvbnRleHQgYXMgbmV2ZXIpO1xuICAgIGNvbnN0IGV4cHJlc3Npb24gPSBzdGF0ZW1lbnQuZXhwcmVzc2lvbjtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoXG4gICAgICAoZXhwcmVzc2lvbi50eXBlID09PSBcIkF3YWl0RXhwcmVzc2lvblwiXG4gICAgICAgID8gZXhwcmVzc2lvbi5hcmd1bWVudFxuICAgICAgICA6IGV4cHJlc3Npb24pIGFzIG5ldmVyLFxuICAgICk7XG4gICAgY29uc3QgY2hlY2tlciA9IHNlcnZpY2VzLnByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcbiAgICBjb25zdCB0eXBlID0gY2hlY2tlci5nZXRUeXBlQXRMb2NhdGlvbih0eXBlTm9kZSk7XG4gICAgY29uc3QgYXdhaXRlZFR5cGUgPSBjaGVja2VyLmdldEF3YWl0ZWRUeXBlKHR5cGUpO1xuXG4gICAgcmV0dXJuICgoYXdhaXRlZFR5cGUgPz8gdHlwZSkuZmxhZ3MgJiB0cy5UeXBlRmxhZ3MuVm9pZCkgIT09IDA7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKiogUmVxdWlyZXMgQWN0LXBoYXNlIGV4cHJlc3Npb25zIHRvIGNhcHR1cmUgbm9uLXZvaWQgcmVzdWx0cyBiZWZvcmUgYXNzZXJ0aW5nLiAqL1xuY29uc3QgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgICh7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZVRlc3RCbG9jayhjb250ZXh0LCBub2RlKTtcbiAgICAgICAgaWYgKGFuYWx5c2lzID09PSB2b2lkIDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBhbmFseXNpcy5zdGF0ZW1lbnRzKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgc3RhdGVtZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFjdFwiKSAmJlxuICAgICAgICAgICAgIXN0YXRlbWVudC5waGFzZXMuaW5jbHVkZXMoXCJBc3NlcnRcIikgJiZcbiAgICAgICAgICAgICFpc0hlbHBlckRyaXZlbkFjdChzdGF0ZW1lbnQubm9kZSkgJiZcbiAgICAgICAgICAgIGhhc0NhcHR1cmFibGVBY3RSZXN1bHQoc3RhdGVtZW50Lm5vZGUpICYmXG4gICAgICAgICAgICAhcmV0dXJuc1ZvaWQoY29udGV4dCwgc3RhdGVtZW50Lm5vZGUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJjYXB0dXJlQWN0UmVzdWx0XCIsXG4gICAgICAgICAgICAgIG5vZGU6IHN0YXRlbWVudC5ub2RlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pIHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcixcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgbm9uLXZvaWQgQWN0IGV4cHJlc3Npb25zIHRvIHN0b3JlIHRoZSBvYnNlcnZlZCByZXN1bHQgYmVmb3JlIGFzc2VydGlvbnMuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9yZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZS5tZFwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIGNhcHR1cmVBY3RSZXN1bHQ6XG4gICAgICAgIFwiQ2FwdHVyZSB0aGUgLy8gQWN0IHJlc3VsdCBpbiBhIG5hbWVkIHZhcmlhYmxlIGJlZm9yZSBhc3NlcnRpbmcgb24gaXQuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwic3VnZ2VzdGlvblwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlIH07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-test-companion/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAOnC,sEAAsE;AACtE,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UAoFpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-test-companion/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAOnC,sEAAsE;AACtE,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UA2EpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -27,10 +27,7 @@ const requireTestCompanionRule = {
27
27
  enforceIn: {
28
28
  description: "Glob patterns that define where test files must have matching source companions.",
29
29
  oneOf: [
30
- {
31
- description: "A single glob pattern.",
32
- type: "string",
33
- },
30
+ { description: "A single glob pattern.", type: "string" },
34
31
  {
35
32
  description: "A list of glob patterns.",
36
33
  items: { type: "string" },
@@ -42,10 +39,7 @@ const requireTestCompanionRule = {
42
39
  ignorePatterns: {
43
40
  description: "Glob patterns that should be excluded from test-to-source companion checks.",
44
41
  oneOf: [
45
- {
46
- description: "A single ignore glob pattern.",
47
- type: "string",
48
- },
42
+ { description: "A single ignore glob pattern.", type: "string" },
49
43
  {
50
44
  description: "A list of ignore glob patterns.",
51
45
  items: { type: "string" },
@@ -57,10 +51,7 @@ const requireTestCompanionRule = {
57
51
  testSuffixes: {
58
52
  description: "Filename suffixes that are recognized as valid test companions.",
59
53
  oneOf: [
60
- {
61
- description: "A single test filename suffix.",
62
- type: "string",
63
- },
54
+ { description: "A single test filename suffix.", type: "string" },
64
55
  {
65
56
  description: "A list of test filename suffixes.",
66
57
  items: { type: "string" },
@@ -77,4 +68,4 @@ const requireTestCompanionRule = {
77
68
  },
78
69
  };
79
70
  export { requireTestCompanionRule };
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUQsc0VBQXNFO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQW9CO0lBQ2hELE1BQU0sRUFBRSxDQUFDLE9BQXlCLEVBQXFCLEVBQUUsQ0FDdkQsd0JBQXdCLENBQ3RCLE9BQU8sRUFDUCxPQUFPLENBQUMsUUFBUSxFQUNoQixVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUMzQixPQUFPLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FDdEQ7SUFDSCxJQUFJLEVBQUU7UUFDSixjQUFjLEVBQUU7WUFDZDtnQkFDRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7Z0JBQ3hDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7YUFDL0I7U0FDRjtRQUNELElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxtRUFBbUU7WUFDckUsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLHlGQUF5RjtTQUMvRjtRQUNELFFBQVEsRUFBRTtZQUNSLGFBQWEsRUFDWCx3TEFBd0w7U0FDM0w7UUFDRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxvQkFBb0IsRUFBRSxLQUFLO2dCQUMzQixVQUFVLEVBQUU7b0JBQ1YsU0FBUyxFQUFFO3dCQUNULFdBQVcsRUFDVCxrRkFBa0Y7d0JBQ3BGLEtBQUssRUFBRTs0QkFDTDtnQ0FDRSxXQUFXLEVBQUUsd0JBQXdCO2dDQUNyQyxJQUFJLEVBQUUsUUFBUTs2QkFDZjs0QkFDRDtnQ0FDRSxXQUFXLEVBQUUsMEJBQTBCO2dDQUN2QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dDQUN6QixRQUFRLEVBQUUsQ0FBQztnQ0FDWCxJQUFJLEVBQUUsT0FBTzs2QkFDZDt5QkFDRjtxQkFDRjtvQkFDRCxjQUFjLEVBQUU7d0JBQ2QsV0FBVyxFQUNULDZFQUE2RTt3QkFDL0UsS0FBSyxFQUFFOzRCQUNMO2dDQUNFLFdBQVcsRUFBRSwrQkFBK0I7Z0NBQzVDLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFdBQVcsRUFBRSxpQ0FBaUM7Z0NBQzlDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0NBQ3pCLFFBQVEsRUFBRSxDQUFDO2dDQUNYLElBQUksRUFBRSxPQUFPOzZCQUNkO3lCQUNGO3FCQUNGO29CQUNELFlBQVksRUFBRTt3QkFDWixXQUFXLEVBQ1QsaUVBQWlFO3dCQUNuRSxLQUFLLEVBQUU7NEJBQ0w7Z0NBQ0UsV0FBVyxFQUFFLGdDQUFnQztnQ0FDN0MsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0Q7Z0NBQ0UsV0FBVyxFQUFFLG1DQUFtQztnQ0FDaEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQ0FDekIsUUFBUSxFQUFFLENBQUM7Z0NBQ1gsSUFBSSxFQUFFLE9BQU87NkJBQ2Q7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcblxuaW1wb3J0IHsgYnVpbGRMaXN0ZW5lckZvckZpbGVuYW1lIH0gZnJvbSBcIi4vcmVxdWlyZS10ZXN0LWNvbXBhbmlvbi1saXN0ZW5lcnNcIjtcbmltcG9ydCB7IGdldE9wdGlvbnMgfSBmcm9tIFwiLi9yZXF1aXJlLXRlc3QtY29tcGFuaW9uLW9wdGlvbnNcIjtcblxuLyoqIEVTTGludCBydWxlIGVuZm9yY2luZyAxOjEgdGVzdCBjb21wYW5pb25zIGZvciBUeXBlU2NyaXB0IGZpbGVzLiAqL1xuY29uc3QgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgIGJ1aWxkTGlzdGVuZXJGb3JGaWxlbmFtZShcbiAgICAgIGNvbnRleHQsXG4gICAgICBjb250ZXh0LmZpbGVuYW1lLFxuICAgICAgZ2V0T3B0aW9ucyhjb250ZXh0Lm9wdGlvbnMpLFxuICAgICAgdHlwZW9mIGNvbnRleHQuY3dkID09PSBcInN0cmluZ1wiID8gY29udGV4dC5jd2QgOiBjd2QoKSxcbiAgICApLFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZW5mb3JjZUluOiBbXCJzcmMvKipcIl0sXG4gICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbXCIvKi5kLnRzXCIsIFwiL2luZGV4LnRzXCJdLFxuICAgICAgICB0ZXN0U3VmZml4ZXM6IFtcInNwZWNcIiwgXCJ0ZXN0XCJdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgZWFjaCB0ZXN0IGZpbGUgdG8gaGF2ZSBhIG1hdGNoaW5nIFR5cGVTY3JpcHQgc291cmNlIGZpbGUuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uLm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbWlzc2luZ1NvdXJjZTpcbiAgICAgICAgXCJUZXN0IGZpbGUgcmVxdWlyZXMgYSBtYXRjaGluZyBzb3VyY2UgZmlsZSAne3tzb3VyY2VGaWxlfX0nIGluIHRoZSBzYW1lIGZvbGRlci4gSWYgdGhpcyB0ZXN0IGZpbGUgaXMgb3JwaGFuZWQsIG1vdmUgaXRzIHRlc3RzIHRvIHRoZSBjb3JyZWN0IGNvbXBhbmlvbiBmaWxlIG9yIGRlbGV0ZSB0aGlzIG9ycGhhbiBmaWxlLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGVuZm9yY2VJbjoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiR2xvYiBwYXR0ZXJucyB0aGF0IGRlZmluZSB3aGVyZSB0ZXN0IGZpbGVzIG11c3QgaGF2ZSBtYXRjaGluZyBzb3VyY2UgY29tcGFuaW9ucy5cIixcbiAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBIHNpbmdsZSBnbG9iIHBhdHRlcm4uXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiBnbG9iIHBhdHRlcm5zLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaWdub3JlUGF0dGVybnM6IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICBcIkdsb2IgcGF0dGVybnMgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0ZXN0LXRvLXNvdXJjZSBjb21wYW5pb24gY2hlY2tzLlwiLFxuICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgc2luZ2xlIGlnbm9yZSBnbG9iIHBhdHRlcm4uXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiBpZ25vcmUgZ2xvYiBwYXR0ZXJucy5cIixcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRlc3RTdWZmaXhlczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiRmlsZW5hbWUgc3VmZml4ZXMgdGhhdCBhcmUgcmVjb2duaXplZCBhcyB2YWxpZCB0ZXN0IGNvbXBhbmlvbnMuXCIsXG4gICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgdGVzdCBmaWxlbmFtZSBzdWZmaXguXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiB0ZXN0IGZpbGVuYW1lIHN1ZmZpeGVzLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUgfTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUQsc0VBQXNFO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQW9CO0lBQ2hELE1BQU0sRUFBRSxDQUFDLE9BQXlCLEVBQXFCLEVBQUUsQ0FDdkQsd0JBQXdCLENBQ3RCLE9BQU8sRUFDUCxPQUFPLENBQUMsUUFBUSxFQUNoQixVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUMzQixPQUFPLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FDdEQ7SUFDSCxJQUFJLEVBQUU7UUFDSixjQUFjLEVBQUU7WUFDZDtnQkFDRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7Z0JBQ3hDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7YUFDL0I7U0FDRjtRQUNELElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxtRUFBbUU7WUFDckUsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLHlGQUF5RjtTQUMvRjtRQUNELFFBQVEsRUFBRTtZQUNSLGFBQWEsRUFDWCx3TEFBd0w7U0FDM0w7UUFDRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxvQkFBb0IsRUFBRSxLQUFLO2dCQUMzQixVQUFVLEVBQUU7b0JBQ1YsU0FBUyxFQUFFO3dCQUNULFdBQVcsRUFDVCxrRkFBa0Y7d0JBQ3BGLEtBQUssRUFBRTs0QkFDTCxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFOzRCQUN6RDtnQ0FDRSxXQUFXLEVBQUUsMEJBQTBCO2dDQUN2QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dDQUN6QixRQUFRLEVBQUUsQ0FBQztnQ0FDWCxJQUFJLEVBQUUsT0FBTzs2QkFDZDt5QkFDRjtxQkFDRjtvQkFDRCxjQUFjLEVBQUU7d0JBQ2QsV0FBVyxFQUNULDZFQUE2RTt3QkFDL0UsS0FBSyxFQUFFOzRCQUNMLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7NEJBQ2hFO2dDQUNFLFdBQVcsRUFBRSxpQ0FBaUM7Z0NBQzlDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0NBQ3pCLFFBQVEsRUFBRSxDQUFDO2dDQUNYLElBQUksRUFBRSxPQUFPOzZCQUNkO3lCQUNGO3FCQUNGO29CQUNELFlBQVksRUFBRTt3QkFDWixXQUFXLEVBQ1QsaUVBQWlFO3dCQUNuRSxLQUFLLEVBQUU7NEJBQ0wsRUFBRSxXQUFXLEVBQUUsZ0NBQWdDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTs0QkFDakU7Z0NBQ0UsV0FBVyxFQUFFLG1DQUFtQztnQ0FDaEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQ0FDekIsUUFBUSxFQUFFLENBQUM7Z0NBQ1gsSUFBSSxFQUFFLE9BQU87NkJBQ2Q7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcblxuaW1wb3J0IHsgYnVpbGRMaXN0ZW5lckZvckZpbGVuYW1lIH0gZnJvbSBcIi4vcmVxdWlyZS10ZXN0LWNvbXBhbmlvbi1saXN0ZW5lcnNcIjtcbmltcG9ydCB7IGdldE9wdGlvbnMgfSBmcm9tIFwiLi9yZXF1aXJlLXRlc3QtY29tcGFuaW9uLW9wdGlvbnNcIjtcblxuLyoqIEVTTGludCBydWxlIGVuZm9yY2luZyAxOjEgdGVzdCBjb21wYW5pb25zIGZvciBUeXBlU2NyaXB0IGZpbGVzLiAqL1xuY29uc3QgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PlxuICAgIGJ1aWxkTGlzdGVuZXJGb3JGaWxlbmFtZShcbiAgICAgIGNvbnRleHQsXG4gICAgICBjb250ZXh0LmZpbGVuYW1lLFxuICAgICAgZ2V0T3B0aW9ucyhjb250ZXh0Lm9wdGlvbnMpLFxuICAgICAgdHlwZW9mIGNvbnRleHQuY3dkID09PSBcInN0cmluZ1wiID8gY29udGV4dC5jd2QgOiBjd2QoKSxcbiAgICApLFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgZW5mb3JjZUluOiBbXCJzcmMvKipcIl0sXG4gICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbXCIvKi5kLnRzXCIsIFwiL2luZGV4LnRzXCJdLFxuICAgICAgICB0ZXN0U3VmZml4ZXM6IFtcInNwZWNcIiwgXCJ0ZXN0XCJdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlcXVpcmUgZWFjaCB0ZXN0IGZpbGUgdG8gaGF2ZSBhIG1hdGNoaW5nIFR5cGVTY3JpcHQgc291cmNlIGZpbGUuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uLm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbWlzc2luZ1NvdXJjZTpcbiAgICAgICAgXCJUZXN0IGZpbGUgcmVxdWlyZXMgYSBtYXRjaGluZyBzb3VyY2UgZmlsZSAne3tzb3VyY2VGaWxlfX0nIGluIHRoZSBzYW1lIGZvbGRlci4gSWYgdGhpcyB0ZXN0IGZpbGUgaXMgb3JwaGFuZWQsIG1vdmUgaXRzIHRlc3RzIHRvIHRoZSBjb3JyZWN0IGNvbXBhbmlvbiBmaWxlIG9yIGRlbGV0ZSB0aGlzIG9ycGhhbiBmaWxlLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXG4gICAgICB7XG4gICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGVuZm9yY2VJbjoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiR2xvYiBwYXR0ZXJucyB0aGF0IGRlZmluZSB3aGVyZSB0ZXN0IGZpbGVzIG11c3QgaGF2ZSBtYXRjaGluZyBzb3VyY2UgY29tcGFuaW9ucy5cIixcbiAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgIHsgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgZ2xvYiBwYXR0ZXJuLlwiLCB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBIGxpc3Qgb2YgZ2xvYiBwYXR0ZXJucy5cIixcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlnbm9yZVBhdHRlcm5zOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJHbG9iIHBhdHRlcm5zIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGVzdC10by1zb3VyY2UgY29tcGFuaW9uIGNoZWNrcy5cIixcbiAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgIHsgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgaWdub3JlIGdsb2IgcGF0dGVybi5cIiwgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBsaXN0IG9mIGlnbm9yZSBnbG9iIHBhdHRlcm5zLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGVzdFN1ZmZpeGVzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJGaWxlbmFtZSBzdWZmaXhlcyB0aGF0IGFyZSByZWNvZ25pemVkIGFzIHZhbGlkIHRlc3QgY29tcGFuaW9ucy5cIixcbiAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgIHsgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgdGVzdCBmaWxlbmFtZSBzdWZmaXguXCIsIHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiB0ZXN0IGZpbGVuYW1lIHN1ZmZpeGVzLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../../src/infrastructure/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAwB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAoB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CAKkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../../src/infrastructure/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAwB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAoB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CAGkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -23,10 +23,8 @@ const codeperfectRules = {
23
23
  };
24
24
  /** ESLint plugin object exported by the package. */
25
25
  const codeperfectPlugin = {
26
- meta: {
27
- name: "@codeperfect/eslint-plugin",
28
- },
26
+ meta: { name: "@codeperfect/eslint-plugin" },
29
27
  rules: codeperfectRules,
30
28
  };
31
29
  export { codeperfectPlugin, codeperfectRules };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvZGVwZXJmZWN0LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEVBQ2pDLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsbURBQW1EO0FBQ25ELE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsOEJBQThCLEVBQUUsNkJBQTZCO0lBQzdELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCx5QkFBeUIsRUFBRSx5QkFBeUI7SUFDcEQsdUJBQXVCLEVBQUUsdUJBQXVCO0lBQ2hELDBCQUEwQixFQUFFLHlCQUF5QjtJQUNyRCw2QkFBNkIsRUFBRSw0QkFBNEI7SUFDM0QsMEJBQTBCLEVBQUUsa0NBQWtDO0lBQzlELHlCQUF5QixFQUFFLHlCQUF5QjtJQUNwRCw4QkFBOEIsRUFBRSw2QkFBNkI7SUFDN0Qsb0NBQW9DLEVBQUUsaUNBQWlDO0lBQ3ZFLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4Qyx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQsd0JBQXdCLEVBQUUsd0JBQXdCO0lBQ2xELHlCQUF5QixFQUFFLHdCQUF3QjtJQUNuRCw0QkFBNEIsRUFBRSwyQkFBMkI7SUFDekQsMEJBQTBCLEVBQUUsMEJBQTBCO0lBQ3RELHdCQUF3QixFQUFFLHdCQUF3QjtJQUNsRCxzQkFBc0IsRUFBRSxzQkFBc0I7SUFDOUMsbUJBQW1CLEVBQUUsbUJBQW1CO0NBQ1UsQ0FBQztBQUVyRCxvREFBb0Q7QUFDcEQsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsNEJBQTRCO0tBQ25DO0lBQ0QsS0FBSyxFQUFFLGdCQUFnQjtDQUNnQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIsIFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7XG4gIGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlLFxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXG4gIG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXG4gIG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUsXG4gIG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gIG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxuICBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIG5vVXNlbGVzc0RlbGVnYXRpb25SdWxlLFxuICBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vYXBwbGljYXRpb25cIjtcblxuLyoqIFJ1bGUgcmVnaXN0cnkgZXhwb3NlZCBieSB0aGUgcGFja2FnZSBwbHVnaW4uICovXG5jb25zdCBjb2RlcGVyZmVjdFJ1bGVzID0ge1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIjogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIjogbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIjogbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIjogbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiOiBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIjogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIFwibm8tdW5zYWZlLXZpdGVzdC1tb2NrLWZhY3RvcnktY2FzdFwiOiBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGUsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIjogbm9VbnVzZWRFeHBvcnRzUnVsZSxcbiAgXCJuby11c2VsZXNzLWRlbGVnYXRpb25cIjogbm9Vc2VsZXNzRGVsZWdhdGlvblJ1bGUsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiOiBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIjogcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCI6IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSxcbiAgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIjogcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUsXG4gIFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIjogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgXCJzaW5nbGUtbGluZS1qc2RvY1wiOiBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUmVjb3JkPHN0cmluZywgUnVsZS5SdWxlTW9kdWxlPjtcblxuLyoqIEVTTGludCBwbHVnaW4gb2JqZWN0IGV4cG9ydGVkIGJ5IHRoZSBwYWNrYWdlLiAqL1xuY29uc3QgY29kZXBlcmZlY3RQbHVnaW4gPSB7XG4gIG1ldGE6IHtcbiAgICBuYW1lOiBcIkBjb2RlcGVyZmVjdC9lc2xpbnQtcGx1Z2luXCIsXG4gIH0sXG4gIHJ1bGVzOiBjb2RlcGVyZmVjdFJ1bGVzLFxufSBzYXRpc2ZpZXMgTm9uTnVsbGFibGU8TGludGVyLkNvbmZpZ1tcInBsdWdpbnNcIl0+W3N0cmluZ107XG5cbmV4cG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH07XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvZGVwZXJmZWN0LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsaUNBQWlDLEVBQ2pDLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsbURBQW1EO0FBQ25ELE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsOEJBQThCLEVBQUUsNkJBQTZCO0lBQzdELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCx5QkFBeUIsRUFBRSx5QkFBeUI7SUFDcEQsdUJBQXVCLEVBQUUsdUJBQXVCO0lBQ2hELDBCQUEwQixFQUFFLHlCQUF5QjtJQUNyRCw2QkFBNkIsRUFBRSw0QkFBNEI7SUFDM0QsMEJBQTBCLEVBQUUsa0NBQWtDO0lBQzlELHlCQUF5QixFQUFFLHlCQUF5QjtJQUNwRCw4QkFBOEIsRUFBRSw2QkFBNkI7SUFDN0Qsb0NBQW9DLEVBQUUsaUNBQWlDO0lBQ3ZFLG1CQUFtQixFQUFFLG1CQUFtQjtJQUN4Qyx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQsd0JBQXdCLEVBQUUsd0JBQXdCO0lBQ2xELHlCQUF5QixFQUFFLHdCQUF3QjtJQUNuRCw0QkFBNEIsRUFBRSwyQkFBMkI7SUFDekQsMEJBQTBCLEVBQUUsMEJBQTBCO0lBQ3RELHdCQUF3QixFQUFFLHdCQUF3QjtJQUNsRCxzQkFBc0IsRUFBRSxzQkFBc0I7SUFDOUMsbUJBQW1CLEVBQUUsbUJBQW1CO0NBQ1UsQ0FBQztBQUVyRCxvREFBb0Q7QUFDcEQsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7SUFDNUMsS0FBSyxFQUFFLGdCQUFnQjtDQUNnQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIsIFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7XG4gIGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlLFxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXG4gIG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXG4gIG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUsXG4gIG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gIG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxuICBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIG5vVXNlbGVzc0RlbGVnYXRpb25SdWxlLFxuICBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vYXBwbGljYXRpb25cIjtcblxuLyoqIFJ1bGUgcmVnaXN0cnkgZXhwb3NlZCBieSB0aGUgcGFja2FnZSBwbHVnaW4uICovXG5jb25zdCBjb2RlcGVyZmVjdFJ1bGVzID0ge1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIjogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIjogbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIjogbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIjogbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiOiBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIjogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIFwibm8tdW5zYWZlLXZpdGVzdC1tb2NrLWZhY3RvcnktY2FzdFwiOiBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGUsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIjogbm9VbnVzZWRFeHBvcnRzUnVsZSxcbiAgXCJuby11c2VsZXNzLWRlbGVnYXRpb25cIjogbm9Vc2VsZXNzRGVsZWdhdGlvblJ1bGUsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiOiBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIjogcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCI6IHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSxcbiAgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIjogcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUsXG4gIFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIjogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgXCJzaW5nbGUtbGluZS1qc2RvY1wiOiBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgUmVjb3JkPHN0cmluZywgUnVsZS5SdWxlTW9kdWxlPjtcblxuLyoqIEVTTGludCBwbHVnaW4gb2JqZWN0IGV4cG9ydGVkIGJ5IHRoZSBwYWNrYWdlLiAqL1xuY29uc3QgY29kZXBlcmZlY3RQbHVnaW4gPSB7XG4gIG1ldGE6IHsgbmFtZTogXCJAY29kZXBlcmZlY3QvZXNsaW50LXBsdWdpblwiIH0sXG4gIHJ1bGVzOiBjb2RlcGVyZmVjdFJ1bGVzLFxufSBzYXRpc2ZpZXMgTm9uTnVsbGFibGU8TGludGVyLkNvbmZpZ1tcInBsdWdpbnNcIl0+W3N0cmluZ107XG5cbmV4cG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH07XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export { customRules } from "../application/index.js";
2
2
  export { codeperfectPlugin, codeperfectRules } from "./codeperfect-plugin.js";
3
3
  export { aaa, all, architecture, core, documentation, testing, } from "./presets.js";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFDTCxHQUFHLEVBQ0gsR0FBRyxFQUNILFlBQVksRUFDWixJQUFJLEVBQ0osYUFBYSxFQUNiLE9BQU8sR0FDUixNQUFNLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1c3RvbVJ1bGVzIH0gZnJvbSBcIi4uL2FwcGxpY2F0aW9uXCI7XHJcbmV4cG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH0gZnJvbSBcIi4vY29kZXBlcmZlY3QtcGx1Z2luXCI7XHJcbmV4cG9ydCB7XHJcbiAgYWFhLFxyXG4gIGFsbCxcclxuICBhcmNoaXRlY3R1cmUsXHJcbiAgY29yZSxcclxuICBkb2N1bWVudGF0aW9uLFxyXG4gIHRlc3RpbmcsXHJcbn0gZnJvbSBcIi4vcHJlc2V0c1wiO1xyXG5leHBvcnQgdHlwZSB7IENvZGVwZXJmZWN0UHJlc2V0IH0gZnJvbSBcIi4vcHJlc2V0c1wiO1xyXG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFDTCxHQUFHLEVBQ0gsR0FBRyxFQUNILFlBQVksRUFDWixJQUFJLEVBQ0osYUFBYSxFQUNiLE9BQU8sR0FDUixNQUFNLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1c3RvbVJ1bGVzIH0gZnJvbSBcIi4uL2FwcGxpY2F0aW9uXCI7XG5leHBvcnQgeyBjb2RlcGVyZmVjdFBsdWdpbiwgY29kZXBlcmZlY3RSdWxlcyB9IGZyb20gXCIuL2NvZGVwZXJmZWN0LXBsdWdpblwiO1xuZXhwb3J0IHtcbiAgYWFhLFxuICBhbGwsXG4gIGFyY2hpdGVjdHVyZSxcbiAgY29yZSxcbiAgZG9jdW1lbnRhdGlvbixcbiAgdGVzdGluZyxcbn0gZnJvbSBcIi4vcHJlc2V0c1wiO1xuZXhwb3J0IHR5cGUgeyBDb2RlcGVyZmVjdFByZXNldCB9IGZyb20gXCIuL3ByZXNldHNcIjtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/infrastructure/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,gEAAgE;AAChE,KAAK,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AAiHlE,oDAAoD;AACpD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,sDAAsD;AACtD,QAAA,MAAM,YAAY,mBAAsC,CAAC;AAEzD,sCAAsC;AACtC,QAAA,MAAM,IAAI,mBAA8B,CAAC;AAEzC,+CAA+C;AAC/C,QAAA,MAAM,aAAa,mBAAuC,CAAC;AAE3D,yCAAyC;AACzC,QAAA,MAAM,OAAO,mBAAiC,CAAC;AAE/C,sDAAsD;AACtD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/infrastructure/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,gEAAgE;AAChE,KAAK,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AA+GlE,oDAAoD;AACpD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,sDAAsD;AACtD,QAAA,MAAM,YAAY,mBAAsC,CAAC;AAEzD,sCAAsC;AACtC,QAAA,MAAM,IAAI,mBAA8B,CAAC;AAEzC,+CAA+C;AAC/C,QAAA,MAAM,aAAa,mBAAuC,CAAC;AAE3D,yCAAyC;AACzC,QAAA,MAAM,OAAO,mBAAiC,CAAC;AAE/C,sDAAsD;AACtD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -67,9 +67,7 @@ const allRuleNames = [
67
67
  */
68
68
  function createPreset(ruleNames) {
69
69
  return {
70
- plugins: {
71
- codeperfect: codeperfectPlugin,
72
- },
70
+ plugins: { codeperfect: codeperfectPlugin },
73
71
  rules: createRules(ruleNames),
74
72
  };
75
73
  }
@@ -98,4 +96,4 @@ const testing = createPreset(testingRuleNames);
98
96
  /** Preset that enables AAA-specific testing rules. */
99
97
  const aaa = createPreset(aaaRuleNames);
100
98
  export { aaa, all, architecture, core, documentation, testing };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN5QixDQUFDO0FBRXBELHdEQUF3RDtBQUN4RCxNQUFNLHNCQUFzQixHQUFHO0lBQzdCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsbUJBQW1CO0NBQzhCLENBQUM7QUFFcEQsc0RBQXNEO0FBQ3RELE1BQU0sWUFBWSxHQUFHO0lBQ25CLHVCQUF1QjtDQUMwQixDQUFDO0FBRXBELDBEQUEwRDtBQUMxRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsb0NBQW9DO0lBQ3BDLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtDQUMyQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLFlBQVksR0FBRztJQUNuQiw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLG9DQUFvQztJQUNwQyx3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsWUFBWSxDQUNuQixTQUF5QztJQUV6QyxPQUFPO1FBQ0wsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLGlCQUFpQjtTQUMvQjtRQUNELEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDO0tBQzlCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFdBQVcsQ0FDbEIsU0FBeUM7SUFFekMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDbEUsQ0FBQztBQUNKLENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLHNEQUFzRDtBQUN0RCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUV6RCxzQ0FBc0M7QUFDdEMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCx5Q0FBeUM7QUFDekMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFL0Msc0RBQXNEO0FBQ3RELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjb2RlcGVyZmVjdFBsdWdpbiwgY29kZXBlcmZlY3RSdWxlcyB9IGZyb20gXCIuL2NvZGVwZXJmZWN0LXBsdWdpblwiO1xuXG4vKiogUmVwcmVzZW50cyBhIHJlYWR5LXRvLXVzZSBwcmVzZXQgZXhwb3J0ZWQgYnkgdGhlIHBhY2thZ2UuICovXG50eXBlIENvZGVwZXJmZWN0UHJlc2V0ID0gUGljazxMaW50ZXIuQ29uZmlnLCBcInBsdWdpbnNcIiB8IFwicnVsZXNcIj47XG5cbi8qKiBSZXByZXNlbnRzIHRoZSBlbmFibGVkIHJ1bGUgZW50cmllcyBpbnNpZGUgYSBwcmVzZXQuICovXG50eXBlIENvZGVwZXJmZWN0UnVsZUVudHJpZXMgPSBQYXJ0aWFsPFxuICBSZWNvcmQ8Q29kZXBlcmZlY3RSdWxlS2V5LCBMaW50ZXIuUnVsZUVudHJ5PlxuPjtcblxuLyoqIE5hbWVzcGFjZXMgYSBwYWNrYWdlLW93bmVkIHJ1bGUgdW5kZXIgdGhlIGBjb2RlcGVyZmVjdC9gIHByZWZpeC4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlS2V5ID0gYGNvZGVwZXJmZWN0LyR7Q29kZXBlcmZlY3RSdWxlTmFtZX1gO1xuXG4vKiogRW51bWVyYXRlcyB0aGUgcGFja2FnZS1vd25lZCBydWxlIG5hbWVzLiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVOYW1lID0ga2V5b2YgdHlwZW9mIGNvZGVwZXJmZWN0UnVsZXM7XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgYXJjaGl0ZWN0dXJlIHByZXNldC4gKi9cbmNvbnN0IGFyY2hpdGVjdHVyZVJ1bGVOYW1lcyA9IFtcbiAgXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIixcbiAgXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBjb3JlIHByZXNldC4gKi9cbmNvbnN0IGNvcmVSdWxlTmFtZXMgPSBbXG4gIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgXCJuby11c2VsZXNzLWRlbGVnYXRpb25cIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgZG9jdW1lbnRhdGlvbiBwcmVzZXQuICovXG5jb25zdCBkb2N1bWVudGF0aW9uUnVsZU5hbWVzID0gW1xuICBcIm5vLWludGVyZmFjZS1tZW1iZXItZG9jc1wiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgQUFBLWZvY3VzZWQgcHJlc2V0LiAqL1xuY29uc3QgYWFhUnVsZU5hbWVzID0gW1xuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGJyb2FkZXIgdGVzdGluZyBwcmVzZXQuICovXG5jb25zdCB0ZXN0aW5nUnVsZU5hbWVzID0gW1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIixcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgXCJuby11bnNhZmUtdml0ZXN0LW1vY2stZmFjdG9yeS1jYXN0XCIsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIixcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIixcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyB1c2VkIGJ5IHRoZSBhbGwtcnVsZXMgcHJlc2V0LiAqL1xuY29uc3QgYWxsUnVsZU5hbWVzID0gW1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIixcbiAgXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIixcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIixcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICBcIm5vLXVzZWxlc3MtZGVsZWdhdGlvblwiLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIixcbiAgXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICBcIm5vLXVuc2FmZS12aXRlc3QtbW9jay1mYWN0b3J5LWNhc3RcIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIixcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIixcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByZXNldCBmb3IgdGhlIHByb3ZpZGVkIHJ1bGUgbmFtZXMuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgRVNMaW50IHByZXNldCBjb250YWluaW5nIHRoZSBwYWNrYWdlIHBsdWdpbiBhbmQgZW5hYmxlZCBydWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcmVzZXQgPSBjcmVhdGVQcmVzZXQoW1wibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVByZXNldChcbiAgcnVsZU5hbWVzOiByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW10sXG4pOiBDb2RlcGVyZmVjdFByZXNldCB7XG4gIHJldHVybiB7XG4gICAgcGx1Z2luczoge1xuICAgICAgY29kZXBlcmZlY3Q6IGNvZGVwZXJmZWN0UGx1Z2luLFxuICAgIH0sXG4gICAgcnVsZXM6IGNyZWF0ZVJ1bGVzKHJ1bGVOYW1lcyksXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgcnVsZSBlbnRyeSBtYXAgZm9yIGEgcHJlc2V0LlxuICogQHBhcmFtIHJ1bGVOYW1lcyBSdWxlIG5hbWVzIHRvIGVuYWJsZS5cbiAqIEByZXR1cm5zIFJ1bGUgZW50cnkgbWFwIGtleWVkIGJ5IGBjb2RlcGVyZmVjdC9gIHJ1bGUgbmFtZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlcyA9IGNyZWF0ZVJ1bGVzKFtcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVJ1bGVzKFxuICBydWxlTmFtZXM6IHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXSxcbik6IENvZGVwZXJmZWN0UnVsZUVudHJpZXMge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiBbYGNvZGVwZXJmZWN0LyR7cnVsZU5hbWV9YCwgXCJlcnJvclwiXSksXG4gICk7XG59XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGV2ZXJ5IHBhY2thZ2Utb3duZWQgcnVsZS4gKi9cbmNvbnN0IGFsbCA9IGNyZWF0ZVByZXNldChhbGxSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBhcmNoaXRlY3R1cmUtZm9jdXNlZCBydWxlcy4gKi9cbmNvbnN0IGFyY2hpdGVjdHVyZSA9IGNyZWF0ZVByZXNldChhcmNoaXRlY3R1cmVSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBjb3JlIHJ1bGVzLiAqL1xuY29uc3QgY29yZSA9IGNyZWF0ZVByZXNldChjb3JlUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgZG9jdW1lbnRhdGlvbiBydWxlcy4gKi9cbmNvbnN0IGRvY3VtZW50YXRpb24gPSBjcmVhdGVQcmVzZXQoZG9jdW1lbnRhdGlvblJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIHRlc3RpbmcgcnVsZXMuICovXG5jb25zdCB0ZXN0aW5nID0gY3JlYXRlUHJlc2V0KHRlc3RpbmdSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBBQUEtc3BlY2lmaWMgdGVzdGluZyBydWxlcy4gKi9cbmNvbnN0IGFhYSA9IGNyZWF0ZVByZXNldChhYWFSdWxlTmFtZXMpO1xuXG5leHBvcnQgeyBhYWEsIGFsbCwgYXJjaGl0ZWN0dXJlLCBjb3JlLCBkb2N1bWVudGF0aW9uLCB0ZXN0aW5nIH07XG5leHBvcnQgdHlwZSB7IENvZGVwZXJmZWN0UHJlc2V0IH07XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN5QixDQUFDO0FBRXBELHdEQUF3RDtBQUN4RCxNQUFNLHNCQUFzQixHQUFHO0lBQzdCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsbUJBQW1CO0NBQzhCLENBQUM7QUFFcEQsc0RBQXNEO0FBQ3RELE1BQU0sWUFBWSxHQUFHO0lBQ25CLHVCQUF1QjtDQUMwQixDQUFDO0FBRXBELDBEQUEwRDtBQUMxRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsb0NBQW9DO0lBQ3BDLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtDQUMyQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLFlBQVksR0FBRztJQUNuQiw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLG9DQUFvQztJQUNwQyx3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsWUFBWSxDQUNuQixTQUF5QztJQUV6QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFO1FBQzNDLEtBQUssRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDO0tBQzlCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFdBQVcsQ0FDbEIsU0FBeUM7SUFFekMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDbEUsQ0FBQztBQUNKLENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLHNEQUFzRDtBQUN0RCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUV6RCxzQ0FBc0M7QUFDdEMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCx5Q0FBeUM7QUFDekMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFL0Msc0RBQXNEO0FBQ3RELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjb2RlcGVyZmVjdFBsdWdpbiwgY29kZXBlcmZlY3RSdWxlcyB9IGZyb20gXCIuL2NvZGVwZXJmZWN0LXBsdWdpblwiO1xuXG4vKiogUmVwcmVzZW50cyBhIHJlYWR5LXRvLXVzZSBwcmVzZXQgZXhwb3J0ZWQgYnkgdGhlIHBhY2thZ2UuICovXG50eXBlIENvZGVwZXJmZWN0UHJlc2V0ID0gUGljazxMaW50ZXIuQ29uZmlnLCBcInBsdWdpbnNcIiB8IFwicnVsZXNcIj47XG5cbi8qKiBSZXByZXNlbnRzIHRoZSBlbmFibGVkIHJ1bGUgZW50cmllcyBpbnNpZGUgYSBwcmVzZXQuICovXG50eXBlIENvZGVwZXJmZWN0UnVsZUVudHJpZXMgPSBQYXJ0aWFsPFxuICBSZWNvcmQ8Q29kZXBlcmZlY3RSdWxlS2V5LCBMaW50ZXIuUnVsZUVudHJ5PlxuPjtcblxuLyoqIE5hbWVzcGFjZXMgYSBwYWNrYWdlLW93bmVkIHJ1bGUgdW5kZXIgdGhlIGBjb2RlcGVyZmVjdC9gIHByZWZpeC4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlS2V5ID0gYGNvZGVwZXJmZWN0LyR7Q29kZXBlcmZlY3RSdWxlTmFtZX1gO1xuXG4vKiogRW51bWVyYXRlcyB0aGUgcGFja2FnZS1vd25lZCBydWxlIG5hbWVzLiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVOYW1lID0ga2V5b2YgdHlwZW9mIGNvZGVwZXJmZWN0UnVsZXM7XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgYXJjaGl0ZWN0dXJlIHByZXNldC4gKi9cbmNvbnN0IGFyY2hpdGVjdHVyZVJ1bGVOYW1lcyA9IFtcbiAgXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIixcbiAgXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBjb3JlIHByZXNldC4gKi9cbmNvbnN0IGNvcmVSdWxlTmFtZXMgPSBbXG4gIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgXCJuby11c2VsZXNzLWRlbGVnYXRpb25cIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgZG9jdW1lbnRhdGlvbiBwcmVzZXQuICovXG5jb25zdCBkb2N1bWVudGF0aW9uUnVsZU5hbWVzID0gW1xuICBcIm5vLWludGVyZmFjZS1tZW1iZXItZG9jc1wiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgQUFBLWZvY3VzZWQgcHJlc2V0LiAqL1xuY29uc3QgYWFhUnVsZU5hbWVzID0gW1xuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGJyb2FkZXIgdGVzdGluZyBwcmVzZXQuICovXG5jb25zdCB0ZXN0aW5nUnVsZU5hbWVzID0gW1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIixcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgXCJuby11bnNhZmUtdml0ZXN0LW1vY2stZmFjdG9yeS1jYXN0XCIsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIixcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIixcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyB1c2VkIGJ5IHRoZSBhbGwtcnVsZXMgcHJlc2V0LiAqL1xuY29uc3QgYWxsUnVsZU5hbWVzID0gW1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIixcbiAgXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWFsaWFzZXNcIixcbiAgXCJuby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnNcIixcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIixcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICBcIm5vLXVzZWxlc3MtZGVsZWdhdGlvblwiLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIixcbiAgXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICBcIm5vLXVuc2FmZS12aXRlc3QtbW9jay1mYWN0b3J5LWNhc3RcIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIixcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIixcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByZXNldCBmb3IgdGhlIHByb3ZpZGVkIHJ1bGUgbmFtZXMuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgRVNMaW50IHByZXNldCBjb250YWluaW5nIHRoZSBwYWNrYWdlIHBsdWdpbiBhbmQgZW5hYmxlZCBydWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcmVzZXQgPSBjcmVhdGVQcmVzZXQoW1wibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVByZXNldChcbiAgcnVsZU5hbWVzOiByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW10sXG4pOiBDb2RlcGVyZmVjdFByZXNldCB7XG4gIHJldHVybiB7XG4gICAgcGx1Z2luczogeyBjb2RlcGVyZmVjdDogY29kZXBlcmZlY3RQbHVnaW4gfSxcbiAgICBydWxlczogY3JlYXRlUnVsZXMocnVsZU5hbWVzKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBydWxlIGVudHJ5IG1hcCBmb3IgYSBwcmVzZXQuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgUnVsZSBlbnRyeSBtYXAga2V5ZWQgYnkgYGNvZGVwZXJmZWN0L2AgcnVsZSBuYW1lLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJ1bGVzID0gY3JlYXRlUnVsZXMoW1wicHJlZmVyLWludGVyZmFjZS10eXBlc1wiXSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlUnVsZXMoXG4gIHJ1bGVOYW1lczogcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdLFxuKTogQ29kZXBlcmZlY3RSdWxlRW50cmllcyB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgcnVsZU5hbWVzLm1hcCgocnVsZU5hbWUpID0+IFtgY29kZXBlcmZlY3QvJHtydWxlTmFtZX1gLCBcImVycm9yXCJdKSxcbiAgKTtcbn1cblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgZXZlcnkgcGFja2FnZS1vd25lZCBydWxlLiAqL1xuY29uc3QgYWxsID0gY3JlYXRlUHJlc2V0KGFsbFJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGFyY2hpdGVjdHVyZS1mb2N1c2VkIHJ1bGVzLiAqL1xuY29uc3QgYXJjaGl0ZWN0dXJlID0gY3JlYXRlUHJlc2V0KGFyY2hpdGVjdHVyZVJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGNvcmUgcnVsZXMuICovXG5jb25zdCBjb3JlID0gY3JlYXRlUHJlc2V0KGNvcmVSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBkb2N1bWVudGF0aW9uIHJ1bGVzLiAqL1xuY29uc3QgZG9jdW1lbnRhdGlvbiA9IGNyZWF0ZVByZXNldChkb2N1bWVudGF0aW9uUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgdGVzdGluZyBydWxlcy4gKi9cbmNvbnN0IHRlc3RpbmcgPSBjcmVhdGVQcmVzZXQodGVzdGluZ1J1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIEFBQS1zcGVjaWZpYyB0ZXN0aW5nIHJ1bGVzLiAqL1xuY29uc3QgYWFhID0gY3JlYXRlUHJlc2V0KGFhYVJ1bGVOYW1lcyk7XG5cbmV4cG9ydCB7IGFhYSwgYWxsLCBhcmNoaXRlY3R1cmUsIGNvcmUsIGRvY3VtZW50YXRpb24sIHRlc3RpbmcgfTtcbmV4cG9ydCB0eXBlIHsgQ29kZXBlcmZlY3RQcmVzZXQgfTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-plugin",
3
- "version": "2.6.0",
3
+ "version": "2.8.0",
4
4
  "description": "Custom ESLint rules for TypeScript repositories",
5
5
  "license": "MIT",
6
6
  "repository": "github:parloti/eslint-plugin",
@@ -32,19 +32,19 @@
32
32
  "clean": "npx --yes rimraf dist",
33
33
  "\n • ---------- compilation ---------- •": "",
34
34
  "pack": "npm pack --pack-destination dist",
35
- "compile": "tsc --build --force ./tsconfig.build.json",
36
- "resolve-paths": "npx --yes tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
35
+ "compile": "tsc --build --force ./tsconfig.app.json",
36
+ "resolve-paths": "npx --yes tsc-alias --project ./tsconfig.app.json --resolve-full-paths",
37
37
  "\n# ---------------- LINTING ---------------- #": "",
38
38
  "\n • ------------ checking ------------ •": "",
39
39
  "eslint": "npx --yes eslint --max-warnings=0",
40
40
  "lint": "npm run lint:run",
41
- "lint:run": "npm run prettier && npm run eslint",
41
+ "lint:run": "concurrently --names=\"prettier,eslint\" --timestamp-format=\"HH:mm:ss\" --prefix=\"[{time} {name}]\" --kill-others-on-fail \"npm run prettier\" \"npm run eslint\"",
42
42
  "prettier": "npx --yes prettier --ignore-unknown --check .",
43
43
  "\n • ------------- fixing ------------- •": "",
44
44
  "eslint:fix": "npm run check:rules && npm run eslint -- --fix",
45
- "lint:fix": "npm run prettier:write && npm run eslint:fix",
45
+ "lint:fix": "npm run fmt && npm run eslint:fix",
46
46
  "lint:staged": "npx --yes tsx scripts/lint-staged.ts",
47
- "prettier:write": "npx --yes prettier --ignore-unknown --write .",
47
+ "fmt": "npm run prettier -- --write",
48
48
  "\n • ------------ helpers ------------ •": "",
49
49
  "check:rules": "npx --yes eslint-config-prettier eslint.config.ts",
50
50
  "eslint:inspect": "npx --yes @eslint/config-inspector",
@@ -53,7 +53,7 @@
53
53
  "mutation": "npx --yes stryker run",
54
54
  "test:all": "npm run test && npm run e2e && npm run mutation",
55
55
  "typecheck": "tsc --noEmit",
56
- "validate": "npm run lint && npm run typecheck && npm run test:all && npm run build --if-present && npm run pack --if-present",
56
+ "validate": "concurrently --names=\"lint,typecheck,test:all,build & pack\" --timestamp-format=\"HH:mm:ss\" --prefix=\"[{time} {name}]\" --kill-others-on-fail \"npm run lint\" \"npm run typecheck\" \"npm run test:all\" \"npm run build && npm run pack\"",
57
57
  "\n • -------------- unit -------------- •": "",
58
58
  "test": "npx --yes vitest run",
59
59
  "tdd": "npm run test -- --watch --silent=true --coverage.enabled=false",
@@ -74,55 +74,56 @@
74
74
  "linting"
75
75
  ],
76
76
  "dependencies": {
77
- "@typescript-eslint/utils": "^8.68.0",
77
+ "@typescript-eslint/utils": "^8.70.0",
78
78
  "minimatch": "^10.2.6"
79
79
  },
80
80
  "devDependencies": {
81
- "@codeperfect/commitlint-config-emoji": "^1.0.0",
82
- "@codeperfect/eslint-config": "^1.14.0",
81
+ "@codeperfect/commitlint-config-emoji": "^1.1.0",
82
+ "@codeperfect/eslint-config": "^1.15.0",
83
83
  "@commitlint/cz-commitlint": "^21.2.2",
84
- "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
84
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.8.0",
85
85
  "@eslint/js": "^10.0.1",
86
86
  "@stryker-mutator/core": "^10.0.0",
87
87
  "@stryker-mutator/typescript-checker": "^10.0.0",
88
88
  "@stryker-mutator/vitest-runner": "^10.0.0",
89
89
  "@stylistic/eslint-plugin": "^5.10.0",
90
90
  "@types/lodash-es": "^4.17.12",
91
- "@types/node": "^26.4.0",
92
- "@typescript-eslint/rule-tester": "^8.68.0",
91
+ "@types/node": "^22.20.2",
92
+ "@typescript-eslint/rule-tester": "^8.70.0",
93
93
  "@vitest/coverage-v8": "^4.1.11",
94
94
  "@vitest/eslint-plugin": "^1.6.27",
95
95
  "chalk": "^6.0.0",
96
- "eslint": "^10.9.1",
96
+ "concurrently": "^10.0.5",
97
+ "eslint": "^10.10.0",
97
98
  "eslint-config-prettier": "^10.1.8",
98
99
  "eslint-import-resolver-typescript": "^4.4.5",
99
100
  "eslint-plugin-boundaries": "^7.2.0",
100
101
  "eslint-plugin-eslint-plugin": "^7.6.2",
101
102
  "eslint-plugin-import-x": "^4.17.1",
102
103
  "eslint-plugin-jasmine": "^4.2.2",
103
- "eslint-plugin-jest": "^29.16.5",
104
- "eslint-plugin-jsdoc": "^64.2.1",
105
- "eslint-plugin-perfectionist": "^5.10.1",
104
+ "eslint-plugin-jest": "^29.16.6",
105
+ "eslint-plugin-jsdoc": "^64.3.9",
106
+ "eslint-plugin-perfectionist": "^5.11.0",
106
107
  "eslint-plugin-prettier": "^5.5.6",
107
108
  "eslint-plugin-rxjs-x": "^1.0.6",
108
- "eslint-plugin-unicorn": "^73.0.0",
109
- "globals": "^17.11.0",
109
+ "eslint-plugin-unicorn": "^74.0.0",
110
+ "globals": "^17.12.0",
110
111
  "husky": "^9.1.7",
111
112
  "jiti": "^2.7.0",
112
- "lint-staged": "^17.4.1",
113
+ "lint-staged": "^17.5.1",
113
114
  "lodash-es": "^4.18.1",
114
115
  "patch-package": "^8.0.1",
115
116
  "prettier": "^3.9.6",
116
117
  "rimraf": "^6.1.3",
117
118
  "semantic-release": "^25.0.9",
118
- "tsc-alias": "^1.9.2",
119
+ "tsc-alias": "^1.9.5",
119
120
  "typedoc": "^0.28.20",
120
121
  "typedoc-plugin-markdown": "^4.13.0",
121
122
  "typescript": "^6.0.3",
122
- "typescript-eslint": "^8.68.0",
123
+ "typescript-eslint": "^8.70.0",
123
124
  "vitest": "^4.1.11"
124
125
  },
125
126
  "peerDependencies": {
126
- "eslint": ">=10.9.1"
127
+ "eslint": ">=10.10.0"
127
128
  }
128
129
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-import-export-extensions-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAgJnC,8FAA8F;AAC9F,QAAA,MAAM,4BAA4B,EAAE,IAAI,CAAC,UA0BxC,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -1,134 +0,0 @@
1
- /** Set of disallowed module-specifier file extensions. */
2
- const disallowedExtensions = new Set([
3
- ".cjs",
4
- ".cts",
5
- ".js",
6
- ".jsx",
7
- ".mjs",
8
- ".mts",
9
- ".ts",
10
- ".tsx",
11
- ]);
12
- /**
13
- * Gets the trailing extension from a module specifier string.
14
- * @param source Module specifier text.
15
- * @returns File extension including the leading dot when present.
16
- * @example
17
- * ```typescript
18
- * const extension = getTrailingExtension("./feature.ts");
19
- * ```
20
- */
21
- const getSpecifierEndIndex = (source) => {
22
- const queryIndex = source.indexOf("?");
23
- const hashIndex = source.indexOf("#");
24
- const endIndexCandidates = [queryIndex, hashIndex].filter((index) => index >= 0);
25
- return endIndexCandidates.length === 0
26
- ? source.length
27
- : Math.min(...endIndexCandidates);
28
- };
29
- /**
30
- * Gets the trailing extension from a module specifier string.
31
- * @param source Module specifier text.
32
- * @returns File extension including the leading dot when present.
33
- * @example
34
- * ```typescript
35
- * const extension = getTrailingExtension("./feature.ts");
36
- * ```
37
- */
38
- const getTrailingExtension = (source) => {
39
- const endIndex = getSpecifierEndIndex(source);
40
- const cleanedSource = source.slice(0, endIndex);
41
- const lastSlashIndex = Math.max(cleanedSource.lastIndexOf("/"), cleanedSource.lastIndexOf("\\"));
42
- const basename = cleanedSource.slice(lastSlashIndex + 1);
43
- const dotIndex = basename.lastIndexOf(".");
44
- if (dotIndex <= 0) {
45
- return void 0;
46
- }
47
- return basename.slice(dotIndex).toLowerCase();
48
- };
49
- /**
50
- * Checks whether a source literal should be reported.
51
- * @param sourceLiteral Source literal node.
52
- * @returns True when the source includes a disallowed file extension.
53
- * @example
54
- * ```typescript
55
- * const forbidden = hasDisallowedExtension(sourceLiteral);
56
- * ```
57
- */
58
- const hasDisallowedExtension = (sourceLiteral) => {
59
- if (typeof sourceLiteral.value !== "string") {
60
- return false;
61
- }
62
- const extension = getTrailingExtension(sourceLiteral.value);
63
- return extension !== void 0 && disallowedExtensions.has(extension);
64
- };
65
- /**
66
- * Reports a statement when it references a source with disallowed extension.
67
- * @param context Rule execution context.
68
- * @param statement Statement that may include a source literal.
69
- * @example
70
- * ```typescript
71
- * reportWhenSourceHasExtension(context, statement);
72
- * ```
73
- */
74
- const reportWhenSourceHasExtension = (context, statement) => {
75
- const sourceLiteral = statement.source;
76
- if (sourceLiteral === null || sourceLiteral === void 0) {
77
- return;
78
- }
79
- if (!hasDisallowedExtension(sourceLiteral)) {
80
- return;
81
- }
82
- context.report({
83
- messageId: "unexpectedExtension",
84
- node: sourceLiteral,
85
- });
86
- };
87
- /**
88
- * Narrows one program statement to the source-bearing declarations this rule inspects.
89
- * @param statement Program statement node.
90
- * @returns Source-bearing declaration when supported.
91
- * @example
92
- * ```typescript
93
- * const declaration = asSourceDeclaration(statement);
94
- * ```
95
- */
96
- const asSourceDeclaration = (statement) => {
97
- if (statement.type === "ExportAllDeclaration") {
98
- return statement;
99
- }
100
- if (statement.type === "ExportNamedDeclaration") {
101
- return statement;
102
- }
103
- if (statement.type === "ImportDeclaration") {
104
- return statement;
105
- }
106
- return void 0;
107
- };
108
- /** ESLint rule that forbids import/export module specifiers with explicit file extensions. */
109
- const noImportExportExtensionsRule = {
110
- create: (context) => ({
111
- Program(node) {
112
- for (const statement of node.body) {
113
- const declaration = asSourceDeclaration(statement);
114
- if (declaration !== void 0) {
115
- reportWhenSourceHasExtension(context, declaration);
116
- }
117
- }
118
- },
119
- }),
120
- meta: {
121
- docs: {
122
- description: "Forbid explicit file extensions in import/export module specifiers.",
123
- recommended: false,
124
- url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/no-import-export-extensions.md",
125
- },
126
- messages: {
127
- unexpectedExtension: "Avoid file extensions in import/export module specifiers.",
128
- },
129
- schema: [],
130
- type: "problem",
131
- },
132
- };
133
- export { noImportExportExtensionsRule };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9uby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnMtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSwwREFBMEQ7QUFDMUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxNQUFNO0lBQ04sTUFBTTtJQUNOLEtBQUs7SUFDTCxNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtDQUNQLENBQUMsQ0FBQztBQUVIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE1BQWMsRUFBVSxFQUFFO0lBQ3RELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxNQUFNLGtCQUFrQixHQUFHLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FDdkQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQ3RCLENBQUM7SUFFRixPQUFPLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFjLEVBQXNCLEVBQUU7SUFDbEUsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsTUFBTSxh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Q0osV0FBVyxFQUNULHFFQUFxRTtZQUN2RSxXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsOEZBQThGO1NBQ3BHO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsbUJBQW1CLEVBQ2pCLDJEQUEyRDtTQUM5RDtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XHJcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcclxuXHJcbi8qKiBTZXQgb2YgZGlzYWxsb3dlZCBtb2R1bGUtc3BlY2lmaWVyIGZpbGUgZXh0ZW5zaW9ucy4gKi9cclxuY29uc3QgZGlzYWxsb3dlZEV4dGVuc2lvbnMgPSBuZXcgU2V0KFtcclxuICBcIi5janNcIixcclxuICBcIi5jdHNcIixcclxuICBcIi5qc1wiLFxyXG4gIFwiLmpzeFwiLFxyXG4gIFwiLm1qc1wiLFxyXG4gIFwiLm10c1wiLFxyXG4gIFwiLnRzXCIsXHJcbiAgXCIudHN4XCIsXHJcbl0pO1xyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIHRyYWlsaW5nIGV4dGVuc2lvbiBmcm9tIGEgbW9kdWxlIHNwZWNpZmllciBzdHJpbmcuXHJcbiAqIEBwYXJhbSBzb3VyY2UgTW9kdWxlIHNwZWNpZmllciB0ZXh0LlxyXG4gKiBAcmV0dXJucyBGaWxlIGV4dGVuc2lvbiBpbmNsdWRpbmcgdGhlIGxlYWRpbmcgZG90IHdoZW4gcHJlc2VudC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBleHRlbnNpb24gPSBnZXRUcmFpbGluZ0V4dGVuc2lvbihcIi4vZmVhdHVyZS50c1wiKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXRTcGVjaWZpZXJFbmRJbmRleCA9IChzb3VyY2U6IHN0cmluZyk6IG51bWJlciA9PiB7XHJcbiAgY29uc3QgcXVlcnlJbmRleCA9IHNvdXJjZS5pbmRleE9mKFwiP1wiKTtcclxuICBjb25zdCBoYXNoSW5kZXggPSBzb3VyY2UuaW5kZXhPZihcIiNcIik7XHJcbiAgY29uc3QgZW5kSW5kZXhDYW5kaWRhdGVzID0gW3F1ZXJ5SW5kZXgsIGhhc2hJbmRleF0uZmlsdGVyKFxyXG4gICAgKGluZGV4KSA9PiBpbmRleCA+PSAwLFxyXG4gICk7XHJcblxyXG4gIHJldHVybiBlbmRJbmRleENhbmRpZGF0ZXMubGVuZ3RoID09PSAwXHJcbiAgICA/IHNvdXJjZS5sZW5ndGhcclxuICAgIDogTWF0aC5taW4oLi4uZW5kSW5kZXhDYW5kaWRhdGVzKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSB0cmFpbGluZyBleHRlbnNpb24gZnJvbSBhIG1vZHVsZSBzcGVjaWZpZXIgc3RyaW5nLlxyXG4gKiBAcGFyYW0gc291cmNlIE1vZHVsZSBzcGVjaWZpZXIgdGV4dC5cclxuICogQHJldHVybnMgRmlsZSBleHRlbnNpb24gaW5jbHVkaW5nIHRoZSBsZWFkaW5nIGRvdCB3aGVuIHByZXNlbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgZXh0ZW5zaW9uID0gZ2V0VHJhaWxpbmdFeHRlbnNpb24oXCIuL2ZlYXR1cmUudHNcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0VHJhaWxpbmdFeHRlbnNpb24gPSAoc291cmNlOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xyXG4gIGNvbnN0IGVuZEluZGV4ID0gZ2V0U3BlY2lmaWVyRW5kSW5kZXgoc291cmNlKTtcclxuICBjb25zdCBjbGVhbmVkU291cmNlID0gc291cmNlLnNsaWNlKDAsIGVuZEluZGV4KTtcclxuICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IE1hdGgubWF4KFxyXG4gICAgY2xlYW5lZFNvdXJjZS5sYXN0SW5kZXhPZihcIi9cIiksXHJcbiAgICBjbGVhbmVkU291cmNlLmxhc3RJbmRleE9mKFwiXFxcXFwiKSxcclxuICApO1xyXG4gIGNvbnN0IGJhc2VuYW1lID0gY2xlYW5lZFNvdXJjZS5zbGljZShsYXN0U2xhc2hJbmRleCArIDEpO1xyXG4gIGNvbnN0IGRvdEluZGV4ID0gYmFzZW5hbWUubGFzdEluZGV4T2YoXCIuXCIpO1xyXG5cclxuICBpZiAoZG90SW5kZXggPD0gMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHJldHVybiBiYXNlbmFtZS5zbGljZShkb3RJbmRleCkudG9Mb3dlckNhc2UoKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBhIHNvdXJjZSBsaXRlcmFsIHNob3VsZCBiZSByZXBvcnRlZC5cclxuICogQHBhcmFtIHNvdXJjZUxpdGVyYWwgU291cmNlIGxpdGVyYWwgbm9kZS5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBzb3VyY2UgaW5jbHVkZXMgYSBkaXNhbGxvd2VkIGZpbGUgZXh0ZW5zaW9uLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGZvcmJpZGRlbiA9IGhhc0Rpc2FsbG93ZWRFeHRlbnNpb24oc291cmNlTGl0ZXJhbCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgaGFzRGlzYWxsb3dlZEV4dGVuc2lvbiA9IChzb3VyY2VMaXRlcmFsOiBFU1RyZWUuTGl0ZXJhbCk6IGJvb2xlYW4gPT4ge1xyXG4gIGlmICh0eXBlb2Ygc291cmNlTGl0ZXJhbC52YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZXh0ZW5zaW9uID0gZ2V0VHJhaWxpbmdFeHRlbnNpb24oc291cmNlTGl0ZXJhbC52YWx1ZSk7XHJcblxyXG4gIHJldHVybiBleHRlbnNpb24gIT09IHZvaWQgMCAmJiBkaXNhbGxvd2VkRXh0ZW5zaW9ucy5oYXMoZXh0ZW5zaW9uKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXBvcnRzIGEgc3RhdGVtZW50IHdoZW4gaXQgcmVmZXJlbmNlcyBhIHNvdXJjZSB3aXRoIGRpc2FsbG93ZWQgZXh0ZW5zaW9uLlxyXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxyXG4gKiBAcGFyYW0gc3RhdGVtZW50IFN0YXRlbWVudCB0aGF0IG1heSBpbmNsdWRlIGEgc291cmNlIGxpdGVyYWwuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogcmVwb3J0V2hlblNvdXJjZUhhc0V4dGVuc2lvbihjb250ZXh0LCBzdGF0ZW1lbnQpO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IHJlcG9ydFdoZW5Tb3VyY2VIYXNFeHRlbnNpb24gPSAoXHJcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcclxuICBzdGF0ZW1lbnQ6XHJcbiAgICB8IEVTVHJlZS5FeHBvcnRBbGxEZWNsYXJhdGlvblxyXG4gICAgfCBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvblxyXG4gICAgfCBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24sXHJcbik6IHZvaWQgPT4ge1xyXG4gIGNvbnN0IHNvdXJjZUxpdGVyYWwgPSBzdGF0ZW1lbnQuc291cmNlO1xyXG5cclxuICBpZiAoc291cmNlTGl0ZXJhbCA9PT0gbnVsbCB8fCBzb3VyY2VMaXRlcmFsID09PSB2b2lkIDApIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGlmICghaGFzRGlzYWxsb3dlZEV4dGVuc2lvbihzb3VyY2VMaXRlcmFsKSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dC5yZXBvcnQoe1xyXG4gICAgbWVzc2FnZUlkOiBcInVuZXhwZWN0ZWRFeHRlbnNpb25cIixcclxuICAgIG5vZGU6IHNvdXJjZUxpdGVyYWwsXHJcbiAgfSk7XHJcbn07XHJcblxyXG4vKipcclxuICogTmFycm93cyBvbmUgcHJvZ3JhbSBzdGF0ZW1lbnQgdG8gdGhlIHNvdXJjZS1iZWFyaW5nIGRlY2xhcmF0aW9ucyB0aGlzIHJ1bGUgaW5zcGVjdHMuXHJcbiAqIEBwYXJhbSBzdGF0ZW1lbnQgUHJvZ3JhbSBzdGF0ZW1lbnQgbm9kZS5cclxuICogQHJldHVybnMgU291cmNlLWJlYXJpbmcgZGVjbGFyYXRpb24gd2hlbiBzdXBwb3J0ZWQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgZGVjbGFyYXRpb24gPSBhc1NvdXJjZURlY2xhcmF0aW9uKHN0YXRlbWVudCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgYXNTb3VyY2VEZWNsYXJhdGlvbiA9IChcclxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdLFxyXG4pOlxyXG4gIHwgRVNUcmVlLkV4cG9ydEFsbERlY2xhcmF0aW9uXHJcbiAgfCBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvblxyXG4gIHwgRVNUcmVlLkltcG9ydERlY2xhcmF0aW9uXHJcbiAgfCB1bmRlZmluZWQgPT4ge1xyXG4gIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiKSB7XHJcbiAgICByZXR1cm4gc3RhdGVtZW50O1xyXG4gIH1cclxuXHJcbiAgaWYgKHN0YXRlbWVudC50eXBlID09PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xyXG4gICAgcmV0dXJuIHN0YXRlbWVudDtcclxuICB9XHJcblxyXG4gIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiKSB7XHJcbiAgICByZXR1cm4gc3RhdGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufTtcclxuXHJcbi8qKiBFU0xpbnQgcnVsZSB0aGF0IGZvcmJpZHMgaW1wb3J0L2V4cG9ydCBtb2R1bGUgc3BlY2lmaWVycyB3aXRoIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9ucy4gKi9cclxuY29uc3Qgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xyXG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PiAoe1xyXG4gICAgUHJvZ3JhbShub2RlOiBFU1RyZWUuUHJvZ3JhbSk6IHZvaWQge1xyXG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcclxuICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGFzU291cmNlRGVjbGFyYXRpb24oc3RhdGVtZW50KTtcclxuXHJcbiAgICAgICAgaWYgKGRlY2xhcmF0aW9uICE9PSB2b2lkIDApIHtcclxuICAgICAgICAgIHJlcG9ydFdoZW5Tb3VyY2VIYXNFeHRlbnNpb24oY29udGV4dCwgZGVjbGFyYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICB9KSxcclxuICBtZXRhOiB7XHJcbiAgICBkb2NzOiB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAgIFwiRm9yYmlkIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9ucyBpbiBpbXBvcnQvZXhwb3J0IG1vZHVsZSBzcGVjaWZpZXJzLlwiLFxyXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXHJcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL25vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9ucy5tZFwiLFxyXG4gICAgfSxcclxuICAgIG1lc3NhZ2VzOiB7XHJcbiAgICAgIHVuZXhwZWN0ZWRFeHRlbnNpb246XHJcbiAgICAgICAgXCJBdm9pZCBmaWxlIGV4dGVuc2lvbnMgaW4gaW1wb3J0L2V4cG9ydCBtb2R1bGUgc3BlY2lmaWVycy5cIixcclxuICAgIH0sXHJcbiAgICBzY2hlbWE6IFtdLFxyXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCB7IG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUgfTtcclxuIl19