@codeperfect/eslint-plugin 2.11.0 → 3.1.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.
- package/README.md +0 -1
- package/dist/application/custom-rules.d.ts +3 -0
- package/dist/application/custom-rules.d.ts.map +1 -1
- package/dist/application/custom-rules.js +3 -2
- package/dist/application/index.d.ts +1 -1
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +2 -2
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +0 -2
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +4 -6
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +12 -15
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -2
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +2 -10
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +8 -17
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +6 -8
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.js +4 -5
- package/dist/domain/architecture/index.d.ts +1 -0
- package/dist/domain/architecture/index.d.ts.map +1 -1
- package/dist/domain/architecture/index.js +2 -1
- package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.d.ts.map +1 -1
- package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.js +6 -13
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +11 -10
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +5 -9
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +6 -9
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +5 -10
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +4 -8
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +4 -5
- package/dist/domain/architecture/no-unused-public-members/index.d.ts +2 -0
- package/dist/domain/architecture/no-unused-public-members/index.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/index.js +2 -0
- package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.d.ts +16 -0
- package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.js +102 -0
- package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.d.ts +34 -0
- package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.js +55 -0
- package/dist/domain/architecture/no-unused-public-members/member-host-utilities.d.ts +68 -0
- package/dist/domain/architecture/no-unused-public-members/member-host-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-host-utilities.js +195 -0
- package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.d.ts +30 -0
- package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.js +101 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.d.ts +28 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.js +125 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.d.ts +29 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.js +108 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.d.ts +42 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.js +96 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.d.ts +18 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.js +128 -0
- package/dist/domain/architecture/no-unused-public-members/member-utilities.d.ts +41 -0
- package/dist/domain/architecture/no-unused-public-members/member-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/member-utilities.js +51 -0
- package/dist/domain/architecture/no-unused-public-members/rule.d.ts +5 -0
- package/dist/domain/architecture/no-unused-public-members/rule.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-public-members/rule.js +78 -0
- package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule-utilities.js +13 -19
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +4 -5
- package/dist/domain/core/no-useless-delegation/rule.d.ts.map +1 -1
- package/dist/domain/core/no-useless-delegation/rule.js +5 -6
- package/dist/domain/core/prefer-interface-types/autofix.js +4 -5
- package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule-utilities.js +7 -9
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +10 -8
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +5 -6
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +7 -9
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +2 -5
- package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/empty-fence-fixes.js +2 -5
- package/dist/domain/docs/require-example-language/example-utilities.d.ts +1 -7
- package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/example-utilities.js +6 -14
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/examples.js +7 -16
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/fixes.js +8 -13
- package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/reporting.js +4 -8
- package/dist/domain/docs/require-example-language/types.d.ts +0 -2
- package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/types.js +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.js +5 -11
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +5 -14
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +5 -9
- package/dist/domain/index.d.ts +2 -2
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -3
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +2 -5
- package/dist/domain/testing/aaa/analyzer.analysis.js +6 -11
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +5 -14
- package/dist/domain/testing/aaa/analyzer.assertions.js +2 -2
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +12 -16
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +11 -21
- package/dist/domain/testing/aaa/analyzer.classification.js +2 -2
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.js +5 -6
- package/dist/domain/testing/aaa/types.d.ts +0 -4
- package/dist/domain/testing/aaa/types.d.ts.map +1 -1
- package/dist/domain/testing/aaa/types.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +2 -7
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +4 -5
- package/dist/domain/testing/index.d.ts +0 -1
- package/dist/domain/testing/index.d.ts.map +1 -1
- package/dist/domain/testing/index.js +1 -2
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix.js +9 -7
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +5 -9
- package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +2 -7
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +5 -5
- package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +3 -5
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +13 -18
- package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +5 -6
- package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts +0 -2
- package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/types.js +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +9 -12
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +5 -11
- package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -7
- package/dist/domain/testing/require-test-companion/rule.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/infrastructure/codeperfect-plugin.d.ts +2 -2
- package/dist/infrastructure/codeperfect-plugin.js +3 -3
- package/dist/infrastructure/presets.js +3 -3
- package/package.json +26 -27
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts +0 -2
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts.map +0 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.js +0 -2
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +0 -29
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +0 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +0 -200
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +0 -12
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +0 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +0 -151
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +0 -16
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +0 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +0 -109
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts +0 -5
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +0 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +0 -41
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noImportExportAliasesRule, noReexportsOutsideBarrelsRule, } from "./consistent-barrel-files/index.js";
|
|
2
2
|
export { noImportExportExtensionsRule } from "./no-import-export-extensions/index.js";
|
|
3
3
|
export { noUnusedExportsRule } from "./no-unused-exports/index.js";
|
|
4
|
-
|
|
4
|
+
export { noUnusedPublicMembersRule } from "./no-unused-public-members/index.js";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsNkJBQTZCLEdBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG59IGZyb20gXCIuL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCI7XG5leHBvcnQgeyBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlIH0gZnJvbSBcIi4vbm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zXCI7XG5leHBvcnQgeyBub1VudXNlZEV4cG9ydHNSdWxlIH0gZnJvbSBcIi4vbm8tdW51c2VkLWV4cG9ydHNcIjtcbmV4cG9ydCB7IG5vVW51c2VkUHVibGljTWVtYmVyc1J1bGUgfSBmcm9tIFwiLi9uby11bnVzZWQtcHVibGljLW1lbWJlcnNcIjtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-import-export-extensions-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"no-import-export-extensions-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA4LnC,8FAA8F;AAC9F,QAAA,MAAM,4BAA4B,EAAE,IAAI,CAAC,UA6BxC,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.js
CHANGED
|
@@ -41,10 +41,7 @@ const getTrailingExtension = (source) => {
|
|
|
41
41
|
const lastSlashIndex = Math.max(cleanedSource.lastIndexOf("/"), cleanedSource.lastIndexOf("\\"));
|
|
42
42
|
const basename = cleanedSource.slice(lastSlashIndex + 1);
|
|
43
43
|
const dotIndex = basename.lastIndexOf(".");
|
|
44
|
-
|
|
45
|
-
return void 0;
|
|
46
|
-
}
|
|
47
|
-
return basename.slice(dotIndex).toLowerCase();
|
|
44
|
+
return dotIndex <= 0 ? void 0 : basename.slice(dotIndex).toLowerCase();
|
|
48
45
|
};
|
|
49
46
|
/**
|
|
50
47
|
* Builds the fixed source literal text with the disallowed extension removed.
|
|
@@ -101,10 +98,9 @@ const hasDisallowedExtension = (sourceLiteral) => {
|
|
|
101
98
|
*/
|
|
102
99
|
const reportWhenSourceHasExtension = (context, statement) => {
|
|
103
100
|
const sourceLiteral = statement.source;
|
|
104
|
-
if (sourceLiteral === null ||
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (!hasDisallowedExtension(sourceLiteral)) {
|
|
101
|
+
if (sourceLiteral === null ||
|
|
102
|
+
sourceLiteral === void 0 ||
|
|
103
|
+
!hasDisallowedExtension(sourceLiteral)) {
|
|
108
104
|
return;
|
|
109
105
|
}
|
|
110
106
|
const fixedSource = buildFixedSource(sourceLiteral);
|
|
@@ -134,10 +130,7 @@ const asSourceDeclaration = (statement) => {
|
|
|
134
130
|
if (statement.type === "ExportNamedDeclaration") {
|
|
135
131
|
return statement;
|
|
136
132
|
}
|
|
137
|
-
|
|
138
|
-
return statement;
|
|
139
|
-
}
|
|
140
|
-
return void 0;
|
|
133
|
+
return statement.type === "ImportDeclaration" ? statement : void 0;
|
|
141
134
|
};
|
|
142
135
|
/** ESLint rule that forbids import/export module specifiers with explicit file extensions. */
|
|
143
136
|
const noImportExportExtensionsRule = {
|
|
@@ -168,4 +161,4 @@ const noImportExportExtensionsRule = {
|
|
|
168
161
|
},
|
|
169
162
|
};
|
|
170
163
|
export { noImportExportExtensionsRule };
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9uby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnMvbm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsMERBQTBEO0FBQzFELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDbkMsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQ3ZELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUN0QixDQUFDO0lBRUYsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUNwQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU07UUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBYyxFQUFzQixFQUFFO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLE1B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Q0FBQyxJQUFJLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztRQUMzQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRiw4RkFBOEY7QUFDOUYsTUFBTSw0QkFBNEIsR0FBb0I7SUFDcEQsTUFBTSxFQUFFLENBQUMsT0FBeUIsRUFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekQsT0FBTyxDQUFDLElBQW9CO1lBQzFCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQyxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFbkQsSUFBSSxXQUFXLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsNEJBQTRCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0lBQ0YsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULHFFQUFxRTtZQUN2RSxXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsOEZBQThGO1NBQ3BHO1FBQ0QsT0FBTyxFQUFFLE1BQU07UUFDZixjQUFjLEVBQUUsSUFBSTtRQUNwQixRQUFRLEVBQUU7WUFDUixlQUFlLEVBQUUsdURBQXVEO1lBQ3hFLG1CQUFtQixFQUNqQiwyREFBMkQ7U0FDOUQ7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG4vKiogU2V0IG9mIGRpc2FsbG93ZWQgbW9kdWxlLXNwZWNpZmllciBmaWxlIGV4dGVuc2lvbnMuICovXG5jb25zdCBkaXNhbGxvd2VkRXh0ZW5zaW9ucyA9IG5ldyBTZXQoW1xuICBcIi5janNcIixcbiAgXCIuY3RzXCIsXG4gIFwiLmpzXCIsXG4gIFwiLmpzeFwiLFxuICBcIi5tanNcIixcbiAgXCIubXRzXCIsXG4gIFwiLnRzXCIsXG4gIFwiLnRzeFwiLFxuXSk7XG5cbi8qKlxuICogR2V0cyB0aGUgdHJhaWxpbmcgZXh0ZW5zaW9uIGZyb20gYSBtb2R1bGUgc3BlY2lmaWVyIHN0cmluZy5cbiAqIEBwYXJhbSBzb3VyY2UgTW9kdWxlIHNwZWNpZmllciB0ZXh0LlxuICogQHJldHVybnMgRmlsZSBleHRlbnNpb24gaW5jbHVkaW5nIHRoZSBsZWFkaW5nIGRvdCB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXh0ZW5zaW9uID0gZ2V0VHJhaWxpbmdFeHRlbnNpb24oXCIuL2ZlYXR1cmUudHNcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0U3BlY2lmaWVyRW5kSW5kZXggPSAoc291cmNlOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICBjb25zdCBxdWVyeUluZGV4ID0gc291cmNlLmluZGV4T2YoXCI/XCIpO1xuICBjb25zdCBoYXNoSW5kZXggPSBzb3VyY2UuaW5kZXhPZihcIiNcIik7XG4gIGNvbnN0IGVuZEluZGV4Q2FuZGlkYXRlcyA9IFtxdWVyeUluZGV4LCBoYXNoSW5kZXhdLmZpbHRlcihcbiAgICAoaW5kZXgpID0+IGluZGV4ID49IDAsXG4gICk7XG5cbiAgcmV0dXJuIGVuZEluZGV4Q2FuZGlkYXRlcy5sZW5ndGggPT09IDBcbiAgICA/IHNvdXJjZS5sZW5ndGhcbiAgICA6IE1hdGgubWluKC4uLmVuZEluZGV4Q2FuZGlkYXRlcyk7XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIHRyYWlsaW5nIGV4dGVuc2lvbiBmcm9tIGEgbW9kdWxlIHNwZWNpZmllciBzdHJpbmcuXG4gKiBAcGFyYW0gc291cmNlIE1vZHVsZSBzcGVjaWZpZXIgdGV4dC5cbiAqIEByZXR1cm5zIEZpbGUgZXh0ZW5zaW9uIGluY2x1ZGluZyB0aGUgbGVhZGluZyBkb3Qgd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGV4dGVuc2lvbiA9IGdldFRyYWlsaW5nRXh0ZW5zaW9uKFwiLi9mZWF0dXJlLnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFRyYWlsaW5nRXh0ZW5zaW9uID0gKHNvdXJjZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgZW5kSW5kZXggPSBnZXRTcGVjaWZpZXJFbmRJbmRleChzb3VyY2UpO1xuICBjb25zdCBjbGVhbmVkU291cmNlID0gc291cmNlLnNsaWNlKDAsIGVuZEluZGV4KTtcbiAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSBNYXRoLm1heChcbiAgICBjbGVhbmVkU291cmNlLmxhc3RJbmRleE9mKFwiL1wiKSxcbiAgICBjbGVhbmVkU291cmNlLmxhc3RJbmRleE9mKFwiXFxcXFwiKSxcbiAgKTtcbiAgY29uc3QgYmFzZW5hbWUgPSBjbGVhbmVkU291cmNlLnNsaWNlKGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gIGNvbnN0IGRvdEluZGV4ID0gYmFzZW5hbWUubGFzdEluZGV4T2YoXCIuXCIpO1xuXG4gIGlmIChkb3RJbmRleCA8PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiBiYXNlbmFtZS5zbGljZShkb3RJbmRleCkudG9Mb3dlckNhc2UoKTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHRoZSBmaXhlZCBzb3VyY2UgbGl0ZXJhbCB0ZXh0IHdpdGggdGhlIGRpc2FsbG93ZWQgZXh0ZW5zaW9uIHJlbW92ZWQuXG4gKiBAcGFyYW0gc291cmNlTGl0ZXJhbCBTb3VyY2UgbGl0ZXJhbCBub2RlIHRvIGZpeC5cbiAqIEByZXR1cm5zIEZpeGVkIHNvdXJjZSB0ZXh0IGluY2x1ZGluZyBzdXJyb3VuZGluZyBxdW90ZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ZWQgPSBidWlsZEZpeGVkU291cmNlKHNvdXJjZUxpdGVyYWwpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkRml4ZWRTb3VyY2UgPSAoXG4gIHNvdXJjZUxpdGVyYWw6IEVTVHJlZS5MaXRlcmFsLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgcmF3ID0gc291cmNlTGl0ZXJhbC5yYXc7XG4gIGNvbnN0IHZhbHVlID0gc291cmNlTGl0ZXJhbC52YWx1ZTtcblxuICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiIHx8IHJhdyA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHF1b3RlQ2hhciA9IHJhd1swXTtcbiAgY29uc3QgZW5kSW5kZXggPSBnZXRTcGVjaWZpZXJFbmRJbmRleCh2YWx1ZSk7XG4gIGNvbnN0IGNsZWFuZWRTb3VyY2UgPSB2YWx1ZS5zbGljZSgwLCBlbmRJbmRleCk7XG4gIGNvbnN0IHN1ZmZpeCA9IHZhbHVlLnNsaWNlKGVuZEluZGV4KTtcbiAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSBNYXRoLm1heChcbiAgICBjbGVhbmVkU291cmNlLmxhc3RJbmRleE9mKFwiL1wiKSxcbiAgICBjbGVhbmVkU291cmNlLmxhc3RJbmRleE9mKFwiXFxcXFwiKSxcbiAgKTtcbiAgY29uc3QgYmFzZW5hbWUgPSBjbGVhbmVkU291cmNlLnNsaWNlKGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gIGNvbnN0IGRvdEluZGV4ID0gYmFzZW5hbWUubGFzdEluZGV4T2YoXCIuXCIpO1xuXG4gIGlmIChkb3RJbmRleCA8PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBjbGVhbmVkU291cmNlLnNsaWNlKFxuICAgIDAsXG4gICAgY2xlYW5lZFNvdXJjZS5sZW5ndGggLSBiYXNlbmFtZS5sZW5ndGggKyBkb3RJbmRleCxcbiAgKTtcblxuICByZXR1cm4gYCR7U3RyaW5nKHF1b3RlQ2hhcil9JHt3aXRob3V0RXh0ZW5zaW9ufSR7c3VmZml4fSR7U3RyaW5nKHF1b3RlQ2hhcil9YDtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBzb3VyY2UgbGl0ZXJhbCBzaG91bGQgYmUgcmVwb3J0ZWQuXG4gKiBAcGFyYW0gc291cmNlTGl0ZXJhbCBTb3VyY2UgbGl0ZXJhbCBub2RlLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBzb3VyY2UgaW5jbHVkZXMgYSBkaXNhbGxvd2VkIGZpbGUgZXh0ZW5zaW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZvcmJpZGRlbiA9IGhhc0Rpc2FsbG93ZWRFeHRlbnNpb24oc291cmNlTGl0ZXJhbCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaGFzRGlzYWxsb3dlZEV4dGVuc2lvbiA9IChzb3VyY2VMaXRlcmFsOiBFU1RyZWUuTGl0ZXJhbCk6IGJvb2xlYW4gPT4ge1xuICBpZiAodHlwZW9mIHNvdXJjZUxpdGVyYWwudmFsdWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBleHRlbnNpb24gPSBnZXRUcmFpbGluZ0V4dGVuc2lvbihzb3VyY2VMaXRlcmFsLnZhbHVlKTtcblxuICByZXR1cm4gZXh0ZW5zaW9uICE9PSB2b2lkIDAgJiYgZGlzYWxsb3dlZEV4dGVuc2lvbnMuaGFzKGV4dGVuc2lvbik7XG59O1xuXG4vKipcbiAqIFJlcG9ydHMgYSBzdGF0ZW1lbnQgd2hlbiBpdCByZWZlcmVuY2VzIGEgc291cmNlIHdpdGggZGlzYWxsb3dlZCBleHRlbnNpb24uXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIHN0YXRlbWVudCBTdGF0ZW1lbnQgdGhhdCBtYXkgaW5jbHVkZSBhIHNvdXJjZSBsaXRlcmFsLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydFdoZW5Tb3VyY2VIYXNFeHRlbnNpb24oY29udGV4dCwgc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCByZXBvcnRXaGVuU291cmNlSGFzRXh0ZW5zaW9uID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBzdGF0ZW1lbnQ6XG4gICAgfCBFU1RyZWUuRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICB8IEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uXG4gICAgfCBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24sXG4pOiB2b2lkID0+IHtcbiAgY29uc3Qgc291cmNlTGl0ZXJhbCA9IHN0YXRlbWVudC5zb3VyY2U7XG5cbiAgaWYgKHNvdXJjZUxpdGVyYWwgPT09IG51bGwgfHwgc291cmNlTGl0ZXJhbCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFoYXNEaXNhbGxvd2VkRXh0ZW5zaW9uKHNvdXJjZUxpdGVyYWwpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZml4ZWRTb3VyY2UgPSBidWlsZEZpeGVkU291cmNlKHNvdXJjZUxpdGVyYWwpO1xuXG4gIGNvbnN0IGZpeCA9XG4gICAgZml4ZWRTb3VyY2UgPT09IHZvaWQgMFxuICAgICAgPyB2b2lkIDBcbiAgICAgIDogKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4ID0+XG4gICAgICAgICAgZml4ZXIucmVwbGFjZVRleHQoc291cmNlTGl0ZXJhbCwgZml4ZWRTb3VyY2UpO1xuXG4gIGNvbnRleHQucmVwb3J0KHtcbiAgICAuLi4oZml4ICE9PSB2b2lkIDAgJiYgeyBmaXggfSksXG4gICAgbWVzc2FnZUlkOiBcInVuZXhwZWN0ZWRFeHRlbnNpb25cIixcbiAgICBub2RlOiBzb3VyY2VMaXRlcmFsLFxuICAgIC4uLihmaXggIT09IHZvaWQgMCAmJiB7IHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcInJlbW92ZUV4dGVuc2lvblwiIH1dIH0pLFxuICB9KTtcbn07XG5cbi8qKlxuICogTmFycm93cyBvbmUgcHJvZ3JhbSBzdGF0ZW1lbnQgdG8gdGhlIHNvdXJjZS1iZWFyaW5nIGRlY2xhcmF0aW9ucyB0aGlzIHJ1bGUgaW5zcGVjdHMuXG4gKiBAcGFyYW0gc3RhdGVtZW50IFByb2dyYW0gc3RhdGVtZW50IG5vZGUuXG4gKiBAcmV0dXJucyBTb3VyY2UtYmVhcmluZyBkZWNsYXJhdGlvbiB3aGVuIHN1cHBvcnRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkZWNsYXJhdGlvbiA9IGFzU291cmNlRGVjbGFyYXRpb24oc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBhc1NvdXJjZURlY2xhcmF0aW9uID0gKFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdLFxuKTpcbiAgfCBFU1RyZWUuRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgfCBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvblxuICB8IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvblxuICB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiKSB7XG4gICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgfVxuXG4gIGlmIChzdGF0ZW1lbnQudHlwZSA9PT0gXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIpIHtcbiAgICByZXR1cm4gc3RhdGVtZW50O1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudC50eXBlID09PSBcIkltcG9ydERlY2xhcmF0aW9uXCIpIHtcbiAgICByZXR1cm4gc3RhdGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIHZvaWQgMDtcbn07XG5cbi8qKiBFU0xpbnQgcnVsZSB0aGF0IGZvcmJpZHMgaW1wb3J0L2V4cG9ydCBtb2R1bGUgc3BlY2lmaWVycyB3aXRoIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9ucy4gKi9cbmNvbnN0IG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlOiAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyID0+ICh7XG4gICAgUHJvZ3JhbShub2RlOiBFU1RyZWUuUHJvZ3JhbSk6IHZvaWQge1xuICAgICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2Ygbm9kZS5ib2R5KSB7XG4gICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gYXNTb3VyY2VEZWNsYXJhdGlvbihzdGF0ZW1lbnQpO1xuXG4gICAgICAgIGlmIChkZWNsYXJhdGlvbiAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmVwb3J0V2hlblNvdXJjZUhhc0V4dGVuc2lvbihjb250ZXh0LCBkZWNsYXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9KSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkZvcmJpZCBleHBsaWNpdCBmaWxlIGV4dGVuc2lvbnMgaW4gaW1wb3J0L2V4cG9ydCBtb2R1bGUgc3BlY2lmaWVycy5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL25vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9ucy5tZFwiLFxuICAgIH0sXG4gICAgZml4YWJsZTogXCJjb2RlXCIsXG4gICAgaGFzU3VnZ2VzdGlvbnM6IHRydWUsXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHJlbW92ZUV4dGVuc2lvbjogXCJSZW1vdmUgdGhlIGZpbGUgZXh0ZW5zaW9uIGZyb20gdGhpcyBtb2R1bGUgc3BlY2lmaWVyLlwiLFxuICAgICAgdW5leHBlY3RlZEV4dGVuc2lvbjpcbiAgICAgICAgXCJBdm9pZCBmaWxlIGV4dGVuc2lvbnMgaW4gaW1wb3J0L2V4cG9ydCBtb2R1bGUgc3BlY2lmaWVycy5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlIH07XG4iXX0=
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9uby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnMvbm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsMERBQTBEO0FBQzFELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDbkMsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQ3ZELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUN0QixDQUFDO0lBRUYsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUNwQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU07UUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBYyxFQUFzQixFQUFFO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQzdCLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQzlCLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQ2hDLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLGFBQTZCLEVBQ1QsRUFBRTtJQUN0QixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFFbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDN0IsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFDOUIsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FDaEMsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFM0MsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUMxQyxDQUFDLEVBQ0QsYUFBYSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FDbEQsQ0FBQztJQUVGLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsZ0JBQWdCLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0FBQ2hGLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLGFBQTZCLEVBQVcsRUFBRTtJQUN4RSxJQUFJLE9BQU8sYUFBYSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFNUQsT0FBTyxTQUFTLEtBQUssS0FBSyxDQUFDLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSw0QkFBNEIsR0FBRyxDQUNuQyxPQUF5QixFQUN6QixTQUc0QixFQUN0QixFQUFFO0lBQ1IsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUV2QyxJQUNFLGFBQWEsS0FBSyxJQUFJO1FBQ3RCLGFBQWEsS0FBSyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsRUFDdEMsQ0FBQztRQUNELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFcEQsTUFBTSxHQUFHLEdBQ1AsV0FBVyxLQUFLLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUMsS0FBcUIsRUFBWSxFQUFFLENBQ2xDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRXRELE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDYixHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDOUIsU0FBUyxFQUFFLHFCQUFxQjtRQUNoQyxJQUFJLEVBQUUsYUFBYTtRQUNuQixHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDO0tBQzVFLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUMxQixTQUF5QyxFQUs3QixFQUFFO0lBQ2QsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHNCQUFzQixFQUFFLENBQUM7UUFDOUMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLElBQUksS0FBSyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBRUYsOEZBQThGO0FBQzlGLE1BQU0sNEJBQTRCLEdBQW9CO0lBQ3BELE1BQU0sRUFBRSxDQUFDLE9BQXlCLEVBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxJQUFvQjtZQUMxQixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBRW5ELElBQUksV0FBVyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzNCLDRCQUE0QixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDckQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQztJQUNGLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFDVCxxRUFBcUU7WUFDdkUsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxFQUFFLDhGQUE4RjtTQUNwRztRQUNELE9BQU8sRUFBRSxNQUFNO1FBQ2YsY0FBYyxFQUFFLElBQUk7UUFDcEIsUUFBUSxFQUFFO1lBQ1IsZUFBZSxFQUFFLHVEQUF1RDtZQUN4RSxtQkFBbUIsRUFDakIsMkRBQTJEO1NBQzlEO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuLyoqIFNldCBvZiBkaXNhbGxvd2VkIG1vZHVsZS1zcGVjaWZpZXIgZmlsZSBleHRlbnNpb25zLiAqL1xuY29uc3QgZGlzYWxsb3dlZEV4dGVuc2lvbnMgPSBuZXcgU2V0KFtcbiAgXCIuY2pzXCIsXG4gIFwiLmN0c1wiLFxuICBcIi5qc1wiLFxuICBcIi5qc3hcIixcbiAgXCIubWpzXCIsXG4gIFwiLm10c1wiLFxuICBcIi50c1wiLFxuICBcIi50c3hcIixcbl0pO1xuXG4vKipcbiAqIEdldHMgdGhlIHRyYWlsaW5nIGV4dGVuc2lvbiBmcm9tIGEgbW9kdWxlIHNwZWNpZmllciBzdHJpbmcuXG4gKiBAcGFyYW0gc291cmNlIE1vZHVsZSBzcGVjaWZpZXIgdGV4dC5cbiAqIEByZXR1cm5zIEZpbGUgZXh0ZW5zaW9uIGluY2x1ZGluZyB0aGUgbGVhZGluZyBkb3Qgd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGV4dGVuc2lvbiA9IGdldFRyYWlsaW5nRXh0ZW5zaW9uKFwiLi9mZWF0dXJlLnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFNwZWNpZmllckVuZEluZGV4ID0gKHNvdXJjZTogc3RyaW5nKTogbnVtYmVyID0+IHtcbiAgY29uc3QgcXVlcnlJbmRleCA9IHNvdXJjZS5pbmRleE9mKFwiP1wiKTtcbiAgY29uc3QgaGFzaEluZGV4ID0gc291cmNlLmluZGV4T2YoXCIjXCIpO1xuICBjb25zdCBlbmRJbmRleENhbmRpZGF0ZXMgPSBbcXVlcnlJbmRleCwgaGFzaEluZGV4XS5maWx0ZXIoXG4gICAgKGluZGV4KSA9PiBpbmRleCA+PSAwLFxuICApO1xuXG4gIHJldHVybiBlbmRJbmRleENhbmRpZGF0ZXMubGVuZ3RoID09PSAwXG4gICAgPyBzb3VyY2UubGVuZ3RoXG4gICAgOiBNYXRoLm1pbiguLi5lbmRJbmRleENhbmRpZGF0ZXMpO1xufTtcblxuLyoqXG4gKiBHZXRzIHRoZSB0cmFpbGluZyBleHRlbnNpb24gZnJvbSBhIG1vZHVsZSBzcGVjaWZpZXIgc3RyaW5nLlxuICogQHBhcmFtIHNvdXJjZSBNb2R1bGUgc3BlY2lmaWVyIHRleHQuXG4gKiBAcmV0dXJucyBGaWxlIGV4dGVuc2lvbiBpbmNsdWRpbmcgdGhlIGxlYWRpbmcgZG90IHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleHRlbnNpb24gPSBnZXRUcmFpbGluZ0V4dGVuc2lvbihcIi4vZmVhdHVyZS50c1wiKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRUcmFpbGluZ0V4dGVuc2lvbiA9IChzb3VyY2U6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGVuZEluZGV4ID0gZ2V0U3BlY2lmaWVyRW5kSW5kZXgoc291cmNlKTtcbiAgY29uc3QgY2xlYW5lZFNvdXJjZSA9IHNvdXJjZS5zbGljZSgwLCBlbmRJbmRleCk7XG4gIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gTWF0aC5tYXgoXG4gICAgY2xlYW5lZFNvdXJjZS5sYXN0SW5kZXhPZihcIi9cIiksXG4gICAgY2xlYW5lZFNvdXJjZS5sYXN0SW5kZXhPZihcIlxcXFxcIiksXG4gICk7XG4gIGNvbnN0IGJhc2VuYW1lID0gY2xlYW5lZFNvdXJjZS5zbGljZShsYXN0U2xhc2hJbmRleCArIDEpO1xuICBjb25zdCBkb3RJbmRleCA9IGJhc2VuYW1lLmxhc3RJbmRleE9mKFwiLlwiKTtcblxuICByZXR1cm4gZG90SW5kZXggPD0gMCA/IHZvaWQgMCA6IGJhc2VuYW1lLnNsaWNlKGRvdEluZGV4KS50b0xvd2VyQ2FzZSgpO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZpeGVkIHNvdXJjZSBsaXRlcmFsIHRleHQgd2l0aCB0aGUgZGlzYWxsb3dlZCBleHRlbnNpb24gcmVtb3ZlZC5cbiAqIEBwYXJhbSBzb3VyY2VMaXRlcmFsIFNvdXJjZSBsaXRlcmFsIG5vZGUgdG8gZml4LlxuICogQHJldHVybnMgRml4ZWQgc291cmNlIHRleHQgaW5jbHVkaW5nIHN1cnJvdW5kaW5nIHF1b3Rlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaXhlZCA9IGJ1aWxkRml4ZWRTb3VyY2Uoc291cmNlTGl0ZXJhbCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYnVpbGRGaXhlZFNvdXJjZSA9IChcbiAgc291cmNlTGl0ZXJhbDogRVNUcmVlLkxpdGVyYWwsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCByYXcgPSBzb3VyY2VMaXRlcmFsLnJhdztcbiAgY29uc3QgdmFsdWUgPSBzb3VyY2VMaXRlcmFsLnZhbHVlO1xuXG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIgfHwgcmF3ID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgcXVvdGVDaGFyID0gcmF3WzBdO1xuICBjb25zdCBlbmRJbmRleCA9IGdldFNwZWNpZmllckVuZEluZGV4KHZhbHVlKTtcbiAgY29uc3QgY2xlYW5lZFNvdXJjZSA9IHZhbHVlLnNsaWNlKDAsIGVuZEluZGV4KTtcbiAgY29uc3Qgc3VmZml4ID0gdmFsdWUuc2xpY2UoZW5kSW5kZXgpO1xuICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IE1hdGgubWF4KFxuICAgIGNsZWFuZWRTb3VyY2UubGFzdEluZGV4T2YoXCIvXCIpLFxuICAgIGNsZWFuZWRTb3VyY2UubGFzdEluZGV4T2YoXCJcXFxcXCIpLFxuICApO1xuICBjb25zdCBiYXNlbmFtZSA9IGNsZWFuZWRTb3VyY2Uuc2xpY2UobGFzdFNsYXNoSW5kZXggKyAxKTtcbiAgY29uc3QgZG90SW5kZXggPSBiYXNlbmFtZS5sYXN0SW5kZXhPZihcIi5cIik7XG5cbiAgaWYgKGRvdEluZGV4IDw9IDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3Qgd2l0aG91dEV4dGVuc2lvbiA9IGNsZWFuZWRTb3VyY2Uuc2xpY2UoXG4gICAgMCxcbiAgICBjbGVhbmVkU291cmNlLmxlbmd0aCAtIGJhc2VuYW1lLmxlbmd0aCArIGRvdEluZGV4LFxuICApO1xuXG4gIHJldHVybiBgJHtTdHJpbmcocXVvdGVDaGFyKX0ke3dpdGhvdXRFeHRlbnNpb259JHtzdWZmaXh9JHtTdHJpbmcocXVvdGVDaGFyKX1gO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHNvdXJjZSBsaXRlcmFsIHNob3VsZCBiZSByZXBvcnRlZC5cbiAqIEBwYXJhbSBzb3VyY2VMaXRlcmFsIFNvdXJjZSBsaXRlcmFsIG5vZGUuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHNvdXJjZSBpbmNsdWRlcyBhIGRpc2FsbG93ZWQgZmlsZSBleHRlbnNpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZm9yYmlkZGVuID0gaGFzRGlzYWxsb3dlZEV4dGVuc2lvbihzb3VyY2VMaXRlcmFsKTtcbiAqIGBgYFxuICovXG5jb25zdCBoYXNEaXNhbGxvd2VkRXh0ZW5zaW9uID0gKHNvdXJjZUxpdGVyYWw6IEVTVHJlZS5MaXRlcmFsKTogYm9vbGVhbiA9PiB7XG4gIGlmICh0eXBlb2Ygc291cmNlTGl0ZXJhbC52YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGV4dGVuc2lvbiA9IGdldFRyYWlsaW5nRXh0ZW5zaW9uKHNvdXJjZUxpdGVyYWwudmFsdWUpO1xuXG4gIHJldHVybiBleHRlbnNpb24gIT09IHZvaWQgMCAmJiBkaXNhbGxvd2VkRXh0ZW5zaW9ucy5oYXMoZXh0ZW5zaW9uKTtcbn07XG5cbi8qKlxuICogUmVwb3J0cyBhIHN0YXRlbWVudCB3aGVuIGl0IHJlZmVyZW5jZXMgYSBzb3VyY2Ugd2l0aCBkaXNhbGxvd2VkIGV4dGVuc2lvbi5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gc3RhdGVtZW50IFN0YXRlbWVudCB0aGF0IG1heSBpbmNsdWRlIGEgc291cmNlIGxpdGVyYWwuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0V2hlblNvdXJjZUhhc0V4dGVuc2lvbihjb250ZXh0LCBzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlcG9ydFdoZW5Tb3VyY2VIYXNFeHRlbnNpb24gPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIHN0YXRlbWVudDpcbiAgICB8IEVTVHJlZS5FeHBvcnRBbGxEZWNsYXJhdGlvblxuICAgIHwgRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cbiAgICB8IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbixcbik6IHZvaWQgPT4ge1xuICBjb25zdCBzb3VyY2VMaXRlcmFsID0gc3RhdGVtZW50LnNvdXJjZTtcblxuICBpZiAoXG4gICAgc291cmNlTGl0ZXJhbCA9PT0gbnVsbCB8fFxuICAgIHNvdXJjZUxpdGVyYWwgPT09IHZvaWQgMCB8fFxuICAgICFoYXNEaXNhbGxvd2VkRXh0ZW5zaW9uKHNvdXJjZUxpdGVyYWwpXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGZpeGVkU291cmNlID0gYnVpbGRGaXhlZFNvdXJjZShzb3VyY2VMaXRlcmFsKTtcblxuICBjb25zdCBmaXggPVxuICAgIGZpeGVkU291cmNlID09PSB2b2lkIDBcbiAgICAgID8gdm9pZCAwXG4gICAgICA6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeCA9PlxuICAgICAgICAgIGZpeGVyLnJlcGxhY2VUZXh0KHNvdXJjZUxpdGVyYWwsIGZpeGVkU291cmNlKTtcblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgLi4uKGZpeCAhPT0gdm9pZCAwICYmIHsgZml4IH0pLFxuICAgIG1lc3NhZ2VJZDogXCJ1bmV4cGVjdGVkRXh0ZW5zaW9uXCIsXG4gICAgbm9kZTogc291cmNlTGl0ZXJhbCxcbiAgICAuLi4oZml4ICE9PSB2b2lkIDAgJiYgeyBzdWdnZXN0OiBbeyBmaXgsIG1lc3NhZ2VJZDogXCJyZW1vdmVFeHRlbnNpb25cIiB9XSB9KSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIE5hcnJvd3Mgb25lIHByb2dyYW0gc3RhdGVtZW50IHRvIHRoZSBzb3VyY2UtYmVhcmluZyBkZWNsYXJhdGlvbnMgdGhpcyBydWxlIGluc3BlY3RzLlxuICogQHBhcmFtIHN0YXRlbWVudCBQcm9ncmFtIHN0YXRlbWVudCBub2RlLlxuICogQHJldHVybnMgU291cmNlLWJlYXJpbmcgZGVjbGFyYXRpb24gd2hlbiBzdXBwb3J0ZWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGVjbGFyYXRpb24gPSBhc1NvdXJjZURlY2xhcmF0aW9uKHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYXNTb3VyY2VEZWNsYXJhdGlvbiA9IChcbiAgc3RhdGVtZW50OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6XG4gIHwgRVNUcmVlLkV4cG9ydEFsbERlY2xhcmF0aW9uXG4gIHwgRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cbiAgfCBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb25cbiAgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBzdGF0ZW1lbnQ7XG4gIH1cblxuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiKSB7XG4gICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiID8gc3RhdGVtZW50IDogdm9pZCAwO1xufTtcblxuLyoqIEVTTGludCBydWxlIHRoYXQgZm9yYmlkcyBpbXBvcnQvZXhwb3J0IG1vZHVsZSBzcGVjaWZpZXJzIHdpdGggZXhwbGljaXQgZmlsZSBleHRlbnNpb25zLiAqL1xuY29uc3Qgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGU6IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIgPT4gKHtcbiAgICBQcm9ncmFtKG5vZGU6IEVTVHJlZS5Qcm9ncmFtKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSBhc1NvdXJjZURlY2xhcmF0aW9uKHN0YXRlbWVudCk7XG5cbiAgICAgICAgaWYgKGRlY2xhcmF0aW9uICE9PSB2b2lkIDApIHtcbiAgICAgICAgICByZXBvcnRXaGVuU291cmNlSGFzRXh0ZW5zaW9uKGNvbnRleHQsIGRlY2xhcmF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gIH0pLFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiRm9yYmlkIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9ucyBpbiBpbXBvcnQvZXhwb3J0IG1vZHVsZSBzcGVjaWZpZXJzLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvbm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zLm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBoYXNTdWdnZXN0aW9uczogdHJ1ZSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgcmVtb3ZlRXh0ZW5zaW9uOiBcIlJlbW92ZSB0aGUgZmlsZSBleHRlbnNpb24gZnJvbSB0aGlzIG1vZHVsZSBzcGVjaWZpZXIuXCIsXG4gICAgICB1bmV4cGVjdGVkRXh0ZW5zaW9uOlxuICAgICAgICBcIkF2b2lkIGZpbGUgZXh0ZW5zaW9ucyBpbiBpbXBvcnQvZXhwb3J0IG1vZHVsZSBzcGVjaWZpZXJzLlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUgfTtcbiJdfQ==
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-exports-declaration-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"no-unused-exports-declaration-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,SAAS,CAAC;AAuO3D;;;;;;;;GAQG;AACH,QAAA,MAAM,uBAAuB,GAC3B,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KACxB,eAAe,EAoCjB,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js
CHANGED
|
@@ -136,16 +136,17 @@ const addSpecifierExportElements = (exportedElements, localDeclarationNames, sta
|
|
|
136
136
|
continue;
|
|
137
137
|
}
|
|
138
138
|
const exportedName = getExportSpecifierName(specifier);
|
|
139
|
-
if (exportedName
|
|
140
|
-
|
|
141
|
-
const specifierExportKind = readStringProperty(specifier, "exportKind");
|
|
142
|
-
const isTypeOnlyExport = statementExportKind === "type" || specifierExportKind === "type";
|
|
143
|
-
exportedElements.push({
|
|
144
|
-
exportedName,
|
|
145
|
-
exportKind: isTypeOnlyExport ? "type" : localDeclaration.kind,
|
|
146
|
-
node: localDeclaration.node,
|
|
147
|
-
});
|
|
139
|
+
if (exportedName === void 0) {
|
|
140
|
+
continue;
|
|
148
141
|
}
|
|
142
|
+
const statementExportKind = readStringProperty(statement, "exportKind");
|
|
143
|
+
const specifierExportKind = readStringProperty(specifier, "exportKind");
|
|
144
|
+
const isTypeOnlyExport = statementExportKind === "type" || specifierExportKind === "type";
|
|
145
|
+
exportedElements.push({
|
|
146
|
+
exportedName,
|
|
147
|
+
exportKind: isTypeOnlyExport ? "type" : localDeclaration.kind,
|
|
148
|
+
node: localDeclaration.node,
|
|
149
|
+
});
|
|
149
150
|
}
|
|
150
151
|
};
|
|
151
152
|
/**
|
|
@@ -184,4 +185,4 @@ const collectExportedElements = (body) => {
|
|
|
184
185
|
return exportedElements;
|
|
185
186
|
};
|
|
186
187
|
export { collectExportedElements };
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtZGVjbGFyYXRpb24tdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvbm8tdW51c2VkLWV4cG9ydHMvbm8tdW51c2VkLWV4cG9ydHMtZGVjbGFyYXRpb24tdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsMkJBQTJCLEVBQzNCLHNCQUFzQixHQUN2QixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGtCQUFrQixHQUNuQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLG9FQUFvRTtBQUNwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3RDLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix3QkFBd0I7Q0FDekIsQ0FBQyxDQUFDO0FBV0g7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxnQkFBK0MsRUFDL0MsWUFBZ0MsRUFDaEMsU0FBc0MsRUFDaEMsRUFBRTtJQUNSLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFaEQsSUFBSSxpQkFBaUIsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1RSxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2hDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUks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QUFJLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdELFNBQVM7UUFDWCxDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkUsNEJBQTRCLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFMUQsU0FBUztRQUNYLENBQUM7UUFFRCwwQkFBMEIsQ0FDeEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBU1QgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVTVHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB0eXBlIHsgRXhwb3J0ZWRFbGVtZW50LCBFeHBvcnRLaW5kIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgY29sbGVjdFBhdHRlcm5JZGVudGlmaWVyTmFtZXMsXG4gIGdldEV4cG9ydFNwZWNpZmllckxvY2FsTmFtZSxcbiAgZ2V0RXhwb3J0U3BlY2lmaWVyTmFtZSxcbn0gZnJvbSBcIi4vbm8tdW51c2VkLWV4cG9ydHMtcGF0dGVybi11dGlsaXRpZXNcIjtcbmltcG9ydCB7XG4gIGFzUmVjb3JkLFxuICByZWFkQXJyYXlQcm9wZXJ0eSxcbiAgcmVhZFN0cmluZ1Byb3BlcnR5LFxufSBmcm9tIFwiLi9uby11bnVzZWQtZXhwb3J0cy1yZWNvcmQtdXRpbGl0aWVzXCI7XG5cbi8qKiBEZWNsYXJhdGlvbiBzdGF0ZW1lbnQgdHlwZXMgdGhhdCBvd24gb25lIG5hbWVkIGBpZGAgcHJvcGVydHkuICovXG5jb25zdCBOQU1FRF9ERUNMQVJBVElPTl9UWVBFUyA9IG5ldyBTZXQoW1xuICBcIkNsYXNzRGVjbGFyYXRpb25cIixcbiAgXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIsXG4gIFwiVFNFbnVtRGVjbGFyYXRpb25cIixcbiAgXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIsXG4gIFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiLFxuXSk7XG5cbi8qKiBMb2NhbCB0b3AtbGV2ZWwgZGVjbGFyYXRpb24gZGlzY292ZXJlZCB3aGVuIGNvbGxlY3RpbmcgZXhwb3J0IHNvdXJjZXMuICovXG5pbnRlcmZhY2UgTG9jYWxEZWNsYXJhdGlvbiB7XG4gIC8qKiBFeHBvcnQga2luZCBpbXBsaWVkIGJ5IHRoZSBkZWNsYXJhdGlvbi4gKi9cbiAga2luZDogRXhwb3J0S2luZDtcblxuICAvKiogRGVjbGFyYXRpb24gc3RhdGVtZW50IHVzZWQgZm9yIGRpYWdub3N0aWNzLiAqL1xuICBub2RlOiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXTtcbn1cblxuLyoqXG4gKiBSZWNvcmRzIHZhcmlhYmxlIGRlY2xhcmF0b3IgbmFtZXMgYXMgdmFsdWUgZGVjbGFyYXRpb25zLlxuICogQHBhcmFtIGRlY2xhcmF0aW9uTmFtZXMgTWFwIGZyb20gZGVjbGFyZWQgbmFtZSB0byBkZWNsYXJhdGlvbiBtZXRhZGF0YS5cbiAqIEBwYXJhbSBkZWNsYXJhdGlvbnMgVmFyaWFibGUgZGVjbGFyYXRvciBjYW5kaWRhdGVzLlxuICogQHBhcmFtIHN0YXRlbWVudCBPd25pbmcgc3RhdGVtZW50IHVzZWQgZm9yIGRpYWdub3N0aWNzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFkZFZhcmlhYmxlRGVjbGFyYXRvck5hbWVzKGRlY2xhcmF0aW9uTmFtZXMsIGRlY2xhcmF0aW9ucywgc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBhZGRWYXJpYWJsZURlY2xhcmF0b3JOYW1lcyA9IChcbiAgZGVjbGFyYXRpb25OYW1lczogTWFwPHN0cmluZywgTG9jYWxEZWNsYXJhdGlvbj4sXG4gIGRlY2xhcmF0aW9uczogcmVhZG9ubHkgdW5rbm93bltdLFxuICBzdGF0ZW1lbnQ6IEFTVC5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdLFxuKTogdm9pZCA9PiB7XG4gIGZvciAoY29uc3QgZGVjbGFyYXRpb24gb2YgZGVjbGFyYXRpb25zKSB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25SZWNvcmQgPSBhc1JlY29yZChkZWNsYXJhdGlvbik7XG5cbiAgICBpZiAoZGVjbGFyYXRpb25SZWNvcmQgPT09IHZvaWQgMCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0dGVybk5hbWVzID0gY29sbGVjdFBhdHRlcm5JZGVudGlmaWVyTmFtZXMoZGVjbGFyYXRpb25SZWNvcmRbXCJpZFwiXSk7XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgcGF0dGVybk5hbWVzKSB7XG4gICAgICBkZWNsYXJhdGlvbk5hbWVzLnNldChuYW1lLCB7IGtpbmQ6IFwidmFsdWVcIiwgbm9kZTogc3RhdGVtZW50IH0pO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDb2xsZWN0cyB0b3AtbGV2ZWwgZGVjbGFyYXRpb24gbmFtZXMgb3duZWQgYnkgdGhlIGN1cnJlbnQgbW9kdWxlLlxuICogQHBhcmFtIGJvZHkgUHJvZ3JhbSBib2R5IHN0YXRlbWVudHMuXG4gKiBAcmV0dXJucyBNYXAgZnJvbSBsb2NhbGx5IGRlY2xhcmVkIG5hbWUgdG8gaXRzIGRlY2xhcmF0aW9uIG1ldGFkYXRhLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRlY2xhcmF0aW9ucyA9IGNvbGxlY3RMb2NhbERlY2xhcmF0aW9uTmFtZXMocHJvZ3JhbS5ib2R5KTtcbiAqIGBgYFxuICovXG5jb25zdCBjb2xsZWN0TG9jYWxEZWNsYXJhdGlvbk5hbWVzID0gKFxuICBib2R5OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl0sXG4pOiBNYXA8c3RyaW5nLCBMb2NhbERlY2xhcmF0aW9uPiA9PiB7XG4gIGNvbnN0IGRlY2xhcmF0aW9uTmFtZXMgPSBuZXcgTWFwPHN0cmluZywgTG9jYWxEZWNsYXJhdGlvbj4oKTtcblxuICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBib2R5KSB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25DYW5kaWRhdGUgPVxuICAgICAgc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiICYmXG4gICAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb24gIT09IG51bGwgJiZcbiAgICAgIHN0YXRlbWVudC5kZWNsYXJhdGlvbiAhPT0gdm9pZCAwXG4gICAgICAgID8gc3RhdGVtZW50LmRlY2xhcmF0aW9uXG4gICAgICAgIDogc3RhdGVtZW50O1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uQ2FuZGlkYXRlUmVjb3JkID0gYXNSZWNvcmQoZGVjbGFyYXRpb25DYW5kaWRhdGUpO1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uQ2FuZGlkYXRlVHlwZSA9IHJlYWRTdHJpbmdQcm9wZXJ0eShcbiAgICAgIGRlY2xhcmF0aW9uQ2FuZGlkYXRlLFxuICAgICAgXCJ0eXBlXCIsXG4gICAgKTtcblxuICAgIGlmIChcbiAgICAgIGRlY2xhcmF0aW9uQ2FuZGlkYXRlUmVjb3JkID09PSB2b2lkIDAgfHxcbiAgICAgIGRlY2xhcmF0aW9uQ2FuZGlkYXRlVHlwZSA9PT0gdm9pZCAwXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoTkFNRURfREVDTEFSQVRJT05fVFlQRVMuaGFzKGRlY2xhcmF0aW9uQ2FuZGlkYXRlVHlwZSkpIHtcbiAgICAgIGNvbnN0IGRlY2xhcmF0aW9uTmFtZSA9IHJlYWRTdHJpbmdQcm9wZXJ0eShcbiAgICAgICAgZGVjbGFyYXRpb25DYW5kaWRhdGVSZWNvcmRbXCJpZFwiXSxcbiAgICAgICAgXCJuYW1lXCIsXG4gICAgICApO1xuXG4gICAgICBpZiAoZGVjbGFyYXRpb25OYW1lICE9PSB2b2lkIDApIHtcbiAgICAgICAgZGVjbGFyYXRpb25OYW1lcy5zZXQoZGVjbGFyYXRpb25OYW1lLCB7XG4gICAgICAgICAga2luZDpcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uQ2FuZGlkYXRlVHlwZSA9PT0gXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIgfHxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uQ2FuZGlkYXRlVHlwZSA9PT0gXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCJcbiAgICAgICAgICAgICAgPyBcInR5cGVcIlxuICAgICAgICAgICAgICA6IFwidmFsdWVcIixcbiAgICAgICAgICBub2RlOiBzdGF0ZW1lbnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoZGVjbGFyYXRpb25DYW5kaWRhdGVUeXBlICE9PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIikge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgZGVjbGFyYXRpb25zID0gcmVhZEFycmF5UHJvcGVydHkoXG4gICAgICBkZWNsYXJhdGlvbkNhbmRpZGF0ZVJlY29yZCxcbiAgICAgIFwiZGVjbGFyYXRpb25zXCIsXG4gICAgKTtcblxuICAgIGlmIChkZWNsYXJhdGlvbnMgPT09IHZvaWQgMCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgYWRkVmFyaWFibGVEZWNsYXJhdG9yTmFtZXMoZGVjbGFyYXRpb25OYW1lcywgZGVjbGFyYXRpb25zLCBzdGF0ZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIGRlY2xhcmF0aW9uTmFtZXM7XG59O1xuXG4vKipcbiAqIEFkZHMgZXhwb3J0ZWQgZWxlbWVudHMgZGVzY3JpYmVkIGJ5IG9uZSBleHBvcnQgZGVjbGFyYXRpb24gc2l0ZS5cbiAqIEBwYXJhbSBleHBvcnRlZEVsZW1lbnRzIE11dGFibGUgZXhwb3J0ZWQtZWxlbWVudCBhY2N1bXVsYXRvci5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgTmFtZWQgZXhwb3J0IHN0YXRlbWVudCBiZWluZyBpbnNwZWN0ZWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYWRkRGVjbGFyYXRpb25FeHBvcnRFbGVtZW50cyhleHBvcnRlZEVsZW1lbnRzLCBzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGFkZERlY2xhcmF0aW9uRXhwb3J0RWxlbWVudHMgPSAoXG4gIGV4cG9ydGVkRWxlbWVudHM6IEV4cG9ydGVkRWxlbWVudFtdLFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uLFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gYXNSZWNvcmQoc3RhdGVtZW50LmRlY2xhcmF0aW9uKTtcblxuICBpZiAocmVhZFN0cmluZ1Byb3BlcnR5KGRlY2xhcmF0aW9uLCBcInR5cGVcIikgPT09IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSB7XG4gICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvbnMgPSByZWFkQXJyYXlQcm9wZXJ0eShkZWNsYXJhdGlvbiwgXCJkZWNsYXJhdGlvbnNcIik7XG5cbiAgICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbnMgIT09IHZvaWQgMCkge1xuICAgICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB2YXJpYWJsZURlY2xhcmF0aW9ucykge1xuICAgICAgICBjb25zdCBwYXR0ZXJuTmFtZXMgPSBjb2xsZWN0UGF0dGVybklkZW50aWZpZXJOYW1lcyhcbiAgICAgICAgICBhc1JlY29yZCh2YXJpYWJsZSk/LltcImlkXCJdLFxuICAgICAgICApO1xuXG4gICAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBwYXR0ZXJuTmFtZXMpIHtcbiAgICAgICAgICBleHBvcnRlZEVsZW1lbnRzLnB1c2goe1xuICAgICAgICAgICAgZXhwb3J0ZWROYW1lOiBuYW1lLFxuICAgICAgICAgICAgZXhwb3J0S2luZDogXCJ2YWx1ZVwiLFxuICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZGVjbGFyYXRpb25OYW1lID0gcmVhZFN0cmluZ1Byb3BlcnR5KGRlY2xhcmF0aW9uPy5bXCJpZFwiXSwgXCJuYW1lXCIpO1xuICBjb25zdCBkZWNsYXJhdGlvblR5cGUgPSByZWFkU3RyaW5nUHJvcGVydHkoZGVjbGFyYXRpb24sIFwidHlwZVwiKTtcbiAgY29uc3QgZXhwb3J0S2luZDogRXhwb3J0S2luZCA9XG4gICAgZGVjbGFyYXRpb25UeXBlID09PSBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB8fFxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCJcbiAgICAgID8gXCJ0eXBlXCJcbiAgICAgIDogXCJ2YWx1ZVwiO1xuXG4gIGlmICh0eXBlb2YgZGVjbGFyYXRpb25OYW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgZXhwb3J0ZWRFbGVtZW50cy5wdXNoKHtcbiAgICAgIGV4cG9ydGVkTmFtZTogZGVjbGFyYXRpb25OYW1lLFxuICAgICAgZXhwb3J0S2luZCxcbiAgICAgIG5vZGU6IHN0YXRlbWVudCxcbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBBZGRzIGV4cG9ydGVkIGVsZW1lbnRzIGZvciB0aGUgc3BlY2lmaWVycyBvZiBvbmUgbmFtZWQgZXhwb3J0IHN0YXRlbWVudC5cbiAqIEBwYXJhbSBleHBvcnRlZEVsZW1lbnRzIE11dGFibGUgZXhwb3J0ZWQtZWxlbWVudCBhY2N1bXVsYXRvci5cbiAqIEBwYXJhbSBsb2NhbERlY2xhcmF0aW9uTmFtZXMgTG9jYWxseSBkZWNsYXJlZCBuYW1lcyBmb3Igc3BlY2lmaWVyIGxvb2t1cC5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgTmFtZWQgZXhwb3J0IHN0YXRlbWVudCBiZWluZyBpbnNwZWN0ZWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYWRkU3BlY2lmaWVyRXhwb3J0RWxlbWVudHMoZXhwb3J0ZWRFbGVtZW50cywgbG9jYWxEZWNsYXJhdGlvbk5hbWVzLCBzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGFkZFNwZWNpZmllckV4cG9ydEVsZW1lbnRzID0gKFxuICBleHBvcnRlZEVsZW1lbnRzOiBFeHBvcnRlZEVsZW1lbnRbXSxcbiAgbG9jYWxEZWNsYXJhdGlvbk5hbWVzOiBSZWFkb25seU1hcDxzdHJpbmcsIExvY2FsRGVjbGFyYXRpb24+LFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uLFxuKTogdm9pZCA9PiB7XG4gIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIHN0YXRlbWVudC5zcGVjaWZpZXJzKSB7XG4gICAgY29uc3QgbG9jYWxOYW1lID0gZ2V0RXhwb3J0U3BlY2lmaWVyTG9jYWxOYW1lKHNwZWNpZmllcik7XG4gICAgY29uc3QgbG9jYWxEZWNsYXJhdGlvbiA9XG4gICAgICBsb2NhbE5hbWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGxvY2FsRGVjbGFyYXRpb25OYW1lcy5nZXQobG9jYWxOYW1lKTtcblxuICAgIGlmIChsb2NhbERlY2xhcmF0aW9uID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cG9ydGVkTmFtZSA9IGdldEV4cG9ydFNwZWNpZmllck5hbWUoc3BlY2lmaWVyKTtcblxuICAgIGlmIChleHBvcnRlZE5hbWUgIT09IHZvaWQgMCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50RXhwb3J0S2luZCA9IHJlYWRTdHJpbmdQcm9wZXJ0eShzdGF0ZW1lbnQsIFwiZXhwb3J0S2luZFwiKTtcbiAgICAgIGNvbnN0IHNwZWNpZmllckV4cG9ydEtpbmQgPSByZWFkU3RyaW5nUHJvcGVydHkoc3BlY2lmaWVyLCBcImV4cG9ydEtpbmRcIik7XG4gICAgICBjb25zdCBpc1R5cGVPbmx5RXhwb3J0ID1cbiAgICAgICAgc3RhdGVtZW50RXhwb3J0S2luZCA9PT0gXCJ0eXBlXCIgfHwgc3BlY2lmaWVyRXhwb3J0S2luZCA9PT0gXCJ0eXBlXCI7XG5cbiAgICAgIGV4cG9ydGVkRWxlbWVudHMucHVzaCh7XG4gICAgICAgIGV4cG9ydGVkTmFtZSxcbiAgICAgICAgZXhwb3J0S2luZDogaXNUeXBlT25seUV4cG9ydCA/IFwidHlwZVwiIDogbG9jYWxEZWNsYXJhdGlvbi5raW5kLFxuICAgICAgICBub2RlOiBsb2NhbERlY2xhcmF0aW9uLm5vZGUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogQ29sbGVjdHMgZXhwb3J0ZWQgZWxlbWVudHMgZnJvbSBvbmUgcHJvZ3JhbSBib2R5LlxuICogQHBhcmFtIGJvZHkgUHJvZ3JhbSBib2R5IHN0YXRlbWVudHMuXG4gKiBAcmV0dXJucyBFeHBvcnRlZCBlbGVtZW50cyBpbiBkZWNsYXJhdGlvbiBvcmRlci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleHBvcnRlZCA9IGNvbGxlY3RFeHBvcnRlZEVsZW1lbnRzKHByb2dyYW0uYm9keSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdEV4cG9ydGVkRWxlbWVudHMgPSAoXG4gIGJvZHk6IEFTVC5Qcm9ncmFtW1wiYm9keVwiXSxcbik6IEV4cG9ydGVkRWxlbWVudFtdID0+IHtcbiAgY29uc3QgZXhwb3J0ZWRFbGVtZW50czogRXhwb3J0ZWRFbGVtZW50W10gPSBbXTtcbiAgY29uc3QgbG9jYWxEZWNsYXJhdGlvbk5hbWVzID0gY29sbGVjdExvY2FsRGVjbGFyYXRpb25OYW1lcyhib2R5KTtcblxuICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBib2R5KSB7XG4gICAgaWYgKHN0YXRlbWVudC50eXBlID09PSBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiKSB7XG4gICAgICBleHBvcnRlZEVsZW1lbnRzLnB1c2goe1xuICAgICAgICBleHBvcnRlZE5hbWU6IFwiZGVmYXVsdFwiLFxuICAgICAgICBleHBvcnRLaW5kOiBcInZhbHVlXCIsXG4gICAgICAgIG5vZGU6IHN0YXRlbWVudCxcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlbWVudC5zb3VyY2UgIT09IG51bGwgJiYgc3RhdGVtZW50LnNvdXJjZSAhPT0gdm9pZCAwKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50LmRlY2xhcmF0aW9uICE9PSBudWxsICYmIHN0YXRlbWVudC5kZWNsYXJhdGlvbiAhPT0gdm9pZCAwKSB7XG4gICAgICBhZGREZWNsYXJhdGlvbkV4cG9ydEVsZW1lbnRzKGV4cG9ydGVkRWxlbWVudHMsIHN0YXRlbWVudCk7XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGFkZFNwZWNpZmllckV4cG9ydEVsZW1lbnRzKFxuICAgICAgZXhwb3J0ZWRFbGVtZW50cyxcbiAgICAgIGxvY2FsRGVjbGFyYXRpb25OYW1lcyxcbiAgICAgIHN0YXRlbWVudCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGV4cG9ydGVkRWxlbWVudHM7XG59O1xuXG5leHBvcnQgeyBjb2xsZWN0RXhwb3J0ZWRFbGVtZW50cyB9O1xuIl19
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtZGVjbGFyYXRpb24tdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvbm8tdW51c2VkLWV4cG9ydHMvbm8tdW51c2VkLWV4cG9ydHMtZGVjbGFyYXRpb24tdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsMkJBQTJCLEVBQzNCLHNCQUFzQixHQUN2QixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLGtCQUFrQixHQUNuQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLG9FQUFvRTtBQUNwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3RDLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix3QkFBd0I7Q0FDekIsQ0FBQyxDQUFDO0FBV0g7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxnQkFBK0MsRUFDL0MsWUFBZ0MsRUFDaEMsU0FBc0MsRUFDaEMsRUFBRTtJQUNSLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFaEQsSUFBSSxpQkFBaUIsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1RSxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2hDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDRCQUE0QixHQUFHLENBQ25DLElBQXlCLEVBQ00sRUFBRTtJQUNqQyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO0lBRTdELEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxvQkFBb0IsR0FDeEIsU0FBUyxDQUFDLElBQUksS0FBSyx3QkFBd0I7WUFDM0MsU0FBUyxDQUFDLFdBQVcsS0FBSyxJQUFJO1lBQzlCLFNBQVMsQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVztZQUN2QixDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hCLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEUsTUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FDakQsb0JBQW9CLEVBQ3BCLE1BQU0sQ0FDUCxDQUFDO1FBRUYsSUFDRSwwQkFBMEIsS0FBSyxLQUFLLENBQUM7WUFDckMsd0JBQXdCLEtBQUssS0FBSyxDQUFDLEVBQ25DLENBQUM7WUFDRCxTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksdUJBQXVCLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FDeEMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQ2hDLE1BQU0sQ0FDUCxDQUFDO1lBRUYsSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRTtvQkFDcEMsSUFBSSxFQUNGLHdCQUF3QixLQUFLLHdCQUF3Qjt3QkFDckQsd0JBQXdCLEtBQUssd0JBQXdCO3dCQUNuRCxDQUFDLENBQUMsTUFBTTt3QkFDUixDQUFDLENBQUMsT0FBTztvQkFDYixJQUFJLEVBQUUsU0FBUztpQkFDaEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELFNBQVM7UUFDWCxDQUFDO1FBRUQsSUFBSSx3QkFBd0IsS0FBSyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3ZELFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQ3BDLDBCQUEwQixFQUMxQixjQUFjLENBQ2YsQ0FBQztRQUVGLElBQUksWUFBWSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsU0FBUztRQUNYLENBQUM7UUFFRCwwQkFBMEIsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDRCQUE0QixHQUFHLENBQ25DLGdCQUFtQyxFQUNuQyxTQUF3QyxFQUNsQyxFQUFFO0lBQ1IsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwRCxJQUFJLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsS0FBSyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTVFLElBQUksb0JBQW9CLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxLQUFLLE1BQU0sUUFBUSxJQUFJLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVDLE1BQU0sWUFBWSxHQUFHLDZCQUE2QixDQUNoRCxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQztnQkFFRixLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNoQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7d0JBQ3BCLFlBQVksRUFBRSxJQUFJO3dCQUNsQixVQUFVLEVBQUUsT0FBTzt3QkFDbkIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRSxNQUFNLFVBQVUsR0FDZCxlQUFlLEtBQUssd0JBQXdCO1FBQzVDLGVBQWUsS0FBSyx3QkFBd0I7UUFDMUMsQ0FBQyxDQUFDLE1BQU07UUFDUixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRWQsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDcEIsWUFBWSxFQUFFLGVBQWU7WUFDN0IsVUFBVTtZQUNWLElBQUksRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLDBCQUEwQixHQUFHLENBQ2pDLGdCQUFtQyxFQUNuQyxxQkFBNEQsRUFDNUQsU0FBd0MsRUFDbEMsRUFBRTtJQUNSLEtBQUssTUFBTSxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLE1BQU0sU0FBUyxHQUFHLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sZ0JBQWdCLEdBQ3BCLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSxJQUFJLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RCxJQUFJLFlBQVksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEUsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEUsTUFBTSxnQkFBZ0IsR0FDcEIsbUJBQW1CLEtBQUssTUFBTSxJQUFJLG1CQUFtQixLQUFLLE1BQU0sQ0FBQztRQUVuRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDcEIsWUFBWTtZQUNaLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJO1lBQzdELElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsSUFBeUIsRUFDTixFQUFFO0lBQ3JCLE1BQU0sZ0JBQWdCLEdBQXNCLEVBQUUsQ0FBQztJQUMvQyxNQUFNLHFCQUFxQixHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpFLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLDBCQUEwQixFQUFFLENBQUM7WUFDbEQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUNwQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLElBQUksRUFBRSxTQUFTO2FBQ2hCLENBQUMsQ0FBQztZQUNILFNBQVM7UUFDWCxDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHdCQUF3QixFQUFFLENBQUM7WUFDaEQsU0FBUztRQUNYLENBQUM7UUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksU0FBUyxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksU0FBUyxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLDRCQUE0QixDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTFELFNBQVM7UUFDWCxDQUFDO1FBRUQsMEJBQTBCLENBQ3hCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVNUIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgdHlwZSB7IEV4cG9ydGVkRWxlbWVudCwgRXhwb3J0S2luZCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGNvbGxlY3RQYXR0ZXJuSWRlbnRpZmllck5hbWVzLFxuICBnZXRFeHBvcnRTcGVjaWZpZXJMb2NhbE5hbWUsXG4gIGdldEV4cG9ydFNwZWNpZmllck5hbWUsXG59IGZyb20gXCIuL25vLXVudXNlZC1leHBvcnRzLXBhdHRlcm4tdXRpbGl0aWVzXCI7XG5pbXBvcnQge1xuICBhc1JlY29yZCxcbiAgcmVhZEFycmF5UHJvcGVydHksXG4gIHJlYWRTdHJpbmdQcm9wZXJ0eSxcbn0gZnJvbSBcIi4vbm8tdW51c2VkLWV4cG9ydHMtcmVjb3JkLXV0aWxpdGllc1wiO1xuXG4vKiogRGVjbGFyYXRpb24gc3RhdGVtZW50IHR5cGVzIHRoYXQgb3duIG9uZSBuYW1lZCBgaWRgIHByb3BlcnR5LiAqL1xuY29uc3QgTkFNRURfREVDTEFSQVRJT05fVFlQRVMgPSBuZXcgU2V0KFtcbiAgXCJDbGFzc0RlY2xhcmF0aW9uXCIsXG4gIFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiLFxuICBcIlRTRW51bURlY2xhcmF0aW9uXCIsXG4gIFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiLFxuICBcIlRTVHlwZUFsaWFzRGVjbGFyYXRpb25cIixcbl0pO1xuXG4vKiogTG9jYWwgdG9wLWxldmVsIGRlY2xhcmF0aW9uIGRpc2NvdmVyZWQgd2hlbiBjb2xsZWN0aW5nIGV4cG9ydCBzb3VyY2VzLiAqL1xuaW50ZXJmYWNlIExvY2FsRGVjbGFyYXRpb24ge1xuICAvKiogRXhwb3J0IGtpbmQgaW1wbGllZCBieSB0aGUgZGVjbGFyYXRpb24uICovXG4gIGtpbmQ6IEV4cG9ydEtpbmQ7XG5cbiAgLyoqIERlY2xhcmF0aW9uIHN0YXRlbWVudCB1c2VkIGZvciBkaWFnbm9zdGljcy4gKi9cbiAgbm9kZTogQVNULlByb2dyYW1bXCJib2R5XCJdW251bWJlcl07XG59XG5cbi8qKlxuICogUmVjb3JkcyB2YXJpYWJsZSBkZWNsYXJhdG9yIG5hbWVzIGFzIHZhbHVlIGRlY2xhcmF0aW9ucy5cbiAqIEBwYXJhbSBkZWNsYXJhdGlvbk5hbWVzIE1hcCBmcm9tIGRlY2xhcmVkIG5hbWUgdG8gZGVjbGFyYXRpb24gbWV0YWRhdGEuXG4gKiBAcGFyYW0gZGVjbGFyYXRpb25zIFZhcmlhYmxlIGRlY2xhcmF0b3IgY2FuZGlkYXRlcy5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgT3duaW5nIHN0YXRlbWVudCB1c2VkIGZvciBkaWFnbm9zdGljcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhZGRWYXJpYWJsZURlY2xhcmF0b3JOYW1lcyhkZWNsYXJhdGlvbk5hbWVzLCBkZWNsYXJhdGlvbnMsIHN0YXRlbWVudCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYWRkVmFyaWFibGVEZWNsYXJhdG9yTmFtZXMgPSAoXG4gIGRlY2xhcmF0aW9uTmFtZXM6IE1hcDxzdHJpbmcsIExvY2FsRGVjbGFyYXRpb24+LFxuICBkZWNsYXJhdGlvbnM6IHJlYWRvbmx5IHVua25vd25bXSxcbiAgc3RhdGVtZW50OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6IHZvaWQgPT4ge1xuICBmb3IgKGNvbnN0IGRlY2xhcmF0aW9uIG9mIGRlY2xhcmF0aW9ucykge1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uUmVjb3JkID0gYXNSZWNvcmQoZGVjbGFyYXRpb24pO1xuXG4gICAgaWYgKGRlY2xhcmF0aW9uUmVjb3JkID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdHRlcm5OYW1lcyA9IGNvbGxlY3RQYXR0ZXJuSWRlbnRpZmllck5hbWVzKGRlY2xhcmF0aW9uUmVjb3JkW1wiaWRcIl0pO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIHBhdHRlcm5OYW1lcykge1xuICAgICAgZGVjbGFyYXRpb25OYW1lcy5zZXQobmFtZSwgeyBraW5kOiBcInZhbHVlXCIsIG5vZGU6IHN0YXRlbWVudCB9KTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogQ29sbGVjdHMgdG9wLWxldmVsIGRlY2xhcmF0aW9uIG5hbWVzIG93bmVkIGJ5IHRoZSBjdXJyZW50IG1vZHVsZS5cbiAqIEBwYXJhbSBib2R5IFByb2dyYW0gYm9keSBzdGF0ZW1lbnRzLlxuICogQHJldHVybnMgTWFwIGZyb20gbG9jYWxseSBkZWNsYXJlZCBuYW1lIHRvIGl0cyBkZWNsYXJhdGlvbiBtZXRhZGF0YS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkZWNsYXJhdGlvbnMgPSBjb2xsZWN0TG9jYWxEZWNsYXJhdGlvbk5hbWVzKHByb2dyYW0uYm9keSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdExvY2FsRGVjbGFyYXRpb25OYW1lcyA9IChcbiAgYm9keTogQVNULlByb2dyYW1bXCJib2R5XCJdLFxuKTogTWFwPHN0cmluZywgTG9jYWxEZWNsYXJhdGlvbj4gPT4ge1xuICBjb25zdCBkZWNsYXJhdGlvbk5hbWVzID0gbmV3IE1hcDxzdHJpbmcsIExvY2FsRGVjbGFyYXRpb24+KCk7XG5cbiAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgYm9keSkge1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uQ2FuZGlkYXRlID1cbiAgICAgIHN0YXRlbWVudC50eXBlID09PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIiAmJlxuICAgICAgc3RhdGVtZW50LmRlY2xhcmF0aW9uICE9PSBudWxsICYmXG4gICAgICBzdGF0ZW1lbnQuZGVjbGFyYXRpb24gIT09IHZvaWQgMFxuICAgICAgICA/IHN0YXRlbWVudC5kZWNsYXJhdGlvblxuICAgICAgICA6IHN0YXRlbWVudDtcbiAgICBjb25zdCBkZWNsYXJhdGlvbkNhbmRpZGF0ZVJlY29yZCA9IGFzUmVjb3JkKGRlY2xhcmF0aW9uQ2FuZGlkYXRlKTtcbiAgICBjb25zdCBkZWNsYXJhdGlvbkNhbmRpZGF0ZVR5cGUgPSByZWFkU3RyaW5nUHJvcGVydHkoXG4gICAgICBkZWNsYXJhdGlvbkNhbmRpZGF0ZSxcbiAgICAgIFwidHlwZVwiLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICBkZWNsYXJhdGlvbkNhbmRpZGF0ZVJlY29yZCA9PT0gdm9pZCAwIHx8XG4gICAgICBkZWNsYXJhdGlvbkNhbmRpZGF0ZVR5cGUgPT09IHZvaWQgMFxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKE5BTUVEX0RFQ0xBUkFUSU9OX1RZUEVTLmhhcyhkZWNsYXJhdGlvbkNhbmRpZGF0ZVR5cGUpKSB7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbk5hbWUgPSByZWFkU3RyaW5nUHJvcGVydHkoXG4gICAgICAgIGRlY2xhcmF0aW9uQ2FuZGlkYXRlUmVjb3JkW1wiaWRcIl0sXG4gICAgICAgIFwibmFtZVwiLFxuICAgICAgKTtcblxuICAgICAgaWYgKGRlY2xhcmF0aW9uTmFtZSAhPT0gdm9pZCAwKSB7XG4gICAgICAgIGRlY2xhcmF0aW9uTmFtZXMuc2V0KGRlY2xhcmF0aW9uTmFtZSwge1xuICAgICAgICAgIGtpbmQ6XG4gICAgICAgICAgICBkZWNsYXJhdGlvbkNhbmRpZGF0ZVR5cGUgPT09IFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiIHx8XG4gICAgICAgICAgICBkZWNsYXJhdGlvbkNhbmRpZGF0ZVR5cGUgPT09IFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiXG4gICAgICAgICAgICAgID8gXCJ0eXBlXCJcbiAgICAgICAgICAgICAgOiBcInZhbHVlXCIsXG4gICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGRlY2xhcmF0aW9uQ2FuZGlkYXRlVHlwZSAhPT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHJlYWRBcnJheVByb3BlcnR5KFxuICAgICAgZGVjbGFyYXRpb25DYW5kaWRhdGVSZWNvcmQsXG4gICAgICBcImRlY2xhcmF0aW9uc1wiLFxuICAgICk7XG5cbiAgICBpZiAoZGVjbGFyYXRpb25zID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGFkZFZhcmlhYmxlRGVjbGFyYXRvck5hbWVzKGRlY2xhcmF0aW9uTmFtZXMsIGRlY2xhcmF0aW9ucywgc3RhdGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBkZWNsYXJhdGlvbk5hbWVzO1xufTtcblxuLyoqXG4gKiBBZGRzIGV4cG9ydGVkIGVsZW1lbnRzIGRlc2NyaWJlZCBieSBvbmUgZXhwb3J0IGRlY2xhcmF0aW9uIHNpdGUuXG4gKiBAcGFyYW0gZXhwb3J0ZWRFbGVtZW50cyBNdXRhYmxlIGV4cG9ydGVkLWVsZW1lbnQgYWNjdW11bGF0b3IuXG4gKiBAcGFyYW0gc3RhdGVtZW50IE5hbWVkIGV4cG9ydCBzdGF0ZW1lbnQgYmVpbmcgaW5zcGVjdGVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFkZERlY2xhcmF0aW9uRXhwb3J0RWxlbWVudHMoZXhwb3J0ZWRFbGVtZW50cywgc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBhZGREZWNsYXJhdGlvbkV4cG9ydEVsZW1lbnRzID0gKFxuICBleHBvcnRlZEVsZW1lbnRzOiBFeHBvcnRlZEVsZW1lbnRbXSxcbiAgc3RhdGVtZW50OiBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvbixcbik6IHZvaWQgPT4ge1xuICBjb25zdCBkZWNsYXJhdGlvbiA9IGFzUmVjb3JkKHN0YXRlbWVudC5kZWNsYXJhdGlvbik7XG5cbiAgaWYgKHJlYWRTdHJpbmdQcm9wZXJ0eShkZWNsYXJhdGlvbiwgXCJ0eXBlXCIpID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIikge1xuICAgIGNvbnN0IHZhcmlhYmxlRGVjbGFyYXRpb25zID0gcmVhZEFycmF5UHJvcGVydHkoZGVjbGFyYXRpb24sIFwiZGVjbGFyYXRpb25zXCIpO1xuXG4gICAgaWYgKHZhcmlhYmxlRGVjbGFyYXRpb25zICE9PSB2b2lkIDApIHtcbiAgICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2YgdmFyaWFibGVEZWNsYXJhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcGF0dGVybk5hbWVzID0gY29sbGVjdFBhdHRlcm5JZGVudGlmaWVyTmFtZXMoXG4gICAgICAgICAgYXNSZWNvcmQodmFyaWFibGUpPy5bXCJpZFwiXSxcbiAgICAgICAgKTtcblxuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgcGF0dGVybk5hbWVzKSB7XG4gICAgICAgICAgZXhwb3J0ZWRFbGVtZW50cy5wdXNoKHtcbiAgICAgICAgICAgIGV4cG9ydGVkTmFtZTogbmFtZSxcbiAgICAgICAgICAgIGV4cG9ydEtpbmQ6IFwidmFsdWVcIixcbiAgICAgICAgICAgIG5vZGU6IHN0YXRlbWVudCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uTmFtZSA9IHJlYWRTdHJpbmdQcm9wZXJ0eShkZWNsYXJhdGlvbj8uW1wiaWRcIl0sIFwibmFtZVwiKTtcbiAgY29uc3QgZGVjbGFyYXRpb25UeXBlID0gcmVhZFN0cmluZ1Byb3BlcnR5KGRlY2xhcmF0aW9uLCBcInR5cGVcIik7XG4gIGNvbnN0IGV4cG9ydEtpbmQ6IEV4cG9ydEtpbmQgPVxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIgfHxcbiAgICBkZWNsYXJhdGlvblR5cGUgPT09IFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiXG4gICAgICA/IFwidHlwZVwiXG4gICAgICA6IFwidmFsdWVcIjtcblxuICBpZiAodHlwZW9mIGRlY2xhcmF0aW9uTmFtZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIGV4cG9ydGVkRWxlbWVudHMucHVzaCh7XG4gICAgICBleHBvcnRlZE5hbWU6IGRlY2xhcmF0aW9uTmFtZSxcbiAgICAgIGV4cG9ydEtpbmQsXG4gICAgICBub2RlOiBzdGF0ZW1lbnQsXG4gICAgfSk7XG4gIH1cbn07XG5cbi8qKlxuICogQWRkcyBleHBvcnRlZCBlbGVtZW50cyBmb3IgdGhlIHNwZWNpZmllcnMgb2Ygb25lIG5hbWVkIGV4cG9ydCBzdGF0ZW1lbnQuXG4gKiBAcGFyYW0gZXhwb3J0ZWRFbGVtZW50cyBNdXRhYmxlIGV4cG9ydGVkLWVsZW1lbnQgYWNjdW11bGF0b3IuXG4gKiBAcGFyYW0gbG9jYWxEZWNsYXJhdGlvbk5hbWVzIExvY2FsbHkgZGVjbGFyZWQgbmFtZXMgZm9yIHNwZWNpZmllciBsb29rdXAuXG4gKiBAcGFyYW0gc3RhdGVtZW50IE5hbWVkIGV4cG9ydCBzdGF0ZW1lbnQgYmVpbmcgaW5zcGVjdGVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFkZFNwZWNpZmllckV4cG9ydEVsZW1lbnRzKGV4cG9ydGVkRWxlbWVudHMsIGxvY2FsRGVjbGFyYXRpb25OYW1lcywgc3RhdGVtZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBhZGRTcGVjaWZpZXJFeHBvcnRFbGVtZW50cyA9IChcbiAgZXhwb3J0ZWRFbGVtZW50czogRXhwb3J0ZWRFbGVtZW50W10sXG4gIGxvY2FsRGVjbGFyYXRpb25OYW1lczogUmVhZG9ubHlNYXA8c3RyaW5nLCBMb2NhbERlY2xhcmF0aW9uPixcbiAgc3RhdGVtZW50OiBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvbixcbik6IHZvaWQgPT4ge1xuICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBzdGF0ZW1lbnQuc3BlY2lmaWVycykge1xuICAgIGNvbnN0IGxvY2FsTmFtZSA9IGdldEV4cG9ydFNwZWNpZmllckxvY2FsTmFtZShzcGVjaWZpZXIpO1xuICAgIGNvbnN0IGxvY2FsRGVjbGFyYXRpb24gPVxuICAgICAgbG9jYWxOYW1lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBsb2NhbERlY2xhcmF0aW9uTmFtZXMuZ2V0KGxvY2FsTmFtZSk7XG5cbiAgICBpZiAobG9jYWxEZWNsYXJhdGlvbiA9PT0gdm9pZCAwKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBvcnRlZE5hbWUgPSBnZXRFeHBvcnRTcGVjaWZpZXJOYW1lKHNwZWNpZmllcik7XG5cbiAgICBpZiAoZXhwb3J0ZWROYW1lID09PSB2b2lkIDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXRlbWVudEV4cG9ydEtpbmQgPSByZWFkU3RyaW5nUHJvcGVydHkoc3RhdGVtZW50LCBcImV4cG9ydEtpbmRcIik7XG4gICAgY29uc3Qgc3BlY2lmaWVyRXhwb3J0S2luZCA9IHJlYWRTdHJpbmdQcm9wZXJ0eShzcGVjaWZpZXIsIFwiZXhwb3J0S2luZFwiKTtcbiAgICBjb25zdCBpc1R5cGVPbmx5RXhwb3J0ID1cbiAgICAgIHN0YXRlbWVudEV4cG9ydEtpbmQgPT09IFwidHlwZVwiIHx8IHNwZWNpZmllckV4cG9ydEtpbmQgPT09IFwidHlwZVwiO1xuXG4gICAgZXhwb3J0ZWRFbGVtZW50cy5wdXNoKHtcbiAgICAgIGV4cG9ydGVkTmFtZSxcbiAgICAgIGV4cG9ydEtpbmQ6IGlzVHlwZU9ubHlFeHBvcnQgPyBcInR5cGVcIiA6IGxvY2FsRGVjbGFyYXRpb24ua2luZCxcbiAgICAgIG5vZGU6IGxvY2FsRGVjbGFyYXRpb24ubm9kZSxcbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBDb2xsZWN0cyBleHBvcnRlZCBlbGVtZW50cyBmcm9tIG9uZSBwcm9ncmFtIGJvZHkuXG4gKiBAcGFyYW0gYm9keSBQcm9ncmFtIGJvZHkgc3RhdGVtZW50cy5cbiAqIEByZXR1cm5zIEV4cG9ydGVkIGVsZW1lbnRzIGluIGRlY2xhcmF0aW9uIG9yZGVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGV4cG9ydGVkID0gY29sbGVjdEV4cG9ydGVkRWxlbWVudHMocHJvZ3JhbS5ib2R5KTtcbiAqIGBgYFxuICovXG5jb25zdCBjb2xsZWN0RXhwb3J0ZWRFbGVtZW50cyA9IChcbiAgYm9keTogQVNULlByb2dyYW1bXCJib2R5XCJdLFxuKTogRXhwb3J0ZWRFbGVtZW50W10gPT4ge1xuICBjb25zdCBleHBvcnRlZEVsZW1lbnRzOiBFeHBvcnRlZEVsZW1lbnRbXSA9IFtdO1xuICBjb25zdCBsb2NhbERlY2xhcmF0aW9uTmFtZXMgPSBjb2xsZWN0TG9jYWxEZWNsYXJhdGlvbk5hbWVzKGJvZHkpO1xuXG4gIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIGJvZHkpIHtcbiAgICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCIpIHtcbiAgICAgIGV4cG9ydGVkRWxlbWVudHMucHVzaCh7XG4gICAgICAgIGV4cG9ydGVkTmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICAgIGV4cG9ydEtpbmQ6IFwidmFsdWVcIixcbiAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50LnR5cGUgIT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50LnNvdXJjZSAhPT0gbnVsbCAmJiBzdGF0ZW1lbnQuc291cmNlICE9PSB2b2lkIDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnQuZGVjbGFyYXRpb24gIT09IG51bGwgJiYgc3RhdGVtZW50LmRlY2xhcmF0aW9uICE9PSB2b2lkIDApIHtcbiAgICAgIGFkZERlY2xhcmF0aW9uRXhwb3J0RWxlbWVudHMoZXhwb3J0ZWRFbGVtZW50cywgc3RhdGVtZW50KTtcblxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgYWRkU3BlY2lmaWVyRXhwb3J0RWxlbWVudHMoXG4gICAgICBleHBvcnRlZEVsZW1lbnRzLFxuICAgICAgbG9jYWxEZWNsYXJhdGlvbk5hbWVzLFxuICAgICAgc3RhdGVtZW50LFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXhwb3J0ZWRFbGVtZW50cztcbn07XG5cbmV4cG9ydCB7IGNvbGxlY3RFeHBvcnRlZEVsZW1lbnRzIH07XG4iXX0=
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-exports-identifier-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,IAAI,CAAC,WAAW,KACxB,EAAE,CAAC,OAAO,GAAG,SAOf,CAAC;
|
|
1
|
+
{"version":3,"file":"no-unused-exports-identifier-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,IAAI,CAAC,WAAW,KACxB,EAAE,CAAC,OAAO,GAAG,SAOf,CAAC;AAgEF;;;;;;;;;GASG;AACH,QAAA,MAAM,yBAAyB,GAC7B,YAAY,EAAE,CAAC,UAAU,EACzB,YAAY,UAAU,KACrB,OAQF,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC"}
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js
CHANGED
|
@@ -59,18 +59,14 @@ const isTypePositionIdentifier = (identifier) => {
|
|
|
59
59
|
if (ts.isTypeNode(current)) {
|
|
60
60
|
return true;
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
const isValuePosition = ts.isExpressionStatement(current) ||
|
|
63
63
|
ts.isCallExpression(current) ||
|
|
64
64
|
ts.isPropertyAccessExpression(current) ||
|
|
65
65
|
ts.isElementAccessExpression(current) ||
|
|
66
66
|
ts.isVariableDeclaration(current) ||
|
|
67
|
-
ts.isReturnStatement(current)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (ts.isSourceFile(current)) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
return visitNode(current.parent);
|
|
67
|
+
ts.isReturnStatement(current) ||
|
|
68
|
+
ts.isSourceFile(current);
|
|
69
|
+
return !isValuePosition && visitNode(current.parent);
|
|
74
70
|
};
|
|
75
71
|
return visitNode(identifier);
|
|
76
72
|
};
|
|
@@ -92,4 +88,4 @@ const isConcreteUsageIdentifier = (identifier, exportKind) => {
|
|
|
92
88
|
return exportKind === "type" ? isInTypePosition : !isInTypePosition;
|
|
93
89
|
};
|
|
94
90
|
export { getTypeScriptProgram, isConcreteUsageIdentifier };
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtaWRlbnRpZmllci11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9uby11bnVzZWQtZXhwb3J0cy9uby11bnVzZWQtZXhwb3J0cy1pZGVudGlmaWVyLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLE9BQXlCLEVBQ0QsRUFBRTtJQUMxQixJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBZ0IsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLENBQUMsVUFBeUIsRUFBVyxFQUFFO0lBQ3pFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFFakMsT0FBTyxDQUNMLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDNUIsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDekIsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUM1QixFQUFFLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDO1FBQ3BDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDNUIsRUFBRSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztRQUNqQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDO1FBQ2pDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUM7UUFDckMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7UUFDaEUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7UUFDaEUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7UUFDN0QsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQ3ZELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxVQUF5QixFQUFXLEVBQUU7SUFDdEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFnQixFQUFXLEVBQUU7UUFDOUMsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQ25CLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7WUFDakMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM1QixFQUFFLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDO1lBQ3RDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7WUFDckMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztZQUNqQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1lBQzdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsT0FBTyxDQUFDLGVBQWUsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMsVUFBeUIsRUFDekIsVUFBc0IsRUFDYixFQUFFO0lBQ1gsSUFBSSwyQkFBMkIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUQsT0FBTyxVQUFVLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztBQUN0RSxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgRVNMaW50VXRpbHMgfSBmcm9tIFwiQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzXCI7XG5pbXBvcnQgKiBhcyB0cyBmcm9tIFwidHlwZXNjcmlwdFwiO1xuXG5pbXBvcnQgdHlwZSB7IEV4cG9ydEtpbmQgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIFJlc29sdmVzIFR5cGVTY3JpcHQgcGFyc2VyIHNlcnZpY2VzIHByb2dyYW0gd2hlbiBhdmFpbGFibGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGNvbnRleHQuXG4gKiBAcmV0dXJucyBUeXBlU2NyaXB0IHByb2dyYW0gd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJvZ3JhbSA9IGdldFR5cGVTY3JpcHRQcm9ncmFtKGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFR5cGVTY3JpcHRQcm9ncmFtID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuKTogdHMuUHJvZ3JhbSB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2VydmljZXMgPSBFU0xpbnRVdGlscy5nZXRQYXJzZXJTZXJ2aWNlcyhjb250ZXh0IGFzIG5ldmVyKTtcbiAgICByZXR1cm4gc2VydmljZXMucHJvZ3JhbTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBpZGVudGlmaWVyIHBhcnRpY2lwYXRlcyBpbiBvbmUgZGVjbGFyYXRpb24vaW1wb3J0L2V4cG9ydCBzaXRlLlxuICogQHBhcmFtIGlkZW50aWZpZXIgSWRlbnRpZmllciBub2RlIHRvIGV2YWx1YXRlLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBpZGVudGlmaWVyIGlzIGRlY2xhcmF0aW9uLW9ubHkgc3ludGF4LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRlY2xhcmF0aW9uID0gaXNEZWNsYXJhdGlvbk9ubHlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzRGVjbGFyYXRpb25Pbmx5SWRlbnRpZmllciA9IChpZGVudGlmaWVyOiB0cy5JZGVudGlmaWVyKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHBhcmVudCA9IGlkZW50aWZpZXIucGFyZW50O1xuXG4gIHJldHVybiAoXG4gICAgdHMuaXNJbXBvcnRTcGVjaWZpZXIocGFyZW50KSB8fFxuICAgIHRzLmlzSW1wb3J0Q2xhdXNlKHBhcmVudCkgfHxcbiAgICB0cy5pc05hbWVzcGFjZUltcG9ydChwYXJlbnQpIHx8XG4gICAgdHMuaXNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbihwYXJlbnQpIHx8XG4gICAgdHMuaXNFeHBvcnRTcGVjaWZpZXIocGFyZW50KSB8fFxuICAgIHRzLmlzVHlwZUFsaWFzRGVjbGFyYXRpb24ocGFyZW50KSB8fFxuICAgIHRzLmlzSW50ZXJmYWNlRGVjbGFyYXRpb24ocGFyZW50KSB8fFxuICAgIHRzLmlzVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKHBhcmVudCkgfHxcbiAgICAodHMuaXNWYXJpYWJsZURlY2xhcmF0aW9uKHBhcmVudCkgJiYgcGFyZW50Lm5hbWUgPT09IGlkZW50aWZpZXIpIHx8XG4gICAgKHRzLmlzRnVuY3Rpb25EZWNsYXJhdGlvbihwYXJlbnQpICYmIHBhcmVudC5uYW1lID09PSBpZGVudGlmaWVyKSB8fFxuICAgICh0cy5pc0NsYXNzRGVjbGFyYXRpb24ocGFyZW50KSAmJiBwYXJlbnQubmFtZSA9PT0gaWRlbnRpZmllcikgfHxcbiAgICAodHMuaXNQYXJhbWV0ZXIocGFyZW50KSAmJiBwYXJlbnQubmFtZSA9PT0gaWRlbnRpZmllcilcbiAgKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb25lIGlkZW50aWZpZXIgbm9kZSBhcHBlYXJzIHVuZGVyIGEgdHlwZSBub2RlLlxuICogQHBhcmFtIGlkZW50aWZpZXIgQ2FuZGlkYXRlIGlkZW50aWZpZXIuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGlkZW50aWZpZXIgaXMgaW5zaWRlIHR5cGUtb25seSBzeW50YXguXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdHlwZVBvc2l0aW9uID0gaXNUeXBlUG9zaXRpb25JZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzVHlwZVBvc2l0aW9uSWRlbnRpZmllciA9IChpZGVudGlmaWVyOiB0cy5JZGVudGlmaWVyKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHZpc2l0Tm9kZSA9IChjdXJyZW50OiB0cy5Ob2RlKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKHRzLmlzVHlwZVF1ZXJ5Tm9kZShjdXJyZW50KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0cy5pc1R5cGVOb2RlKGN1cnJlbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBpc1ZhbHVlUG9zaXRpb24gPVxuICAgICAgdHMuaXNFeHByZXNzaW9uU3RhdGVtZW50KGN1cnJlbnQpIHx8XG4gICAgICB0cy5pc0NhbGxFeHByZXNzaW9uKGN1cnJlbnQpIHx8XG4gICAgICB0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihjdXJyZW50KSB8fFxuICAgICAgdHMuaXNFbGVtZW50QWNjZXNzRXhwcmVzc2lvbihjdXJyZW50KSB8fFxuICAgICAgdHMuaXNWYXJpYWJsZURlY2xhcmF0aW9uKGN1cnJlbnQpIHx8XG4gICAgICB0cy5pc1JldHVyblN0YXRlbWVudChjdXJyZW50KSB8fFxuICAgICAgdHMuaXNTb3VyY2VGaWxlKGN1cnJlbnQpO1xuXG4gICAgcmV0dXJuICFpc1ZhbHVlUG9zaXRpb24gJiYgdmlzaXROb2RlKGN1cnJlbnQucGFyZW50KTtcbiAgfTtcblxuICByZXR1cm4gdmlzaXROb2RlKGlkZW50aWZpZXIpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgaWRlbnRpZmllciBpcyBvbmUgY29uY3JldGUgdXNhZ2UgY2FuZGlkYXRlIGZvciB0aGUgZXhwb3J0IGtpbmQuXG4gKiBAcGFyYW0gaWRlbnRpZmllciBJZGVudGlmaWVyIG5vZGUuXG4gKiBAcGFyYW0gZXhwb3J0S2luZCBXaGV0aGVyIHR5cGUtb25seSBvciB2YWx1ZSB1c2FnZSBpcyByZXF1aXJlZC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgaWRlbnRpZmllciBjYW4gc2F0aXNmeSB1c2FnZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb25jcmV0ZSA9IGlzQ29uY3JldGVVc2FnZUlkZW50aWZpZXIoaWRlbnRpZmllciwgXCJ2YWx1ZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0NvbmNyZXRlVXNhZ2VJZGVudGlmaWVyID0gKFxuICBpZGVudGlmaWVyOiB0cy5JZGVudGlmaWVyLFxuICBleHBvcnRLaW5kOiBFeHBvcnRLaW5kLFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChpc0RlY2xhcmF0aW9uT25seUlkZW50aWZpZXIoaWRlbnRpZmllcikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBpc0luVHlwZVBvc2l0aW9uID0gaXNUeXBlUG9zaXRpb25JZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuXG4gIHJldHVybiBleHBvcnRLaW5kID09PSBcInR5cGVcIiA/IGlzSW5UeXBlUG9zaXRpb24gOiAhaXNJblR5cGVQb3NpdGlvbjtcbn07XG5cbmV4cG9ydCB7IGdldFR5cGVTY3JpcHRQcm9ncmFtLCBpc0NvbmNyZXRlVXNhZ2VJZGVudGlmaWVyIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-exports-options.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE5E,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,sDAG3B,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,0BAA0B,8DAG7B,CAAC;AAiBX;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAUrD,CAAC;AA4BF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,SAAS,OAAO,EAAE,KAC1B,oBAaF,CAAC;
|
|
1
|
+
{"version":3,"file":"no-unused-exports-options.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA0B,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE5E,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,sDAG3B,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,0BAA0B,8DAG7B,CAAC;AAiBX;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAUrD,CAAC;AA4BF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,SAAS,OAAO,EAAE,KAC1B,oBAaF,CAAC;AAmDF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,OAAO,oBAAoB,EAC3B,UAAU,MAAM,KACf,OAAsE,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,OAAO,oBAAoB,EAC3B,UAAU,MAAM,KACf,OAAwE,CAAC"}
|
|
@@ -91,10 +91,9 @@ const toRepoRelativePosixPath = (filename, repoRoot) => {
|
|
|
91
91
|
return void 0;
|
|
92
92
|
}
|
|
93
93
|
const relativePath = path.relative(repoRoot, filename);
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return relativePath.split(path.sep).join("/");
|
|
94
|
+
return relativePath.startsWith("..") || path.isAbsolute(relativePath)
|
|
95
|
+
? void 0
|
|
96
|
+
: relativePath.split(path.sep).join("/");
|
|
98
97
|
};
|
|
99
98
|
/**
|
|
100
99
|
* Checks whether one filename matches any glob pattern.
|
|
@@ -109,10 +108,8 @@ const toRepoRelativePosixPath = (filename, repoRoot) => {
|
|
|
109
108
|
*/
|
|
110
109
|
const matchesAnyPattern = (filename, patterns, repoRoot) => {
|
|
111
110
|
const relativePath = toRepoRelativePosixPath(filename, repoRoot);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
return patterns.some((pattern) => minimatch(relativePath, pattern, { dot: true }));
|
|
111
|
+
return (relativePath !== void 0 &&
|
|
112
|
+
patterns.some((pattern) => minimatch(relativePath, pattern, { dot: true })));
|
|
116
113
|
};
|
|
117
114
|
/**
|
|
118
115
|
* Checks whether one file defines a public API export surface.
|
|
@@ -138,4 +135,4 @@ export const isPublicApiFile = (filename, state, repoRoot) => matchesAnyPattern(
|
|
|
138
135
|
* ```
|
|
139
136
|
*/
|
|
140
137
|
export const isTestFile = (filename, state, repoRoot) => matchesAnyPattern(filename, state.testFilePatterns, repoRoot);
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL25vLXVudXNlZC1leHBvcnRzL25vLXVudXNlZC1leHBvcnRzLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFJN0IsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLGlCQUFpQjtJQUNqQixzQkFBc0I7Q0FDZCxDQUFDO0FBRVgseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLHlCQUF5QjtJQUN6QixzQkFBc0I7Q0FDZCxDQUFDO0FBRVgsbUVBQW1FO0FBQ25FLE1BQU0sNkJBQTZCLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQVcsRUFBRSxDQUNuRCxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRW5EOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFnQixFQUFXLEVBQUU7SUFDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUxRCxPQUFPLFNBQVMsQ0FBQyxjQUFjLEVBQUUsNkJBQTZCLEVBQUU7UUFDOUQsR0FBRyxFQUFFLElBQUk7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USxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFFMUU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUN4QixRQUFnQixFQUNoQixLQUEyQixFQUMzQixRQUFnQixFQUNQLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWluaW1hdGNoIH0gZnJvbSBcIm1pbmltYXRjaFwiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbXBvcnQgdHlwZSB7IE5vVW51c2VkRXhwb3J0c09wdGlvbnMsIE5vVW51c2VkRXhwb3J0c1N0YXRlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqIERlZmF1bHQgcHVibGljIEFQSSBmaWxlcyB3aGVyZSBleHBvcnRlZCBzeW1ib2xzIGFyZSBpbnRlbnRpb25hbGx5IGV4cG9zZWQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QVUJMSUNfQVBJX0ZJTEVTID0gW1xuICBcIioqL3NyYy9pbmRleC50c1wiLFxuICBcIioqL19fdGVzdHNfXy8qKi8qLnRzXCIsXG5dIGFzIGNvbnN0O1xuXG4vKiogRGVmYXVsdCBnbG9iIHBhdHRlcm5zIHVzZWQgdG8gY2xhc3NpZnkgdGVzdCBmaWxlcy4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RFU1RfRklMRV9QQVRURVJOUyA9IFtcbiAgXCIqKi8qLnt0ZXN0LHNwZWMsZTJlfS50c1wiLFxuICBcIioqL19fdGVzdHNfXy8qKi8qLnRzXCIsXG5dIGFzIGNvbnN0O1xuXG4vKiogRGVmYXVsdCBmaWxlIHBhdHRlcm4gdXNlZCB0byBzY29wZSBhbmFseXNpcyB0byBzb3VyY2UgZmlsZXMuICovXG5jb25zdCBERUZBVUxUX0xJTlRBQkxFX0ZJTEVfUEFUVEVSTiA9IFwiKiovc3JjLyoqLyoudHNcIjtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgcGF0aCBpcyBhYnNvbHV0ZSBhbmQgbm9uLWVtcHR5LlxuICogQHBhcmFtIGZpbGVuYW1lIElucHV0IGZpbGVuYW1lLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBwYXRoIGlzIGFic29sdXRlIGFuZCBub24tZW1wdHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc0Fic29sdXRlUGF0aChcIi9yZXBvL3NyYy9mZWF0dXJlLnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzQWJzb2x1dGVQYXRoID0gKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuID0+XG4gIGZpbGVuYW1lLmxlbmd0aCA+IDAgJiYgcGF0aC5pc0Fic29sdXRlKGZpbGVuYW1lKTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZmlsZSBwYXRoIGlzIGxpbnRhYmxlLlxuICogQHBhcmFtIGZpbGVuYW1lIElucHV0IGZpbGVuYW1lLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBwYXRoIGlzIGFic29sdXRlIGFuZCBtYXRjaGVzIHNvdXJjZS1maWxlIHNjb3BlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNMaW50YWJsZUZpbGVuYW1lKFwiL3JlcG8vc3JjL2ZlYXR1cmUudHNcIik7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGlzTGludGFibGVGaWxlbmFtZSA9IChmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghaXNBYnNvbHV0ZVBhdGgoZmlsZW5hbWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBmaWxlbmFtZS5zcGxpdChwYXRoLnNlcCkuam9pbihcIi9cIik7XG5cbiAgcmV0dXJuIG1pbmltYXRjaChub3JtYWxpemVkUGF0aCwgREVGQVVMVF9MSU5UQUJMRV9GSUxFX1BBVFRFUk4sIHtcbiAgICBkb3Q6IHRydWUsXG4gIH0pO1xufTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIG9uZSBydWxlIG9wdGlvbiB2YWx1ZSBpbnRvIGEgc3RyaW5nIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWUgUmF3IG9wdGlvbiB2YWx1ZS5cbiAqIEBwYXJhbSBkZWZhdWx0cyBEZWZhdWx0IHZhbHVlcy5cbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgbGlzdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ID0gbm9ybWFsaXplU3RyaW5nTGlzdChbXCJzcmMvKipcIl0sIFtcInNyYy8qKlwiXSk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgbm9ybWFsaXplU3RyaW5nTGlzdCA9IChcbiAgdmFsdWU6IHVua25vd24sXG4gIGRlZmF1bHRzOiByZWFkb25seSBzdHJpbmdbXSxcbik6IHN0cmluZ1tdID0+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHZhbHVlXG4gICAgICAuZmlsdGVyKChlbnRyeSk6IGVudHJ5IGlzIHN0cmluZyA9PiB0eXBlb2YgZW50cnkgPT09IFwic3RyaW5nXCIpXG4gICAgICAubWFwKChlbnRyeSkgPT4gZW50cnkudHJpbSgpKVxuICAgICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5Lmxlbmd0aCA+IDApO1xuXG4gICAgcmV0dXJuIG5vcm1hbGl6ZWQubGVuZ3RoID4gMCA/IG5vcm1hbGl6ZWQgOiBbLi4uZGVmYXVsdHNdO1xuICB9XG5cbiAgcmV0dXJuIFsuLi5kZWZhdWx0c107XG59O1xuXG4vKipcbiAqIEJ1aWxkcyBub3JtYWxpemVkIG9wdGlvbnMgZnJvbSByYXcgcnVsZSBvcHRpb25zLlxuICogQHBhcmFtIG9wdGlvbnMgUmF3IHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgb3B0aW9ucyBzdGF0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGF0ZSA9IGdldE9wdGlvbnMoW3t9XSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IHJlYWRvbmx5IHVua25vd25bXSxcbik6IE5vVW51c2VkRXhwb3J0c1N0YXRlID0+IHtcbiAgY29uc3QgcmF3ID0gb3B0aW9uc1swXSBhcyBOb1VudXNlZEV4cG9ydHNPcHRpb25zIHwgdW5kZWZpbmVkO1xuXG4gIHJldHVybiB7XG4gICAgcHVibGljQXBpRmlsZXM6IG5vcm1hbGl6ZVN0cmluZ0xpc3QoXG4gICAgICByYXc/LnB1YmxpY0FwaUZpbGVzLFxuICAgICAgREVGQVVMVF9QVUJMSUNfQVBJX0ZJTEVTLFxuICAgICksXG4gICAgdGVzdEZpbGVQYXR0ZXJuczogbm9ybWFsaXplU3RyaW5nTGlzdChcbiAgICAgIHJhdz8udGVzdEZpbGVQYXR0ZXJucyxcbiAgICAgIERFRkFVTFRfVEVTVF9GSUxFX1BBVFRFUk5TLFxuICAgICksXG4gIH07XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGFuIGFic29sdXRlIGZpbGVuYW1lIGludG8gYSByZXBvLXJvb3QtcmVsYXRpdmUgUE9TSVggcGF0aC5cbiAqIEBwYXJhbSBmaWxlbmFtZSBBYnNvbHV0ZSBmaWxlbmFtZS5cbiAqIEBwYXJhbSByZXBvUm9vdCBBYnNvbHV0ZSByZXBvc2l0b3J5IHJvb3QuXG4gKiBAcmV0dXJucyBSZXBvLXJlbGF0aXZlIFBPU0lYIHBhdGggb3IgdW5kZWZpbmVkIHdoZW4gb3V0c2lkZSByZXBvIHJvb3QuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVsYXRpdmVQYXRoID0gdG9SZXBvUmVsYXRpdmVQb3NpeFBhdGgoXCIvcmVwby9zcmMvZmVhdHVyZS50c1wiLCBcIi9yZXBvXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IHRvUmVwb1JlbGF0aXZlUG9zaXhQYXRoID0gKFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICByZXBvUm9vdDogc3RyaW5nLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFpc0Fic29sdXRlUGF0aChmaWxlbmFtZSkgfHwgIWlzQWJzb2x1dGVQYXRoKHJlcG9Sb290KSkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCByZWxhdGl2ZVBhdGggPSBwYXRoLnJlbGF0aXZlKHJlcG9Sb290LCBmaWxlbmFtZSk7XG5cbiAgaWYgKHJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKFwiLi5cIikgfHwgcGF0aC5pc0Fic29sdXRlKHJlbGF0aXZlUGF0aCkpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIHJlbGF0aXZlUGF0aC5zcGxpdChwYXRoLnNlcCkuam9pbihcIi9cIik7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9uZSBmaWxlbmFtZSBtYXRjaGVzIGFueSBnbG9iIHBhdHRlcm4uXG4gKiBAcGFyYW0gZmlsZW5hbWUgQWJzb2x1dGUgZmlsZW5hbWUuXG4gKiBAcGFyYW0gcGF0dGVybnMgR2xvYiBwYXR0ZXJucy5cbiAqIEBwYXJhbSByZXBvUm9vdCBBYnNvbHV0ZSByZXBvc2l0b3J5IHJvb3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gYW55IHBhdHRlcm4gbWF0Y2hlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtYXRjaCA9IG1hdGNoZXNBbnlQYXR0ZXJuKFwiL3JlcG8vc3JjL2luZGV4LnRzXCIsIFtcInNyYy1wYXR0ZXJuXCJdLCBcIi9yZXBvXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IG1hdGNoZXNBbnlQYXR0ZXJuID0gKFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBwYXR0ZXJuczogc3RyaW5nW10sXG4gIHJlcG9Sb290OiBzdHJpbmcsXG4pOiBib29sZWFuID0+IHtcbiAgY29uc3QgcmVsYXRpdmVQYXRoID0gdG9SZXBvUmVsYXRpdmVQb3NpeFBhdGgoZmlsZW5hbWUsIHJlcG9Sb290KTtcblxuICBpZiAocmVsYXRpdmVQYXRoID09PSB2b2lkIDAgfHwgcGF0dGVybnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+XG4gICAgbWluaW1hdGNoKHJlbGF0aXZlUGF0aCwgcGF0dGVybiwgeyBkb3Q6IHRydWUgfSksXG4gICk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9uZSBmaWxlIGRlZmluZXMgYSBwdWJsaWMgQVBJIGV4cG9ydCBzdXJmYWNlLlxuICogQHBhcmFtIGZpbGVuYW1lIEFic29sdXRlIGZpbGVuYW1lLlxuICogQHBhcmFtIHN0YXRlIE5vcm1hbGl6ZWQgb3B0aW9ucy5cbiAqIEBwYXJhbSByZXBvUm9vdCBBYnNvbHV0ZSByZXBvc2l0b3J5IHJvb3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGZpbGUgaXMgYSBwdWJsaWMgQVBJIGZpbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHVibGljQXBpRmlsZSA9IGlzUHVibGljQXBpRmlsZShcIi9yZXBvL3NyYy9pbmRleC50c1wiLCBzdGF0ZSwgXCIvcmVwb1wiKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaXNQdWJsaWNBcGlGaWxlID0gKFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBzdGF0ZTogTm9VbnVzZWRFeHBvcnRzU3RhdGUsXG4gIHJlcG9Sb290OiBzdHJpbmcsXG4pOiBib29sZWFuID0+IG1hdGNoZXNBbnlQYXR0ZXJuKGZpbGVuYW1lLCBzdGF0ZS5wdWJsaWNBcGlGaWxlcywgcmVwb1Jvb3QpO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9uZSBmaWxlIHNob3VsZCBiZSB0cmVhdGVkIGFzIGEgdGVzdCBmaWxlLlxuICogQHBhcmFtIGZpbGVuYW1lIEFic29sdXRlIGZpbGVuYW1lLlxuICogQHBhcmFtIHN0YXRlIE5vcm1hbGl6ZWQgb3B0aW9ucy5cbiAqIEBwYXJhbSByZXBvUm9vdCBBYnNvbHV0ZSByZXBvc2l0b3J5IHJvb3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGZpbGUgcGF0aCBtYXRjaGVzIGEgdGVzdCBwYXR0ZXJuLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRlc3RGaWxlID0gaXNUZXN0RmlsZShcIi9yZXBvL3Rlc3RzL2UyZS9kZW1vLnRzXCIsIHN0YXRlLCBcIi9yZXBvXCIpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBpc1Rlc3RGaWxlID0gKFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBzdGF0ZTogTm9VbnVzZWRFeHBvcnRzU3RhdGUsXG4gIHJlcG9Sb290OiBzdHJpbmcsXG4pOiBib29sZWFuID0+IG1hdGNoZXNBbnlQYXR0ZXJuKGZpbGVuYW1lLCBzdGF0ZS50ZXN0RmlsZVBhdHRlcm5zLCByZXBvUm9vdCk7XG4iXX0=
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL25vLXVudXNlZC1leHBvcnRzL25vLXVudXNlZC1leHBvcnRzLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFJN0IsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLGlCQUFpQjtJQUNqQixzQkFBc0I7Q0FDZCxDQUFDO0FBRVgseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLHlCQUF5QjtJQUN6QixzQkFBc0I7Q0FDZCxDQUFDO0FBRVgsbUVBQW1FO0FBQ25FLE1BQU0sNkJBQTZCLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQVcsRUFBRSxDQUNuRCxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRW5EOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFnQixFQUFXLEVBQUU7SUFDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUxRCxPQUFPLFNBQVMsQ0FBQyxjQUFjLEVBQUUsNkJBQTZCLEVBQUU7UUFDOUQsR0FBRyxFQUFFLElBQUk7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VUFBVSxHQUFHLENBQ3hCLFFBQWdCLEVBQ2hCLEtBQTJCLEVBQzNCLFFBQWdCLEVBQ1AsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaW5pbWF0Y2ggfSBmcm9tIFwibWluaW1hdGNoXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB0eXBlIHsgTm9VbnVzZWRFeHBvcnRzT3B0aW9ucywgTm9VbnVzZWRFeHBvcnRzU3RhdGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiogRGVmYXVsdCBwdWJsaWMgQVBJIGZpbGVzIHdoZXJlIGV4cG9ydGVkIHN5bWJvbHMgYXJlIGludGVudGlvbmFsbHkgZXhwb3NlZC4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BVQkxJQ19BUElfRklMRVMgPSBbXG4gIFwiKiovc3JjL2luZGV4LnRzXCIsXG4gIFwiKiovX190ZXN0c19fLyoqLyoudHNcIixcbl0gYXMgY29uc3Q7XG5cbi8qKiBEZWZhdWx0IGdsb2IgcGF0dGVybnMgdXNlZCB0byBjbGFzc2lmeSB0ZXN0IGZpbGVzLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVTVF9GSUxFX1BBVFRFUk5TID0gW1xuICBcIioqLyoue3Rlc3Qsc3BlYyxlMmV9LnRzXCIsXG4gIFwiKiovX190ZXN0c19fLyoqLyoudHNcIixcbl0gYXMgY29uc3Q7XG5cbi8qKiBEZWZhdWx0IGZpbGUgcGF0dGVybiB1c2VkIHRvIHNjb3BlIGFuYWx5c2lzIHRvIHNvdXJjZSBmaWxlcy4gKi9cbmNvbnN0IERFRkFVTFRfTElOVEFCTEVfRklMRV9QQVRURVJOID0gXCIqKi9zcmMvKiovKi50c1wiO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9uZSBwYXRoIGlzIGFic29sdXRlIGFuZCBub24tZW1wdHkuXG4gKiBAcGFyYW0gZmlsZW5hbWUgSW5wdXQgZmlsZW5hbWUuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHBhdGggaXMgYWJzb2x1dGUgYW5kIG5vbi1lbXB0eS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQWJzb2x1dGVQYXRoKFwiL3JlcG8vc3JjL2ZlYXR1cmUudHNcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNBYnNvbHV0ZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgZmlsZW5hbWUubGVuZ3RoID4gMCAmJiBwYXRoLmlzQWJzb2x1dGUoZmlsZW5hbWUpO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG9uZSBmaWxlIHBhdGggaXMgbGludGFibGUuXG4gKiBAcGFyYW0gZmlsZW5hbWUgSW5wdXQgZmlsZW5hbWUuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHBhdGggaXMgYWJzb2x1dGUgYW5kIG1hdGNoZXMgc291cmNlLWZpbGUgc2NvcGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc0xpbnRhYmxlRmlsZW5hbWUoXCIvcmVwby9zcmMvZmVhdHVyZS50c1wiKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaXNMaW50YWJsZUZpbGVuYW1lID0gKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCFpc0Fic29sdXRlUGF0aChmaWxlbmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkUGF0aCA9IGZpbGVuYW1lLnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcblxuICByZXR1cm4gbWluaW1hdGNoKG5vcm1hbGl6ZWRQYXRoLCBERUZBVUxUX0xJTlRBQkxFX0ZJTEVfUEFUVEVSTiwge1xuICAgIGRvdDogdHJ1ZSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgb25lIHJ1bGUgb3B0aW9uIHZhbHVlIGludG8gYSBzdHJpbmcgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZSBSYXcgb3B0aW9uIHZhbHVlLlxuICogQHBhcmFtIGRlZmF1bHRzIERlZmF1bHQgdmFsdWVzLlxuICogQHJldHVybnMgTm9ybWFsaXplZCBsaXN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3QgPSBub3JtYWxpemVTdHJpbmdMaXN0KFtcInNyYy8qKlwiXSwgW1wic3JjLyoqXCJdKTtcbiAqIGBgYFxuICovXG5jb25zdCBub3JtYWxpemVTdHJpbmdMaXN0ID0gKFxuICB2YWx1ZTogdW5rbm93bixcbiAgZGVmYXVsdHM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuKTogc3RyaW5nW10gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gdmFsdWVcbiAgICAgIC5maWx0ZXIoKGVudHJ5KTogZW50cnkgaXMgc3RyaW5nID0+IHR5cGVvZiBlbnRyeSA9PT0gXCJzdHJpbmdcIilcbiAgICAgIC5tYXAoKGVudHJ5KSA9PiBlbnRyeS50cmltKCkpXG4gICAgICAuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkubGVuZ3RoID4gMCk7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZC5sZW5ndGggPiAwID8gbm9ybWFsaXplZCA6IFsuLi5kZWZhdWx0c107XG4gIH1cblxuICByZXR1cm4gWy4uLmRlZmF1bHRzXTtcbn07XG5cbi8qKlxuICogQnVpbGRzIG5vcm1hbGl6ZWQgb3B0aW9ucyBmcm9tIHJhdyBydWxlIG9wdGlvbnMuXG4gKiBAcGFyYW0gb3B0aW9ucyBSYXcgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgTm9ybWFsaXplZCBvcHRpb25zIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YXRlID0gZ2V0T3B0aW9ucyhbe31dKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZ2V0T3B0aW9ucyA9IChcbiAgb3B0aW9uczogcmVhZG9ubHkgdW5rbm93bltdLFxuKTogTm9VbnVzZWRFeHBvcnRzU3RhdGUgPT4ge1xuICBjb25zdCByYXcgPSBvcHRpb25zWzBdIGFzIE5vVW51c2VkRXhwb3J0c09wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHtcbiAgICBwdWJsaWNBcGlGaWxlczogbm9ybWFsaXplU3RyaW5nTGlzdChcbiAgICAgIHJhdz8ucHVibGljQXBpRmlsZXMsXG4gICAgICBERUZBVUxUX1BVQkxJQ19BUElfRklMRVMsXG4gICAgKSxcbiAgICB0ZXN0RmlsZVBhdHRlcm5zOiBub3JtYWxpemVTdHJpbmdMaXN0KFxuICAgICAgcmF3Py50ZXN0RmlsZVBhdHRlcm5zLFxuICAgICAgREVGQVVMVF9URVNUX0ZJTEVfUEFUVEVSTlMsXG4gICAgKSxcbiAgfTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgYW4gYWJzb2x1dGUgZmlsZW5hbWUgaW50byBhIHJlcG8tcm9vdC1yZWxhdGl2ZSBQT1NJWCBwYXRoLlxuICogQHBhcmFtIGZpbGVuYW1lIEFic29sdXRlIGZpbGVuYW1lLlxuICogQHBhcmFtIHJlcG9Sb290IEFic29sdXRlIHJlcG9zaXRvcnkgcm9vdC5cbiAqIEByZXR1cm5zIFJlcG8tcmVsYXRpdmUgUE9TSVggcGF0aCBvciB1bmRlZmluZWQgd2hlbiBvdXRzaWRlIHJlcG8gcm9vdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZWxhdGl2ZVBhdGggPSB0b1JlcG9SZWxhdGl2ZVBvc2l4UGF0aChcIi9yZXBvL3NyYy9mZWF0dXJlLnRzXCIsIFwiL3JlcG9cIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgdG9SZXBvUmVsYXRpdmVQb3NpeFBhdGggPSAoXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIHJlcG9Sb290OiBzdHJpbmcsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIWlzQWJzb2x1dGVQYXRoKGZpbGVuYW1lKSB8fCAhaXNBYnNvbHV0ZVBhdGgocmVwb1Jvb3QpKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUocmVwb1Jvb3QsIGZpbGVuYW1lKTtcblxuICByZXR1cm4gcmVsYXRpdmVQYXRoLnN0YXJ0c1dpdGgoXCIuLlwiKSB8fCBwYXRoLmlzQWJzb2x1dGUocmVsYXRpdmVQYXRoKVxuICAgID8gdm9pZCAwXG4gICAgOiByZWxhdGl2ZVBhdGguc3BsaXQocGF0aC5zZXApLmpvaW4oXCIvXCIpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZmlsZW5hbWUgbWF0Y2hlcyBhbnkgZ2xvYiBwYXR0ZXJuLlxuICogQHBhcmFtIGZpbGVuYW1lIEFic29sdXRlIGZpbGVuYW1lLlxuICogQHBhcmFtIHBhdHRlcm5zIEdsb2IgcGF0dGVybnMuXG4gKiBAcGFyYW0gcmVwb1Jvb3QgQWJzb2x1dGUgcmVwb3NpdG9yeSByb290LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIGFueSBwYXR0ZXJuIG1hdGNoZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWF0Y2ggPSBtYXRjaGVzQW55UGF0dGVybihcIi9yZXBvL3NyYy9pbmRleC50c1wiLCBbXCJzcmMtcGF0dGVyblwiXSwgXCIvcmVwb1wiKTtcbiAqIGBgYFxuICovXG5jb25zdCBtYXRjaGVzQW55UGF0dGVybiA9IChcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgcGF0dGVybnM6IHN0cmluZ1tdLFxuICByZXBvUm9vdDogc3RyaW5nLFxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHRvUmVwb1JlbGF0aXZlUG9zaXhQYXRoKGZpbGVuYW1lLCByZXBvUm9vdCk7XG5cbiAgcmV0dXJuIChcbiAgICByZWxhdGl2ZVBhdGggIT09IHZvaWQgMCAmJlxuICAgIHBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+IG1pbmltYXRjaChyZWxhdGl2ZVBhdGgsIHBhdHRlcm4sIHsgZG90OiB0cnVlIH0pKVxuICApO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZmlsZSBkZWZpbmVzIGEgcHVibGljIEFQSSBleHBvcnQgc3VyZmFjZS5cbiAqIEBwYXJhbSBmaWxlbmFtZSBBYnNvbHV0ZSBmaWxlbmFtZS5cbiAqIEBwYXJhbSBzdGF0ZSBOb3JtYWxpemVkIG9wdGlvbnMuXG4gKiBAcGFyYW0gcmVwb1Jvb3QgQWJzb2x1dGUgcmVwb3NpdG9yeSByb290LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlIGlzIGEgcHVibGljIEFQSSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHB1YmxpY0FwaUZpbGUgPSBpc1B1YmxpY0FwaUZpbGUoXCIvcmVwby9zcmMvaW5kZXgudHNcIiwgc3RhdGUsIFwiL3JlcG9cIik7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGlzUHVibGljQXBpRmlsZSA9IChcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc3RhdGU6IE5vVW51c2VkRXhwb3J0c1N0YXRlLFxuICByZXBvUm9vdDogc3RyaW5nLFxuKTogYm9vbGVhbiA9PiBtYXRjaGVzQW55UGF0dGVybihmaWxlbmFtZSwgc3RhdGUucHVibGljQXBpRmlsZXMsIHJlcG9Sb290KTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZmlsZSBzaG91bGQgYmUgdHJlYXRlZCBhcyBhIHRlc3QgZmlsZS5cbiAqIEBwYXJhbSBmaWxlbmFtZSBBYnNvbHV0ZSBmaWxlbmFtZS5cbiAqIEBwYXJhbSBzdGF0ZSBOb3JtYWxpemVkIG9wdGlvbnMuXG4gKiBAcGFyYW0gcmVwb1Jvb3QgQWJzb2x1dGUgcmVwb3NpdG9yeSByb290LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlIHBhdGggbWF0Y2hlcyBhIHRlc3QgcGF0dGVybi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0ZXN0RmlsZSA9IGlzVGVzdEZpbGUoXCIvcmVwby90ZXN0cy9lMmUvZGVtby50c1wiLCBzdGF0ZSwgXCIvcmVwb1wiKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaXNUZXN0RmlsZSA9IChcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc3RhdGU6IE5vVW51c2VkRXhwb3J0c1N0YXRlLFxuICByZXBvUm9vdDogc3RyaW5nLFxuKTogYm9vbGVhbiA9PiBtYXRjaGVzQW55UGF0dGVybihmaWxlbmFtZSwgc3RhdGUudGVzdEZpbGVQYXR0ZXJucywgcmVwb1Jvb3QpO1xuIl19
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-exports-pattern-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,QAAA,MAAM,6BAA6B,GAAI,MAAM,OAAO,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"no-unused-exports-pattern-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,QAAA,MAAM,6BAA6B,GAAI,MAAM,OAAO,KAAG,MAAM,EA2C5D,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB,GAAI,WAAW,OAAO,KAAG,MAAM,GAAG,SAW7D,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,2BAA2B,GAC/B,WAAW,OAAO,KACjB,MAAM,GAAG,SAIX,CAAC;AAEF,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,CAAC"}
|
|
@@ -31,15 +31,10 @@ const collectPatternIdentifierNames = (node) => {
|
|
|
31
31
|
: elements.flatMap((element) => collectPatternIdentifierNames(element));
|
|
32
32
|
}
|
|
33
33
|
if (patternType === "ObjectPattern") {
|
|
34
|
-
const properties = readArrayProperty(pattern, "properties");
|
|
35
|
-
return properties ===
|
|
36
|
-
? []
|
|
37
|
-
:
|
|
38
|
-
if (readStringProperty(property, "type") === "RestElement") {
|
|
39
|
-
return collectPatternIdentifierNames(asRecord(property)?.["argument"]);
|
|
40
|
-
}
|
|
41
|
-
return collectPatternIdentifierNames(asRecord(property)?.["value"]);
|
|
42
|
-
});
|
|
34
|
+
const properties = readArrayProperty(pattern, "properties") ?? [];
|
|
35
|
+
return properties.flatMap((property) => collectPatternIdentifierNames(readStringProperty(property, "type") === "RestElement"
|
|
36
|
+
? asRecord(property)?.["argument"]
|
|
37
|
+
: asRecord(property)?.["value"]));
|
|
43
38
|
}
|
|
44
39
|
return [];
|
|
45
40
|
};
|
|
@@ -75,4 +70,4 @@ const getExportSpecifierLocalName = (specifier) => {
|
|
|
75
70
|
return readStringProperty(candidate?.["local"], "name");
|
|
76
71
|
};
|
|
77
72
|
export { collectPatternIdentifierNames, getExportSpecifierLocalName, getExportSpecifierName, };
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtcGF0dGVybi11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9uby11bnVzZWQtZXhwb3J0cy9uby11bnVzZWQtZXhwb3J0cy1wYXR0ZXJuLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDbkIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxJQUFhLEVBQVksRUFBRTtJQUNoRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEQsSUFBSSxXQUFXLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDakMsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksV0FBVyxLQUFLLGFBQWEsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sNkJBQTZCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksV0FBVyxLQUFLLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsT0FBTyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxXQUFXLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhELE9BQU8sUUFBUSxLQUFLLEtBQUssQ0FBQztZQUN4QixDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFJLFdBQVcsS0FBSyxlQUFlLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWxFLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3JDLDZCQUE2QixDQUMzQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssYUFBYTtZQUNwRCxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FDbEMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsU0FBa0IsRUFBc0IsRUFBRTtJQUN4RSxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFekUsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFbkUsT0FBTyxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLENBQ2xDLFNBQWtCLEVBQ0UsRUFBRTtJQUN0QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEMsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQixzQkFBc0IsR0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFzUmVjb3JkLFxuICByZWFkQXJyYXlQcm9wZXJ0eSxcbiAgcmVhZFN0cmluZ1Byb3BlcnR5LFxufSBmcm9tIFwiLi9uby11bnVzZWQtZXhwb3J0cy1yZWNvcmQtdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogQ29sbGVjdHMgaWRlbnRpZmllciBuYW1lcyBmcm9tIG9uZSB2YXJpYWJsZSBwYXR0ZXJuLlxuICogQHBhcmFtIG5vZGUgVmFyaWFibGUgcGF0dGVybiBjYW5kaWRhdGUuXG4gKiBAcmV0dXJucyBJZGVudGlmaWVyIG5hbWVzIGRlY2xhcmVkIGJ5IHRoZSBwYXR0ZXJuLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5hbWVzID0gY29sbGVjdFBhdHRlcm5JZGVudGlmaWVyTmFtZXMocGF0dGVybik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY29sbGVjdFBhdHRlcm5JZGVudGlmaWVyTmFtZXMgPSAobm9kZTogdW5rbm93bik6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgcGF0dGVybiA9IGFzUmVjb3JkKG5vZGUpO1xuXG4gIGlmIChwYXR0ZXJuID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwYXR0ZXJuVHlwZSA9IHJlYWRTdHJpbmdQcm9wZXJ0eShwYXR0ZXJuLCBcInR5cGVcIik7XG5cbiAgaWYgKHBhdHRlcm5UeXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgIGNvbnN0IG5hbWUgPSByZWFkU3RyaW5nUHJvcGVydHkocGF0dGVybiwgXCJuYW1lXCIpO1xuICAgIHJldHVybiBuYW1lID09PSB2b2lkIDAgPyBbXSA6IFtuYW1lXTtcbiAgfVxuXG4gIGlmIChwYXR0ZXJuVHlwZSA9PT0gXCJSZXN0RWxlbWVudFwiKSB7XG4gICAgcmV0dXJuIGNvbGxlY3RQYXR0ZXJuSWRlbnRpZmllck5hbWVzKHBhdHRlcm5bXCJhcmd1bWVudFwiXSk7XG4gIH1cblxuICBpZiAocGF0dGVyblR5cGUgPT09IFwiQXNzaWdubWVudFBhdHRlcm5cIikge1xuICAgIHJldHVybiBjb2xsZWN0UGF0dGVybklkZW50aWZpZXJOYW1lcyhwYXR0ZXJuW1wibGVmdFwiXSk7XG4gIH1cblxuICBpZiAocGF0dGVyblR5cGUgPT09IFwiQXJyYXlQYXR0ZXJuXCIpIHtcbiAgICBjb25zdCBlbGVtZW50cyA9IHJlYWRBcnJheVByb3BlcnR5KHBhdHRlcm4sIFwiZWxlbWVudHNcIik7XG5cbiAgICByZXR1cm4gZWxlbWVudHMgPT09IHZvaWQgMFxuICAgICAgPyBbXVxuICAgICAgOiBlbGVtZW50cy5mbGF0TWFwKChlbGVtZW50KSA9PiBjb2xsZWN0UGF0dGVybklkZW50aWZpZXJOYW1lcyhlbGVtZW50KSk7XG4gIH1cblxuICBpZiAocGF0dGVyblR5cGUgPT09IFwiT2JqZWN0UGF0dGVyblwiKSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHJlYWRBcnJheVByb3BlcnR5KHBhdHRlcm4sIFwicHJvcGVydGllc1wiKSA/PyBbXTtcblxuICAgIHJldHVybiBwcm9wZXJ0aWVzLmZsYXRNYXAoKHByb3BlcnR5KSA9PlxuICAgICAgY29sbGVjdFBhdHRlcm5JZGVudGlmaWVyTmFtZXMoXG4gICAgICAgIHJlYWRTdHJpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgXCJ0eXBlXCIpID09PSBcIlJlc3RFbGVtZW50XCJcbiAgICAgICAgICA/IGFzUmVjb3JkKHByb3BlcnR5KT8uW1wiYXJndW1lbnRcIl1cbiAgICAgICAgICA6IGFzUmVjb3JkKHByb3BlcnR5KT8uW1widmFsdWVcIl0sXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gW107XG59O1xuXG4vKipcbiAqIFJlYWRzIG9uZSBleHBvcnQgc3BlY2lmaWVyIG5hbWUuXG4gKiBAcGFyYW0gc3BlY2lmaWVyIEV4cG9ydCBzcGVjaWZpZXIgY2FuZGlkYXRlLlxuICogQHJldHVybnMgRXhwb3J0ZWQgbmFtZSB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuYW1lID0gZ2V0RXhwb3J0U3BlY2lmaWVyTmFtZShzcGVjaWZpZXIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldEV4cG9ydFNwZWNpZmllck5hbWUgPSAoc3BlY2lmaWVyOiB1bmtub3duKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgY2FuZGlkYXRlID0gYXNSZWNvcmQoc3BlY2lmaWVyKTtcbiAgY29uc3QgZXhwb3J0ZWROYW1lID0gcmVhZFN0cmluZ1Byb3BlcnR5KGNhbmRpZGF0ZT8uW1wiZXhwb3J0ZWRcIl0sIFwibmFtZVwiKTtcblxuICBpZiAodHlwZW9mIGV4cG9ydGVkTmFtZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBleHBvcnRlZE5hbWU7XG4gIH1cblxuICBjb25zdCBsb2NhbE5hbWUgPSByZWFkU3RyaW5nUHJvcGVydHkoY2FuZGlkYXRlPy5bXCJsb2NhbFwiXSwgXCJuYW1lXCIpO1xuXG4gIHJldHVybiB0eXBlb2YgbG9jYWxOYW1lID09PSBcInN0cmluZ1wiID8gbG9jYWxOYW1lIDogdm9pZCAwO1xufTtcblxuLyoqXG4gKiBSZWFkcyBvbmUgbG9jYWwgZXhwb3J0IHNwZWNpZmllciBuYW1lLlxuICogQHBhcmFtIHNwZWNpZmllciBFeHBvcnQgc3BlY2lmaWVyIGNhbmRpZGF0ZS5cbiAqIEByZXR1cm5zIExvY2FsIHNwZWNpZmllciBuYW1lIHdoZW4gYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5hbWUgPSBnZXRFeHBvcnRTcGVjaWZpZXJMb2NhbE5hbWUoc3BlY2lmaWVyKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRFeHBvcnRTcGVjaWZpZXJMb2NhbE5hbWUgPSAoXG4gIHNwZWNpZmllcjogdW5rbm93bixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGNhbmRpZGF0ZSA9IGFzUmVjb3JkKHNwZWNpZmllcik7XG5cbiAgcmV0dXJuIHJlYWRTdHJpbmdQcm9wZXJ0eShjYW5kaWRhdGU/LltcImxvY2FsXCJdLCBcIm5hbWVcIik7XG59O1xuXG5leHBvcnQge1xuICBjb2xsZWN0UGF0dGVybklkZW50aWZpZXJOYW1lcyxcbiAgZ2V0RXhwb3J0U3BlY2lmaWVyTG9jYWxOYW1lLFxuICBnZXRFeHBvcnRTcGVjaWZpZXJOYW1lLFxufTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-exports-public-api-usage-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAQjE;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,8BAA8B,GAClC,SAAS,EAAE,CAAC,OAAO,EACnB,gBAAgB,MAAM,EACtB,OAAO,oBAAoB,EAC3B,UAAU,MAAM,EAChB,cAAc,EAAE,CAAC,MAAM,KACtB,WAAW,
|
|
1
|
+
{"version":3,"file":"no-unused-exports-public-api-usage-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAQjE;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,8BAA8B,GAClC,SAAS,EAAE,CAAC,OAAO,EACnB,gBAAgB,MAAM,EACtB,OAAO,oBAAoB,EAC3B,UAAU,MAAM,EAChB,cAAc,EAAE,CAAC,MAAM,KACtB,WAAW,EA6Bb,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js
CHANGED
|
@@ -26,13 +26,9 @@ const collectPublicApiExposureUsages = (program, sourceFilename, state, repoRoot
|
|
|
26
26
|
}
|
|
27
27
|
const publicApiFilename = path.resolve(sourceFile.fileName);
|
|
28
28
|
const normalizedPublicApiFilename = toComparableAbsolutePath(publicApiFilename);
|
|
29
|
-
if (normalizedPublicApiFilename === normalizedSourceFilename
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (!isPublicApiFile(publicApiFilename, state, normalizedRepoRoot)) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (!sourceFileExportsSymbol(sourceFile, checker, targetSymbol)) {
|
|
29
|
+
if (normalizedPublicApiFilename === normalizedSourceFilename ||
|
|
30
|
+
!isPublicApiFile(publicApiFilename, state, normalizedRepoRoot) ||
|
|
31
|
+
!sourceFileExportsSymbol(sourceFile, checker, targetSymbol)) {
|
|
36
32
|
continue;
|
|
37
33
|
}
|
|
38
34
|
usages.push({
|
|
@@ -42,4 +38,4 @@ const collectPublicApiExposureUsages = (program, sourceFilename, state, repoRoot
|
|
|
42
38
|
return usages;
|
|
43
39
|
};
|
|
44
40
|
export { collectPublicApiExposureUsages };
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtcHVibGljLWFwaS11c2FnZS11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9uby11bnVzZWQtZXhwb3J0cy9uby11bnVzZWQtZXhwb3J0cy1wdWJsaWMtYXBpLXVzYWdlLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJakMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixHQUN6QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sOEJBQThCLEdBQUcsQ0FDckMsT0FBbUIsRUFDbkIsY0FBc0IsRUFDdEIsS0FBMkIsRUFDM0IsUUFBZ0IsRUFDaEIsWUFBdUIsRUFDUixFQUFFO0lBQ2pCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QyxNQUFNLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO0lBRWpDLEtBQUssTUFBTSxVQUFVLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7UUFDbEQsSUFBSSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqQyxTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsTUFBTSwyQkFBMkIsR0FDL0Isd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU5QyxJQUNFLDJCQUEyQixLQUFLLHdCQUF3QjtZQUN4RCxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUM7WUFDOUQsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxFQUMzRCxDQUFDO1lBQ0QsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsVUFBVSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUM7U0FDckUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0ICogYXMgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcblxuaW1wb3J0IHR5cGUgeyBFeHBvcnRVc2FnZSwgTm9VbnVzZWRFeHBvcnRzU3RhdGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBpc1B1YmxpY0FwaUZpbGUsIGlzVGVzdEZpbGUgfSBmcm9tIFwiLi9uby11bnVzZWQtZXhwb3J0cy1vcHRpb25zXCI7XG5pbXBvcnQge1xuICBzb3VyY2VGaWxlRXhwb3J0c1N5bWJvbCxcbiAgdG9Db21wYXJhYmxlQWJzb2x1dGVQYXRoLFxufSBmcm9tIFwiLi9uby11bnVzZWQtZXhwb3J0cy1zeW1ib2wtdXRpbGl0aWVzXCI7XG5cbi8qKlxuICogQ29sbGVjdHMgcHVibGljIEFQSSBleHBvc3VyZSB1c2FnZXMgZm9yIG9uZSBleHBvcnRlZCBzeW1ib2wuXG4gKiBAcGFyYW0gcHJvZ3JhbSBUeXBlU2NyaXB0IHByb2dyYW0uXG4gKiBAcGFyYW0gc291cmNlRmlsZW5hbWUgU291cmNlIGZpbGVuYW1lIHdoZXJlIGV4cG9ydCBpcyBkZWZpbmVkLlxuICogQHBhcmFtIHN0YXRlIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHBhcmFtIHJlcG9Sb290IEFic29sdXRlIHJlcG9zaXRvcnkgcm9vdCB1c2VkIGZvciBmaWxlIGNsYXNzaWZpY2F0aW9uLlxuICogQHBhcmFtIHRhcmdldFN5bWJvbCBFeHBvcnQgc3ltYm9sIGJlaW5nIGNsYXNzaWZpZWQuXG4gKiBAcmV0dXJucyBQdWJsaWMgQVBJIGV4cG9zdXJlIHVzYWdlcyBmb3IgdGhlIGV4cG9ydGVkIHN5bWJvbC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1c2FnZXMgPSBjb2xsZWN0UHVibGljQXBpRXhwb3N1cmVVc2FnZXMocHJvZ3JhbSwgc291cmNlRmlsZW5hbWUsIHN0YXRlLCByZXBvUm9vdCwgdGFyZ2V0U3ltYm9sKTtcbiAqIGBgYFxuICovXG5jb25zdCBjb2xsZWN0UHVibGljQXBpRXhwb3N1cmVVc2FnZXMgPSAoXG4gIHByb2dyYW06IHRzLlByb2dyYW0sXG4gIHNvdXJjZUZpbGVuYW1lOiBzdHJpbmcsXG4gIHN0YXRlOiBOb1VudXNlZEV4cG9ydHNTdGF0ZSxcbiAgcmVwb1Jvb3Q6IHN0cmluZyxcbiAgdGFyZ2V0U3ltYm9sOiB0cy5TeW1ib2wsXG4pOiBFeHBvcnRVc2FnZVtdID0+IHtcbiAgY29uc3QgY2hlY2tlciA9IHByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcbiAgY29uc3Qgbm9ybWFsaXplZFNvdXJjZUZpbGVuYW1lID0gdG9Db21wYXJhYmxlQWJzb2x1dGVQYXRoKHNvdXJjZUZpbGVuYW1lKTtcbiAgY29uc3Qgbm9ybWFsaXplZFJlcG9Sb290ID0gcGF0aC5yZXNvbHZlKHJlcG9Sb290KTtcbiAgY29uc3QgdXNhZ2VzOiBFeHBvcnRVc2FnZVtdID0gW107XG5cbiAgZm9yIChjb25zdCBzb3VyY2VGaWxlIG9mIHByb2dyYW0uZ2V0U291cmNlRmlsZXMoKSkge1xuICAgIGlmIChzb3VyY2VGaWxlLmlzRGVjbGFyYXRpb25GaWxlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwdWJsaWNBcGlGaWxlbmFtZSA9IHBhdGgucmVzb2x2ZShzb3VyY2VGaWxlLmZpbGVOYW1lKTtcbiAgICBjb25zdCBub3JtYWxpemVkUHVibGljQXBpRmlsZW5hbWUgPVxuICAgICAgdG9Db21wYXJhYmxlQWJzb2x1dGVQYXRoKHB1YmxpY0FwaUZpbGVuYW1lKTtcblxuICAgIGlmIChcbiAgICAgIG5vcm1hbGl6ZWRQdWJsaWNBcGlGaWxlbmFtZSA9PT0gbm9ybWFsaXplZFNvdXJjZUZpbGVuYW1lIHx8XG4gICAgICAhaXNQdWJsaWNBcGlGaWxlKHB1YmxpY0FwaUZpbGVuYW1lLCBzdGF0ZSwgbm9ybWFsaXplZFJlcG9Sb290KSB8fFxuICAgICAgIXNvdXJjZUZpbGVFeHBvcnRzU3ltYm9sKHNvdXJjZUZpbGUsIGNoZWNrZXIsIHRhcmdldFN5bWJvbClcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHVzYWdlcy5wdXNoKHtcbiAgICAgIGlzVGVzdEZpbGU6IGlzVGVzdEZpbGUocHVibGljQXBpRmlsZW5hbWUsIHN0YXRlLCBub3JtYWxpemVkUmVwb1Jvb3QpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHVzYWdlcztcbn07XG5cbmV4cG9ydCB7IGNvbGxlY3RQdWJsaWNBcGlFeHBvc3VyZVVzYWdlcyB9O1xuIl19
|
package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-exports-symbol-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;;;;;GAQG;AACH,QAAA,MAAM,wBAAwB,GAAI,WAAW,MAAM,KAAG,MAIrD,CAAC;AAsBF;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,GAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,KAAG,OAezD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,sBAAsB,GAC1B,QAAQ,EAAE,CAAC,MAAM,EACjB,SAAS,EAAE,CAAC,WAAW,KACtB,EAAE,CAAC,MAUL,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,iBAAiB,GACrB,SAAS,EAAE,CAAC,OAAO,EACnB,gBAAgB,MAAM,EACtB,cAAc,MAAM,KACnB,EAAE,CAAC,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"no-unused-exports-symbol-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;;;;;GAQG;AACH,QAAA,MAAM,wBAAwB,GAAI,WAAW,MAAM,KAAG,MAIrD,CAAC;AAsBF;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,GAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,KAAG,OAezD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,sBAAsB,GAC1B,QAAQ,EAAE,CAAC,MAAM,EACjB,SAAS,EAAE,CAAC,WAAW,KACtB,EAAE,CAAC,MAUL,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,iBAAiB,GACrB,SAAS,EAAE,CAAC,OAAO,EACnB,gBAAgB,MAAM,EACtB,cAAc,MAAM,KACnB,EAAE,CAAC,MAAM,GAAG,SA2Bd,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,uBAAuB,GAC3B,YAAY,EAAE,CAAC,UAAU,EACzB,SAAS,EAAE,CAAC,WAAW,EACvB,cAAc,EAAE,CAAC,MAAM,KACtB,OAgBF,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,CAAC"}
|
|
@@ -100,10 +100,9 @@ const getExportedSymbol = (program, sourceFilename, exportedName) => {
|
|
|
100
100
|
const exportedSymbol = checker
|
|
101
101
|
.getExportsOfModule(moduleSymbol)
|
|
102
102
|
.find((symbol) => symbol.getName() === exportedName);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return resolveCanonicalSymbol(exportedSymbol, checker);
|
|
103
|
+
return exportedSymbol === void 0
|
|
104
|
+
? void 0
|
|
105
|
+
: resolveCanonicalSymbol(exportedSymbol, checker);
|
|
107
106
|
};
|
|
108
107
|
/**
|
|
109
108
|
* Checks whether one source file exports the target symbol.
|
|
@@ -130,4 +129,4 @@ const sourceFileExportsSymbol = (sourceFile, checker, targetSymbol) => {
|
|
|
130
129
|
return false;
|
|
131
130
|
};
|
|
132
131
|
export { getExportedSymbol, isSameSymbol, resolveCanonicalSymbol, sourceFileExportsSymbol, toComparableAbsolutePath, };
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtc3ltYm9sLXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL25vLXVudXNlZC1leHBvcnRzL25vLXVudXNlZC1leHBvcnRzLXN5bWJvbC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtJQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUU3RCxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUFpQixFQUFlLEVBQUU7SUFDNUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFFL0MsT0FBTyxJQUFJLEdBQUcsQ0FDWixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDL0IsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUM1RCxPQUFPLEdBQUcsY0FBYyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ25GLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWUsRUFBRSxLQUFnQixF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Y0FBYyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qix3QkFBd0IsR0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCAqIGFzIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5cbi8qKlxuICogTm9ybWFsaXplcyBhbiBhYnNvbHV0ZSBmaWxlIHBhdGggZm9yIHNhZmUgZXF1YWxpdHkgY2hlY2tzLlxuICogQHBhcmFtIGlucHV0UGF0aCBDYW5kaWRhdGUgcGF0aC5cbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgYWJzb2x1dGUgcGF0aCBzdWl0YWJsZSBmb3IgY3Jvc3MtcGxhdGZvcm0gY29tcGFyaXNvbnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29tcGFyYWJsZSA9IHRvQ29tcGFyYWJsZUFic29sdXRlUGF0aChcIi9yZXBvL3NyYy9mZWF0dXJlLnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IHRvQ29tcGFyYWJsZUFic29sdXRlUGF0aCA9IChpbnB1dFBhdGg6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGFic29sdXRlUGF0aCA9IHBhdGgubm9ybWFsaXplKHBhdGgucmVzb2x2ZShpbnB1dFBhdGgpKTtcblxuICByZXR1cm4gYWJzb2x1dGVQYXRoLnRvTG93ZXJDYXNlKCk7XG59O1xuXG4vKipcbiAqIEJ1aWxkcyBkZWNsYXJhdGlvbi1zaXRlIGtleXMgZm9yIHN5bWJvbCBpZGVudGl0eSBtYXRjaGluZy5cbiAqIEBwYXJhbSBzeW1ib2wgU3ltYm9sIGJlaW5nIGNvbXBhcmVkLlxuICogQHJldHVybnMgRGVjbGFyYXRpb24ga2V5cyBkZXNjcmliaW5nIHdoZXJlIHRoaXMgc3ltYm9sIGlzIGRlY2xhcmVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGtleXMgPSBnZXREZWNsYXJhdGlvbktleXMoc3ltYm9sKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXREZWNsYXJhdGlvbktleXMgPSAoc3ltYm9sOiB0cy5TeW1ib2wpOiBTZXQ8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHN5bWJvbC5kZWNsYXJhdGlvbnMgPz8gW107XG5cbiAgcmV0dXJuIG5ldyBTZXQoXG4gICAgZGVjbGFyYXRpb25zLm1hcCgoZGVjbGFyYXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZUZpbGVuYW1lID0gZGVjbGFyYXRpb24uZ2V0U291cmNlRmlsZSgpLmZpbGVOYW1lO1xuICAgICAgcmV0dXJuIGAke3NvdXJjZUZpbGVuYW1lfToke1N0cmluZyhkZWNsYXJhdGlvbi5wb3MpfToke1N0cmluZyhkZWNsYXJhdGlvbi5lbmQpfWA7XG4gICAgfSksXG4gICk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHR3byBzeW1ib2xzIHJlZmVyZW5jZSB0aGUgc2FtZSBkZWNsYXJhdGlvbiBzaXRlLlxuICogQHBhcmFtIGxlZnQgTGVmdC1oYW5kIHN5bWJvbCBjYW5kaWRhdGUuXG4gKiBAcGFyYW0gcmlnaHQgUmlnaHQtaGFuZCBzeW1ib2wgY2FuZGlkYXRlLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIGJvdGggc3ltYm9scyBpZGVudGlmeSB0aGUgc2FtZSBkZWNsYXJhdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzYW1lID0gaXNTYW1lU3ltYm9sKGxlZnQsIHJpZ2h0KTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1NhbWVTeW1ib2wgPSAobGVmdDogdHMuU3ltYm9sLCByaWdodDogdHMuU3ltYm9sKTogYm9vbGVhbiA9PiB7XG4gIGlmIChsZWZ0ID09PSByaWdodCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgbGVmdEtleXMgPSBnZXREZWNsYXJhdGlvbktleXMobGVmdCk7XG4gIGNvbnN0IHJpZ2h0S2V5cyA9IGdldERlY2xhcmF0aW9uS2V5cyhyaWdodCk7XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgbGVmdEtleXMpIHtcbiAgICBpZiAocmlnaHRLZXlzLmhhcyhrZXkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vKipcbiAqIFJlc29sdmVzIG9uZSBzeW1ib2wgdG8gaXRzIGNhbm9uaWNhbCB0YXJnZXQuXG4gKiBAcGFyYW0gc3ltYm9sIENhbmRpZGF0ZSBzeW1ib2wuXG4gKiBAcGFyYW0gY2hlY2tlciBUeXBlU2NyaXB0IGNoZWNrZXIuXG4gKiBAcmV0dXJucyBSZXNvbHZlZCBjYW5vbmljYWwgc3ltYm9sLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZUNhbm9uaWNhbFN5bWJvbChzeW1ib2wsIGNoZWNrZXIpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlc29sdmVDYW5vbmljYWxTeW1ib2wgPSAoXG4gIHN5bWJvbDogdHMuU3ltYm9sLFxuICBjaGVja2VyOiB0cy5UeXBlQ2hlY2tlcixcbik6IHRzLlN5bWJvbCA9PiB7XG4gIGlmICgoc3ltYm9sLmZsYWdzICYgdHMuU3ltYm9sRmxhZ3MuQWxpYXMpID09PSAwKSB7XG4gICAgcmV0dXJuIHN5bWJvbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGNoZWNrZXIuZ2V0QWxpYXNlZFN5bWJvbChzeW1ib2wpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gc3ltYm9sO1xuICB9XG59O1xuXG4vKipcbiAqIFJlc29sdmVzIG9uZSBleHBvcnRlZCBzeW1ib2wgYnkgbmFtZSBmcm9tIGEgc291cmNlIGZpbGUuXG4gKiBAcGFyYW0gcHJvZ3JhbSBUeXBlU2NyaXB0IHByb2dyYW0uXG4gKiBAcGFyYW0gc291cmNlRmlsZW5hbWUgU291cmNlIGZpbGUgcGF0aC5cbiAqIEBwYXJhbSBleHBvcnRlZE5hbWUgUHVibGljIG5hbWUgZXhwb3NlZCBieSB0aGUgbW9kdWxlIGV4cG9ydCBsaXN0LlxuICogQHJldHVybnMgU3ltYm9sIHdoZW4gZm91bmQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3ltYm9sID0gZ2V0RXhwb3J0ZWRTeW1ib2wocHJvZ3JhbSwgc291cmNlRmlsZW5hbWUsIFwiZmVhdHVyZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRFeHBvcnRlZFN5bWJvbCA9IChcbiAgcHJvZ3JhbTogdHMuUHJvZ3JhbSxcbiAgc291cmNlRmlsZW5hbWU6IHN0cmluZyxcbiAgZXhwb3J0ZWROYW1lOiBzdHJpbmcsXG4pOiB0cy5TeW1ib2wgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjaGVja2VyID0gcHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCBzb3VyY2VGaWxlID0gcHJvZ3JhbVxuICAgIC5nZXRTb3VyY2VGaWxlcygpXG4gICAgLmZpbmQoXG4gICAgICAoZmlsZSkgPT5cbiAgICAgICAgdG9Db21wYXJhYmxlQWJzb2x1dGVQYXRoKGZpbGUuZmlsZU5hbWUpID09PVxuICAgICAgICB0b0NvbXBhcmFibGVBYnNvbHV0ZVBhdGgoc291cmNlRmlsZW5hbWUpLFxuICAgICk7XG5cbiAgaWYgKHNvdXJjZUZpbGUgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtb2R1bGVTeW1ib2wgPSBjaGVja2VyLmdldFN5bWJvbEF0TG9jYXRpb24oc291cmNlRmlsZSk7XG5cbiAgaWYgKG1vZHVsZVN5bWJvbCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGV4cG9ydGVkU3ltYm9sID0gY2hlY2tlclxuICAgIC5nZXRFeHBvcnRzT2ZNb2R1bGUobW9kdWxlU3ltYm9sKVxuICAgIC5maW5kKChzeW1ib2wpID0+IHN5bWJvbC5nZXROYW1lKCkgPT09IGV4cG9ydGVkTmFtZSk7XG5cbiAgaWYgKGV4cG9ydGVkU3ltYm9sID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVDYW5vbmljYWxTeW1ib2woZXhwb3J0ZWRTeW1ib2wsIGNoZWNrZXIpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgc291cmNlIGZpbGUgZXhwb3J0cyB0aGUgdGFyZ2V0IHN5bWJvbC5cbiAqIEBwYXJhbSBzb3VyY2VGaWxlIFNvdXJjZSBmaWxlIHRoYXQgbWF5IGV4cG9zZSB0aGUgc3ltYm9sLlxuICogQHBhcmFtIGNoZWNrZXIgVHlwZVNjcmlwdCBjaGVja2VyLlxuICogQHBhcmFtIHRhcmdldFN5bWJvbCBTeW1ib2wgYmVpbmcgY2xhc3NpZmllZC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiBvbmUgbW9kdWxlIGV4cG9ydCByZXNvbHZlcyB0byB0aGUgdGFyZ2V0IHN5bWJvbC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleHBvc2VkID0gc291cmNlRmlsZUV4cG9ydHNTeW1ib2woc291cmNlRmlsZSwgY2hlY2tlciwgdGFyZ2V0U3ltYm9sKTtcbiAqIGBgYFxuICovXG5jb25zdCBzb3VyY2VGaWxlRXhwb3J0c1N5bWJvbCA9IChcbiAgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSxcbiAgY2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsXG4gIHRhcmdldFN5bWJvbDogdHMuU3ltYm9sLFxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG1vZHVsZVN5bWJvbCA9IGNoZWNrZXIuZ2V0U3ltYm9sQXRMb2NhdGlvbihzb3VyY2VGaWxlKTtcblxuICBpZiAobW9kdWxlU3ltYm9sID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGV4cG9ydGVkU3ltYm9sIG9mIGNoZWNrZXIuZ2V0RXhwb3J0c09mTW9kdWxlKG1vZHVsZVN5bWJvbCkpIHtcbiAgICBjb25zdCByZXNvbHZlZFN5bWJvbCA9IHJlc29sdmVDYW5vbmljYWxTeW1ib2woZXhwb3J0ZWRTeW1ib2wsIGNoZWNrZXIpO1xuXG4gICAgaWYgKGlzU2FtZVN5bWJvbChyZXNvbHZlZFN5bWJvbCwgdGFyZ2V0U3ltYm9sKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IHtcbiAgZ2V0RXhwb3J0ZWRTeW1ib2wsXG4gIGlzU2FtZVN5bWJvbCxcbiAgcmVzb2x2ZUNhbm9uaWNhbFN5bWJvbCxcbiAgc291cmNlRmlsZUV4cG9ydHNTeW1ib2wsXG4gIHRvQ29tcGFyYWJsZUFic29sdXRlUGF0aCxcbn07XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW51c2VkLWV4cG9ydHMtc3ltYm9sLXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL25vLXVudXNlZC1leHBvcnRzL25vLXVudXNlZC1leHBvcnRzLXN5bWJvbC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtJQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUU3RCxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUFpQixFQUFlLEVBQUU7SUFDNUQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFFL0MsT0FBTyxJQUFJLEdBQUcsQ0FDWixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDL0IsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUM1RCxPQUFPLEdBQUcsY0FBYyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ25GLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWUsRUFBRSxLQUFnQixF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QUFDLEVBQUUsQ0FBQztZQUMvQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixHQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0ICogYXMgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcblxuLyoqXG4gKiBOb3JtYWxpemVzIGFuIGFic29sdXRlIGZpbGUgcGF0aCBmb3Igc2FmZSBlcXVhbGl0eSBjaGVja3MuXG4gKiBAcGFyYW0gaW5wdXRQYXRoIENhbmRpZGF0ZSBwYXRoLlxuICogQHJldHVybnMgTm9ybWFsaXplZCBhYnNvbHV0ZSBwYXRoIHN1aXRhYmxlIGZvciBjcm9zcy1wbGF0Zm9ybSBjb21wYXJpc29ucy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21wYXJhYmxlID0gdG9Db21wYXJhYmxlQWJzb2x1dGVQYXRoKFwiL3JlcG8vc3JjL2ZlYXR1cmUudHNcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgdG9Db21wYXJhYmxlQWJzb2x1dGVQYXRoID0gKGlucHV0UGF0aDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYWJzb2x1dGVQYXRoID0gcGF0aC5ub3JtYWxpemUocGF0aC5yZXNvbHZlKGlucHV0UGF0aCkpO1xuXG4gIHJldHVybiBhYnNvbHV0ZVBhdGgudG9Mb3dlckNhc2UoKTtcbn07XG5cbi8qKlxuICogQnVpbGRzIGRlY2xhcmF0aW9uLXNpdGUga2V5cyBmb3Igc3ltYm9sIGlkZW50aXR5IG1hdGNoaW5nLlxuICogQHBhcmFtIHN5bWJvbCBTeW1ib2wgYmVpbmcgY29tcGFyZWQuXG4gKiBAcmV0dXJucyBEZWNsYXJhdGlvbiBrZXlzIGRlc2NyaWJpbmcgd2hlcmUgdGhpcyBzeW1ib2wgaXMgZGVjbGFyZWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qga2V5cyA9IGdldERlY2xhcmF0aW9uS2V5cyhzeW1ib2wpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldERlY2xhcmF0aW9uS2V5cyA9IChzeW1ib2w6IHRzLlN5bWJvbCk6IFNldDxzdHJpbmc+ID0+IHtcbiAgY29uc3QgZGVjbGFyYXRpb25zID0gc3ltYm9sLmRlY2xhcmF0aW9ucyA/PyBbXTtcblxuICByZXR1cm4gbmV3IFNldChcbiAgICBkZWNsYXJhdGlvbnMubWFwKChkZWNsYXJhdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc291cmNlRmlsZW5hbWUgPSBkZWNsYXJhdGlvbi5nZXRTb3VyY2VGaWxlKCkuZmlsZU5hbWU7XG4gICAgICByZXR1cm4gYCR7c291cmNlRmlsZW5hbWV9OiR7U3RyaW5nKGRlY2xhcmF0aW9uLnBvcyl9OiR7U3RyaW5nKGRlY2xhcmF0aW9uLmVuZCl9YDtcbiAgICB9KSxcbiAgKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdHdvIHN5bWJvbHMgcmVmZXJlbmNlIHRoZSBzYW1lIGRlY2xhcmF0aW9uIHNpdGUuXG4gKiBAcGFyYW0gbGVmdCBMZWZ0LWhhbmQgc3ltYm9sIGNhbmRpZGF0ZS5cbiAqIEBwYXJhbSByaWdodCBSaWdodC1oYW5kIHN5bWJvbCBjYW5kaWRhdGUuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gYm90aCBzeW1ib2xzIGlkZW50aWZ5IHRoZSBzYW1lIGRlY2xhcmF0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNhbWUgPSBpc1NhbWVTeW1ib2wobGVmdCwgcmlnaHQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzU2FtZVN5bWJvbCA9IChsZWZ0OiB0cy5TeW1ib2wsIHJpZ2h0OiB0cy5TeW1ib2wpOiBib29sZWFuID0+IHtcbiAgaWYgKGxlZnQgPT09IHJpZ2h0KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBsZWZ0S2V5cyA9IGdldERlY2xhcmF0aW9uS2V5cyhsZWZ0KTtcbiAgY29uc3QgcmlnaHRLZXlzID0gZ2V0RGVjbGFyYXRpb25LZXlzKHJpZ2h0KTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBsZWZ0S2V5cykge1xuICAgIGlmIChyaWdodEtleXMuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8qKlxuICogUmVzb2x2ZXMgb25lIHN5bWJvbCB0byBpdHMgY2Fub25pY2FsIHRhcmdldC5cbiAqIEBwYXJhbSBzeW1ib2wgQ2FuZGlkYXRlIHN5bWJvbC5cbiAqIEBwYXJhbSBjaGVja2VyIFR5cGVTY3JpcHQgY2hlY2tlci5cbiAqIEByZXR1cm5zIFJlc29sdmVkIGNhbm9uaWNhbCBzeW1ib2wuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlQ2Fub25pY2FsU3ltYm9sKHN5bWJvbCwgY2hlY2tlcik7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVzb2x2ZUNhbm9uaWNhbFN5bWJvbCA9IChcbiAgc3ltYm9sOiB0cy5TeW1ib2wsXG4gIGNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuKTogdHMuU3ltYm9sID0+IHtcbiAgaWYgKChzeW1ib2wuZmxhZ3MgJiB0cy5TeW1ib2xGbGFncy5BbGlhcykgPT09IDApIHtcbiAgICByZXR1cm4gc3ltYm9sO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gY2hlY2tlci5nZXRBbGlhc2VkU3ltYm9sKHN5bWJvbCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBzeW1ib2w7XG4gIH1cbn07XG5cbi8qKlxuICogUmVzb2x2ZXMgb25lIGV4cG9ydGVkIHN5bWJvbCBieSBuYW1lIGZyb20gYSBzb3VyY2UgZmlsZS5cbiAqIEBwYXJhbSBwcm9ncmFtIFR5cGVTY3JpcHQgcHJvZ3JhbS5cbiAqIEBwYXJhbSBzb3VyY2VGaWxlbmFtZSBTb3VyY2UgZmlsZSBwYXRoLlxuICogQHBhcmFtIGV4cG9ydGVkTmFtZSBQdWJsaWMgbmFtZSBleHBvc2VkIGJ5IHRoZSBtb2R1bGUgZXhwb3J0IGxpc3QuXG4gKiBAcmV0dXJucyBTeW1ib2wgd2hlbiBmb3VuZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzeW1ib2wgPSBnZXRFeHBvcnRlZFN5bWJvbChwcm9ncmFtLCBzb3VyY2VGaWxlbmFtZSwgXCJmZWF0dXJlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldEV4cG9ydGVkU3ltYm9sID0gKFxuICBwcm9ncmFtOiB0cy5Qcm9ncmFtLFxuICBzb3VyY2VGaWxlbmFtZTogc3RyaW5nLFxuICBleHBvcnRlZE5hbWU6IHN0cmluZyxcbik6IHRzLlN5bWJvbCB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGNoZWNrZXIgPSBwcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gIGNvbnN0IHNvdXJjZUZpbGUgPSBwcm9ncmFtXG4gICAgLmdldFNvdXJjZUZpbGVzKClcbiAgICAuZmluZChcbiAgICAgIChmaWxlKSA9PlxuICAgICAgICB0b0NvbXBhcmFibGVBYnNvbHV0ZVBhdGgoZmlsZS5maWxlTmFtZSkgPT09XG4gICAgICAgIHRvQ29tcGFyYWJsZUFic29sdXRlUGF0aChzb3VyY2VGaWxlbmFtZSksXG4gICAgKTtcblxuICBpZiAoc291cmNlRmlsZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IG1vZHVsZVN5bWJvbCA9IGNoZWNrZXIuZ2V0U3ltYm9sQXRMb2NhdGlvbihzb3VyY2VGaWxlKTtcblxuICBpZiAobW9kdWxlU3ltYm9sID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRTeW1ib2wgPSBjaGVja2VyXG4gICAgLmdldEV4cG9ydHNPZk1vZHVsZShtb2R1bGVTeW1ib2wpXG4gICAgLmZpbmQoKHN5bWJvbCkgPT4gc3ltYm9sLmdldE5hbWUoKSA9PT0gZXhwb3J0ZWROYW1lKTtcblxuICByZXR1cm4gZXhwb3J0ZWRTeW1ib2wgPT09IHZvaWQgMFxuICAgID8gdm9pZCAwXG4gICAgOiByZXNvbHZlQ2Fub25pY2FsU3ltYm9sKGV4cG9ydGVkU3ltYm9sLCBjaGVja2VyKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgb25lIHNvdXJjZSBmaWxlIGV4cG9ydHMgdGhlIHRhcmdldCBzeW1ib2wuXG4gKiBAcGFyYW0gc291cmNlRmlsZSBTb3VyY2UgZmlsZSB0aGF0IG1heSBleHBvc2UgdGhlIHN5bWJvbC5cbiAqIEBwYXJhbSBjaGVja2VyIFR5cGVTY3JpcHQgY2hlY2tlci5cbiAqIEBwYXJhbSB0YXJnZXRTeW1ib2wgU3ltYm9sIGJlaW5nIGNsYXNzaWZpZWQuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gb25lIG1vZHVsZSBleHBvcnQgcmVzb2x2ZXMgdG8gdGhlIHRhcmdldCBzeW1ib2wuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhwb3NlZCA9IHNvdXJjZUZpbGVFeHBvcnRzU3ltYm9sKHNvdXJjZUZpbGUsIGNoZWNrZXIsIHRhcmdldFN5bWJvbCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgc291cmNlRmlsZUV4cG9ydHNTeW1ib2wgPSAoXG4gIHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUsXG4gIGNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICB0YXJnZXRTeW1ib2w6IHRzLlN5bWJvbCxcbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBtb2R1bGVTeW1ib2wgPSBjaGVja2VyLmdldFN5bWJvbEF0TG9jYXRpb24oc291cmNlRmlsZSk7XG5cbiAgaWYgKG1vZHVsZVN5bWJvbCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChjb25zdCBleHBvcnRlZFN5bWJvbCBvZiBjaGVja2VyLmdldEV4cG9ydHNPZk1vZHVsZShtb2R1bGVTeW1ib2wpKSB7XG4gICAgY29uc3QgcmVzb2x2ZWRTeW1ib2wgPSByZXNvbHZlQ2Fub25pY2FsU3ltYm9sKGV4cG9ydGVkU3ltYm9sLCBjaGVja2VyKTtcblxuICAgIGlmIChpc1NhbWVTeW1ib2wocmVzb2x2ZWRTeW1ib2wsIHRhcmdldFN5bWJvbCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCB7XG4gIGdldEV4cG9ydGVkU3ltYm9sLFxuICBpc1NhbWVTeW1ib2wsXG4gIHJlc29sdmVDYW5vbmljYWxTeW1ib2wsXG4gIHNvdXJjZUZpbGVFeHBvcnRzU3ltYm9sLFxuICB0b0NvbXBhcmFibGVBYnNvbHV0ZVBhdGgsXG59O1xuIl19
|