@codeperfect/eslint-plugin 2.0.0 → 2.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/dist/.tsbuildinfo +1 -1
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- 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 -3
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +8 -3
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.js +12 -4
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +6 -3
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule.js +6 -3
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/test-helpers.js +1 -1
- package/dist/domain/custom-rule-documentation.d.ts +2 -0
- package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
- package/dist/domain/custom-rule-documentation.js +2 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +6 -3
- package/dist/domain/docs/no-interface-member-docs/test-helpers.js +1 -1
- package/dist/domain/docs/require-example-language/create-fixer.js +1 -1
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/fixes.js +1 -1
- package/dist/domain/docs/require-example-language/reporting.js +1 -1
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/rule.js +6 -3
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts +1 -2
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.js +11 -6
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts +14 -72
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +144 -3
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +202 -3
- package/dist/domain/testing/aaa/analyzer.analysis.js +36 -201
- package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +4 -0
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts +16 -91
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +4 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +95 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +185 -0
- package/dist/domain/testing/aaa/analyzer.assertions.js +32 -282
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +64 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +105 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts +14 -73
- package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +77 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +203 -0
- package/dist/domain/testing/aaa/analyzer.classification.js +30 -200
- package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.mutations.js +4 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +15 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.js +34 -0
- package/dist/domain/testing/aaa/analyzer.d.ts +2 -2
- package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.d.ts +8 -9
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +27 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.js +66 -0
- package/dist/domain/testing/aaa/analyzer.super.js +43 -60
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.js +6 -3
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +6 -3
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule.js +6 -3
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +6 -3
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +12 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +26 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +13 -10
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +8 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +9 -5
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +28 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +9 -25
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +1 -1
- package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-aaa-sections/rule.js +9 -4
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -1
- package/dist/domain/testing/require-aaa-sections/rule.reporting.js +3 -4
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +6 -3
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/rule.js +31 -6
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
- package/dist/domain/testing/single-act-statement/rule.js +6 -3
- package/dist/infrastructure/presets.js +1 -1
- package/package.json +37 -29
|
@@ -77,6 +77,29 @@ function getPropertyName(propertyKey) {
|
|
|
77
77
|
}
|
|
78
78
|
return void 0;
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Checks whether an expression's cast chain contains an escape-hatch cast through unknown or any.
|
|
82
|
+
* @param expression Expression to inspect.
|
|
83
|
+
* @returns True when at least one cast in the chain uses unknown or any as the type annotation.
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const isEscapeHatch = hasEscapeHatchCast(expression);
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
function hasEscapeHatchCast(expression) {
|
|
90
|
+
let current = expression;
|
|
91
|
+
while (current.type === TSESTree.AST_NODE_TYPES.TSAsExpression ||
|
|
92
|
+
current.type === TSESTree.AST_NODE_TYPES.TSTypeAssertion ||
|
|
93
|
+
current.type === TSESTree.AST_NODE_TYPES.TSSatisfiesExpression) {
|
|
94
|
+
if (current.typeAnnotation.type ===
|
|
95
|
+
TSESTree.AST_NODE_TYPES.TSUnknownKeyword ||
|
|
96
|
+
current.typeAnnotation.type === TSESTree.AST_NODE_TYPES.TSAnyKeyword) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
current = current.expression;
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
80
103
|
/**
|
|
81
104
|
* Narrows object literal elements to the subset the fixer can rewrite safely.
|
|
82
105
|
* @param property Object literal element to inspect.
|
|
@@ -129,6 +152,7 @@ function shouldWrapImplicitObject(factoryArgument, returnExpression, objectExpre
|
|
|
129
152
|
returnExpression.range[1] !== objectExpression.range[1]));
|
|
130
153
|
}
|
|
131
154
|
/**
|
|
155
|
+
* Checks whether an expression's cast chain contains an escape-hatch cast through unknown or any.
|
|
132
156
|
* Removes surrounding cast wrappers from an expression.
|
|
133
157
|
* @param expression Expression to unwrap.
|
|
134
158
|
* @returns The innermost non-cast expression.
|
|
@@ -146,5 +170,5 @@ function unwrapExpression(expression) {
|
|
|
146
170
|
}
|
|
147
171
|
return currentExpression;
|
|
148
172
|
}
|
|
149
|
-
export { canUseShorthand, getFactoryReturnExpression, getModuleSpecifier, getPropertyName, isSupportedProperty, isVitestMockCall, shouldWrapImplicitObject, unwrapExpression, };
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9hc3QtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJcEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGVBQWUsQ0FBQyxPQUF5QjtJQUNoRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRTVELE9BQU8sQ0FDTCxDQUFDLFNBQVM7UUFDVixTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVTtRQUNyRCxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVU7UUFDeEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTztRQUM3QixTQUFTLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FDM0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsMEJBQTBCLENBQ2pDLGVBRStCO0lBRS9CLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6RSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDcEQsQ0FBQyxTQUFTLEVBQXlDLEVBQUUsQ0FDbkQsU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWU7UUFDMUQsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQzlCLENBQUM7SUFFRixP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QUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWM7UUFDcEUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0RCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNELENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixVQUErQjtJQUUvQixJQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUVuQyxPQUNFLGlCQUFpQixDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWM7UUFDakUsaUJBQWlCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMscUJBQXFCO1FBQ3hFLGlCQUFpQixDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFDbEUsQ0FBQztRQUNELGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDO0FBRUQsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixnQkFBZ0IsR0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRTRVNUcmVlIH0gZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBTaG9ydGhhbmRDb250ZXh0LCBTdXBwb3J0ZWRQcm9wZXJ0eSB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSBwcm9wZXJ0eSBjYW4gcmVtYWluIGluIHNob3J0aGFuZCBmb3JtIGFmdGVyIHJlcGxhY2VtZW50LlxyXG4gKiBAcGFyYW0gY29udGV4dCBQcm9wZXJ0eSBzaG9ydGhhbmQgZGVjaXNpb24gY29udGV4dC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHNob3J0aGFuZCBzeW50YXggcmVtYWlucyB2YWxpZC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBrZWVwU2hvcnRoYW5kID0gY2FuVXNlU2hvcnRoYW5kKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNhblVzZVNob3J0aGFuZChjb250ZXh0OiBTaG9ydGhhbmRDb250ZXh0KTogYm9vbGVhbiB7XHJcbiAgY29uc3QgeyBiYXNlVmFsdWUsIGtleU5hbWUsIG5lZWRzQ2FzdCwgcHJvcGVydHkgfSA9IGNvbnRleHQ7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICAhbmVlZHNDYXN0ICYmXHJcbiAgICBiYXNlVmFsdWUudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJlxyXG4gICAgcHJvcGVydHkua2V5LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIgJiZcclxuICAgIHByb3BlcnR5LmtleS5uYW1lID09PSBrZXlOYW1lICYmXHJcbiAgICBiYXNlVmFsdWUubmFtZSA9PT0ga2V5TmFtZVxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyB0aGUgZXhwcmVzc2lvbiByZXR1cm5lZCBieSB0aGUgbW9jayBmYWN0b3J5LlxyXG4gKiBAcGFyYW0gZmFjdG9yeUFyZ3VtZW50IE1vY2sgZmFjdG9yeSBmdW5jdGlvbiBleHByZXNzaW9uLlxyXG4gKiBAcmV0dXJucyBSZXR1cm5lZCBleHByZXNzaW9uIHdoZW4gb25lIGlzIHByZXNlbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcmV0dXJuRXhwcmVzc2lvbiA9IGdldEZhY3RvcnlSZXR1cm5FeHByZXNzaW9uKGZhY3RvcnlBcmd1bWVudCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0RmFjdG9yeVJldHVybkV4cHJlc3Npb24oXHJcbiAgZmFjdG9yeUFyZ3VtZW50OlxyXG4gICAgfCBUU0VTVHJlZS5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblxyXG4gICAgfCBUU0VTVHJlZS5GdW5jdGlvbkV4cHJlc3Npb24sXHJcbik6IFRTRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQge1xyXG4gIGlmIChmYWN0b3J5QXJndW1lbnQuYm9keS50eXBlICE9PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5CbG9ja1N0YXRlbWVudCkge1xyXG4gICAgcmV0dXJuIGZhY3RvcnlBcmd1bWVudC5ib2R5O1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcmV0dXJuU3RhdGVtZW50ID0gZmFjdG9yeUFyZ3VtZW50LmJvZHkuYm9keS5maW5kKFxyXG4gICAgKHN0YXRlbWVudCk6IHN0YXRlbWVudCBpcyBUU0VTVHJlZS5SZXR1cm5TdGF0ZW1lbnQgPT5cclxuICAgICAgc3RhdGVtZW50LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlJldHVyblN0YXRlbWVudCAmJlxyXG4gICAgICBzdGF0ZW1lbnQuYXJndW1lbnQgIT09IG51bGwsXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHJldHVyblN0YXRlbWVudD8uYXJndW1lbnQgPz8gdm9pZCAwO1xyXG59XHJcblxyXG4vKipcclxuICogRXh0cmFjdHMgdGhlIG1vZHVsZSBzcGVjaWZpZXIgZnJvbSBhIG1vY2sgY2FsbCBhcmd1bWVudC5cclxuICogQHBhcmFtIG1vZHVsZUFyZ3VtZW50IEltcG9ydCBleHByZXNzaW9uIG9yIHN0cmluZyBsaXRlcmFsIGFyZ3VtZW50LlxyXG4gKiBAcmV0dXJucyBTdGF0aWMgbW9kdWxlIHNwZWNpZmllciB3aGVuIGl0IGNhbiBiZSBkZXRlcm1pbmVkLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG1vZHVsZVNwZWNpZmllciA9IGdldE1vZHVsZVNwZWNpZmllcihtb2R1bGVBcmd1bWVudCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0TW9kdWxlU3BlY2lmaWVyKFxyXG4gIG1vZHVsZUFyZ3VtZW50OiBUU0VTVHJlZS5FeHByZXNzaW9uLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChtb2R1bGVBcmd1bWVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5JbXBvcnRFeHByZXNzaW9uKSB7XHJcbiAgICBjb25zdCB7IHNvdXJjZSB9ID0gbW9kdWxlQXJndW1lbnQ7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBzb3VyY2UudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuTGl0ZXJhbCAmJlxyXG4gICAgICB0eXBlb2Ygc291cmNlLnZhbHVlID09PSBcInN0cmluZ1wiXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHNvdXJjZS52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG1vZHVsZUFyZ3VtZW50LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkxpdGVyYWwgJiZcclxuICAgIHR5cGVvZiBtb2R1bGVBcmd1bWVudC52YWx1ZSA9PT0gXCJzdHJpbmdcIlxyXG4gICAgPyBtb2R1bGVBcmd1bWVudC52YWx1ZVxyXG4gICAgOiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBhbiBvYmplY3QgcHJvcGVydHkga2V5IG5vZGUgaW50byBhIHN0YWJsZSBzdHJpbmcgbmFtZS5cclxuICogQHBhcmFtIHByb3BlcnR5S2V5IFByb3BlcnR5IGtleSBub2RlIGZyb20gdGhlIG9iamVjdCBsaXRlcmFsLlxyXG4gKiBAcmV0dXJucyBQcm9wZXJ0eSBuYW1lIHdoZW4gdGhlIGtleSBpcyBzdGF0aWNhbGx5IGtub3duLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHByb3BlcnR5TmFtZSA9IGdldFByb3BlcnR5TmFtZShwcm9wZXJ0eS5rZXkpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFByb3BlcnR5TmFtZShcclxuICBwcm9wZXJ0eUtleTogVFNFU1RyZWUuUHJvcGVydHlOYW1lLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChwcm9wZXJ0eUtleS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5JZGVudGlmaWVyKSB7XHJcbiAgICByZXR1cm4gcHJvcGVydHlLZXkubmFtZTtcclxuICB9XHJcblxyXG4gIGlmIChwcm9wZXJ0eUtleS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5MaXRlcmFsKSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHByb3BlcnR5S2V5LnZhbHVlID09PSBcInN0cmluZ1wiIHx8XHJcbiAgICAgIHR5cGVvZiBwcm9wZXJ0eUtleS52YWx1ZSA9PT0gXCJudW1iZXJcIlxyXG4gICAgICA/IFN0cmluZyhwcm9wZXJ0eUtleS52YWx1ZSlcclxuICAgICAgOiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdm9pZCAwO1xyXG59XHJcblxyXG4vKipcclxuICogTmFycm93cyBvYmplY3QgbGl0ZXJhbCBlbGVtZW50cyB0byB0aGUgc3Vic2V0IHRoZSBmaXhlciBjYW4gcmV3cml0ZSBzYWZlbHkuXHJcbiAqIEBwYXJhbSBwcm9wZXJ0eSBPYmplY3QgbGl0ZXJhbCBlbGVtZW50IHRvIGluc3BlY3QuXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgcHJvcGVydHkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBmaXhlci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdXBwb3J0ZWQgPSBpc1N1cHBvcnRlZFByb3BlcnR5KHByb3BlcnR5KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1N1cHBvcnRlZFByb3BlcnR5KFxyXG4gIHByb3BlcnR5OiBUU0VTVHJlZS5PYmplY3RMaXRlcmFsRWxlbWVudCxcclxuKTogcHJvcGVydHkgaXMgU3VwcG9ydGVkUHJvcGVydHkge1xyXG4gIHJldHVybiAoXHJcbiAgICBwcm9wZXJ0eS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5Qcm9wZXJ0eSAmJlxyXG4gICAgIXByb3BlcnR5LmNvbXB1dGVkICYmXHJcbiAgICBwcm9wZXJ0eS5raW5kID09PSBcImluaXRcIiAmJlxyXG4gICAgIXByb3BlcnR5Lm1ldGhvZCAmJlxyXG4gICAgcHJvcGVydHkudmFsdWUudHlwZSAhPT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuQXNzaWdubWVudFBhdHRlcm5cclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRGV0ZWN0cyBgdmkubW9jayguLi4pYCBhbmQgYHZpLmRvTW9jayguLi4pYCBjYWxscy5cclxuICogQHBhcmFtIG5vZGUgQ2FsbCBleHByZXNzaW9uIGJlaW5nIGluc3BlY3RlZC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYSBWaXRlc3QgbW9jayBmYWN0b3J5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGlzTW9ja0NhbGwgPSBpc1ZpdGVzdE1vY2tDYWxsKGNhbGxFeHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1ZpdGVzdE1vY2tDYWxsKG5vZGU6IFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XHJcbiAgaWYgKG5vZGUuY2FsbGVlLnR5cGUgIT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLk1lbWJlckV4cHJlc3Npb24pIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHsgb2JqZWN0LCBwcm9wZXJ0eSB9ID0gbm9kZS5jYWxsZWU7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICBvYmplY3QudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJlxyXG4gICAgb2JqZWN0Lm5hbWUgPT09IFwidmlcIiAmJlxyXG4gICAgcHJvcGVydHkudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJlxyXG4gICAgKHByb3BlcnR5Lm5hbWUgPT09IFwibW9ja1wiIHx8IHByb3BlcnR5Lm5hbWUgPT09IFwiZG9Nb2NrXCIpXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgZml4ZWQgb2JqZWN0IGxpdGVyYWwgbXVzdCBiZSBwYXJlbnRoZXNpemVkLlxyXG4gKiBAcGFyYW0gZmFjdG9yeUFyZ3VtZW50IE1vY2sgZmFjdG9yeSBmdW5jdGlvbiBleHByZXNzaW9uLlxyXG4gKiBAcGFyYW0gcmV0dXJuRXhwcmVzc2lvbiBFeHByZXNzaW9uIHJldHVybmVkIGJ5IHRoZSBmYWN0b3J5LlxyXG4gKiBAcGFyYW0gb2JqZWN0RXhwcmVzc2lvbiBPYmplY3QgbGl0ZXJhbCBiZWluZyByZXdyaXR0ZW4uXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiBwYXJlbnRoZXNlcyBhcmUgcmVxdWlyZWQgYXJvdW5kIHRoZSBvYmplY3QgbGl0ZXJhbC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB3cmFwT2JqZWN0ID0gc2hvdWxkV3JhcEltcGxpY2l0T2JqZWN0KGZhY3RvcnlBcmd1bWVudCwgcmV0dXJuRXhwcmVzc2lvbiwgb2JqZWN0RXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gc2hvdWxkV3JhcEltcGxpY2l0T2JqZWN0KFxyXG4gIGZhY3RvcnlBcmd1bWVudDpcclxuICAgIHwgVFNFU1RyZWUuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cclxuICAgIHwgVFNFU1RyZWUuRnVuY3Rpb25FeHByZXNzaW9uLFxyXG4gIHJldHVybkV4cHJlc3Npb246IFRTRVNUcmVlLkV4cHJlc3Npb24sXHJcbiAgb2JqZWN0RXhwcmVzc2lvbjogVFNFU1RyZWUuT2JqZWN0RXhwcmVzc2lvbixcclxuKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGZhY3RvcnlBcmd1bWVudC5ib2R5LnR5cGUgIT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkJsb2NrU3RhdGVtZW50ICYmXHJcbiAgICAocmV0dXJuRXhwcmVzc2lvbi5yYW5nZVswXSAhPT0gb2JqZWN0RXhwcmVzc2lvbi5yYW5nZVswXSB8fFxyXG4gICAgICByZXR1cm5FeHByZXNzaW9uLnJhbmdlWzFdICE9PSBvYmplY3RFeHByZXNzaW9uLnJhbmdlWzFdKVxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIHN1cnJvdW5kaW5nIGNhc3Qgd3JhcHBlcnMgZnJvbSBhbiBleHByZXNzaW9uLlxyXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBFeHByZXNzaW9uIHRvIHVud3JhcC5cclxuICogQHJldHVybnMgVGhlIGlubmVybW9zdCBub24tY2FzdCBleHByZXNzaW9uLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGJhc2VFeHByZXNzaW9uID0gdW53cmFwRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiB1bndyYXBFeHByZXNzaW9uKFxyXG4gIGV4cHJlc3Npb246IFRTRVNUcmVlLkV4cHJlc3Npb24sXHJcbik6IFRTRVNUcmVlLkV4cHJlc3Npb24ge1xyXG4gIGxldCBjdXJyZW50RXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XHJcblxyXG4gIHdoaWxlIChcclxuICAgIGN1cnJlbnRFeHByZXNzaW9uLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlRTQXNFeHByZXNzaW9uIHx8XHJcbiAgICBjdXJyZW50RXhwcmVzc2lvbi50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU1NhdGlzZmllc0V4cHJlc3Npb24gfHxcclxuICAgIGN1cnJlbnRFeHByZXNzaW9uLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlRTVHlwZUFzc2VydGlvblxyXG4gICkge1xyXG4gICAgY3VycmVudEV4cHJlc3Npb24gPSBjdXJyZW50RXhwcmVzc2lvbi5leHByZXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGN1cnJlbnRFeHByZXNzaW9uO1xyXG59XHJcblxyXG5leHBvcnQge1xyXG4gIGNhblVzZVNob3J0aGFuZCxcclxuICBnZXRGYWN0b3J5UmV0dXJuRXhwcmVzc2lvbixcclxuICBnZXRNb2R1bGVTcGVjaWZpZXIsXHJcbiAgZ2V0UHJvcGVydHlOYW1lLFxyXG4gIGlzU3VwcG9ydGVkUHJvcGVydHksXHJcbiAgaXNWaXRlc3RNb2NrQ2FsbCxcclxuICBzaG91bGRXcmFwSW1wbGljaXRPYmplY3QsXHJcbiAgdW53cmFwRXhwcmVzc2lvbixcclxufTtcclxuIl19
|
|
173
|
+
export { canUseShorthand, getFactoryReturnExpression, getModuleSpecifier, getPropertyName, hasEscapeHatchCast, isSupportedProperty, isVitestMockCall, shouldWrapImplicitObject, unwrapExpression, };
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9hc3QtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJcEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGVBQWUsQ0FBQyxPQUF5QjtJQUNoRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRTVELE9BQU8sQ0FDTCxDQUFDLFNBQVM7UUFDVixTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVTtRQUNyRCxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVU7UUFDeEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTztRQUM3QixTQUFTLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FDM0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsMEJBQTBCLENBQ2pDLGVBRStCO0lBRS9CLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6RSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDcEQsQ0FBQyxTQUFTLEVBQXlDLEVBQUUsQ0FDbkQsU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWU7UUFDMUQsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQzlCLENBQUM7SUFFRixP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O1FBQ3hFLGlCQUFpQixDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFDbEUsQ0FBQztRQUNELGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDO0FBRUQsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUU0VTVHJlZSB9IGZyb20gXCJAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHNcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgU2hvcnRoYW5kQ29udGV4dCwgU3VwcG9ydGVkUHJvcGVydHkgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGEgcHJvcGVydHkgY2FuIHJlbWFpbiBpbiBzaG9ydGhhbmQgZm9ybSBhZnRlciByZXBsYWNlbWVudC5cclxuICogQHBhcmFtIGNvbnRleHQgUHJvcGVydHkgc2hvcnRoYW5kIGRlY2lzaW9uIGNvbnRleHQuXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiBzaG9ydGhhbmQgc3ludGF4IHJlbWFpbnMgdmFsaWQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qga2VlcFNob3J0aGFuZCA9IGNhblVzZVNob3J0aGFuZChjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjYW5Vc2VTaG9ydGhhbmQoY29udGV4dDogU2hvcnRoYW5kQ29udGV4dCk6IGJvb2xlYW4ge1xyXG4gIGNvbnN0IHsgYmFzZVZhbHVlLCBrZXlOYW1lLCBuZWVkc0Nhc3QsIHByb3BlcnR5IH0gPSBjb250ZXh0O1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgIW5lZWRzQ2FzdCAmJlxyXG4gICAgYmFzZVZhbHVlLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIgJiZcclxuICAgIHByb3BlcnR5LmtleS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5JZGVudGlmaWVyICYmXHJcbiAgICBwcm9wZXJ0eS5rZXkubmFtZSA9PT0ga2V5TmFtZSAmJlxyXG4gICAgYmFzZVZhbHVlLm5hbWUgPT09IGtleU5hbWVcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzb2x2ZXMgdGhlIGV4cHJlc3Npb24gcmV0dXJuZWQgYnkgdGhlIG1vY2sgZmFjdG9yeS5cclxuICogQHBhcmFtIGZhY3RvcnlBcmd1bWVudCBNb2NrIGZhY3RvcnkgZnVuY3Rpb24gZXhwcmVzc2lvbi5cclxuICogQHJldHVybnMgUmV0dXJuZWQgZXhwcmVzc2lvbiB3aGVuIG9uZSBpcyBwcmVzZW50LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJldHVybkV4cHJlc3Npb24gPSBnZXRGYWN0b3J5UmV0dXJuRXhwcmVzc2lvbihmYWN0b3J5QXJndW1lbnQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldEZhY3RvcnlSZXR1cm5FeHByZXNzaW9uKFxyXG4gIGZhY3RvcnlBcmd1bWVudDpcclxuICAgIHwgVFNFU1RyZWUuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cclxuICAgIHwgVFNFU1RyZWUuRnVuY3Rpb25FeHByZXNzaW9uLFxyXG4pOiBUU0VTVHJlZS5FeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoZmFjdG9yeUFyZ3VtZW50LmJvZHkudHlwZSAhPT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuQmxvY2tTdGF0ZW1lbnQpIHtcclxuICAgIHJldHVybiBmYWN0b3J5QXJndW1lbnQuYm9keTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHJldHVyblN0YXRlbWVudCA9IGZhY3RvcnlBcmd1bWVudC5ib2R5LmJvZHkuZmluZChcclxuICAgIChzdGF0ZW1lbnQpOiBzdGF0ZW1lbnQgaXMgVFNFU1RyZWUuUmV0dXJuU3RhdGVtZW50ID0+XHJcbiAgICAgIHN0YXRlbWVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5SZXR1cm5TdGF0ZW1lbnQgJiZcclxuICAgICAgc3RhdGVtZW50LmFyZ3VtZW50ICE9PSBudWxsLFxyXG4gICk7XHJcblxyXG4gIHJldHVybiByZXR1cm5TdGF0ZW1lbnQ/LmFyZ3VtZW50ID8/IHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEV4dHJhY3RzIHRoZSBtb2R1bGUgc3BlY2lmaWVyIGZyb20gYSBtb2NrIGNhbGwgYXJndW1lbnQuXHJcbiAqIEBwYXJhbSBtb2R1bGVBcmd1bWVudCBJbXBvcnQgZXhwcmVzc2lvbiBvciBzdHJpbmcgbGl0ZXJhbCBhcmd1bWVudC5cclxuICogQHJldHVybnMgU3RhdGljIG1vZHVsZSBzcGVjaWZpZXIgd2hlbiBpdCBjYW4gYmUgZGV0ZXJtaW5lZC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBtb2R1bGVTcGVjaWZpZXIgPSBnZXRNb2R1bGVTcGVjaWZpZXIobW9kdWxlQXJndW1lbnQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldE1vZHVsZVNwZWNpZmllcihcclxuICBtb2R1bGVBcmd1bWVudDogVFNFU1RyZWUuRXhwcmVzc2lvbixcclxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAobW9kdWxlQXJndW1lbnQudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSW1wb3J0RXhwcmVzc2lvbikge1xyXG4gICAgY29uc3QgeyBzb3VyY2UgfSA9IG1vZHVsZUFyZ3VtZW50O1xyXG5cclxuICAgIGlmIChcclxuICAgICAgc291cmNlLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkxpdGVyYWwgJiZcclxuICAgICAgdHlwZW9mIHNvdXJjZS52YWx1ZSA9PT0gXCJzdHJpbmdcIlxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBzb3VyY2UudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHJldHVybiBtb2R1bGVBcmd1bWVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5MaXRlcmFsICYmXHJcbiAgICB0eXBlb2YgbW9kdWxlQXJndW1lbnQudmFsdWUgPT09IFwic3RyaW5nXCJcclxuICAgID8gbW9kdWxlQXJndW1lbnQudmFsdWVcclxuICAgIDogdm9pZCAwO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydHMgYW4gb2JqZWN0IHByb3BlcnR5IGtleSBub2RlIGludG8gYSBzdGFibGUgc3RyaW5nIG5hbWUuXHJcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSBQcm9wZXJ0eSBrZXkgbm9kZSBmcm9tIHRoZSBvYmplY3QgbGl0ZXJhbC5cclxuICogQHJldHVybnMgUHJvcGVydHkgbmFtZSB3aGVuIHRoZSBrZXkgaXMgc3RhdGljYWxseSBrbm93bi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBwcm9wZXJ0eU5hbWUgPSBnZXRQcm9wZXJ0eU5hbWUocHJvcGVydHkua2V5KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRQcm9wZXJ0eU5hbWUoXHJcbiAgcHJvcGVydHlLZXk6IFRTRVNUcmVlLlByb3BlcnR5TmFtZSxcclxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAocHJvcGVydHlLZXkudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllcikge1xyXG4gICAgcmV0dXJuIHByb3BlcnR5S2V5Lm5hbWU7XHJcbiAgfVxyXG5cclxuICBpZiAocHJvcGVydHlLZXkudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuTGl0ZXJhbCkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiBwcm9wZXJ0eUtleS52YWx1ZSA9PT0gXCJzdHJpbmdcIiB8fFxyXG4gICAgICB0eXBlb2YgcHJvcGVydHlLZXkudmFsdWUgPT09IFwibnVtYmVyXCJcclxuICAgICAgPyBTdHJpbmcocHJvcGVydHlLZXkudmFsdWUpXHJcbiAgICAgIDogdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIGFuIGV4cHJlc3Npb24ncyBjYXN0IGNoYWluIGNvbnRhaW5zIGFuIGVzY2FwZS1oYXRjaCBjYXN0IHRocm91Z2ggdW5rbm93biBvciBhbnkuXHJcbiAqIEBwYXJhbSBleHByZXNzaW9uIEV4cHJlc3Npb24gdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIGF0IGxlYXN0IG9uZSBjYXN0IGluIHRoZSBjaGFpbiB1c2VzIHVua25vd24gb3IgYW55IGFzIHRoZSB0eXBlIGFubm90YXRpb24uXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgaXNFc2NhcGVIYXRjaCA9IGhhc0VzY2FwZUhhdGNoQ2FzdChleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBoYXNFc2NhcGVIYXRjaENhc3QoZXhwcmVzc2lvbjogVFNFU1RyZWUuRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xyXG4gIGxldCBjdXJyZW50OiBUU0VTVHJlZS5FeHByZXNzaW9uID0gZXhwcmVzc2lvbjtcclxuXHJcbiAgd2hpbGUgKFxyXG4gICAgY3VycmVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU0FzRXhwcmVzc2lvbiB8fFxyXG4gICAgY3VycmVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU1R5cGVBc3NlcnRpb24gfHxcclxuICAgIGN1cnJlbnQudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuVFNTYXRpc2ZpZXNFeHByZXNzaW9uXHJcbiAgKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGN1cnJlbnQudHlwZUFubm90YXRpb24udHlwZSA9PT1cclxuICAgICAgICBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU1Vua25vd25LZXl3b3JkIHx8XHJcbiAgICAgIGN1cnJlbnQudHlwZUFubm90YXRpb24udHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuVFNBbnlLZXl3b3JkXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY3VycmVudCA9IGN1cnJlbnQuZXhwcmVzc2lvbjtcclxuICB9XHJcblxyXG4gIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIE5hcnJvd3Mgb2JqZWN0IGxpdGVyYWwgZWxlbWVudHMgdG8gdGhlIHN1YnNldCB0aGUgZml4ZXIgY2FuIHJld3JpdGUgc2FmZWx5LlxyXG4gKiBAcGFyYW0gcHJvcGVydHkgT2JqZWN0IGxpdGVyYWwgZWxlbWVudCB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHByb3BlcnR5IGlzIHN1cHBvcnRlZCBieSB0aGUgZml4ZXIuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qgc3VwcG9ydGVkID0gaXNTdXBwb3J0ZWRQcm9wZXJ0eShwcm9wZXJ0eSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNTdXBwb3J0ZWRQcm9wZXJ0eShcclxuICBwcm9wZXJ0eTogVFNFU1RyZWUuT2JqZWN0TGl0ZXJhbEVsZW1lbnQsXHJcbik6IHByb3BlcnR5IGlzIFN1cHBvcnRlZFByb3BlcnR5IHtcclxuICByZXR1cm4gKFxyXG4gICAgcHJvcGVydHkudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuUHJvcGVydHkgJiZcclxuICAgICFwcm9wZXJ0eS5jb21wdXRlZCAmJlxyXG4gICAgcHJvcGVydHkua2luZCA9PT0gXCJpbml0XCIgJiZcclxuICAgICFwcm9wZXJ0eS5tZXRob2QgJiZcclxuICAgIHByb3BlcnR5LnZhbHVlLnR5cGUgIT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkFzc2lnbm1lbnRQYXR0ZXJuXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERldGVjdHMgYHZpLm1vY2soLi4uKWAgYW5kIGB2aS5kb01vY2soLi4uKWAgY2FsbHMuXHJcbiAqIEBwYXJhbSBub2RlIENhbGwgZXhwcmVzc2lvbiBiZWluZyBpbnNwZWN0ZWQuXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgY2FsbCB0YXJnZXRzIGEgVml0ZXN0IG1vY2sgZmFjdG9yeS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBpc01vY2tDYWxsID0gaXNWaXRlc3RNb2NrQ2FsbChjYWxsRXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNWaXRlc3RNb2NrQ2FsbChub2RlOiBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xyXG4gIGlmIChub2RlLmNhbGxlZS50eXBlICE9PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5NZW1iZXJFeHByZXNzaW9uKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjb25zdCB7IG9iamVjdCwgcHJvcGVydHkgfSA9IG5vZGUuY2FsbGVlO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgb2JqZWN0LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIgJiZcclxuICAgIG9iamVjdC5uYW1lID09PSBcInZpXCIgJiZcclxuICAgIHByb3BlcnR5LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIgJiZcclxuICAgIChwcm9wZXJ0eS5uYW1lID09PSBcIm1vY2tcIiB8fCBwcm9wZXJ0eS5uYW1lID09PSBcImRvTW9ja1wiKVxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGZpeGVkIG9iamVjdCBsaXRlcmFsIG11c3QgYmUgcGFyZW50aGVzaXplZC5cclxuICogQHBhcmFtIGZhY3RvcnlBcmd1bWVudCBNb2NrIGZhY3RvcnkgZnVuY3Rpb24gZXhwcmVzc2lvbi5cclxuICogQHBhcmFtIHJldHVybkV4cHJlc3Npb24gRXhwcmVzc2lvbiByZXR1cm5lZCBieSB0aGUgZmFjdG9yeS5cclxuICogQHBhcmFtIG9iamVjdEV4cHJlc3Npb24gT2JqZWN0IGxpdGVyYWwgYmVpbmcgcmV3cml0dGVuLlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gcGFyZW50aGVzZXMgYXJlIHJlcXVpcmVkIGFyb3VuZCB0aGUgb2JqZWN0IGxpdGVyYWwuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qgd3JhcE9iamVjdCA9IHNob3VsZFdyYXBJbXBsaWNpdE9iamVjdChmYWN0b3J5QXJndW1lbnQsIHJldHVybkV4cHJlc3Npb24sIG9iamVjdEV4cHJlc3Npb24pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIHNob3VsZFdyYXBJbXBsaWNpdE9iamVjdChcclxuICBmYWN0b3J5QXJndW1lbnQ6XHJcbiAgICB8IFRTRVNUcmVlLkFycm93RnVuY3Rpb25FeHByZXNzaW9uXHJcbiAgICB8IFRTRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvbixcclxuICByZXR1cm5FeHByZXNzaW9uOiBUU0VTVHJlZS5FeHByZXNzaW9uLFxyXG4gIG9iamVjdEV4cHJlc3Npb246IFRTRVNUcmVlLk9iamVjdEV4cHJlc3Npb24sXHJcbik6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAoXHJcbiAgICBmYWN0b3J5QXJndW1lbnQuYm9keS50eXBlICE9PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5CbG9ja1N0YXRlbWVudCAmJlxyXG4gICAgKHJldHVybkV4cHJlc3Npb24ucmFuZ2VbMF0gIT09IG9iamVjdEV4cHJlc3Npb24ucmFuZ2VbMF0gfHxcclxuICAgICAgcmV0dXJuRXhwcmVzc2lvbi5yYW5nZVsxXSAhPT0gb2JqZWN0RXhwcmVzc2lvbi5yYW5nZVsxXSlcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYW4gZXhwcmVzc2lvbidzIGNhc3QgY2hhaW4gY29udGFpbnMgYW4gZXNjYXBlLWhhdGNoIGNhc3QgdGhyb3VnaCB1bmtub3duIG9yIGFueS5cclxuICogUmVtb3ZlcyBzdXJyb3VuZGluZyBjYXN0IHdyYXBwZXJzIGZyb20gYW4gZXhwcmVzc2lvbi5cclxuICogQHBhcmFtIGV4cHJlc3Npb24gRXhwcmVzc2lvbiB0byB1bndyYXAuXHJcbiAqIEByZXR1cm5zIFRoZSBpbm5lcm1vc3Qgbm9uLWNhc3QgZXhwcmVzc2lvbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBiYXNlRXhwcmVzc2lvbiA9IHVud3JhcEV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gdW53cmFwRXhwcmVzc2lvbihcclxuICBleHByZXNzaW9uOiBUU0VTVHJlZS5FeHByZXNzaW9uLFxyXG4pOiBUU0VTVHJlZS5FeHByZXNzaW9uIHtcclxuICBsZXQgY3VycmVudEV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xyXG5cclxuICB3aGlsZSAoXHJcbiAgICBjdXJyZW50RXhwcmVzc2lvbi50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU0FzRXhwcmVzc2lvbiB8fFxyXG4gICAgY3VycmVudEV4cHJlc3Npb24udHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuVFNTYXRpc2ZpZXNFeHByZXNzaW9uIHx8XHJcbiAgICBjdXJyZW50RXhwcmVzc2lvbi50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU1R5cGVBc3NlcnRpb25cclxuICApIHtcclxuICAgIGN1cnJlbnRFeHByZXNzaW9uID0gY3VycmVudEV4cHJlc3Npb24uZXhwcmVzc2lvbjtcclxuICB9XHJcblxyXG4gIHJldHVybiBjdXJyZW50RXhwcmVzc2lvbjtcclxufVxyXG5cclxuZXhwb3J0IHtcclxuICBjYW5Vc2VTaG9ydGhhbmQsXHJcbiAgZ2V0RmFjdG9yeVJldHVybkV4cHJlc3Npb24sXHJcbiAgZ2V0TW9kdWxlU3BlY2lmaWVyLFxyXG4gIGdldFByb3BlcnR5TmFtZSxcclxuICBoYXNFc2NhcGVIYXRjaENhc3QsXHJcbiAgaXNTdXBwb3J0ZWRQcm9wZXJ0eSxcclxuICBpc1ZpdGVzdE1vY2tDYWxsLFxyXG4gIHNob3VsZFdyYXBJbXBsaWNpdE9iamVjdCxcclxuICB1bndyYXBFeHByZXNzaW9uLFxyXG59O1xyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-input.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/match-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"match-input.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/match-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAgDjB;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc,GACtC,iBAAiB,GAAG,SAAS,CAU/B;AA+CD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import { getFactoryReturnExpression, getModuleSpecifier, isVitestMockCall, unwrapExpression, } from "./ast-helpers.js";
|
|
2
|
+
import { getFactoryReturnExpression, getModuleSpecifier, hasEscapeHatchCast, isVitestMockCall, unwrapExpression, } from "./ast-helpers.js";
|
|
3
3
|
/**
|
|
4
4
|
* Builds normalized match input from a supported factory call.
|
|
5
5
|
* @param mockArguments Supported mock-call arguments.
|
|
@@ -17,14 +17,17 @@ function buildFactoryMatchInput(mockArguments) {
|
|
|
17
17
|
return void 0;
|
|
18
18
|
}
|
|
19
19
|
const objectExpression = unwrapExpression(returnExpression);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
if (objectExpression.type !== TSESTree.AST_NODE_TYPES.ObjectExpression ||
|
|
21
|
+
(returnExpression !== objectExpression &&
|
|
22
|
+
!hasEscapeHatchCast(returnExpression))) {
|
|
23
|
+
return void 0;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
factoryArgument,
|
|
27
|
+
moduleSpecifier,
|
|
28
|
+
objectExpression,
|
|
29
|
+
returnExpression,
|
|
30
|
+
};
|
|
28
31
|
}
|
|
29
32
|
/**
|
|
30
33
|
* Extracts the mock-factory inputs needed for a rewrite attempt.
|
|
@@ -78,4 +81,4 @@ function isFactoryFunctionExpression(expression) {
|
|
|
78
81
|
expression.type === TSESTree.AST_NODE_TYPES.FunctionExpression);
|
|
79
82
|
}
|
|
80
83
|
export { getFactoryMatchInput };
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9tYXRjaC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFRcEQsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHNCQUFzQixDQUM3QixhQUFtQztJQUVuQyxNQUFNLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLGFBQWEsQ0FBQztJQUMxRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRCxNQUFNLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXJFLElBQUksZUFBZSxLQUFLLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVELElBQ0UsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO1FBQ2xFLENBQUMsZ0JBQWdCLEtBQUssZ0JBQWdCO1lBQ3BDLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUN4QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNMLGVBQWU7UUFDZixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtLQUNqQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsY0FBdUM7SUFFdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsdUJBQXVCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhFLE9BQU8sYUFBYSxLQUFLLEtBQUssQ0FBQztRQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsdUJBQXVCLENBQzlCLGFBQXlEO0lBRXpELE1BQU0sQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDO0lBRXhELElBQ0UsY0FBYyxLQUFLLEtBQUssQ0FBQztRQUN6QixlQUFlLEtBQUssS0FBSyxDQUFDO1FBQzFCLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhO1FBQzdELGVBQWUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhO1FBQzlELENBQUMsMkJBQTJCLENBQUMsZUFBZSxDQUFDLEVBQzdDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQzdDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsMkJBQTJCLENBQ2xDLFVBQStCO0lBRS9CLE9BQU8sQ0FDTCxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsdUJBQXVCO1FBQ25FLFVBQVUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDL0QsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRTRVNUcmVlIH0gZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG4gIEZhY3RvcnlGdW5jdGlvbkV4cHJlc3Npb24sXHJcbiAgRmFjdG9yeU1hdGNoSW5wdXQsXHJcbiAgTW9ja0ZhY3RvcnlBcmd1bWVudHMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgZ2V0RmFjdG9yeVJldHVybkV4cHJlc3Npb24sXHJcbiAgZ2V0TW9kdWxlU3BlY2lmaWVyLFxyXG4gIGhhc0VzY2FwZUhhdGNoQ2FzdCxcclxuICBpc1ZpdGVzdE1vY2tDYWxsLFxyXG4gIHVud3JhcEV4cHJlc3Npb24sXHJcbn0gZnJvbSBcIi4vYXN0LWhlbHBlcnNcIjtcclxuXHJcbi8qKlxyXG4gKiBCdWlsZHMgbm9ybWFsaXplZCBtYXRjaCBpbnB1dCBmcm9tIGEgc3VwcG9ydGVkIGZhY3RvcnkgY2FsbC5cclxuICogQHBhcmFtIG1vY2tBcmd1bWVudHMgU3VwcG9ydGVkIG1vY2stY2FsbCBhcmd1bWVudHMuXHJcbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgZmFjdG9yeSBpbnB1dCB3aGVuIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBhbiBvYmplY3QgbGl0ZXJhbC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBmYWN0b3J5SW5wdXQgPSBidWlsZEZhY3RvcnlNYXRjaElucHV0KG1vY2tBcmd1bWVudHMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkRmFjdG9yeU1hdGNoSW5wdXQoXHJcbiAgbW9ja0FyZ3VtZW50czogTW9ja0ZhY3RvcnlBcmd1bWVudHMsXHJcbik6IEZhY3RvcnlNYXRjaElucHV0IHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCB7IGZhY3RvcnlBcmd1bWVudCwgbW9kdWxlQXJndW1lbnQgfSA9IG1vY2tBcmd1bWVudHM7XHJcbiAgY29uc3QgbW9kdWxlU3BlY2lmaWVyID0gZ2V0TW9kdWxlU3BlY2lmaWVyKG1vZHVsZUFyZ3VtZW50KTtcclxuICBjb25zdCByZXR1cm5FeHByZXNzaW9uID0gZ2V0RmFjdG9yeVJldHVybkV4cHJlc3Npb24oZmFjdG9yeUFyZ3VtZW50KTtcclxuXHJcbiAgaWYgKG1vZHVsZVNwZWNpZmllciA9PT0gdm9pZCAwIHx8IHJldHVybkV4cHJlc3Npb24gPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IG9iamVjdEV4cHJlc3Npb24gPSB1bndyYXBFeHByZXNzaW9uKHJldHVybkV4cHJlc3Npb24pO1xyXG5cclxuICBpZiAoXHJcbiAgICBvYmplY3RFeHByZXNzaW9uLnR5cGUgIT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLk9iamVjdEV4cHJlc3Npb24gfHxcclxuICAgIChyZXR1cm5FeHByZXNzaW9uICE9PSBvYmplY3RFeHByZXNzaW9uICYmXHJcbiAgICAgICFoYXNFc2NhcGVIYXRjaENhc3QocmV0dXJuRXhwcmVzc2lvbikpXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGZhY3RvcnlBcmd1bWVudCxcclxuICAgIG1vZHVsZVNwZWNpZmllcixcclxuICAgIG9iamVjdEV4cHJlc3Npb24sXHJcbiAgICByZXR1cm5FeHByZXNzaW9uLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0cyB0aGUgbW9jay1mYWN0b3J5IGlucHV0cyBuZWVkZWQgZm9yIGEgcmV3cml0ZSBhdHRlbXB0LlxyXG4gKiBAcGFyYW0gY2FsbEV4cHJlc3Npb24gQ2FsbCBleHByZXNzaW9uIHRvIGluc3BlY3QuXHJcbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgZmFjdG9yeSBpbnB1dCB3aGVuIHRoZSBjYWxsIGlzIHN1cHBvcnRlZC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBmYWN0b3J5SW5wdXQgPSBnZXRGYWN0b3J5TWF0Y2hJbnB1dChjYWxsRXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0RmFjdG9yeU1hdGNoSW5wdXQoXHJcbiAgY2FsbEV4cHJlc3Npb246IFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uLFxyXG4pOiBGYWN0b3J5TWF0Y2hJbnB1dCB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCFpc1ZpdGVzdE1vY2tDYWxsKGNhbGxFeHByZXNzaW9uKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IG1vY2tBcmd1bWVudHMgPSBnZXRNb2NrRmFjdG9yeUFyZ3VtZW50cyhjYWxsRXhwcmVzc2lvbi5hcmd1bWVudHMpO1xyXG5cclxuICByZXR1cm4gbW9ja0FyZ3VtZW50cyA9PT0gdm9pZCAwXHJcbiAgICA/IHZvaWQgMFxyXG4gICAgOiBidWlsZEZhY3RvcnlNYXRjaElucHV0KG1vY2tBcmd1bWVudHMpO1xyXG59XHJcblxyXG4vKipcclxuICogRXh0cmFjdHMgdmFsaWQgbW9jay1mYWN0b3J5IGFyZ3VtZW50cyBmcm9tIGEgY2FsbCBleHByZXNzaW9uLlxyXG4gKiBAcGFyYW0gYXJndW1lbnRzTGlzdCBBcmd1bWVudHMgc3VwcGxpZWQgdG8gdGhlIG1vY2sgY2FsbC5cclxuICogQHJldHVybnMgTm9ybWFsaXplZCBhcmd1bWVudHMgd2hlbiB0aGUgY2FsbCBzaGFwZSBpcyBzdXBwb3J0ZWQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbW9ja0FyZ3VtZW50cyA9IGdldE1vY2tGYWN0b3J5QXJndW1lbnRzKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0TW9ja0ZhY3RvcnlBcmd1bWVudHMoXHJcbiAgYXJndW1lbnRzTGlzdDogcmVhZG9ubHkgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb25Bcmd1bWVudFtdLFxyXG4pOiBNb2NrRmFjdG9yeUFyZ3VtZW50cyB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgW21vZHVsZUFyZ3VtZW50LCBmYWN0b3J5QXJndW1lbnRdID0gYXJndW1lbnRzTGlzdDtcclxuXHJcbiAgaWYgKFxyXG4gICAgbW9kdWxlQXJndW1lbnQgPT09IHZvaWQgMCB8fFxyXG4gICAgZmFjdG9yeUFyZ3VtZW50ID09PSB2b2lkIDAgfHxcclxuICAgIG1vZHVsZUFyZ3VtZW50LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlNwcmVhZEVsZW1lbnQgfHxcclxuICAgIGZhY3RvcnlBcmd1bWVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5TcHJlYWRFbGVtZW50IHx8XHJcbiAgICAhaXNGYWN0b3J5RnVuY3Rpb25FeHByZXNzaW9uKGZhY3RvcnlBcmd1bWVudClcclxuICApIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4geyBmYWN0b3J5QXJndW1lbnQsIG1vZHVsZUFyZ3VtZW50IH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXhwcmVzc2lvbiBpcyBhIHN1cHBvcnRlZCBtb2NrIGZhY3RvcnkgZnVuY3Rpb24uXHJcbiAqIEBwYXJhbSBleHByZXNzaW9uIEV4cHJlc3Npb24gdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBleHByZXNzaW9uIGlzIGEgZnVuY3Rpb24gY29tcGF0aWJsZSB3aXRoIHRoZSBmaXhlci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdXBwb3J0ZWQgPSBpc0ZhY3RvcnlGdW5jdGlvbkV4cHJlc3Npb24oZXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNGYWN0b3J5RnVuY3Rpb25FeHByZXNzaW9uKFxyXG4gIGV4cHJlc3Npb246IFRTRVNUcmVlLkV4cHJlc3Npb24sXHJcbik6IGV4cHJlc3Npb24gaXMgRmFjdG9yeUZ1bmN0aW9uRXhwcmVzc2lvbiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGV4cHJlc3Npb24udHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gfHxcclxuICAgIGV4cHJlc3Npb24udHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuRnVuY3Rpb25FeHByZXNzaW9uXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IHsgZ2V0RmFjdG9yeU1hdGNoSW5wdXQgfTtcclxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,mBAAmB,EAEnB,WAAW,EAKZ,MAAM,SAAS,CAAC;AA2GjB;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,mBAAmB,EAEnB,WAAW,EAKZ,MAAM,SAAS,CAAC;AA2GjB;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,CA+C3E;AAkHD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -89,6 +89,7 @@ function collectMatch(context) {
|
|
|
89
89
|
const collectedReplacements = collectPropertyReplacements({
|
|
90
90
|
checker: context.checker,
|
|
91
91
|
moduleSpecifier: factoryMatchInput.moduleSpecifier,
|
|
92
|
+
namespaceAlias: context.namespaceImports.get(factoryMatchInput.moduleSpecifier),
|
|
92
93
|
objectExpression: factoryMatchInput.objectExpression,
|
|
93
94
|
services: context.services,
|
|
94
95
|
sourceText: context.sourceText,
|
|
@@ -100,6 +101,7 @@ function collectMatch(context) {
|
|
|
100
101
|
checker: context.checker,
|
|
101
102
|
factoryArgument: factoryMatchInput.factoryArgument,
|
|
102
103
|
moduleSpecifier: factoryMatchInput.moduleSpecifier,
|
|
104
|
+
namespaceAlias: context.namespaceImports.get(factoryMatchInput.moduleSpecifier),
|
|
103
105
|
objectExpression: factoryMatchInput.objectExpression,
|
|
104
106
|
propertyNames: collectedReplacements.propertyNames,
|
|
105
107
|
replacements: collectedReplacements.replacements,
|
|
@@ -143,6 +145,7 @@ function createPropertyReplacementContext(context, property, targetProperties) {
|
|
|
143
145
|
checker: context.checker,
|
|
144
146
|
keyName,
|
|
145
147
|
moduleSpecifier: context.moduleSpecifier,
|
|
148
|
+
namespaceAlias: context.namespaceAlias,
|
|
146
149
|
property,
|
|
147
150
|
services: context.services,
|
|
148
151
|
sourceText: context.sourceText,
|
|
@@ -165,7 +168,10 @@ function createReplacementText(context, objectText) {
|
|
|
165
168
|
propertyNames: context.propertyNames,
|
|
166
169
|
targetType: context.targetType,
|
|
167
170
|
})) {
|
|
168
|
-
|
|
171
|
+
const moduleReference = context.namespaceAlias === void 0
|
|
172
|
+
? `import(${JSON.stringify(context.moduleSpecifier)})`
|
|
173
|
+
: context.namespaceAlias;
|
|
174
|
+
return `(${objectText}) as typeof ${moduleReference}`;
|
|
169
175
|
}
|
|
170
176
|
return shouldWrapImplicitObject(context.factoryArgument, context.returnExpression, context.objectExpression)
|
|
171
177
|
? `(${objectText})`
|
|
@@ -186,4 +192,4 @@ function createTargetPropertyMap(context) {
|
|
|
186
192
|
.map((propertySymbol) => [propertySymbol.getName(), propertySymbol]));
|
|
187
193
|
}
|
|
188
194
|
export { collectMatch };
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9tYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLG1CQUFtQixFQUNuQix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsd0JBQXdCLEdBQ3pCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0U7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyx5QkFBeUIsQ0FDaEMsYUFBMEIsRUFDMUIsWUFBbUMsRUFDbkMsa0JBQW1EO0lBRW5ELGFBQWEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUMsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVqRSxJQUFJLFdBQVcsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQ3ZCLE9BQWdDO0lBRWhDLE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDdEIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDakMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDbEMsRUFDRCxPQUFPLENBQUMsWUFBWSxFQUNwQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNsQyxDQUFDO0lBQ0YsTUFBTSxlQUFlLEdBQUcscUJBQXFCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUMzQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNqQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNsQyxDQUFDO0lBRUYsT0FBTyxZQUFZLEtBQUssZUFBZTtRQUNyQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDO1lBQ0UsZUFBZTtZQUNmLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO1NBQ3RELENBQUM7QUFDUixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxrQ0FBa0MsQ0FDekMsT0FBMkMsRUFDM0MsVUFBd0M7SUFFeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUN4QyxNQUFNLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFMUQsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNsQyxNQUFNLGtCQUFrQixHQUFHLGdDQUFnQyxDQUN6RCxPQUFPLEVBQ1AsUUFBUSxFQUNSLGdCQUFnQixDQUNqQixDQUFDO1FBRUYsSUFBSSxrQkFBa0IsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUVELHlCQUF5QixDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFlBQVksQ0FBQyxPQUE0QjtJQUNoRCxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV2RSxJQUFJLGlCQUFpQixLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUM7UUFDMUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1FBQ3RDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixlQUFlLEVBQUUsaUJBQWlCLENBQUMsZUFBZTtRQUNsRCxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0I7UUFDcEQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO0tBQzNCLENBQUMsQ0FBQztJQUVILElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxxQkFBcUIsR0FBRywyQkFBMkIsQ0FBQztRQUN4RCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsZUFBZSxFQUFFLGlCQUFpQixDQUFDLGVBQWU7UUFDbEQsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCO1FBQ3BELFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtRQUMxQixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7UUFDOUIsVUFBVTtLQUNYLENBQUMsQ0FBQztJQUVILE9BQU8scUJBQXFCLEtBQUssS0FBSyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDUixDQUFDLENBQUMsZ0JBQWdCLENBQUM7WUFDZixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsZUFBZSxFQUFFLGlCQUFpQixDQUFDLGVBQWU7WUFDbEQsZUFBZSxFQUFFLGlCQUFpQixDQUFDLGVBQWU7WUFDbEQsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCO1lBQ3BELGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxhQUFhO1lBQ2xELFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxZQUFZO1lBQ2hELGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLGdCQUFnQjtZQUNwRCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsVUFBVTtTQUNYLENBQUMsQ0FBQztBQUNULENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsMkJBQTJCLENBQ2xDLE9BQTJDO0lBRTNDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDekUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQzlCLENBQUM7SUFFRixPQUFPLFVBQVUsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxNQUFNO1FBQ3JFLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxnQ0FBZ0MsQ0FDdkMsT0FBMkMsRUFDM0MsUUFBMkIsRUFDM0IsZ0JBQW1DO0lBRW5DLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsTUFBTSxvQkFBb0IsR0FDeEIsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTlELE9BQU8sT0FBTyxLQUFLLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixLQUFLLEtBQUssQ0FBQztRQUMxRCxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDO1lBQ0UsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLE9BQU87WUFDUCxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWU7WUFDeEMsUUFBUTtZQUNSLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsb0JBQW9CO1NBQ3JCLENBQUM7QUFDUixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsT0FBZ0MsRUFDaEMsVUFBa0I7SUFFbEIsSUFDRSxtQkFBbUIsQ0FBQztRQUNsQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1FBQ3BDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtLQUMvQixDQUFDLEVBQ0YsQ0FBQztRQUNELE9BQU8sSUFBSSxVQUFVLHNCQUFzQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxPQUFPLHdCQUF3QixDQUM3QixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsZ0JBQWdCLEVBQ3hCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDekI7UUFDQyxDQUFDLENBQUMsSUFBSSxVQUFVLEdBQUc7UUFDbkIsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHVCQUF1QixDQUM5QixPQUEyQztJQUUzQyxPQUFPLElBQUksR0FBRyxDQUNaLE9BQU8sQ0FBQyxPQUFPO1NBQ1osbUJBQW1CLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztTQUN2QyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7QUFDSixDQUFDO0FBRUQsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xyXG4gIEJ1aWxkTWF0Y2hSZXN1bHRDb250ZXh0LFxyXG4gIEJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbnRleHQsXHJcbiAgQ29sbGVjdE1hdGNoQ29udGV4dCxcclxuICBDb2xsZWN0UHJvcGVydHlSZXBsYWNlbWVudHNDb250ZXh0LFxyXG4gIE1hdGNoUmVzdWx0LFxyXG4gIFByb3BlcnR5UmVwbGFjZW1lbnQsXHJcbiAgUHJvcGVydHlSZXBsYWNlbWVudENvbGxlY3Rpb24sXHJcbiAgU3VwcG9ydGVkUHJvcGVydHksXHJcbiAgVGFyZ2V0UHJvcGVydHlNYXAsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgZ2V0UHJvcGVydHlOYW1lLFxyXG4gIGlzU3VwcG9ydGVkUHJvcGVydHksXHJcbiAgc2hvdWxkV3JhcEltcGxpY2l0T2JqZWN0LFxyXG59IGZyb20gXCIuL2FzdC1oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGdldEZhY3RvcnlNYXRjaElucHV0IH0gZnJvbSBcIi4vbWF0Y2gtaW5wdXRcIjtcclxuaW1wb3J0IHtcclxuICBhcHBseVRleHRSZXBsYWNlbWVudHMsXHJcbiAgYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50LFxyXG59IGZyb20gXCIuL3JlcGxhY2VtZW50LWhlbHBlcnNcIjtcclxuaW1wb3J0IHsgaXNPdXRlckNhc3RSZXF1aXJlZCwgcmVzb2x2ZUZhY3RvcnlUYXJnZXRUeXBlIH0gZnJvbSBcIi4vdHlwZS1oZWxwZXJzXCI7XHJcblxyXG4vKipcclxuICogUmVjb3JkcyBvbmUgcHJvcGVydHkgcmVwbGFjZW1lbnQgd2hlbiB0aGUgc291cmNlIHRleHQgbXVzdCBjaGFuZ2UuXHJcbiAqIEBwYXJhbSBwcm9wZXJ0eU5hbWVzIFByb3BlcnR5IG5hbWVzIGFscmVhZHkgaGFuZGxlZCBmb3IgdGhlIG9iamVjdCBsaXRlcmFsLlxyXG4gKiBAcGFyYW0gcmVwbGFjZW1lbnRzIFJlcGxhY2VtZW50IGVudHJpZXMgY29sbGVjdGVkIHNvIGZhci5cclxuICogQHBhcmFtIHJlcGxhY2VtZW50Q29udGV4dCBSZXBsYWNlbWVudCBjb250ZXh0IGZvciB0aGUgY3VycmVudCBwcm9wZXJ0eS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBhcHBlbmRQcm9wZXJ0eVJlcGxhY2VtZW50KG5ldyBTZXQoKSwgW10sIHJlcGxhY2VtZW50Q29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYXBwZW5kUHJvcGVydHlSZXBsYWNlbWVudChcclxuICBwcm9wZXJ0eU5hbWVzOiBTZXQ8c3RyaW5nPixcclxuICByZXBsYWNlbWVudHM6IFByb3BlcnR5UmVwbGFjZW1lbnRbXSxcclxuICByZXBsYWNlbWVudENvbnRleHQ6IEJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbnRleHQsXHJcbik6IHZvaWQge1xyXG4gIHByb3BlcnR5TmFtZXMuYWRkKHJlcGxhY2VtZW50Q29udGV4dC5rZXlOYW1lKTtcclxuXHJcbiAgY29uc3QgcmVwbGFjZW1lbnQgPSBidWlsZFByb3BlcnR5UmVwbGFjZW1lbnQocmVwbGFjZW1lbnRDb250ZXh0KTtcclxuXHJcbiAgaWYgKHJlcGxhY2VtZW50ICE9PSB2b2lkIDApIHtcclxuICAgIHJlcGxhY2VtZW50cy5wdXNoKHJlcGxhY2VtZW50KTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCdWlsZHMgdGhlIGZpbmFsIG1hdGNoIHJlc3VsdCBmb3IgYSByZXdyaXR0ZW4gb2JqZWN0IGxpdGVyYWwuXHJcbiAqIEBwYXJhbSBjb250ZXh0IERhdGEgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIGZpbmFsIHJlcGxhY2VtZW50LlxyXG4gKiBAcmV0dXJucyBGaW5hbCBtYXRjaCByZXN1bHQgd2hlbiB0aGUgb2JqZWN0IHRleHQgY2hhbmdlcy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBtYXRjaCA9IGJ1aWxkTWF0Y2hSZXN1bHQoY29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYnVpbGRNYXRjaFJlc3VsdChcclxuICBjb250ZXh0OiBCdWlsZE1hdGNoUmVzdWx0Q29udGV4dCxcclxuKTogTWF0Y2hSZXN1bHQgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IG9iamVjdFRleHQgPSBhcHBseVRleHRSZXBsYWNlbWVudHMoXHJcbiAgICBjb250ZXh0LnNvdXJjZVRleHQuc2xpY2UoXHJcbiAgICAgIGNvbnRleHQub2JqZWN0RXhwcmVzc2lvbi5yYW5nZVswXSxcclxuICAgICAgY29udGV4dC5vYmplY3RFeHByZXNzaW9uLnJhbmdlWzFdLFxyXG4gICAgKSxcclxuICAgIGNvbnRleHQucmVwbGFjZW1lbnRzLFxyXG4gICAgY29udGV4dC5vYmplY3RFeHByZXNzaW9uLnJhbmdlWzBdLFxyXG4gICk7XHJcbiAgY29uc3QgcmVwbGFjZW1lbnRUZXh0ID0gY3JlYXRlUmVwbGFjZW1lbnRUZXh0KGNvbnRleHQsIG9iamVjdFRleHQpO1xyXG4gIGNvbnN0IG9yaWdpbmFsVGV4dCA9IGNvbnRleHQuc291cmNlVGV4dC5zbGljZShcclxuICAgIGNvbnRleHQucmV0dXJuRXhwcmVzc2lvbi5yYW5nZVswXSxcclxuICAgIGNvbnRleHQucmV0dXJuRXhwcmVzc2lvbi5yYW5nZVsxXSxcclxuICApO1xyXG5cclxuICByZXR1cm4gb3JpZ2luYWxUZXh0ID09PSByZXBsYWNlbWVudFRleHRcclxuICAgID8gdm9pZCAwXHJcbiAgICA6IHtcclxuICAgICAgICByZXBsYWNlbWVudFRleHQsXHJcbiAgICAgICAgcmV0dXJuRXhwcmVzc2lvblJhbmdlOiBjb250ZXh0LnJldHVybkV4cHJlc3Npb24ucmFuZ2UsXHJcbiAgICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb2xsZWN0cyBuZXN0ZWQgcmVwbGFjZW1lbnRzIGZvciBhbGwgc3VwcG9ydGVkIG9iamVjdCBsaXRlcmFsIHByb3BlcnRpZXMuXHJcbiAqIEBwYXJhbSBjb250ZXh0IERhdGEgcmVxdWlyZWQgdG8gYW5hbHl6ZSBzdXBwb3J0ZWQgb2JqZWN0IHByb3BlcnRpZXMuXHJcbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFN1cHBvcnRlZCBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0aWVzIHRvIHJld3JpdGUuXHJcbiAqIEByZXR1cm5zIFByb3BlcnR5IHJlcGxhY2VtZW50cyB3aGVuIGV2ZXJ5IHByb3BlcnR5IGNhbiBiZSBoYW5kbGVkIHNhZmVseS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBjb2xsZWN0aW9uID0gYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29sbGVjdGlvbihjb250ZXh0LCBwcm9wZXJ0aWVzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBidWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb2xsZWN0aW9uKFxyXG4gIGNvbnRleHQ6IENvbGxlY3RQcm9wZXJ0eVJlcGxhY2VtZW50c0NvbnRleHQsXHJcbiAgcHJvcGVydGllczogcmVhZG9ubHkgU3VwcG9ydGVkUHJvcGVydHlbXSxcclxuKTogUHJvcGVydHlSZXBsYWNlbWVudENvbGxlY3Rpb24gfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHByb3BlcnR5TmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuICBjb25zdCByZXBsYWNlbWVudHM6IFByb3BlcnR5UmVwbGFjZW1lbnRbXSA9IFtdO1xyXG4gIGNvbnN0IHRhcmdldFByb3BlcnRpZXMgPSBjcmVhdGVUYXJnZXRQcm9wZXJ0eU1hcChjb250ZXh0KTtcclxuXHJcbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XHJcbiAgICBjb25zdCByZXBsYWNlbWVudENvbnRleHQgPSBjcmVhdGVQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dChcclxuICAgICAgY29udGV4dCxcclxuICAgICAgcHJvcGVydHksXHJcbiAgICAgIHRhcmdldFByb3BlcnRpZXMsXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChyZXBsYWNlbWVudENvbnRleHQgPT09IHZvaWQgMCkge1xyXG4gICAgICByZXR1cm4gdm9pZCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGVuZFByb3BlcnR5UmVwbGFjZW1lbnQocHJvcGVydHlOYW1lcywgcmVwbGFjZW1lbnRzLCByZXBsYWNlbWVudENvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHsgcHJvcGVydHlOYW1lcywgcmVwbGFjZW1lbnRzIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb2xsZWN0cyBhIGZpeCBtYXRjaCBmb3IgYSBzdXBwb3J0ZWQgVml0ZXN0IG1vY2sgZmFjdG9yeSBjYWxsLlxyXG4gKiBAcGFyYW0gY29udGV4dCBNYXRjaCBjb2xsZWN0aW9uIGNvbnRleHQuXHJcbiAqIEByZXR1cm5zIE1hdGNoIHJlc3VsdCB3aGVuIHRoZSBvYmplY3QgbGl0ZXJhbCBjYW4gYmUgc2FmZWx5IHJld3JpdHRlbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBtYXRjaCA9IGNvbGxlY3RNYXRjaChjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjb2xsZWN0TWF0Y2goY29udGV4dDogQ29sbGVjdE1hdGNoQ29udGV4dCk6IE1hdGNoUmVzdWx0IHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBmYWN0b3J5TWF0Y2hJbnB1dCA9IGdldEZhY3RvcnlNYXRjaElucHV0KGNvbnRleHQuY2FsbEV4cHJlc3Npb24pO1xyXG5cclxuICBpZiAoZmFjdG9yeU1hdGNoSW5wdXQgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHRhcmdldFR5cGUgPSByZXNvbHZlRmFjdG9yeVRhcmdldFR5cGUoe1xyXG4gICAgY2FsbEV4cHJlc3Npb246IGNvbnRleHQuY2FsbEV4cHJlc3Npb24sXHJcbiAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICBmYWN0b3J5QXJndW1lbnQ6IGZhY3RvcnlNYXRjaElucHV0LmZhY3RvcnlBcmd1bWVudCxcclxuICAgIG9iamVjdEV4cHJlc3Npb246IGZhY3RvcnlNYXRjaElucHV0Lm9iamVjdEV4cHJlc3Npb24sXHJcbiAgICBzZXJ2aWNlczogY29udGV4dC5zZXJ2aWNlcyxcclxuICB9KTtcclxuXHJcbiAgaWYgKHRhcmdldFR5cGUgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IGNvbGxlY3RlZFJlcGxhY2VtZW50cyA9IGNvbGxlY3RQcm9wZXJ0eVJlcGxhY2VtZW50cyh7XHJcbiAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICBtb2R1bGVTcGVjaWZpZXI6IGZhY3RvcnlNYXRjaElucHV0Lm1vZHVsZVNwZWNpZmllcixcclxuICAgIG9iamVjdEV4cHJlc3Npb246IGZhY3RvcnlNYXRjaElucHV0Lm9iamVjdEV4cHJlc3Npb24sXHJcbiAgICBzZXJ2aWNlczogY29udGV4dC5zZXJ2aWNlcyxcclxuICAgIHNvdXJjZVRleHQ6IGNvbnRleHQuc291cmNlVGV4dCxcclxuICAgIHRhcmdldFR5cGUsXHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBjb2xsZWN0ZWRSZXBsYWNlbWVudHMgPT09IHZvaWQgMFxyXG4gICAgPyB2b2lkIDBcclxuICAgIDogYnVpbGRNYXRjaFJlc3VsdCh7XHJcbiAgICAgICAgY2hlY2tlcjogY29udGV4dC5jaGVja2VyLFxyXG4gICAgICAgIGZhY3RvcnlBcmd1bWVudDogZmFjdG9yeU1hdGNoSW5wdXQuZmFjdG9yeUFyZ3VtZW50LFxyXG4gICAgICAgIG1vZHVsZVNwZWNpZmllcjogZmFjdG9yeU1hdGNoSW5wdXQubW9kdWxlU3BlY2lmaWVyLFxyXG4gICAgICAgIG9iamVjdEV4cHJlc3Npb246IGZhY3RvcnlNYXRjaElucHV0Lm9iamVjdEV4cHJlc3Npb24sXHJcbiAgICAgICAgcHJvcGVydHlOYW1lczogY29sbGVjdGVkUmVwbGFjZW1lbnRzLnByb3BlcnR5TmFtZXMsXHJcbiAgICAgICAgcmVwbGFjZW1lbnRzOiBjb2xsZWN0ZWRSZXBsYWNlbWVudHMucmVwbGFjZW1lbnRzLFxyXG4gICAgICAgIHJldHVybkV4cHJlc3Npb246IGZhY3RvcnlNYXRjaElucHV0LnJldHVybkV4cHJlc3Npb24sXHJcbiAgICAgICAgc291cmNlVGV4dDogY29udGV4dC5zb3VyY2VUZXh0LFxyXG4gICAgICAgIHRhcmdldFR5cGUsXHJcbiAgICAgIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29sbGVjdHMgbmVzdGVkIHJlcGxhY2VtZW50cyBmb3IgYWxsIHN1cHBvcnRlZCBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0aWVzLlxyXG4gKiBAcGFyYW0gY29udGV4dCBEYXRhIHJlcXVpcmVkIHRvIGFuYWx5emUgc3VwcG9ydGVkIG9iamVjdCBwcm9wZXJ0aWVzLlxyXG4gKiBAcmV0dXJucyBQcm9wZXJ0eSByZXBsYWNlbWVudHMgd2hlbiBldmVyeSBwcm9wZXJ0eSBjYW4gYmUgaGFuZGxlZCBzYWZlbHkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3RQcm9wZXJ0eVJlcGxhY2VtZW50cyhjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjb2xsZWN0UHJvcGVydHlSZXBsYWNlbWVudHMoXHJcbiAgY29udGV4dDogQ29sbGVjdFByb3BlcnR5UmVwbGFjZW1lbnRzQ29udGV4dCxcclxuKTogUHJvcGVydHlSZXBsYWNlbWVudENvbGxlY3Rpb24gfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24ucHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5KSA9PlxyXG4gICAgaXNTdXBwb3J0ZWRQcm9wZXJ0eShwcm9wZXJ0eSksXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHByb3BlcnRpZXMubGVuZ3RoID09PSBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24ucHJvcGVydGllcy5sZW5ndGhcclxuICAgID8gYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29sbGVjdGlvbihjb250ZXh0LCBwcm9wZXJ0aWVzKVxyXG4gICAgOiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHJlcGxhY2VtZW50IGlucHV0cyBmb3Igb25lIHN1cHBvcnRlZCBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0eS5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBhbmFseXplIHN1cHBvcnRlZCBvYmplY3QgcHJvcGVydGllcy5cclxuICogQHBhcmFtIHByb3BlcnR5IFN1cHBvcnRlZCBwcm9wZXJ0eSBmcm9tIHRoZSByZXR1cm5lZCBvYmplY3QgbGl0ZXJhbC5cclxuICogQHBhcmFtIHRhcmdldFByb3BlcnRpZXMgVGFyZ2V0LXByb3BlcnR5IGxvb2t1cCBrZXllZCBieSBwcm9wZXJ0eSBuYW1lLlxyXG4gKiBAcmV0dXJucyBSZXBsYWNlbWVudCBpbnB1dHMgd2hlbiB0aGUgcHJvcGVydHkgY2FuIGJlIGhhbmRsZWQgc2FmZWx5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlcGxhY2VtZW50Q29udGV4dCA9IGNyZWF0ZVByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0KGNvbnRleHQsIHByb3BlcnR5LCB0YXJnZXRQcm9wZXJ0aWVzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dChcclxuICBjb250ZXh0OiBDb2xsZWN0UHJvcGVydHlSZXBsYWNlbWVudHNDb250ZXh0LFxyXG4gIHByb3BlcnR5OiBTdXBwb3J0ZWRQcm9wZXJ0eSxcclxuICB0YXJnZXRQcm9wZXJ0aWVzOiBUYXJnZXRQcm9wZXJ0eU1hcCxcclxuKTogQnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dCB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3Qga2V5TmFtZSA9IGdldFByb3BlcnR5TmFtZShwcm9wZXJ0eS5rZXkpO1xyXG4gIGNvbnN0IHRhcmdldFByb3BlcnR5U3ltYm9sID1cclxuICAgIGtleU5hbWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhcmdldFByb3BlcnRpZXMuZ2V0KGtleU5hbWUpO1xyXG5cclxuICByZXR1cm4ga2V5TmFtZSA9PT0gdm9pZCAwIHx8IHRhcmdldFByb3BlcnR5U3ltYm9sID09PSB2b2lkIDBcclxuICAgID8gdm9pZCAwXHJcbiAgICA6IHtcclxuICAgICAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICAgICAga2V5TmFtZSxcclxuICAgICAgICBtb2R1bGVTcGVjaWZpZXI6IGNvbnRleHQubW9kdWxlU3BlY2lmaWVyLFxyXG4gICAgICAgIHByb3BlcnR5LFxyXG4gICAgICAgIHNlcnZpY2VzOiBjb250ZXh0LnNlcnZpY2VzLFxyXG4gICAgICAgIHNvdXJjZVRleHQ6IGNvbnRleHQuc291cmNlVGV4dCxcclxuICAgICAgICB0YXJnZXRQcm9wZXJ0eVN5bWJvbCxcclxuICAgICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgdGhlIGZpbmFsIHJlcGxhY2VtZW50IHRleHQgZm9yIHRoZSByZXR1cm5lZCBvYmplY3QgZXhwcmVzc2lvbi5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBidWlsZCB0aGUgZmluYWwgcmVwbGFjZW1lbnQuXHJcbiAqIEBwYXJhbSBvYmplY3RUZXh0IFJld3JpdHRlbiBvYmplY3QgbGl0ZXJhbCB0ZXh0LlxyXG4gKiBAcmV0dXJucyBGaW5hbCByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZmFjdG9yeSByZXR1cm4gZXhwcmVzc2lvbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0ZXh0ID0gY3JlYXRlUmVwbGFjZW1lbnRUZXh0KGNvbnRleHQsIFwiKHt9KVwiKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVSZXBsYWNlbWVudFRleHQoXHJcbiAgY29udGV4dDogQnVpbGRNYXRjaFJlc3VsdENvbnRleHQsXHJcbiAgb2JqZWN0VGV4dDogc3RyaW5nLFxyXG4pOiBzdHJpbmcge1xyXG4gIGlmIChcclxuICAgIGlzT3V0ZXJDYXN0UmVxdWlyZWQoe1xyXG4gICAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICAgIHByb3BlcnR5TmFtZXM6IGNvbnRleHQucHJvcGVydHlOYW1lcyxcclxuICAgICAgdGFyZ2V0VHlwZTogY29udGV4dC50YXJnZXRUeXBlLFxyXG4gICAgfSlcclxuICApIHtcclxuICAgIHJldHVybiBgKCR7b2JqZWN0VGV4dH0pIGFzIHR5cGVvZiBpbXBvcnQoJHtKU09OLnN0cmluZ2lmeShjb250ZXh0Lm1vZHVsZVNwZWNpZmllcil9KWA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gc2hvdWxkV3JhcEltcGxpY2l0T2JqZWN0KFxyXG4gICAgY29udGV4dC5mYWN0b3J5QXJndW1lbnQsXHJcbiAgICBjb250ZXh0LnJldHVybkV4cHJlc3Npb24sXHJcbiAgICBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24sXHJcbiAgKVxyXG4gICAgPyBgKCR7b2JqZWN0VGV4dH0pYFxyXG4gICAgOiBvYmplY3RUZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQnVpbGRzIHRoZSBsb29rdXAgb2YgdGFyZ2V0IHByb3BlcnRpZXMgZnJvbSB0aGUgaW5mZXJyZWQgdGFyZ2V0IHR5cGUuXHJcbiAqIEBwYXJhbSBjb250ZXh0IERhdGEgcmVxdWlyZWQgdG8gYW5hbHl6ZSBzdXBwb3J0ZWQgb2JqZWN0IHByb3BlcnRpZXMuXHJcbiAqIEByZXR1cm5zIFRhcmdldC1wcm9wZXJ0eSBsb29rdXAga2V5ZWQgYnkgcHJvcGVydHkgbmFtZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0YXJnZXRQcm9wZXJ0aWVzID0gY3JlYXRlVGFyZ2V0UHJvcGVydHlNYXAoY29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY3JlYXRlVGFyZ2V0UHJvcGVydHlNYXAoXHJcbiAgY29udGV4dDogQ29sbGVjdFByb3BlcnR5UmVwbGFjZW1lbnRzQ29udGV4dCxcclxuKTogVGFyZ2V0UHJvcGVydHlNYXAge1xyXG4gIHJldHVybiBuZXcgTWFwKFxyXG4gICAgY29udGV4dC5jaGVja2VyXHJcbiAgICAgIC5nZXRQcm9wZXJ0aWVzT2ZUeXBlKGNvbnRleHQudGFyZ2V0VHlwZSlcclxuICAgICAgLm1hcCgocHJvcGVydHlTeW1ib2wpID0+IFtwcm9wZXJ0eVN5bWJvbC5nZXROYW1lKCksIHByb3BlcnR5U3ltYm9sXSksXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IHsgY29sbGVjdE1hdGNoIH07XHJcbiJdfQ==
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9tYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLG1CQUFtQixFQUNuQix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsd0JBQXdCLEdBQ3pCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0U7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyx5QkFBeUIsQ0FDaEMsYUFBMEIsRUFDMUIsWUFBbUMsRUFDbkMsa0JBQW1EO0lBRW5ELGFBQWEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUMsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVqRSxJQUFJLFdBQVcsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQ3ZCLE9BQWdDO0lBRWhDLE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDdEIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDakMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDbEMsRUFDRCxPQUFPLENBQUMsWUFBWSxFQUNwQixPQUFPLENB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RTNDLE9BQU8sSUFBSSxHQUFHLENBQ1osT0FBTyxDQUFDLE9BQU87U0FDWixtQkFBbUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FDdkUsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XHJcbiAgQnVpbGRNYXRjaFJlc3VsdENvbnRleHQsXHJcbiAgQnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dCxcclxuICBDb2xsZWN0TWF0Y2hDb250ZXh0LFxyXG4gIENvbGxlY3RQcm9wZXJ0eVJlcGxhY2VtZW50c0NvbnRleHQsXHJcbiAgTWF0Y2hSZXN1bHQsXHJcbiAgUHJvcGVydHlSZXBsYWNlbWVudCxcclxuICBQcm9wZXJ0eVJlcGxhY2VtZW50Q29sbGVjdGlvbixcclxuICBTdXBwb3J0ZWRQcm9wZXJ0eSxcclxuICBUYXJnZXRQcm9wZXJ0eU1hcCxcclxufSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuaW1wb3J0IHtcclxuICBnZXRQcm9wZXJ0eU5hbWUsXHJcbiAgaXNTdXBwb3J0ZWRQcm9wZXJ0eSxcclxuICBzaG91bGRXcmFwSW1wbGljaXRPYmplY3QsXHJcbn0gZnJvbSBcIi4vYXN0LWhlbHBlcnNcIjtcclxuaW1wb3J0IHsgZ2V0RmFjdG9yeU1hdGNoSW5wdXQgfSBmcm9tIFwiLi9tYXRjaC1pbnB1dFwiO1xyXG5pbXBvcnQge1xyXG4gIGFwcGx5VGV4dFJlcGxhY2VtZW50cyxcclxuICBidWlsZFByb3BlcnR5UmVwbGFjZW1lbnQsXHJcbn0gZnJvbSBcIi4vcmVwbGFjZW1lbnQtaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBpc091dGVyQ2FzdFJlcXVpcmVkLCByZXNvbHZlRmFjdG9yeVRhcmdldFR5cGUgfSBmcm9tIFwiLi90eXBlLWhlbHBlcnNcIjtcclxuXHJcbi8qKlxyXG4gKiBSZWNvcmRzIG9uZSBwcm9wZXJ0eSByZXBsYWNlbWVudCB3aGVuIHRoZSBzb3VyY2UgdGV4dCBtdXN0IGNoYW5nZS5cclxuICogQHBhcmFtIHByb3BlcnR5TmFtZXMgUHJvcGVydHkgbmFtZXMgYWxyZWFkeSBoYW5kbGVkIGZvciB0aGUgb2JqZWN0IGxpdGVyYWwuXHJcbiAqIEBwYXJhbSByZXBsYWNlbWVudHMgUmVwbGFjZW1lbnQgZW50cmllcyBjb2xsZWN0ZWQgc28gZmFyLlxyXG4gKiBAcGFyYW0gcmVwbGFjZW1lbnRDb250ZXh0IFJlcGxhY2VtZW50IGNvbnRleHQgZm9yIHRoZSBjdXJyZW50IHByb3BlcnR5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGFwcGVuZFByb3BlcnR5UmVwbGFjZW1lbnQobmV3IFNldCgpLCBbXSwgcmVwbGFjZW1lbnRDb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBhcHBlbmRQcm9wZXJ0eVJlcGxhY2VtZW50KFxyXG4gIHByb3BlcnR5TmFtZXM6IFNldDxzdHJpbmc+LFxyXG4gIHJlcGxhY2VtZW50czogUHJvcGVydHlSZXBsYWNlbWVudFtdLFxyXG4gIHJlcGxhY2VtZW50Q29udGV4dDogQnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dCxcclxuKTogdm9pZCB7XHJcbiAgcHJvcGVydHlOYW1lcy5hZGQocmVwbGFjZW1lbnRDb250ZXh0LmtleU5hbWUpO1xyXG5cclxuICBjb25zdCByZXBsYWNlbWVudCA9IGJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudChyZXBsYWNlbWVudENvbnRleHQpO1xyXG5cclxuICBpZiAocmVwbGFjZW1lbnQgIT09IHZvaWQgMCkge1xyXG4gICAgcmVwbGFjZW1lbnRzLnB1c2gocmVwbGFjZW1lbnQpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyB0aGUgZmluYWwgbWF0Y2ggcmVzdWx0IGZvciBhIHJld3JpdHRlbiBvYmplY3QgbGl0ZXJhbC5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBidWlsZCB0aGUgZmluYWwgcmVwbGFjZW1lbnQuXHJcbiAqIEByZXR1cm5zIEZpbmFsIG1hdGNoIHJlc3VsdCB3aGVuIHRoZSBvYmplY3QgdGV4dCBjaGFuZ2VzLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG1hdGNoID0gYnVpbGRNYXRjaFJlc3VsdChjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBidWlsZE1hdGNoUmVzdWx0KFxyXG4gIGNvbnRleHQ6IEJ1aWxkTWF0Y2hSZXN1bHRDb250ZXh0LFxyXG4pOiBNYXRjaFJlc3VsdCB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3Qgb2JqZWN0VGV4dCA9IGFwcGx5VGV4dFJlcGxhY2VtZW50cyhcclxuICAgIGNvbnRleHQuc291cmNlVGV4dC5zbGljZShcclxuICAgICAgY29udGV4dC5vYmplY3RFeHByZXNzaW9uLnJhbmdlWzBdLFxyXG4gICAgICBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24ucmFuZ2VbMV0sXHJcbiAgICApLFxyXG4gICAgY29udGV4dC5yZXBsYWNlbWVudHMsXHJcbiAgICBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24ucmFuZ2VbMF0sXHJcbiAgKTtcclxuICBjb25zdCByZXBsYWNlbWVudFRleHQgPSBjcmVhdGVSZXBsYWNlbWVudFRleHQoY29udGV4dCwgb2JqZWN0VGV4dCk7XHJcbiAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gY29udGV4dC5zb3VyY2VUZXh0LnNsaWNlKFxyXG4gICAgY29udGV4dC5yZXR1cm5FeHByZXNzaW9uLnJhbmdlWzBdLFxyXG4gICAgY29udGV4dC5yZXR1cm5FeHByZXNzaW9uLnJhbmdlWzFdLFxyXG4gICk7XHJcblxyXG4gIHJldHVybiBvcmlnaW5hbFRleHQgPT09IHJlcGxhY2VtZW50VGV4dFxyXG4gICAgPyB2b2lkIDBcclxuICAgIDoge1xyXG4gICAgICAgIHJlcGxhY2VtZW50VGV4dCxcclxuICAgICAgICByZXR1cm5FeHByZXNzaW9uUmFuZ2U6IGNvbnRleHQucmV0dXJuRXhwcmVzc2lvbi5yYW5nZSxcclxuICAgICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbGxlY3RzIG5lc3RlZCByZXBsYWNlbWVudHMgZm9yIGFsbCBzdXBwb3J0ZWQgb2JqZWN0IGxpdGVyYWwgcHJvcGVydGllcy5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBhbmFseXplIHN1cHBvcnRlZCBvYmplY3QgcHJvcGVydGllcy5cclxuICogQHBhcmFtIHByb3BlcnRpZXMgU3VwcG9ydGVkIG9iamVjdCBsaXRlcmFsIHByb3BlcnRpZXMgdG8gcmV3cml0ZS5cclxuICogQHJldHVybnMgUHJvcGVydHkgcmVwbGFjZW1lbnRzIHdoZW4gZXZlcnkgcHJvcGVydHkgY2FuIGJlIGhhbmRsZWQgc2FmZWx5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGNvbGxlY3Rpb24gPSBidWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb2xsZWN0aW9uKGNvbnRleHQsIHByb3BlcnRpZXMpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbGxlY3Rpb24oXHJcbiAgY29udGV4dDogQ29sbGVjdFByb3BlcnR5UmVwbGFjZW1lbnRzQ29udGV4dCxcclxuICBwcm9wZXJ0aWVzOiByZWFkb25seSBTdXBwb3J0ZWRQcm9wZXJ0eVtdLFxyXG4pOiBQcm9wZXJ0eVJlcGxhY2VtZW50Q29sbGVjdGlvbiB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgcHJvcGVydHlOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gIGNvbnN0IHJlcGxhY2VtZW50czogUHJvcGVydHlSZXBsYWNlbWVudFtdID0gW107XHJcbiAgY29uc3QgdGFyZ2V0UHJvcGVydGllcyA9IGNyZWF0ZVRhcmdldFByb3BlcnR5TWFwKGNvbnRleHQpO1xyXG5cclxuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgIGNvbnN0IHJlcGxhY2VtZW50Q29udGV4dCA9IGNyZWF0ZVByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0KFxyXG4gICAgICBjb250ZXh0LFxyXG4gICAgICBwcm9wZXJ0eSxcclxuICAgICAgdGFyZ2V0UHJvcGVydGllcyxcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHJlcGxhY2VtZW50Q29udGV4dCA9PT0gdm9pZCAwKSB7XHJcbiAgICAgIHJldHVybiB2b2lkIDA7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwZW5kUHJvcGVydHlSZXBsYWNlbWVudChwcm9wZXJ0eU5hbWVzLCByZXBsYWNlbWVudHMsIHJlcGxhY2VtZW50Q29udGV4dCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4geyBwcm9wZXJ0eU5hbWVzLCByZXBsYWNlbWVudHMgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbGxlY3RzIGEgZml4IG1hdGNoIGZvciBhIHN1cHBvcnRlZCBWaXRlc3QgbW9jayBmYWN0b3J5IGNhbGwuXHJcbiAqIEBwYXJhbSBjb250ZXh0IE1hdGNoIGNvbGxlY3Rpb24gY29udGV4dC5cclxuICogQHJldHVybnMgTWF0Y2ggcmVzdWx0IHdoZW4gdGhlIG9iamVjdCBsaXRlcmFsIGNhbiBiZSBzYWZlbHkgcmV3cml0dGVuLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG1hdGNoID0gY29sbGVjdE1hdGNoKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNvbGxlY3RNYXRjaChjb250ZXh0OiBDb2xsZWN0TWF0Y2hDb250ZXh0KTogTWF0Y2hSZXN1bHQgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IGZhY3RvcnlNYXRjaElucHV0ID0gZ2V0RmFjdG9yeU1hdGNoSW5wdXQoY29udGV4dC5jYWxsRXhwcmVzc2lvbik7XHJcblxyXG4gIGlmIChmYWN0b3J5TWF0Y2hJbnB1dCA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdGFyZ2V0VHlwZSA9IHJlc29sdmVGYWN0b3J5VGFyZ2V0VHlwZSh7XHJcbiAgICBjYWxsRXhwcmVzc2lvbjogY29udGV4dC5jYWxsRXhwcmVzc2lvbixcclxuICAgIGNoZWNrZXI6IGNvbnRleHQuY2hlY2tlcixcclxuICAgIGZhY3RvcnlBcmd1bWVudDogZmFjdG9yeU1hdGNoSW5wdXQuZmFjdG9yeUFyZ3VtZW50LFxyXG4gICAgb2JqZWN0RXhwcmVzc2lvbjogZmFjdG9yeU1hdGNoSW5wdXQub2JqZWN0RXhwcmVzc2lvbixcclxuICAgIHNlcnZpY2VzOiBjb250ZXh0LnNlcnZpY2VzLFxyXG4gIH0pO1xyXG5cclxuICBpZiAodGFyZ2V0VHlwZSA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgY29sbGVjdGVkUmVwbGFjZW1lbnRzID0gY29sbGVjdFByb3BlcnR5UmVwbGFjZW1lbnRzKHtcclxuICAgIGNoZWNrZXI6IGNvbnRleHQuY2hlY2tlcixcclxuICAgIG1vZHVsZVNwZWNpZmllcjogZmFjdG9yeU1hdGNoSW5wdXQubW9kdWxlU3BlY2lmaWVyLFxyXG4gICAgbmFtZXNwYWNlQWxpYXM6IGNvbnRleHQubmFtZXNwYWNlSW1wb3J0cy5nZXQoXHJcbiAgICAgIGZhY3RvcnlNYXRjaElucHV0Lm1vZHVsZVNwZWNpZmllcixcclxuICAgICksXHJcbiAgICBvYmplY3RFeHByZXNzaW9uOiBmYWN0b3J5TWF0Y2hJbnB1dC5vYmplY3RFeHByZXNzaW9uLFxyXG4gICAgc2VydmljZXM6IGNvbnRleHQuc2VydmljZXMsXHJcbiAgICBzb3VyY2VUZXh0OiBjb250ZXh0LnNvdXJjZVRleHQsXHJcbiAgICB0YXJnZXRUeXBlLFxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gY29sbGVjdGVkUmVwbGFjZW1lbnRzID09PSB2b2lkIDBcclxuICAgID8gdm9pZCAwXHJcbiAgICA6IGJ1aWxkTWF0Y2hSZXN1bHQoe1xyXG4gICAgICAgIGNoZWNrZXI6IGNvbnRleHQuY2hlY2tlcixcclxuICAgICAgICBmYWN0b3J5QXJndW1lbnQ6IGZhY3RvcnlNYXRjaElucHV0LmZhY3RvcnlBcmd1bWVudCxcclxuICAgICAgICBtb2R1bGVTcGVjaWZpZXI6IGZhY3RvcnlNYXRjaElucHV0Lm1vZHVsZVNwZWNpZmllcixcclxuICAgICAgICBuYW1lc3BhY2VBbGlhczogY29udGV4dC5uYW1lc3BhY2VJbXBvcnRzLmdldChcclxuICAgICAgICAgIGZhY3RvcnlNYXRjaElucHV0Lm1vZHVsZVNwZWNpZmllcixcclxuICAgICAgICApLFxyXG4gICAgICAgIG9iamVjdEV4cHJlc3Npb246IGZhY3RvcnlNYXRjaElucHV0Lm9iamVjdEV4cHJlc3Npb24sXHJcbiAgICAgICAgcHJvcGVydHlOYW1lczogY29sbGVjdGVkUmVwbGFjZW1lbnRzLnByb3BlcnR5TmFtZXMsXHJcbiAgICAgICAgcmVwbGFjZW1lbnRzOiBjb2xsZWN0ZWRSZXBsYWNlbWVudHMucmVwbGFjZW1lbnRzLFxyXG4gICAgICAgIHJldHVybkV4cHJlc3Npb246IGZhY3RvcnlNYXRjaElucHV0LnJldHVybkV4cHJlc3Npb24sXHJcbiAgICAgICAgc291cmNlVGV4dDogY29udGV4dC5zb3VyY2VUZXh0LFxyXG4gICAgICAgIHRhcmdldFR5cGUsXHJcbiAgICAgIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29sbGVjdHMgbmVzdGVkIHJlcGxhY2VtZW50cyBmb3IgYWxsIHN1cHBvcnRlZCBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0aWVzLlxyXG4gKiBAcGFyYW0gY29udGV4dCBEYXRhIHJlcXVpcmVkIHRvIGFuYWx5emUgc3VwcG9ydGVkIG9iamVjdCBwcm9wZXJ0aWVzLlxyXG4gKiBAcmV0dXJucyBQcm9wZXJ0eSByZXBsYWNlbWVudHMgd2hlbiBldmVyeSBwcm9wZXJ0eSBjYW4gYmUgaGFuZGxlZCBzYWZlbHkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3RQcm9wZXJ0eVJlcGxhY2VtZW50cyhjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjb2xsZWN0UHJvcGVydHlSZXBsYWNlbWVudHMoXHJcbiAgY29udGV4dDogQ29sbGVjdFByb3BlcnR5UmVwbGFjZW1lbnRzQ29udGV4dCxcclxuKTogUHJvcGVydHlSZXBsYWNlbWVudENvbGxlY3Rpb24gfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24ucHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5KSA9PlxyXG4gICAgaXNTdXBwb3J0ZWRQcm9wZXJ0eShwcm9wZXJ0eSksXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHByb3BlcnRpZXMubGVuZ3RoID09PSBjb250ZXh0Lm9iamVjdEV4cHJlc3Npb24ucHJvcGVydGllcy5sZW5ndGhcclxuICAgID8gYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29sbGVjdGlvbihjb250ZXh0LCBwcm9wZXJ0aWVzKVxyXG4gICAgOiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHJlcGxhY2VtZW50IGlucHV0cyBmb3Igb25lIHN1cHBvcnRlZCBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0eS5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBhbmFseXplIHN1cHBvcnRlZCBvYmplY3QgcHJvcGVydGllcy5cclxuICogQHBhcmFtIHByb3BlcnR5IFN1cHBvcnRlZCBwcm9wZXJ0eSBmcm9tIHRoZSByZXR1cm5lZCBvYmplY3QgbGl0ZXJhbC5cclxuICogQHBhcmFtIHRhcmdldFByb3BlcnRpZXMgVGFyZ2V0LXByb3BlcnR5IGxvb2t1cCBrZXllZCBieSBwcm9wZXJ0eSBuYW1lLlxyXG4gKiBAcmV0dXJucyBSZXBsYWNlbWVudCBpbnB1dHMgd2hlbiB0aGUgcHJvcGVydHkgY2FuIGJlIGhhbmRsZWQgc2FmZWx5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlcGxhY2VtZW50Q29udGV4dCA9IGNyZWF0ZVByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0KGNvbnRleHQsIHByb3BlcnR5LCB0YXJnZXRQcm9wZXJ0aWVzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dChcclxuICBjb250ZXh0OiBDb2xsZWN0UHJvcGVydHlSZXBsYWNlbWVudHNDb250ZXh0LFxyXG4gIHByb3BlcnR5OiBTdXBwb3J0ZWRQcm9wZXJ0eSxcclxuICB0YXJnZXRQcm9wZXJ0aWVzOiBUYXJnZXRQcm9wZXJ0eU1hcCxcclxuKTogQnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dCB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3Qga2V5TmFtZSA9IGdldFByb3BlcnR5TmFtZShwcm9wZXJ0eS5rZXkpO1xyXG4gIGNvbnN0IHRhcmdldFByb3BlcnR5U3ltYm9sID1cclxuICAgIGtleU5hbWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhcmdldFByb3BlcnRpZXMuZ2V0KGtleU5hbWUpO1xyXG5cclxuICByZXR1cm4ga2V5TmFtZSA9PT0gdm9pZCAwIHx8IHRhcmdldFByb3BlcnR5U3ltYm9sID09PSB2b2lkIDBcclxuICAgID8gdm9pZCAwXHJcbiAgICA6IHtcclxuICAgICAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICAgICAga2V5TmFtZSxcclxuICAgICAgICBtb2R1bGVTcGVjaWZpZXI6IGNvbnRleHQubW9kdWxlU3BlY2lmaWVyLFxyXG4gICAgICAgIG5hbWVzcGFjZUFsaWFzOiBjb250ZXh0Lm5hbWVzcGFjZUFsaWFzLFxyXG4gICAgICAgIHByb3BlcnR5LFxyXG4gICAgICAgIHNlcnZpY2VzOiBjb250ZXh0LnNlcnZpY2VzLFxyXG4gICAgICAgIHNvdXJjZVRleHQ6IGNvbnRleHQuc291cmNlVGV4dCxcclxuICAgICAgICB0YXJnZXRQcm9wZXJ0eVN5bWJvbCxcclxuICAgICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgdGhlIGZpbmFsIHJlcGxhY2VtZW50IHRleHQgZm9yIHRoZSByZXR1cm5lZCBvYmplY3QgZXhwcmVzc2lvbi5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBidWlsZCB0aGUgZmluYWwgcmVwbGFjZW1lbnQuXHJcbiAqIEBwYXJhbSBvYmplY3RUZXh0IFJld3JpdHRlbiBvYmplY3QgbGl0ZXJhbCB0ZXh0LlxyXG4gKiBAcmV0dXJucyBGaW5hbCByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZmFjdG9yeSByZXR1cm4gZXhwcmVzc2lvbi5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0ZXh0ID0gY3JlYXRlUmVwbGFjZW1lbnRUZXh0KGNvbnRleHQsIFwiKHt9KVwiKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVSZXBsYWNlbWVudFRleHQoXHJcbiAgY29udGV4dDogQnVpbGRNYXRjaFJlc3VsdENvbnRleHQsXHJcbiAgb2JqZWN0VGV4dDogc3RyaW5nLFxyXG4pOiBzdHJpbmcge1xyXG4gIGlmIChcclxuICAgIGlzT3V0ZXJDYXN0UmVxdWlyZWQoe1xyXG4gICAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICAgIHByb3BlcnR5TmFtZXM6IGNvbnRleHQucHJvcGVydHlOYW1lcyxcclxuICAgICAgdGFyZ2V0VHlwZTogY29udGV4dC50YXJnZXRUeXBlLFxyXG4gICAgfSlcclxuICApIHtcclxuICAgIGNvbnN0IG1vZHVsZVJlZmVyZW5jZSA9XHJcbiAgICAgIGNvbnRleHQubmFtZXNwYWNlQWxpYXMgPT09IHZvaWQgMFxyXG4gICAgICAgID8gYGltcG9ydCgke0pTT04uc3RyaW5naWZ5KGNvbnRleHQubW9kdWxlU3BlY2lmaWVyKX0pYFxyXG4gICAgICAgIDogY29udGV4dC5uYW1lc3BhY2VBbGlhcztcclxuXHJcbiAgICByZXR1cm4gYCgke29iamVjdFRleHR9KSBhcyB0eXBlb2YgJHttb2R1bGVSZWZlcmVuY2V9YDtcclxuICB9XHJcblxyXG4gIHJldHVybiBzaG91bGRXcmFwSW1wbGljaXRPYmplY3QoXHJcbiAgICBjb250ZXh0LmZhY3RvcnlBcmd1bWVudCxcclxuICAgIGNvbnRleHQucmV0dXJuRXhwcmVzc2lvbixcclxuICAgIGNvbnRleHQub2JqZWN0RXhwcmVzc2lvbixcclxuICApXHJcbiAgICA/IGAoJHtvYmplY3RUZXh0fSlgXHJcbiAgICA6IG9iamVjdFRleHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCdWlsZHMgdGhlIGxvb2t1cCBvZiB0YXJnZXQgcHJvcGVydGllcyBmcm9tIHRoZSBpbmZlcnJlZCB0YXJnZXQgdHlwZS5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSByZXF1aXJlZCB0byBhbmFseXplIHN1cHBvcnRlZCBvYmplY3QgcHJvcGVydGllcy5cclxuICogQHJldHVybnMgVGFyZ2V0LXByb3BlcnR5IGxvb2t1cCBrZXllZCBieSBwcm9wZXJ0eSBuYW1lLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHRhcmdldFByb3BlcnRpZXMgPSBjcmVhdGVUYXJnZXRQcm9wZXJ0eU1hcChjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVUYXJnZXRQcm9wZXJ0eU1hcChcclxuICBjb250ZXh0OiBDb2xsZWN0UHJvcGVydHlSZXBsYWNlbWVudHNDb250ZXh0LFxyXG4pOiBUYXJnZXRQcm9wZXJ0eU1hcCB7XHJcbiAgcmV0dXJuIG5ldyBNYXAoXHJcbiAgICBjb250ZXh0LmNoZWNrZXJcclxuICAgICAgLmdldFByb3BlcnRpZXNPZlR5cGUoY29udGV4dC50YXJnZXRUeXBlKVxyXG4gICAgICAubWFwKChwcm9wZXJ0eVN5bWJvbCkgPT4gW3Byb3BlcnR5U3ltYm9sLmdldE5hbWUoKSwgcHJvcGVydHlTeW1ib2xdKSxcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgeyBjb2xsZWN0TWF0Y2ggfTtcclxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replacement-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB;;;;;;;;;;GAUG;AACH,iBAAS,qBAAqB,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,mBAAmB,EAAE,EAC5C,MAAM,EAAE,MAAM,GACb,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,OAAO,EAAE,+BAA+B,GACvC,mBAAmB,GAAG,SAAS,CAWjC;
|
|
1
|
+
{"version":3,"file":"replacement-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB;;;;;;;;;;GAUG;AACH,iBAAS,qBAAqB,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,SAAS,mBAAmB,EAAE,EAC5C,MAAM,EAAE,MAAM,GACb,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,OAAO,EAAE,+BAA+B,GACvC,mBAAmB,GAAG,SAAS,CAWjC;AAsFD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -46,13 +46,13 @@ function buildPropertyReplacement(context) {
|
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
48
|
function buildReplacementText(context) {
|
|
49
|
-
const { keyName, moduleSpecifier, property, sourceText } = context;
|
|
49
|
+
const { keyName, moduleSpecifier, namespaceAlias, property, sourceText } = context;
|
|
50
50
|
const baseValue = unwrapExpression(property.value);
|
|
51
51
|
const baseValueText = sourceText.slice(baseValue.range[0], baseValue.range[1]);
|
|
52
52
|
const keyText = sourceText.slice(property.key.range[0], property.key.range[1]);
|
|
53
53
|
const needsCast = isPropertyCastRequired(context, baseValue);
|
|
54
54
|
const valueText = needsCast
|
|
55
|
-
? `${baseValueText} as ${getPropertyTypeText(moduleSpecifier, keyName)}`
|
|
55
|
+
? `${baseValueText} as ${getPropertyTypeText(moduleSpecifier, keyName, namespaceAlias)}`
|
|
56
56
|
: baseValueText;
|
|
57
57
|
return canUseShorthand({ baseValue, keyName, needsCast, property })
|
|
58
58
|
? keyName
|
|
@@ -62,14 +62,18 @@ function buildReplacementText(context) {
|
|
|
62
62
|
* Builds the imported property type expression used for a nested cast.
|
|
63
63
|
* @param moduleSpecifier Static module specifier used by the mock.
|
|
64
64
|
* @param keyName Property name being cast.
|
|
65
|
+
* @param namespaceAlias Namespace alias for the module, when present.
|
|
65
66
|
* @returns Type expression for the imported property.
|
|
66
67
|
* @example
|
|
67
68
|
* ```typescript
|
|
68
69
|
* const propertyType = getPropertyTypeText("fixture-module", "parser");
|
|
69
70
|
* ```
|
|
70
71
|
*/
|
|
71
|
-
function getPropertyTypeText(moduleSpecifier, keyName) {
|
|
72
|
-
|
|
72
|
+
function getPropertyTypeText(moduleSpecifier, keyName, namespaceAlias) {
|
|
73
|
+
const moduleReference = namespaceAlias === void 0
|
|
74
|
+
? `import(${JSON.stringify(moduleSpecifier)})`
|
|
75
|
+
: namespaceAlias;
|
|
76
|
+
return `typeof ${moduleReference}[${JSON.stringify(keyName)}]`;
|
|
73
77
|
}
|
|
74
78
|
/**
|
|
75
79
|
* Determines whether a property value still needs a nested cast.
|
|
@@ -89,4 +93,4 @@ function isPropertyCastRequired(context, baseValue) {
|
|
|
89
93
|
return !context.checker.isTypeAssignableTo(sourceType, propertyTargetType);
|
|
90
94
|
}
|
|
91
95
|
export { applyTextReplacements, buildPropertyReplacement };
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZW1lbnQtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdml0ZXN0LWluY3JlbWVudGFsLWNhc3RzL3JlcGxhY2VtZW50LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBWSxFQUNaLFlBQTRDLEVBQzVDLE1BQWM7SUFFZCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFdkIsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUM3QyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDaEQsRUFBRSxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFFMUMsV0FBVyxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsV0FBVyxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDeEcsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLE9BQXdDO0lBRXhDLE1BQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUMzQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQ2hCLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztJQUVGLE9BQU8sWUFBWSxLQUFLLGVBQWU7UUFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNSLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDaEQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsT0FBd0M7SUFFeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNuRSxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDbEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDbkIsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQzlCLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNyQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdEIsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM3RCxNQUFNLFNBQVMsR0FBRyxTQUFTO1FBQ3pCLENBQUMsQ0FBQyxHQUFHLGFBQWEsT0FBTyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDeEUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUVsQixPQUFPLGVBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxPQUFPO1FBQ1QsQ0FBQyxDQUFDLEdBQUcsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLG1CQUFtQixDQUFDLGVBQXVCLEVBQUUsT0FBZTtJQUNuRSxPQUFPLGlCQUFpQixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUN6RixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FDN0IsT0FBd0MsRUFDeEMsU0FBK0Q7SUFFL0QsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUUsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FDbEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ3JCLENBQUM7SUFDRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FDbEUsT0FBTyxDQUFDLG9CQUFvQixFQUM1QixpQkFBaUIsQ0FDbEIsQ0FBQztJQUVGLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcclxuICBCdWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0LFxyXG4gIFByb3BlcnR5UmVwbGFjZW1lbnQsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7IGNhblVzZVNob3J0aGFuZCwgdW53cmFwRXhwcmVzc2lvbiB9IGZyb20gXCIuL2FzdC1oZWxwZXJzXCI7XHJcblxyXG4vKipcclxuICogQXBwbGllcyB0aGUgY29sbGVjdGVkIHByb3BlcnR5IHJlcGxhY2VtZW50cyBpbiByZXZlcnNlIHNvdXJjZSBvcmRlci5cclxuICogQHBhcmFtIHRleHQgT3JpZ2luYWwgb2JqZWN0IGxpdGVyYWwgc291cmNlIHRleHQuXHJcbiAqIEBwYXJhbSByZXBsYWNlbWVudHMgUmVwbGFjZW1lbnQgb3BlcmF0aW9ucyBmb3IgdGhlIG9iamVjdCBsaXRlcmFsLlxyXG4gKiBAcGFyYW0gb2Zmc2V0IEFic29sdXRlIHN0YXJ0IG9mZnNldCBvZiB0aGUgb2JqZWN0IGxpdGVyYWwuXHJcbiAqIEByZXR1cm5zIFVwZGF0ZWQgb2JqZWN0IGxpdGVyYWwgc291cmNlIHRleHQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qgb2JqZWN0VGV4dCA9IGFwcGx5VGV4dFJlcGxhY2VtZW50cyh0ZXh0LCByZXBsYWNlbWVudHMsIG9mZnNldCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYXBwbHlUZXh0UmVwbGFjZW1lbnRzKFxyXG4gIHRleHQ6IHN0cmluZyxcclxuICByZXBsYWNlbWVudHM6IHJlYWRvbmx5IFByb3BlcnR5UmVwbGFjZW1lbnRbXSxcclxuICBvZmZzZXQ6IG51bWJlcixcclxuKTogc3RyaW5nIHtcclxuICBsZXQgY3VycmVudFRleHQgPSB0ZXh0O1xyXG5cclxuICBmb3IgKGNvbnN0IHJlcGxhY2VtZW50IG9mIHJlcGxhY2VtZW50cy50b1NvcnRlZChcclxuICAgIChsZWZ0LCByaWdodCkgPT4gcmlnaHQucmFuZ2VbMF0gLSBsZWZ0LnJhbmdlWzBdLFxyXG4gICkpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gcmVwbGFjZW1lbnQucmFuZ2VbMF0gLSBvZmZzZXQ7XHJcbiAgICBjb25zdCBlbmQgPSByZXBsYWNlbWVudC5yYW5nZVsxXSAtIG9mZnNldDtcclxuXHJcbiAgICBjdXJyZW50VGV4dCA9IGAke2N1cnJlbnRUZXh0LnNsaWNlKDAsIHN0YXJ0KX0ke3JlcGxhY2VtZW50LnJlcGxhY2VtZW50VGV4dH0ke2N1cnJlbnRUZXh0LnNsaWNlKGVuZCl9YDtcclxuICB9XHJcblxyXG4gIHJldHVybiBjdXJyZW50VGV4dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyB0aGUgcmVwbGFjZW1lbnQgZW50cnkgd2hlbiBhIHByb3BlcnR5J3Mgc291cmNlIHRleHQgbXVzdCBjaGFuZ2UuXHJcbiAqIEBwYXJhbSBjb250ZXh0IERhdGEgbmVlZGVkIHRvIHJld3JpdGUgb25lIHN1cHBvcnRlZCBvYmplY3QgcHJvcGVydHkuXHJcbiAqIEByZXR1cm5zIFJlcGxhY2VtZW50IGRldGFpbHMgd2hlbiB0aGUgcHJvcGVydHkgdGV4dCBjaGFuZ2VzLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlcGxhY2VtZW50ID0gYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50KGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudChcclxuICBjb250ZXh0OiBCdWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0LFxyXG4pOiBQcm9wZXJ0eVJlcGxhY2VtZW50IHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCByZXBsYWNlbWVudFRleHQgPSBidWlsZFJlcGxhY2VtZW50VGV4dChjb250ZXh0KTtcclxuICBjb25zdCBwcm9wZXJ0eVJhbmdlID0gY29udGV4dC5wcm9wZXJ0eS5yYW5nZTtcclxuICBjb25zdCBvcmlnaW5hbFRleHQgPSBjb250ZXh0LnNvdXJjZVRleHQuc2xpY2UoXHJcbiAgICBwcm9wZXJ0eVJhbmdlWzBdLFxyXG4gICAgcHJvcGVydHlSYW5nZVsxXSxcclxuICApO1xyXG5cclxuICByZXR1cm4gb3JpZ2luYWxUZXh0ID09PSByZXBsYWNlbWVudFRleHRcclxuICAgID8gdm9pZCAwXHJcbiAgICA6IHsgcmFuZ2U6IHByb3BlcnR5UmFuZ2UsIHJlcGxhY2VtZW50VGV4dCB9O1xyXG59XHJcblxyXG4vKipcclxuICogQnVpbGRzIHRoZSBmaW5hbCBzb3VyY2UgdGV4dCBmb3Igb25lIG9iamVjdCBsaXRlcmFsIHByb3BlcnR5LlxyXG4gKiBAcGFyYW0gY29udGV4dCBQcm9wZXJ0eSByZXBsYWNlbWVudCBjb250ZXh0LlxyXG4gKiBAcmV0dXJucyBSZXdyaXR0ZW4gcHJvcGVydHkgdGV4dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCByZXBsYWNlbWVudFRleHQgPSBidWlsZFJlcGxhY2VtZW50VGV4dChjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBidWlsZFJlcGxhY2VtZW50VGV4dChcclxuICBjb250ZXh0OiBCdWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0LFxyXG4pOiBzdHJpbmcge1xyXG4gIGNvbnN0IHsga2V5TmFtZSwgbW9kdWxlU3BlY2lmaWVyLCBwcm9wZXJ0eSwgc291cmNlVGV4dCB9ID0gY29udGV4dDtcclxuICBjb25zdCBiYXNlVmFsdWUgPSB1bndyYXBFeHByZXNzaW9uKHByb3BlcnR5LnZhbHVlKTtcclxuICBjb25zdCBiYXNlVmFsdWVUZXh0ID0gc291cmNlVGV4dC5zbGljZShcclxuICAgIGJhc2VWYWx1ZS5yYW5nZVswXSxcclxuICAgIGJhc2VWYWx1ZS5yYW5nZVsxXSxcclxuICApO1xyXG4gIGNvbnN0IGtleVRleHQgPSBzb3VyY2VUZXh0LnNsaWNlKFxyXG4gICAgcHJvcGVydHkua2V5LnJhbmdlWzBdLFxyXG4gICAgcHJvcGVydHkua2V5LnJhbmdlWzFdLFxyXG4gICk7XHJcbiAgY29uc3QgbmVlZHNDYXN0ID0gaXNQcm9wZXJ0eUNhc3RSZXF1aXJlZChjb250ZXh0LCBiYXNlVmFsdWUpO1xyXG4gIGNvbnN0IHZhbHVlVGV4dCA9IG5lZWRzQ2FzdFxyXG4gICAgPyBgJHtiYXNlVmFsdWVUZXh0fSBhcyAke2dldFByb3BlcnR5VHlwZVRleHQobW9kdWxlU3BlY2lmaWVyLCBrZXlOYW1lKX1gXHJcbiAgICA6IGJhc2VWYWx1ZVRleHQ7XHJcblxyXG4gIHJldHVybiBjYW5Vc2VTaG9ydGhhbmQoeyBiYXNlVmFsdWUsIGtleU5hbWUsIG5lZWRzQ2FzdCwgcHJvcGVydHkgfSlcclxuICAgID8ga2V5TmFtZVxyXG4gICAgOiBgJHtrZXlUZXh0fTogJHt2YWx1ZVRleHR9YDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyB0aGUgaW1wb3J0ZWQgcHJvcGVydHkgdHlwZSBleHByZXNzaW9uIHVzZWQgZm9yIGEgbmVzdGVkIGNhc3QuXHJcbiAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgU3RhdGljIG1vZHVsZSBzcGVjaWZpZXIgdXNlZCBieSB0aGUgbW9jay5cclxuICogQHBhcmFtIGtleU5hbWUgUHJvcGVydHkgbmFtZSBiZWluZyBjYXN0LlxyXG4gKiBAcmV0dXJucyBUeXBlIGV4cHJlc3Npb24gZm9yIHRoZSBpbXBvcnRlZCBwcm9wZXJ0eS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBwcm9wZXJ0eVR5cGUgPSBnZXRQcm9wZXJ0eVR5cGVUZXh0KFwiZml4dHVyZS1tb2R1bGVcIiwgXCJwYXJzZXJcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0UHJvcGVydHlUeXBlVGV4dChtb2R1bGVTcGVjaWZpZXI6IHN0cmluZywga2V5TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICByZXR1cm4gYHR5cGVvZiBpbXBvcnQoJHtKU09OLnN0cmluZ2lmeShtb2R1bGVTcGVjaWZpZXIpfSlbJHtKU09OLnN0cmluZ2lmeShrZXlOYW1lKX1dYDtcclxufVxyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgd2hldGhlciBhIHByb3BlcnR5IHZhbHVlIHN0aWxsIG5lZWRzIGEgbmVzdGVkIGNhc3QuXHJcbiAqIEBwYXJhbSBjb250ZXh0IFByb3BlcnR5IHJlcGxhY2VtZW50IGNvbnRleHQuXHJcbiAqIEBwYXJhbSBiYXNlVmFsdWUgVW53cmFwcGVkIHByb3BlcnR5IHZhbHVlIGV4cHJlc3Npb24uXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgcHJvcGVydHkgdmFsdWUgaXMgbm90IGFzc2lnbmFibGUgdG8gdGhlIHRhcmdldCB0eXBlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG5lZWRzQ2FzdCA9IGlzUHJvcGVydHlDYXN0UmVxdWlyZWQoY29udGV4dCwgYmFzZVZhbHVlKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1Byb3BlcnR5Q2FzdFJlcXVpcmVkKFxyXG4gIGNvbnRleHQ6IEJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbnRleHQsXHJcbiAgYmFzZVZhbHVlOiBCdWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0W1wicHJvcGVydHlcIl1bXCJ2YWx1ZVwiXSxcclxuKTogYm9vbGVhbiB7XHJcbiAgY29uc3QgdHNCYXNlVmFsdWVOb2RlID0gY29udGV4dC5zZXJ2aWNlcy5lc1RyZWVOb2RlVG9UU05vZGVNYXAuZ2V0KGJhc2VWYWx1ZSk7XHJcbiAgY29uc3QgdHNQcm9wZXJ0eUtleU5vZGUgPSBjb250ZXh0LnNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoXHJcbiAgICBjb250ZXh0LnByb3BlcnR5LmtleSxcclxuICApO1xyXG4gIGNvbnN0IHNvdXJjZVR5cGUgPSBjb250ZXh0LmNoZWNrZXIuZ2V0VHlwZUF0TG9jYXRpb24odHNCYXNlVmFsdWVOb2RlKTtcclxuICBjb25zdCBwcm9wZXJ0eVRhcmdldFR5cGUgPSBjb250ZXh0LmNoZWNrZXIuZ2V0VHlwZU9mU3ltYm9sQXRMb2NhdGlvbihcclxuICAgIGNvbnRleHQudGFyZ2V0UHJvcGVydHlTeW1ib2wsXHJcbiAgICB0c1Byb3BlcnR5S2V5Tm9kZSxcclxuICApO1xyXG5cclxuICByZXR1cm4gIWNvbnRleHQuY2hlY2tlci5pc1R5cGVBc3NpZ25hYmxlVG8oc291cmNlVHlwZSwgcHJvcGVydHlUYXJnZXRUeXBlKTtcclxufVxyXG5cclxuZXhwb3J0IHsgYXBwbHlUZXh0UmVwbGFjZW1lbnRzLCBidWlsZFByb3BlcnR5UmVwbGFjZW1lbnQgfTtcclxuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZW1lbnQtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdml0ZXN0LWluY3JlbWVudGFsLWNhc3RzL3JlcGxhY2VtZW50LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBWSxFQUNaLFlBQTRDLEVBQzVDLE1BQWM7SUFFZCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFdkIsS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUM3QyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDaEQsRUFBRSxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFFMUMsV0FBVyxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsV0FBVyxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDeEcsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLE9BQXdDO0lBRXhDLE1BQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1B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Q0FBQztBQUVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xyXG4gIEJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbnRleHQsXHJcbiAgUHJvcGVydHlSZXBsYWNlbWVudCxcclxufSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuaW1wb3J0IHsgY2FuVXNlU2hvcnRoYW5kLCB1bndyYXBFeHByZXNzaW9uIH0gZnJvbSBcIi4vYXN0LWhlbHBlcnNcIjtcclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIHRoZSBjb2xsZWN0ZWQgcHJvcGVydHkgcmVwbGFjZW1lbnRzIGluIHJldmVyc2Ugc291cmNlIG9yZGVyLlxyXG4gKiBAcGFyYW0gdGV4dCBPcmlnaW5hbCBvYmplY3QgbGl0ZXJhbCBzb3VyY2UgdGV4dC5cclxuICogQHBhcmFtIHJlcGxhY2VtZW50cyBSZXBsYWNlbWVudCBvcGVyYXRpb25zIGZvciB0aGUgb2JqZWN0IGxpdGVyYWwuXHJcbiAqIEBwYXJhbSBvZmZzZXQgQWJzb2x1dGUgc3RhcnQgb2Zmc2V0IG9mIHRoZSBvYmplY3QgbGl0ZXJhbC5cclxuICogQHJldHVybnMgVXBkYXRlZCBvYmplY3QgbGl0ZXJhbCBzb3VyY2UgdGV4dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBvYmplY3RUZXh0ID0gYXBwbHlUZXh0UmVwbGFjZW1lbnRzKHRleHQsIHJlcGxhY2VtZW50cywgb2Zmc2V0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBhcHBseVRleHRSZXBsYWNlbWVudHMoXHJcbiAgdGV4dDogc3RyaW5nLFxyXG4gIHJlcGxhY2VtZW50czogcmVhZG9ubHkgUHJvcGVydHlSZXBsYWNlbWVudFtdLFxyXG4gIG9mZnNldDogbnVtYmVyLFxyXG4pOiBzdHJpbmcge1xyXG4gIGxldCBjdXJyZW50VGV4dCA9IHRleHQ7XHJcblxyXG4gIGZvciAoY29uc3QgcmVwbGFjZW1lbnQgb2YgcmVwbGFjZW1lbnRzLnRvU29ydGVkKFxyXG4gICAgKGxlZnQsIHJpZ2h0KSA9PiByaWdodC5yYW5nZVswXSAtIGxlZnQucmFuZ2VbMF0sXHJcbiAgKSkge1xyXG4gICAgY29uc3Qgc3RhcnQgPSByZXBsYWNlbWVudC5yYW5nZVswXSAtIG9mZnNldDtcclxuICAgIGNvbnN0IGVuZCA9IHJlcGxhY2VtZW50LnJhbmdlWzFdIC0gb2Zmc2V0O1xyXG5cclxuICAgIGN1cnJlbnRUZXh0ID0gYCR7Y3VycmVudFRleHQuc2xpY2UoMCwgc3RhcnQpfSR7cmVwbGFjZW1lbnQucmVwbGFjZW1lbnRUZXh0fSR7Y3VycmVudFRleHQuc2xpY2UoZW5kKX1gO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGN1cnJlbnRUZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQnVpbGRzIHRoZSByZXBsYWNlbWVudCBlbnRyeSB3aGVuIGEgcHJvcGVydHkncyBzb3VyY2UgdGV4dCBtdXN0IGNoYW5nZS5cclxuICogQHBhcmFtIGNvbnRleHQgRGF0YSBuZWVkZWQgdG8gcmV3cml0ZSBvbmUgc3VwcG9ydGVkIG9iamVjdCBwcm9wZXJ0eS5cclxuICogQHJldHVybnMgUmVwbGFjZW1lbnQgZGV0YWlscyB3aGVuIHRoZSBwcm9wZXJ0eSB0ZXh0IGNoYW5nZXMuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcmVwbGFjZW1lbnQgPSBidWlsZFByb3BlcnR5UmVwbGFjZW1lbnQoY29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50KFxyXG4gIGNvbnRleHQ6IEJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbnRleHQsXHJcbik6IFByb3BlcnR5UmVwbGFjZW1lbnQgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHJlcGxhY2VtZW50VGV4dCA9IGJ1aWxkUmVwbGFjZW1lbnRUZXh0KGNvbnRleHQpO1xyXG4gIGNvbnN0IHByb3BlcnR5UmFuZ2UgPSBjb250ZXh0LnByb3BlcnR5LnJhbmdlO1xyXG4gIGNvbnN0IG9yaWdpbmFsVGV4dCA9IGNvbnRleHQuc291cmNlVGV4dC5zbGljZShcclxuICAgIHByb3BlcnR5UmFuZ2VbMF0sXHJcbiAgICBwcm9wZXJ0eVJhbmdlWzFdLFxyXG4gICk7XHJcblxyXG4gIHJldHVybiBvcmlnaW5hbFRleHQgPT09IHJlcGxhY2VtZW50VGV4dFxyXG4gICAgPyB2b2lkIDBcclxuICAgIDogeyByYW5nZTogcHJvcGVydHlSYW5nZSwgcmVwbGFjZW1lbnRUZXh0IH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCdWlsZHMgdGhlIGZpbmFsIHNvdXJjZSB0ZXh0IGZvciBvbmUgb2JqZWN0IGxpdGVyYWwgcHJvcGVydHkuXHJcbiAqIEBwYXJhbSBjb250ZXh0IFByb3BlcnR5IHJlcGxhY2VtZW50IGNvbnRleHQuXHJcbiAqIEByZXR1cm5zIFJld3JpdHRlbiBwcm9wZXJ0eSB0ZXh0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlcGxhY2VtZW50VGV4dCA9IGJ1aWxkUmVwbGFjZW1lbnRUZXh0KGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUmVwbGFjZW1lbnRUZXh0KFxyXG4gIGNvbnRleHQ6IEJ1aWxkUHJvcGVydHlSZXBsYWNlbWVudENvbnRleHQsXHJcbik6IHN0cmluZyB7XHJcbiAgY29uc3QgeyBrZXlOYW1lLCBtb2R1bGVTcGVjaWZpZXIsIG5hbWVzcGFjZUFsaWFzLCBwcm9wZXJ0eSwgc291cmNlVGV4dCB9ID1cclxuICAgIGNvbnRleHQ7XHJcbiAgY29uc3QgYmFzZVZhbHVlID0gdW53cmFwRXhwcmVzc2lvbihwcm9wZXJ0eS52YWx1ZSk7XHJcbiAgY29uc3QgYmFzZVZhbHVlVGV4dCA9IHNvdXJjZVRleHQuc2xpY2UoXHJcbiAgICBiYXNlVmFsdWUucmFuZ2VbMF0sXHJcbiAgICBiYXNlVmFsdWUucmFuZ2VbMV0sXHJcbiAgKTtcclxuICBjb25zdCBrZXlUZXh0ID0gc291cmNlVGV4dC5zbGljZShcclxuICAgIHByb3BlcnR5LmtleS5yYW5nZVswXSxcclxuICAgIHByb3BlcnR5LmtleS5yYW5nZVsxXSxcclxuICApO1xyXG4gIGNvbnN0IG5lZWRzQ2FzdCA9IGlzUHJvcGVydHlDYXN0UmVxdWlyZWQoY29udGV4dCwgYmFzZVZhbHVlKTtcclxuICBjb25zdCB2YWx1ZVRleHQgPSBuZWVkc0Nhc3RcclxuICAgID8gYCR7YmFzZVZhbHVlVGV4dH0gYXMgJHtnZXRQcm9wZXJ0eVR5cGVUZXh0KG1vZHVsZVNwZWNpZmllciwga2V5TmFtZSwgbmFtZXNwYWNlQWxpYXMpfWBcclxuICAgIDogYmFzZVZhbHVlVGV4dDtcclxuXHJcbiAgcmV0dXJuIGNhblVzZVNob3J0aGFuZCh7IGJhc2VWYWx1ZSwga2V5TmFtZSwgbmVlZHNDYXN0LCBwcm9wZXJ0eSB9KVxyXG4gICAgPyBrZXlOYW1lXHJcbiAgICA6IGAke2tleVRleHR9OiAke3ZhbHVlVGV4dH1gO1xyXG59XHJcblxyXG4vKipcclxuICogQnVpbGRzIHRoZSBpbXBvcnRlZCBwcm9wZXJ0eSB0eXBlIGV4cHJlc3Npb24gdXNlZCBmb3IgYSBuZXN0ZWQgY2FzdC5cclxuICogQHBhcmFtIG1vZHVsZVNwZWNpZmllciBTdGF0aWMgbW9kdWxlIHNwZWNpZmllciB1c2VkIGJ5IHRoZSBtb2NrLlxyXG4gKiBAcGFyYW0ga2V5TmFtZSBQcm9wZXJ0eSBuYW1lIGJlaW5nIGNhc3QuXHJcbiAqIEBwYXJhbSBuYW1lc3BhY2VBbGlhcyBOYW1lc3BhY2UgYWxpYXMgZm9yIHRoZSBtb2R1bGUsIHdoZW4gcHJlc2VudC5cclxuICogQHJldHVybnMgVHlwZSBleHByZXNzaW9uIGZvciB0aGUgaW1wb3J0ZWQgcHJvcGVydHkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcHJvcGVydHlUeXBlID0gZ2V0UHJvcGVydHlUeXBlVGV4dChcImZpeHR1cmUtbW9kdWxlXCIsIFwicGFyc2VyXCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFByb3BlcnR5VHlwZVRleHQoXHJcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXHJcbiAga2V5TmFtZTogc3RyaW5nLFxyXG4gIG5hbWVzcGFjZUFsaWFzPzogc3RyaW5nLFxyXG4pOiBzdHJpbmcge1xyXG4gIGNvbnN0IG1vZHVsZVJlZmVyZW5jZSA9XHJcbiAgICBuYW1lc3BhY2VBbGlhcyA9PT0gdm9pZCAwXHJcbiAgICAgID8gYGltcG9ydCgke0pTT04uc3RyaW5naWZ5KG1vZHVsZVNwZWNpZmllcil9KWBcclxuICAgICAgOiBuYW1lc3BhY2VBbGlhcztcclxuXHJcbiAgcmV0dXJuIGB0eXBlb2YgJHttb2R1bGVSZWZlcmVuY2V9WyR7SlNPTi5zdHJpbmdpZnkoa2V5TmFtZSl9XWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBwcm9wZXJ0eSB2YWx1ZSBzdGlsbCBuZWVkcyBhIG5lc3RlZCBjYXN0LlxyXG4gKiBAcGFyYW0gY29udGV4dCBQcm9wZXJ0eSByZXBsYWNlbWVudCBjb250ZXh0LlxyXG4gKiBAcGFyYW0gYmFzZVZhbHVlIFVud3JhcHBlZCBwcm9wZXJ0eSB2YWx1ZSBleHByZXNzaW9uLlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHByb3BlcnR5IHZhbHVlIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHRoZSB0YXJnZXQgdHlwZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBuZWVkc0Nhc3QgPSBpc1Byb3BlcnR5Q2FzdFJlcXVpcmVkKGNvbnRleHQsIGJhc2VWYWx1ZSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNQcm9wZXJ0eUNhc3RSZXF1aXJlZChcclxuICBjb250ZXh0OiBCdWlsZFByb3BlcnR5UmVwbGFjZW1lbnRDb250ZXh0LFxyXG4gIGJhc2VWYWx1ZTogQnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50Q29udGV4dFtcInByb3BlcnR5XCJdW1widmFsdWVcIl0sXHJcbik6IGJvb2xlYW4ge1xyXG4gIGNvbnN0IHRzQmFzZVZhbHVlTm9kZSA9IGNvbnRleHQuc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChiYXNlVmFsdWUpO1xyXG4gIGNvbnN0IHRzUHJvcGVydHlLZXlOb2RlID0gY29udGV4dC5zZXJ2aWNlcy5lc1RyZWVOb2RlVG9UU05vZGVNYXAuZ2V0KFxyXG4gICAgY29udGV4dC5wcm9wZXJ0eS5rZXksXHJcbiAgKTtcclxuICBjb25zdCBzb3VyY2VUeXBlID0gY29udGV4dC5jaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzQmFzZVZhbHVlTm9kZSk7XHJcbiAgY29uc3QgcHJvcGVydHlUYXJnZXRUeXBlID0gY29udGV4dC5jaGVja2VyLmdldFR5cGVPZlN5bWJvbEF0TG9jYXRpb24oXHJcbiAgICBjb250ZXh0LnRhcmdldFByb3BlcnR5U3ltYm9sLFxyXG4gICAgdHNQcm9wZXJ0eUtleU5vZGUsXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuICFjb250ZXh0LmNoZWNrZXIuaXNUeXBlQXNzaWduYWJsZVRvKHNvdXJjZVR5cGUsIHByb3BlcnR5VGFyZ2V0VHlwZSk7XHJcbn1cclxuXHJcbmV4cG9ydCB7IGFwcGx5VGV4dFJlcGxhY2VtZW50cywgYnVpbGRQcm9wZXJ0eVJlcGxhY2VtZW50IH07XHJcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkEnC,mFAAmF;AACnF,QAAA,MAAM,gCAAgC,EAwDrB,IAAI,CAAC,UAAU,CAAC;AAEjC,OAAO,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -1,6 +1,30 @@
|
|
|
1
|
-
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
1
|
+
import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
|
|
2
2
|
import { createRuleDocumentation } from "../../custom-rule-documentation.js";
|
|
3
3
|
import { collectMatch } from "./match.js";
|
|
4
|
+
/**
|
|
5
|
+
* Builds a map of namespace import aliases for the current source file.
|
|
6
|
+
* @param sourceCode Source code object from the ESLint rule context.
|
|
7
|
+
* @returns Map of module specifier to namespace alias name.
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const namespaceImports = getNamespaceImports(context.sourceCode);
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
function getNamespaceImports(sourceCode) {
|
|
14
|
+
const result = new Map();
|
|
15
|
+
for (const node of sourceCode.ast.body) {
|
|
16
|
+
if (node.type === TSESTree.AST_NODE_TYPES.ImportDeclaration &&
|
|
17
|
+
typeof node.source.value === "string") {
|
|
18
|
+
for (const specifier of node.specifiers) {
|
|
19
|
+
if (specifier.type === TSESTree.AST_NODE_TYPES.ImportNamespaceSpecifier) {
|
|
20
|
+
result.set(node.source.value, specifier.local.name);
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
4
28
|
/**
|
|
5
29
|
* Resolves TypeScript parser services when the rule runs on a typed file.
|
|
6
30
|
* @param context ESLint rule context.
|
|
@@ -27,11 +51,13 @@ const preferVitestIncrementalCastsRule = ESLintUtils.RuleCreator.withoutDocs({
|
|
|
27
51
|
}
|
|
28
52
|
const checker = services.program.getTypeChecker();
|
|
29
53
|
const sourceText = context.sourceCode.text;
|
|
54
|
+
const namespaceImports = getNamespaceImports(context.sourceCode);
|
|
30
55
|
return {
|
|
31
56
|
CallExpression(node) {
|
|
32
57
|
const match = collectMatch({
|
|
33
58
|
callExpression: node,
|
|
34
59
|
checker,
|
|
60
|
+
namespaceImports,
|
|
35
61
|
services,
|
|
36
62
|
sourceText,
|
|
37
63
|
});
|
|
@@ -59,4 +85,4 @@ const preferVitestIncrementalCastsRule = ESLintUtils.RuleCreator.withoutDocs({
|
|
|
59
85
|
name: "prefer-vitest-incremental-casts",
|
|
60
86
|
});
|
|
61
87
|
export { preferVitestIncrementalCastsRule };
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdml0ZXN0LWluY3JlbWVudGFsLWNhc3RzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZDOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsVUFBMEM7SUFFMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFFekMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQ0UsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQjtZQUN2RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFDckMsQ0FBQztZQUNELEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxJQUNFLFNBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFDbkUsQ0FBQztvQkFDRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BELE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsaUJBQWlCLENBQ3hCLE9BQXlCO0lBRXpCLElBQUksQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7QUFDSCxDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sZ0NBQWdDLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBRzFFO0lBQ0EsTUFBTSxDQUFDLE9BQU87UUFDWixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1QyxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDM0MsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakUsT0FBTztZQUNMLGNBQWMsQ0FBQyxJQUFJO2dCQUNqQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUM7b0JBQ3pCLGNBQWMsRUFBRSxJQUFJO29CQUNwQixPQUFPO29CQUNQLGdCQUFnQjtvQkFDaEIsUUFBUTtvQkFDUixVQUFVO2lCQUNYLENBQUMsQ0FBQztnQkFFSCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNyQixPQUFPO2dCQUNULENBQUM7Z0JBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNiLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsS0FBSyxDQUFDLHFCQUFxQixFQUMzQixLQUFLLENBQUMsZUFBZSxDQUN0QjtvQkFDSCxTQUFTLEVBQUUsOEJBQThCO29CQUN6QyxJQUFJO2lCQUNMLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELGNBQWMsRUFBRSxFQUFFO0lBQ2xCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSx1QkFBdUIsQ0FDM0IsaUNBQWlDLEVBQ2pDLG1IQUFtSCxDQUNwSDtRQUNELE9BQU8sRUFBRSxNQUFNO1FBQ2YsUUFBUSxFQUFFO1lBQ1IsNEJBQTRCLEVBQzFCLG1HQUFtRztTQUN0RztRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7SUFDRCxJQUFJLEVBQUUsaUNBQWlDO0NBQ3hDLENBQStCLENBQUM7QUFFakMsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IEVTTGludFV0aWxzLCBUU0VTVHJlZSB9IGZyb20gXCJAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHNcIjtcblxuaW1wb3J0IHR5cGUge1xuICBNZXNzYWdlSWRzLFxuICBPcHRpb25zLFxuICBQYXJzZXJTZXJ2aWNlcyxcbiAgVHlwZWRSdWxlQ29udGV4dCxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHsgY3JlYXRlUnVsZURvY3VtZW50YXRpb24gfSBmcm9tIFwiLi4vLi4vY3VzdG9tLXJ1bGUtZG9jdW1lbnRhdGlvblwiO1xuaW1wb3J0IHsgY29sbGVjdE1hdGNoIH0gZnJvbSBcIi4vbWF0Y2hcIjtcblxuLyoqXG4gKiBCdWlsZHMgYSBtYXAgb2YgbmFtZXNwYWNlIGltcG9ydCBhbGlhc2VzIGZvciB0aGUgY3VycmVudCBzb3VyY2UgZmlsZS5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZSBjb2RlIG9iamVjdCBmcm9tIHRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHJldHVybnMgTWFwIG9mIG1vZHVsZSBzcGVjaWZpZXIgdG8gbmFtZXNwYWNlIGFsaWFzIG5hbWUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmFtZXNwYWNlSW1wb3J0cyA9IGdldE5hbWVzcGFjZUltcG9ydHMoY29udGV4dC5zb3VyY2VDb2RlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXROYW1lc3BhY2VJbXBvcnRzKFxuICBzb3VyY2VDb2RlOiBUeXBlZFJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXSxcbik6IFJlYWRvbmx5TWFwPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgZm9yIChjb25zdCBub2RlIG9mIHNvdXJjZUNvZGUuYXN0LmJvZHkpIHtcbiAgICBpZiAoXG4gICAgICBub2RlLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkltcG9ydERlY2xhcmF0aW9uICYmXG4gICAgICB0eXBlb2Ygbm9kZS5zb3VyY2UudmFsdWUgPT09IFwic3RyaW5nXCJcbiAgICApIHtcbiAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIG5vZGUuc3BlY2lmaWVycykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgc3BlY2lmaWVyLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQuc2V0KG5vZGUuc291cmNlLnZhbHVlLCBzcGVjaWZpZXIubG9jYWwubmFtZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIFR5cGVTY3JpcHQgcGFyc2VyIHNlcnZpY2VzIHdoZW4gdGhlIHJ1bGUgcnVucyBvbiBhIHR5cGVkIGZpbGUuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHJldHVybnMgUGFyc2VyIHNlcnZpY2VzIHdoZW4gVHlwZVNjcmlwdCBzZXJ2aWNlcyBhcmUgYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNlcnZpY2VzID0gZ2V0UGFyc2VyU2VydmljZXMoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0UGFyc2VyU2VydmljZXMoXG4gIGNvbnRleHQ6IFR5cGVkUnVsZUNvbnRleHQsXG4pOiBQYXJzZXJTZXJ2aWNlcyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEVTTGludFV0aWxzLmdldFBhcnNlclNlcnZpY2VzKGNvbnRleHQpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG59XG5cbi8qKiBFbmZvcmNlcyBtaW5pbWFsIG5lc3RlZCBjYXN0cyBmb3IgYHZpLm1vY2tgIGFuZCBgdmkuZG9Nb2NrYCBmYWN0b3J5IG9iamVjdHMuICovXG5jb25zdCBwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzUnVsZSA9IEVTTGludFV0aWxzLlJ1bGVDcmVhdG9yLndpdGhvdXREb2NzPFxuICBPcHRpb25zLFxuICBNZXNzYWdlSWRzXG4+KHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBzZXJ2aWNlcyA9IGdldFBhcnNlclNlcnZpY2VzKGNvbnRleHQpO1xuXG4gICAgaWYgKHNlcnZpY2VzID09PSB2b2lkIDAgfHwgc2VydmljZXMucHJvZ3JhbSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrZXIgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gICAgY29uc3Qgc291cmNlVGV4dCA9IGNvbnRleHQuc291cmNlQ29kZS50ZXh0O1xuICAgIGNvbnN0IG5hbWVzcGFjZUltcG9ydHMgPSBnZXROYW1lc3BhY2VJbXBvcnRzKGNvbnRleHQuc291cmNlQ29kZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXRjaCA9IGNvbGxlY3RNYXRjaCh7XG4gICAgICAgICAgY2FsbEV4cHJlc3Npb246IG5vZGUsXG4gICAgICAgICAgY2hlY2tlcixcbiAgICAgICAgICBuYW1lc3BhY2VJbXBvcnRzLFxuICAgICAgICAgIHNlcnZpY2VzLFxuICAgICAgICAgIHNvdXJjZVRleHQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChtYXRjaCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGZpeDogKGZpeGVyKSA9PlxuICAgICAgICAgICAgZml4ZXIucmVwbGFjZVRleHRSYW5nZShcbiAgICAgICAgICAgICAgbWF0Y2gucmV0dXJuRXhwcmVzc2lvblJhbmdlLFxuICAgICAgICAgICAgICBtYXRjaC5yZXBsYWNlbWVudFRleHQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIG1lc3NhZ2VJZDogXCJwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzXCIsXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG4gIGRlZmF1bHRPcHRpb25zOiBbXSxcbiAgbWV0YToge1xuICAgIGRvY3M6IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uKFxuICAgICAgXCJwcmVmZXItdml0ZXN0LWluY3JlbWVudGFsLWNhc3RzXCIsXG4gICAgICBcIlByZWZlciBtaW5pbWFsIG5lc3RlZCBjYXN0cyBpbiB2aS5tb2NrL3ZpLmRvTW9jayBmYWN0b3J5IHJldHVybiBvYmplY3RzIHdoZW4gVHlwZVNjcmlwdCByZWplY3RzIHRoZSBtb2R1bGUgc2hhcGUuXCIsXG4gICAgKSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBtZXNzYWdlczoge1xuICAgICAgcHJlZmVyVml0ZXN0SW5jcmVtZW50YWxDYXN0czpcbiAgICAgICAgXCJOb3JtYWxpemUgdGhlIG1vY2sgZmFjdG9yeSB0byB0aGUgc21hbGxlc3Qgc3RhYmxlIHNldCBvZiBuZXN0ZWQgY2FzdHMgbmVlZGVkIGZvciB0aGUgbW9kdWxlIHR5cGUuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwic3VnZ2VzdGlvblwiLFxuICB9LFxuICBuYW1lOiBcInByZWZlci12aXRlc3QtaW5jcmVtZW50YWwtY2FzdHNcIixcbn0pIGFzIHVua25vd24gYXMgUnVsZS5SdWxlTW9kdWxlO1xuXG5leHBvcnQgeyBwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzUnVsZSB9O1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/type-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/type-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,KAAK,EACV,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,SAAS,CAAC;AA4KjB;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAE/D;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAC/B,OAAO,EAAE,+BAA+B,GACvC,EAAE,CAAC,IAAI,GAAG,SAAS,CAKrB;AAED,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -110,4 +110,4 @@ function resolveFactoryTargetType(context) {
|
|
|
110
110
|
getSignatureFactoryTargetType(context));
|
|
111
111
|
}
|
|
112
112
|
export { isOuterCastRequired, resolveFactoryTargetType };
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi90ZXN0aW5nL3ByZWZlci12aXRlc3QtaW5jcmVtZW50YWwtY2FzdHMvdHlwZS1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFTM0MsT0FBTyxFQUNMLG1CQUFtQixJQUFJLHVCQUF1QixFQUM5Qyx1QkFBdUIsRUFDdkIsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDhCQUE4QixDQUNyQyxPQUF3QztJQUV4QyxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUV4RCxPQUFPLHVCQUF1QixDQUM1QixPQUFPLEVBQ1AsT0FBTyxDQUFDLGlCQUFpQixDQUN2QixRQUFRLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQ3JELENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsOEJBQThCLENBQ3JDLE9BQTJDO0lBRTNDLE1BQU0sRUFDSixPQUFPLEVBQ1AsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLEdBQUcsT0FBTyxDQUFDO0lBQ1osTUFBTSxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRXpFLElBQUksa0JBQWtCLEtBQUssS0FBSyxDQUFDLElBQUksZ0JBQWdCLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRSxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FDOUQsa0JBQWtCLEVBQ2xCLGFBQWEsQ0FDZCxDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7UUFDM0UsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyx3QkFBd0IsQ0FDN0IsT0FBTyxFQUNQLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUN2RSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyw2QkFBNkIsQ0FDcEMsT0FBd0M7SUFFeEMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5RCxJQUFJLG9CQUFvQixLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUN6RCxvQkFBb0IsQ0FBQyxVQUFVLEVBQy9CLGFBQWEsQ0FBQyxJQUFJLENBQ25CLEVBQUUsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLDhCQUE4QixDQUFDO1lBQ2hELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixhQUFhLEVBQUUsb0JBQW9CLENBQUMsYUFBYTtZQUNqRCxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUI7WUFDekQsU0FBUztZQUNULGlCQUFpQixFQUFFLG9CQUFvQixDQUFDLGlCQUFpQjtTQUMxRCxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHVCQUF1QixDQUM5QixPQUF3QztJQUV4QyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUNqRSxPQUFPLENBQUMsY0FBYyxDQUN2QixDQUFDO0lBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUVuRCxJQUFJLGFBQWEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU87UUFDTCxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7UUFDMUUsYUFBYTtRQUNiLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO1FBQ25FLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUMzRCxPQUFPLENBQUMsZUFBZSxDQUN4QjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG1CQUFtQixDQUFDLE9BQXlCO0lBQ3BELE9BQU8sdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx3QkFBd0IsQ0FDL0IsT0FBd0M7SUFFeEMsT0FBTyxDQUNMLDhCQUE4QixDQUFDLE9BQU8sQ0FBQztRQUN2Qyw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcclxuXHJcbmltcG9ydCB7IFNpZ25hdHVyZUtpbmQgfSBmcm9tIFwidHlwZXNjcmlwdFwiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG4gIE1hdGNoaW5nU2lnbmF0dXJlUmV0dXJuVHlwZUNvbnRleHQsXHJcbiAgT3V0ZXJDYXN0Q29udGV4dCxcclxuICBSZXNvbHZlRmFjdG9yeVRhcmdldFR5cGVDb250ZXh0LFxyXG4gIFNpZ25hdHVyZU1hdGNoSW5wdXRzLFxyXG59IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIGlzT3V0ZXJDYXN0UmVxdWlyZWQgYXMgaXNPdXRlckNhc3RSZXF1aXJlZEltcGwsXHJcbiAgbm9ybWFsaXplT2JqZWN0TGlrZVR5cGUsXHJcbiAgcmVzb2x2ZUZhY3RvcnlSZXR1cm5UeXBlLFxyXG59IGZyb20gXCIuL3R5cGUtc2hhcGUtaGVscGVyc1wiO1xyXG5cclxuLyoqXHJcbiAqIFJlYWRzIHRoZSBjb250ZXh0dWFsIHR5cGUgYXNzaWduZWQgdG8gdGhlIHJldHVybmVkIG1vY2sgb2JqZWN0IGxpdGVyYWwuXHJcbiAqIEBwYXJhbSBjb250ZXh0IFR5cGUtcmVzb2x1dGlvbiBpbnB1dHMgZm9yIHRoZSBjdXJyZW50IG1vY2sgZmFjdG9yeS5cclxuICogQHJldHVybnMgQ29udGV4dHVhbCBvYmplY3QtbGlrZSB0eXBlIHdoZW4gVHlwZVNjcmlwdCBwcm92aWRlcyBvbmUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgdGFyZ2V0VHlwZSA9IGdldENvbnRleHR1YWxGYWN0b3J5VGFyZ2V0VHlwZShjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRDb250ZXh0dWFsRmFjdG9yeVRhcmdldFR5cGUoXHJcbiAgY29udGV4dDogUmVzb2x2ZUZhY3RvcnlUYXJnZXRUeXBlQ29udGV4dCxcclxuKTogdHMuVHlwZSB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgeyBjaGVja2VyLCBvYmplY3RFeHByZXNzaW9uLCBzZXJ2aWNlcyB9ID0gY29udGV4dDtcclxuXHJcbiAgcmV0dXJuIG5vcm1hbGl6ZU9iamVjdExpa2VUeXBlKFxyXG4gICAgY2hlY2tlcixcclxuICAgIGNoZWNrZXIuZ2V0Q29udGV4dHVhbFR5cGUoXHJcbiAgICAgIHNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQob2JqZWN0RXhwcmVzc2lvbiksXHJcbiAgICApLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyB0aGUgZmFjdG9yeSByZXR1cm4gdHlwZSBmb3Igb25lIGNvbXBhdGlibGUgbW9jayBzaWduYXR1cmUuXHJcbiAqIEBwYXJhbSBjb250ZXh0IElucHV0cyByZXF1aXJlZCB0byBpbnNwZWN0IG9uZSBjYWxsYWJsZSBzaWduYXR1cmUuXHJcbiAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgb2JqZWN0LWxpa2UgcmV0dXJuIHR5cGUgd2hlbiB0aGUgc2lnbmF0dXJlIG1hdGNoZXMuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcmV0dXJuVHlwZSA9IGdldE1hdGNoaW5nU2lnbmF0dXJlUmV0dXJuVHlwZShjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRNYXRjaGluZ1NpZ25hdHVyZVJldHVyblR5cGUoXHJcbiAgY29udGV4dDogTWF0Y2hpbmdTaWduYXR1cmVSZXR1cm5UeXBlQ29udGV4dCxcclxuKTogdHMuVHlwZSB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3Qge1xyXG4gICAgY2hlY2tlcixcclxuICAgIGZpcnN0QXJndW1lbnQsXHJcbiAgICBmaXJzdEFyZ3VtZW50VHlwZSxcclxuICAgIHNpZ25hdHVyZSxcclxuICAgIHRzRmFjdG9yeUFyZ3VtZW50LFxyXG4gIH0gPSBjb250ZXh0O1xyXG4gIGNvbnN0IFtzcGVjaWZpZXJQYXJhbWV0ZXIsIGZhY3RvcnlQYXJhbWV0ZXJdID0gc2lnbmF0dXJlLmdldFBhcmFtZXRlcnMoKTtcclxuXHJcbiAgaWYgKHNwZWNpZmllclBhcmFtZXRlciA9PT0gdm9pZCAwIHx8IGZhY3RvcnlQYXJhbWV0ZXIgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHNwZWNpZmllclBhcmFtZXRlclR5cGUgPSBjaGVja2VyLmdldFR5cGVPZlN5bWJvbEF0TG9jYXRpb24oXHJcbiAgICBzcGVjaWZpZXJQYXJhbWV0ZXIsXHJcbiAgICBmaXJzdEFyZ3VtZW50LFxyXG4gICk7XHJcblxyXG4gIGlmICghY2hlY2tlci5pc1R5cGVBc3NpZ25hYmxlVG8oZmlyc3RBcmd1bWVudFR5cGUsIHNwZWNpZmllclBhcmFtZXRlclR5cGUpKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlc29sdmVGYWN0b3J5UmV0dXJuVHlwZShcclxuICAgIGNoZWNrZXIsXHJcbiAgICBjaGVja2VyLmdldFR5cGVPZlN5bWJvbEF0TG9jYXRpb24oZmFjdG9yeVBhcmFtZXRlciwgdHNGYWN0b3J5QXJndW1lbnQpLFxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyBhIHRhcmdldCB0eXBlIGJ5IG1hdGNoaW5nIHRoZSBtb2NrIGNhbGwgYWdhaW5zdCBjYWxsYWJsZSBzaWduYXR1cmVzLlxyXG4gKiBAcGFyYW0gY29udGV4dCBUeXBlLXJlc29sdXRpb24gaW5wdXRzIGZvciB0aGUgY3VycmVudCBtb2NrIGZhY3RvcnkuXHJcbiAqIEByZXR1cm5zIE9iamVjdC1saWtlIHJldHVybiB0eXBlIGluZmVycmVkIGZyb20gdGhlIG1hdGNoZWQgc2lnbmF0dXJlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHRhcmdldFR5cGUgPSBnZXRTaWduYXR1cmVGYWN0b3J5VGFyZ2V0VHlwZShjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRTaWduYXR1cmVGYWN0b3J5VGFyZ2V0VHlwZShcclxuICBjb250ZXh0OiBSZXNvbHZlRmFjdG9yeVRhcmdldFR5cGVDb250ZXh0LFxyXG4pOiB0cy5UeXBlIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBzaWduYXR1cmVNYXRjaElucHV0cyA9IGdldFNpZ25hdHVyZU1hdGNoSW5wdXRzKGNvbnRleHQpO1xyXG5cclxuICBpZiAoc2lnbmF0dXJlTWF0Y2hJbnB1dHMgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3Qgc2lnbmF0dXJlIG9mIGNvbnRleHQuY2hlY2tlci5nZXRTaWduYXR1cmVzT2ZUeXBlKFxyXG4gICAgc2lnbmF0dXJlTWF0Y2hJbnB1dHMuY2FsbGVlVHlwZSxcclxuICAgIFNpZ25hdHVyZUtpbmQuQ2FsbCxcclxuICApKSB7XHJcbiAgICBjb25zdCByZXR1cm5UeXBlID0gZ2V0TWF0Y2hpbmdTaWduYXR1cmVSZXR1cm5UeXBlKHtcclxuICAgICAgY2hlY2tlcjogY29udGV4dC5jaGVja2VyLFxyXG4gICAgICBmaXJzdEFyZ3VtZW50OiBzaWduYXR1cmVNYXRjaElucHV0cy5maXJzdEFyZ3VtZW50LFxyXG4gICAgICBmaXJzdEFyZ3VtZW50VHlwZTogc2lnbmF0dXJlTWF0Y2hJbnB1dHMuZmlyc3RBcmd1bWVudFR5cGUsXHJcbiAgICAgIHNpZ25hdHVyZSxcclxuICAgICAgdHNGYWN0b3J5QXJndW1lbnQ6IHNpZ25hdHVyZU1hdGNoSW5wdXRzLnRzRmFjdG9yeUFyZ3VtZW50LFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHJldHVyblR5cGUgIT09IHZvaWQgMCkge1xyXG4gICAgICByZXR1cm4gcmV0dXJuVHlwZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb2xsZWN0cyB0aGUgVHlwZVNjcmlwdCBub2RlcyBhbmQgdHlwZXMgbmVlZGVkIGZvciBzaWduYXR1cmUgbWF0Y2hpbmcuXHJcbiAqIEBwYXJhbSBjb250ZXh0IFR5cGUtcmVzb2x1dGlvbiBpbnB1dHMgZm9yIHRoZSBjdXJyZW50IG1vY2sgZmFjdG9yeS5cclxuICogQHJldHVybnMgTm9ybWFsaXplZCBzaWduYXR1cmUtbWF0Y2hpbmcgaW5wdXRzIHdoZW4gdGhlIGNhbGwgaGFzIGEgZmlyc3QgYXJndW1lbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgaW5wdXRzID0gZ2V0U2lnbmF0dXJlTWF0Y2hJbnB1dHMoY29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0U2lnbmF0dXJlTWF0Y2hJbnB1dHMoXHJcbiAgY29udGV4dDogUmVzb2x2ZUZhY3RvcnlUYXJnZXRUeXBlQ29udGV4dCxcclxuKTogU2lnbmF0dXJlTWF0Y2hJbnB1dHMgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHRzQ2FsbEV4cHJlc3Npb24gPSBjb250ZXh0LnNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoXHJcbiAgICBjb250ZXh0LmNhbGxFeHByZXNzaW9uLFxyXG4gICk7XHJcbiAgY29uc3QgW2ZpcnN0QXJndW1lbnRdID0gdHNDYWxsRXhwcmVzc2lvbi5hcmd1bWVudHM7XHJcblxyXG4gIGlmIChmaXJzdEFyZ3VtZW50ID09PSB2b2lkIDApIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2FsbGVlVHlwZTogY29udGV4dC5jaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzQ2FsbEV4cHJlc3Npb24uZXhwcmVzc2lvbiksXHJcbiAgICBmaXJzdEFyZ3VtZW50LFxyXG4gICAgZmlyc3RBcmd1bWVudFR5cGU6IGNvbnRleHQuY2hlY2tlci5nZXRUeXBlQXRMb2NhdGlvbihmaXJzdEFyZ3VtZW50KSxcclxuICAgIHRzRmFjdG9yeUFyZ3VtZW50OiBjb250ZXh0LnNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoXHJcbiAgICAgIGNvbnRleHQuZmFjdG9yeUFyZ3VtZW50LFxyXG4gICAgKSxcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBvYmplY3QgbGl0ZXJhbCBzdGlsbCBuZWVkcyBhbiBvdXRlciBjYXN0LlxyXG4gKiBAcGFyYW0gY29udGV4dCBEYXRhIHVzZWQgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIGZ1bGwgb2JqZWN0IG5lZWRzIGNhc3RpbmcuXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZnVsbCBvYmplY3Qgc3RpbGwgbmVlZHMgY2FzdGluZy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBuZWVkc091dGVyQ2FzdCA9IGlzT3V0ZXJDYXN0UmVxdWlyZWQoY29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gaXNPdXRlckNhc3RSZXF1aXJlZChjb250ZXh0OiBPdXRlckNhc3RDb250ZXh0KTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIGlzT3V0ZXJDYXN0UmVxdWlyZWRJbXBsKGNvbnRleHQpO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzb2x2ZXMgdGhlIHRhcmdldCB0eXBlIHRoZSBmYWN0b3J5IG9iamVjdCBzaG91bGQgc2F0aXNmeS5cclxuICogQHBhcmFtIGNvbnRleHQgVHlwZS1yZXNvbHV0aW9uIGlucHV0cyBmb3IgdGhlIGN1cnJlbnQgbW9jayBmYWN0b3J5LlxyXG4gKiBAcmV0dXJucyBUYXJnZXQgdHlwZSBmb3IgdGhlIHJld3JpdHRlbiBvYmplY3QgbGl0ZXJhbC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0YXJnZXRUeXBlID0gcmVzb2x2ZUZhY3RvcnlUYXJnZXRUeXBlKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIHJlc29sdmVGYWN0b3J5VGFyZ2V0VHlwZShcclxuICBjb250ZXh0OiBSZXNvbHZlRmFjdG9yeVRhcmdldFR5cGVDb250ZXh0LFxyXG4pOiB0cy5UeXBlIHwgdW5kZWZpbmVkIHtcclxuICByZXR1cm4gKFxyXG4gICAgZ2V0Q29udGV4dHVhbEZhY3RvcnlUYXJnZXRUeXBlKGNvbnRleHQpID8/XHJcbiAgICBnZXRTaWduYXR1cmVGYWN0b3J5VGFyZ2V0VHlwZShjb250ZXh0KVxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCB7IGlzT3V0ZXJDYXN0UmVxdWlyZWQsIHJlc29sdmVGYWN0b3J5VGFyZ2V0VHlwZSB9O1xyXG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi90ZXN0aW5nL3ByZWZlci12aXRlc3QtaW5jcmVtZW50YWwtY2FzdHMvdHlwZS1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFPM0MsT0FBTyxFQUNMLG1CQUFtQixJQUFJLHVCQUF1QixFQUM5Qyx1QkFBdUIsRUFDdkIsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFtQzlCOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyw4QkFBOEIsQ0FDckMsT0FBd0M7SUFFeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFeEQsT0FBTyx1QkFBdUIsQ0FDNUIsT0FBTyxFQUNQLE9BQU8sQ0FBQyxpQkFBaUIsQ0FDdkIsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNyRCxDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDhCQUE4QixDQUNyQyxPQUEyQztJQUUzQyxNQUFNLEVBQ0osT0FBTyxFQUNQLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixHQUFHLE9BQU8sQ0FBQztJQUNaLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUV6RSxJQUFJLGtCQUFrQixLQUFLLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakUsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQzlELGtCQUFrQixFQUNsQixhQUFhLENBQ2QsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1FBQzNFLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sd0JBQXdCLENBQzdCLE9BQU8sRUFDUCxPQUFPLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsQ0FDdkUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsNkJBQTZCLENBQ3BDLE9BQXdDO0lBRXhDLE1BQU0sb0JBQW9CLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUQsSUFBSSxvQkFBb0IsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssTUFBTSxTQUFTLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDekQsb0JBQW9CLENBQUMsVUFBVSxFQUMvQixhQUFhLENBQUMsSUFBSSxDQUNuQixFQUFFLENBQUM7UUFDRixNQUFNLFVBQVUsR0FBRyw4QkFBOEIsQ0FBQztZQUNoRCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsYUFBYSxFQUFFLG9CQUFvQixDQUFDLGFBQWE7WUFDakQsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsaUJBQWlCO1lBQ3pELFNBQVM7WUFDVCxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUI7U0FDMUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx1QkFBdUIsQ0FDOUIsT0FBd0M7SUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FDakUsT0FBTyxDQUFDLGNBQWMsQ0FDdkIsQ0FBQztJQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFFbkQsSUFBSSxhQUFhLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPO1FBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1FBQzFFLGFBQWE7UUFDYixpQkFBaUIsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztRQUNuRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FDM0QsT0FBTyxDQUFDLGVBQWUsQ0FDeEI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxPQUF5QjtJQUNwRCxPQUFPLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLE9BQXdDO0lBRXhDLE9BQU8sQ0FDTCw4QkFBOEIsQ0FBQyxPQUFPLENBQUM7UUFDdkMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQ3ZDLENBQUM7QUFDSixDQUFDO0FBRUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XHJcblxyXG5pbXBvcnQgeyBTaWduYXR1cmVLaW5kIH0gZnJvbSBcInR5cGVzY3JpcHRcIjtcclxuXHJcbmltcG9ydCB0eXBlIHtcclxuICBPdXRlckNhc3RDb250ZXh0LFxyXG4gIFJlc29sdmVGYWN0b3J5VGFyZ2V0VHlwZUNvbnRleHQsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgaXNPdXRlckNhc3RSZXF1aXJlZCBhcyBpc091dGVyQ2FzdFJlcXVpcmVkSW1wbCxcclxuICBub3JtYWxpemVPYmplY3RMaWtlVHlwZSxcclxuICByZXNvbHZlRmFjdG9yeVJldHVyblR5cGUsXHJcbn0gZnJvbSBcIi4vdHlwZS1zaGFwZS1oZWxwZXJzXCI7XHJcblxyXG4vKiogQ29udGV4dCB1c2VkIHRvIGluc3BlY3Qgb25lIGNhbGxhYmxlIHNpZ25hdHVyZSBmb3IgYSBtb2NrIGZhY3RvcnkuICovXHJcbmludGVyZmFjZSBNYXRjaGluZ1NpZ25hdHVyZVJldHVyblR5cGVDb250ZXh0IHtcclxuICAvKiogVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIgdXNlZCBmb3IgYXNzaWduYWJpbGl0eSBjaGVja3MuICovXHJcbiAgY2hlY2tlcjogdHMuVHlwZUNoZWNrZXI7XHJcblxyXG4gIC8qKiBGaXJzdCBtb2NrLWNhbGwgYXJndW1lbnQgbm9kZS4gKi9cclxuICBmaXJzdEFyZ3VtZW50OiB0cy5Ob2RlO1xyXG5cclxuICAvKiogVHlwZSByZXNvbHZlZCBmb3IgdGhlIGZpcnN0IG1vY2stY2FsbCBhcmd1bWVudC4gKi9cclxuICBmaXJzdEFyZ3VtZW50VHlwZTogdHMuVHlwZTtcclxuXHJcbiAgLyoqIENhbGxhYmxlIHNpZ25hdHVyZSBiZWluZyBpbnNwZWN0ZWQuICovXHJcbiAgc2lnbmF0dXJlOiB0cy5TaWduYXR1cmU7XHJcblxyXG4gIC8qKiBUeXBlU2NyaXB0IG5vZGUgZm9yIHRoZSBmYWN0b3J5IGNhbGxiYWNrIGFyZ3VtZW50LiAqL1xyXG4gIHRzRmFjdG9yeUFyZ3VtZW50OiB0cy5Ob2RlO1xyXG59XHJcblxyXG4vKiogTm9ybWFsaXplZCBpbnB1dHMgdXNlZCB3aGVuIG1hdGNoaW5nIGNhbGxhYmxlIFZpdGVzdCBzaWduYXR1cmVzLiAqL1xyXG5pbnRlcmZhY2UgU2lnbmF0dXJlTWF0Y2hJbnB1dHMge1xyXG4gIC8qKiBUeXBlIHJlc29sdmVkIGZvciB0aGUgbW9jayBjYWxsZWUgZXhwcmVzc2lvbi4gKi9cclxuICBjYWxsZWVUeXBlOiB0cy5UeXBlO1xyXG5cclxuICAvKiogRmlyc3QgbW9jay1jYWxsIGFyZ3VtZW50IG5vZGUuICovXHJcbiAgZmlyc3RBcmd1bWVudDogdHMuTm9kZTtcclxuXHJcbiAgLyoqIFR5cGUgcmVzb2x2ZWQgZm9yIHRoZSBmaXJzdCBtb2NrLWNhbGwgYXJndW1lbnQuICovXHJcbiAgZmlyc3RBcmd1bWVudFR5cGU6IHRzLlR5cGU7XHJcblxyXG4gIC8qKiBUeXBlU2NyaXB0IG5vZGUgZm9yIHRoZSBmYWN0b3J5IGNhbGxiYWNrIGFyZ3VtZW50LiAqL1xyXG4gIHRzRmFjdG9yeUFyZ3VtZW50OiB0cy5Ob2RlO1xyXG59XHJcblxyXG4vKipcclxuICogUmVhZHMgdGhlIGNvbnRleHR1YWwgdHlwZSBhc3NpZ25lZCB0byB0aGUgcmV0dXJuZWQgbW9jayBvYmplY3QgbGl0ZXJhbC5cclxuICogQHBhcmFtIGNvbnRleHQgVHlwZS1yZXNvbHV0aW9uIGlucHV0cyBmb3IgdGhlIGN1cnJlbnQgbW9jayBmYWN0b3J5LlxyXG4gKiBAcmV0dXJucyBDb250ZXh0dWFsIG9iamVjdC1saWtlIHR5cGUgd2hlbiBUeXBlU2NyaXB0IHByb3ZpZGVzIG9uZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0YXJnZXRUeXBlID0gZ2V0Q29udGV4dHVhbEZhY3RvcnlUYXJnZXRUeXBlKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldENvbnRleHR1YWxGYWN0b3J5VGFyZ2V0VHlwZShcclxuICBjb250ZXh0OiBSZXNvbHZlRmFjdG9yeVRhcmdldFR5cGVDb250ZXh0LFxyXG4pOiB0cy5UeXBlIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCB7IGNoZWNrZXIsIG9iamVjdEV4cHJlc3Npb24sIHNlcnZpY2VzIH0gPSBjb250ZXh0O1xyXG5cclxuICByZXR1cm4gbm9ybWFsaXplT2JqZWN0TGlrZVR5cGUoXHJcbiAgICBjaGVja2VyLFxyXG4gICAgY2hlY2tlci5nZXRDb250ZXh0dWFsVHlwZShcclxuICAgICAgc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChvYmplY3RFeHByZXNzaW9uKSxcclxuICAgICksXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc29sdmVzIHRoZSBmYWN0b3J5IHJldHVybiB0eXBlIGZvciBvbmUgY29tcGF0aWJsZSBtb2NrIHNpZ25hdHVyZS5cclxuICogQHBhcmFtIGNvbnRleHQgSW5wdXRzIHJlcXVpcmVkIHRvIGluc3BlY3Qgb25lIGNhbGxhYmxlIHNpZ25hdHVyZS5cclxuICogQHJldHVybnMgTm9ybWFsaXplZCBvYmplY3QtbGlrZSByZXR1cm4gdHlwZSB3aGVuIHRoZSBzaWduYXR1cmUgbWF0Y2hlcy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCByZXR1cm5UeXBlID0gZ2V0TWF0Y2hpbmdTaWduYXR1cmVSZXR1cm5UeXBlKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldE1hdGNoaW5nU2lnbmF0dXJlUmV0dXJuVHlwZShcclxuICBjb250ZXh0OiBNYXRjaGluZ1NpZ25hdHVyZVJldHVyblR5cGVDb250ZXh0LFxyXG4pOiB0cy5UeXBlIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCB7XHJcbiAgICBjaGVja2VyLFxyXG4gICAgZmlyc3RBcmd1bWVudCxcclxuICAgIGZpcnN0QXJndW1lbnRUeXBlLFxyXG4gICAgc2lnbmF0dXJlLFxyXG4gICAgdHNGYWN0b3J5QXJndW1lbnQsXHJcbiAgfSA9IGNvbnRleHQ7XHJcbiAgY29uc3QgW3NwZWNpZmllclBhcmFtZXRlciwgZmFjdG9yeVBhcmFtZXRlcl0gPSBzaWduYXR1cmUuZ2V0UGFyYW1ldGVycygpO1xyXG5cclxuICBpZiAoc3BlY2lmaWVyUGFyYW1ldGVyID09PSB2b2lkIDAgfHwgZmFjdG9yeVBhcmFtZXRlciA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgc3BlY2lmaWVyUGFyYW1ldGVyVHlwZSA9IGNoZWNrZXIuZ2V0VHlwZU9mU3ltYm9sQXRMb2NhdGlvbihcclxuICAgIHNwZWNpZmllclBhcmFtZXRlcixcclxuICAgIGZpcnN0QXJndW1lbnQsXHJcbiAgKTtcclxuXHJcbiAgaWYgKCFjaGVja2VyLmlzVHlwZUFzc2lnbmFibGVUbyhmaXJzdEFyZ3VtZW50VHlwZSwgc3BlY2lmaWVyUGFyYW1ldGVyVHlwZSkpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVzb2x2ZUZhY3RvcnlSZXR1cm5UeXBlKFxyXG4gICAgY2hlY2tlcixcclxuICAgIGNoZWNrZXIuZ2V0VHlwZU9mU3ltYm9sQXRMb2NhdGlvbihmYWN0b3J5UGFyYW1ldGVyLCB0c0ZhY3RvcnlBcmd1bWVudCksXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc29sdmVzIGEgdGFyZ2V0IHR5cGUgYnkgbWF0Y2hpbmcgdGhlIG1vY2sgY2FsbCBhZ2FpbnN0IGNhbGxhYmxlIHNpZ25hdHVyZXMuXHJcbiAqIEBwYXJhbSBjb250ZXh0IFR5cGUtcmVzb2x1dGlvbiBpbnB1dHMgZm9yIHRoZSBjdXJyZW50IG1vY2sgZmFjdG9yeS5cclxuICogQHJldHVybnMgT2JqZWN0LWxpa2UgcmV0dXJuIHR5cGUgaW5mZXJyZWQgZnJvbSB0aGUgbWF0Y2hlZCBzaWduYXR1cmUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgdGFyZ2V0VHlwZSA9IGdldFNpZ25hdHVyZUZhY3RvcnlUYXJnZXRUeXBlKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFNpZ25hdHVyZUZhY3RvcnlUYXJnZXRUeXBlKFxyXG4gIGNvbnRleHQ6IFJlc29sdmVGYWN0b3J5VGFyZ2V0VHlwZUNvbnRleHQsXHJcbik6IHRzLlR5cGUgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHNpZ25hdHVyZU1hdGNoSW5wdXRzID0gZ2V0U2lnbmF0dXJlTWF0Y2hJbnB1dHMoY29udGV4dCk7XHJcblxyXG4gIGlmIChzaWduYXR1cmVNYXRjaElucHV0cyA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBzaWduYXR1cmUgb2YgY29udGV4dC5jaGVja2VyLmdldFNpZ25hdHVyZXNPZlR5cGUoXHJcbiAgICBzaWduYXR1cmVNYXRjaElucHV0cy5jYWxsZWVUeXBlLFxyXG4gICAgU2lnbmF0dXJlS2luZC5DYWxsLFxyXG4gICkpIHtcclxuICAgIGNvbnN0IHJldHVyblR5cGUgPSBnZXRNYXRjaGluZ1NpZ25hdHVyZVJldHVyblR5cGUoe1xyXG4gICAgICBjaGVja2VyOiBjb250ZXh0LmNoZWNrZXIsXHJcbiAgICAgIGZpcnN0QXJndW1lbnQ6IHNpZ25hdHVyZU1hdGNoSW5wdXRzLmZpcnN0QXJndW1lbnQsXHJcbiAgICAgIGZpcnN0QXJndW1lbnRUeXBlOiBzaWduYXR1cmVNYXRjaElucHV0cy5maXJzdEFyZ3VtZW50VHlwZSxcclxuICAgICAgc2lnbmF0dXJlLFxyXG4gICAgICB0c0ZhY3RvcnlBcmd1bWVudDogc2lnbmF0dXJlTWF0Y2hJbnB1dHMudHNGYWN0b3J5QXJndW1lbnQsXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAocmV0dXJuVHlwZSAhPT0gdm9pZCAwKSB7XHJcbiAgICAgIHJldHVybiByZXR1cm5UeXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbGxlY3RzIHRoZSBUeXBlU2NyaXB0IG5vZGVzIGFuZCB0eXBlcyBuZWVkZWQgZm9yIHNpZ25hdHVyZSBtYXRjaGluZy5cclxuICogQHBhcmFtIGNvbnRleHQgVHlwZS1yZXNvbHV0aW9uIGlucHV0cyBmb3IgdGhlIGN1cnJlbnQgbW9jayBmYWN0b3J5LlxyXG4gKiBAcmV0dXJucyBOb3JtYWxpemVkIHNpZ25hdHVyZS1tYXRjaGluZyBpbnB1dHMgd2hlbiB0aGUgY2FsbCBoYXMgYSBmaXJzdCBhcmd1bWVudC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBpbnB1dHMgPSBnZXRTaWduYXR1cmVNYXRjaElucHV0cyhjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRTaWduYXR1cmVNYXRjaElucHV0cyhcclxuICBjb250ZXh0OiBSZXNvbHZlRmFjdG9yeVRhcmdldFR5cGVDb250ZXh0LFxyXG4pOiBTaWduYXR1cmVNYXRjaElucHV0cyB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgdHNDYWxsRXhwcmVzc2lvbiA9IGNvbnRleHQuc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChcclxuICAgIGNvbnRleHQuY2FsbEV4cHJlc3Npb24sXHJcbiAgKTtcclxuICBjb25zdCBbZmlyc3RBcmd1bWVudF0gPSB0c0NhbGxFeHByZXNzaW9uLmFyZ3VtZW50cztcclxuXHJcbiAgaWYgKGZpcnN0QXJndW1lbnQgPT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBjYWxsZWVUeXBlOiBjb250ZXh0LmNoZWNrZXIuZ2V0VHlwZUF0TG9jYXRpb24odHNDYWxsRXhwcmVzc2lvbi5leHByZXNzaW9uKSxcclxuICAgIGZpcnN0QXJndW1lbnQsXHJcbiAgICBmaXJzdEFyZ3VtZW50VHlwZTogY29udGV4dC5jaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKGZpcnN0QXJndW1lbnQpLFxyXG4gICAgdHNGYWN0b3J5QXJndW1lbnQ6IGNvbnRleHQuc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChcclxuICAgICAgY29udGV4dC5mYWN0b3J5QXJndW1lbnQsXHJcbiAgICApLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIG9iamVjdCBsaXRlcmFsIHN0aWxsIG5lZWRzIGFuIG91dGVyIGNhc3QuXHJcbiAqIEBwYXJhbSBjb250ZXh0IERhdGEgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0aGUgZnVsbCBvYmplY3QgbmVlZHMgY2FzdGluZy5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmdWxsIG9iamVjdCBzdGlsbCBuZWVkcyBjYXN0aW5nLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG5lZWRzT3V0ZXJDYXN0ID0gaXNPdXRlckNhc3RSZXF1aXJlZChjb250ZXh0KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc091dGVyQ2FzdFJlcXVpcmVkKGNvbnRleHQ6IE91dGVyQ2FzdENvbnRleHQpOiBib29sZWFuIHtcclxuICByZXR1cm4gaXNPdXRlckNhc3RSZXF1aXJlZEltcGwoY29udGV4dCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyB0aGUgdGFyZ2V0IHR5cGUgdGhlIGZhY3Rvcnkgb2JqZWN0IHNob3VsZCBzYXRpc2Z5LlxyXG4gKiBAcGFyYW0gY29udGV4dCBUeXBlLXJlc29sdXRpb24gaW5wdXRzIGZvciB0aGUgY3VycmVudCBtb2NrIGZhY3RvcnkuXHJcbiAqIEByZXR1cm5zIFRhcmdldCB0eXBlIGZvciB0aGUgcmV3cml0dGVuIG9iamVjdCBsaXRlcmFsLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHRhcmdldFR5cGUgPSByZXNvbHZlRmFjdG9yeVRhcmdldFR5cGUoY29udGV4dCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gcmVzb2x2ZUZhY3RvcnlUYXJnZXRUeXBlKFxyXG4gIGNvbnRleHQ6IFJlc29sdmVGYWN0b3J5VGFyZ2V0VHlwZUNvbnRleHQsXHJcbik6IHRzLlR5cGUgfCB1bmRlZmluZWQge1xyXG4gIHJldHVybiAoXHJcbiAgICBnZXRDb250ZXh0dWFsRmFjdG9yeVRhcmdldFR5cGUoY29udGV4dCkgPz9cclxuICAgIGdldFNpZ25hdHVyZUZhY3RvcnlUYXJnZXRUeXBlKGNvbnRleHQpXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IHsgaXNPdXRlckNhc3RSZXF1aXJlZCwgcmVzb2x2ZUZhY3RvcnlUYXJnZXRUeXBlIH07XHJcbiJdfQ==
|