@cdklabs/eslint-plugin 1.3.2 → 1.3.4
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/lib/private/type-checkers.js +1 -1
- package/lib/rules/invalid-cfn-imports.js +6 -8
- package/lib/rules/no-core-construct.js +2 -3
- package/lib/rules/no-invalid-path.js +4 -5
- package/lib/rules/no-this-in-static.js +3 -5
- package/lib/rules/no-throw-default-error.js +2 -3
- package/package.json +10 -10
|
@@ -30,4 +30,4 @@ function matchEstree(type, details) {
|
|
|
30
30
|
...details,
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jaGVja2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcml2YXRlL3R5cGUtY2hlY2tlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSw0RUFBNEU7QUFDNUUsdURBQXVEOztBQUt2RCxnREFFQztBQUVELG9DQUVDO0FBRUQsc0RBRUM7QUFFRCwwQ0FFQztBQVVELGtDQUtDO0FBL0JELDJDQUEwQztBQUUxQyxTQUFnQixrQkFBa0IsQ0FBQyxDQUFrQjtJQUNuRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQWdCLFlBQVksQ0FBQyxDQUFrQjtJQUM3QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxPQUE4QztJQUNsRixPQUFPLFdBQVcsQ0FBMEIsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLE9BQU8sV0FBVyxDQUFvQixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFPRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBNEIsSUFBZSxFQUFFLE9BQXdCO0lBQzlGLE9BQU8sSUFBQSx1QkFBVyxFQUFDO1FBQ2pCLElBQUk7UUFDSixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRVNUcmVlIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgZHluYW1pY2FsbHkgdHlwZWQgKGZyb20gSmF2YVNjcmlwdCkgYW5kXG4vLyBgQHR5cGVzL2VzdHJlZWAgb25seSBhZGRzIGludGVyZmFjZSBkZWNsYXJhdGlvbnMsIG5vdCBoZWxwZXIgZnVuY3Rpb25zIHRvXG4vLyB0eXBlIGd1YXJkIG9iamVjdHMuIFRoZXJlZm9yZSwgd2UgbWFrZSBhIGJ1bmNoIGhlcmUuXG5cbmltcG9ydCB0eXBlICogYXMgZXN0cmVlIGZyb20gJ2VzdHJlZSc7XG5pbXBvcnQgeyBtYXRjaE9iamVjdCB9IGZyb20gJy4vbWF0Y2gtYXN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWVtYmVyRXhwcmVzc2lvbih4OiBlc3RyZWUuQmFzZU5vZGUpOiB4IGlzIGVzdHJlZS5NZW1iZXJFeHByZXNzaW9uIHtcbiAgcmV0dXJuIHgudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJZGVudGlmaWVyKHg6IGVzdHJlZS5CYXNlTm9kZSk6IHggaXMgZXN0cmVlLklkZW50aWZpZXIge1xuICByZXR1cm4geC50eXBlID09PSAnSWRlbnRpZmllcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaE1lbWJlckV4cHJlc3Npb24oZGV0YWlscz86IE5vZGVEZXRhaWxzPGVzdHJlZS5NZW1iZXJFeHByZXNzaW9uPikge1xuICByZXR1cm4gbWF0Y2hFc3RyZWU8ZXN0cmVlLk1lbWJlckV4cHJlc3Npb24+KCdNZW1iZXJFeHByZXNzaW9uJywgZGV0YWlscyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaElkZW50aWZpZXIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBtYXRjaEVzdHJlZTxlc3RyZWUuSWRlbnRpZmllcj4oJ0lkZW50aWZpZXInLCB7IG5hbWUgfSk7XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgYWRkaXRpb25hbCBub2RlIGZpZWxkcyAoZXhjZXB0IGl0cyB0eXBlKVxuICovXG50eXBlIE5vZGVEZXRhaWxzPFQgZXh0ZW5kcyBlc3RyZWUuQmFzZU5vZGU+
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jaGVja2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcml2YXRlL3R5cGUtY2hlY2tlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSw0RUFBNEU7QUFDNUUsdURBQXVEOztBQUt2RCxnREFFQztBQUVELG9DQUVDO0FBRUQsc0RBRUM7QUFFRCwwQ0FFQztBQVVELGtDQUtDO0FBL0JELDJDQUEwQztBQUUxQyxTQUFnQixrQkFBa0IsQ0FBQyxDQUFrQjtJQUNuRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQWdCLFlBQVksQ0FBQyxDQUFrQjtJQUM3QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxPQUE4QztJQUNsRixPQUFPLFdBQVcsQ0FBMEIsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLE9BQU8sV0FBVyxDQUFvQixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFPRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBNEIsSUFBZSxFQUFFLE9BQXdCO0lBQzlGLE9BQU8sSUFBQSx1QkFBVyxFQUFDO1FBQ2pCLElBQUk7UUFDSixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRVNUcmVlIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgZHluYW1pY2FsbHkgdHlwZWQgKGZyb20gSmF2YVNjcmlwdCkgYW5kXG4vLyBgQHR5cGVzL2VzdHJlZWAgb25seSBhZGRzIGludGVyZmFjZSBkZWNsYXJhdGlvbnMsIG5vdCBoZWxwZXIgZnVuY3Rpb25zIHRvXG4vLyB0eXBlIGd1YXJkIG9iamVjdHMuIFRoZXJlZm9yZSwgd2UgbWFrZSBhIGJ1bmNoIGhlcmUuXG5cbmltcG9ydCB0eXBlICogYXMgZXN0cmVlIGZyb20gJ2VzdHJlZSc7XG5pbXBvcnQgeyBtYXRjaE9iamVjdCB9IGZyb20gJy4vbWF0Y2gtYXN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWVtYmVyRXhwcmVzc2lvbih4OiBlc3RyZWUuQmFzZU5vZGUpOiB4IGlzIGVzdHJlZS5NZW1iZXJFeHByZXNzaW9uIHtcbiAgcmV0dXJuIHgudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJZGVudGlmaWVyKHg6IGVzdHJlZS5CYXNlTm9kZSk6IHggaXMgZXN0cmVlLklkZW50aWZpZXIge1xuICByZXR1cm4geC50eXBlID09PSAnSWRlbnRpZmllcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaE1lbWJlckV4cHJlc3Npb24oZGV0YWlscz86IE5vZGVEZXRhaWxzPGVzdHJlZS5NZW1iZXJFeHByZXNzaW9uPikge1xuICByZXR1cm4gbWF0Y2hFc3RyZWU8ZXN0cmVlLk1lbWJlckV4cHJlc3Npb24+KCdNZW1iZXJFeHByZXNzaW9uJywgZGV0YWlscyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaElkZW50aWZpZXIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBtYXRjaEVzdHJlZTxlc3RyZWUuSWRlbnRpZmllcj4oJ0lkZW50aWZpZXInLCB7IG5hbWUgfSk7XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgYWRkaXRpb25hbCBub2RlIGZpZWxkcyAoZXhjZXB0IGl0cyB0eXBlKVxuICovXG50eXBlIE5vZGVEZXRhaWxzPFQgZXh0ZW5kcyBlc3RyZWUuQmFzZU5vZGU+ID0geyBbayBpbiBFeGNsdWRlPGtleW9mIFQsICd0eXBlJz5dPzogdW5rbm93biB9O1xuXG4vKipcbiAqIE1hdGNoIGFuIEVTVHJlZSBub2RlIG9mIGEgZ2l2ZW4gdHlwZSB3aXRoIGdpdmVuIHN1YmZpZWxkc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hFc3RyZWU8VCBleHRlbmRzIGVzdHJlZS5CYXNlTm9kZT4odHlwZTogVFsndHlwZSddLCBkZXRhaWxzPzogTm9kZURldGFpbHM8VD4pIHtcbiAgcmV0dXJuIG1hdGNoT2JqZWN0KHtcbiAgICB0eXBlLFxuICAgIC4uLmRldGFpbHMsXG4gIH0pO1xufVxuIl19
|
|
@@ -61,10 +61,9 @@ function create(context) {
|
|
|
61
61
|
},
|
|
62
62
|
// This captures using `xxx.CfnConstruct` as an identifier
|
|
63
63
|
Identifier: node => {
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
if ((type === null || type === void 0 ? void 0 : type.type) === 'TSQualifiedName') {
|
|
64
|
+
const typeAnnotation = node.typeAnnotation?.typeAnnotation;
|
|
65
|
+
const type = typeAnnotation?.typeName;
|
|
66
|
+
if (type?.type === 'TSQualifiedName') {
|
|
68
67
|
const result = checkLeftAndRightForCfn(type);
|
|
69
68
|
if (result) {
|
|
70
69
|
reportErrorIfImportedLocationIsNotValid(context, node, result.name, result.location);
|
|
@@ -109,14 +108,13 @@ function checkIfImportedLocationIsAnAlphaPackage(location) {
|
|
|
109
108
|
return ALPHA_RE.test(location);
|
|
110
109
|
}
|
|
111
110
|
function checkLeftAndRightForCfn(node) {
|
|
112
|
-
var _a, _b;
|
|
113
111
|
// Checking the left and right allows capturing the CfnConstruct name even if the TSQualifiedName references a subtype like:
|
|
114
112
|
// xxx.CfnConstruct.subtype
|
|
115
113
|
// xxx.CfnConstruct.subtype.anothersubtype
|
|
116
114
|
if (!node) {
|
|
117
115
|
return undefined;
|
|
118
116
|
}
|
|
119
|
-
if (
|
|
117
|
+
if (node.name?.startsWith('Cfn')) {
|
|
120
118
|
if (node.name === node.parent.left.name) {
|
|
121
119
|
// This is the scenario for a reference to CfnConstruct.subtype
|
|
122
120
|
// In this case, it is not qualified with a barrel import, so we don't need to do anything.
|
|
@@ -129,6 +127,6 @@ function checkLeftAndRightForCfn(node) {
|
|
|
129
127
|
}
|
|
130
128
|
const right = checkLeftAndRightForCfn(node.right);
|
|
131
129
|
const left = checkLeftAndRightForCfn(node.left);
|
|
132
|
-
return
|
|
130
|
+
return right ?? left ?? undefined;
|
|
133
131
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1jZm4taW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9pbnZhbGlkLWNmbi1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsd0JBNkVDO0FBbkZELDREQUF3RDtBQUV4RCxJQUFJLGdCQUFnQixHQUVoQixFQUFFLENBQUM7QUFFUCxTQUFnQixNQUFNLENBQUMsT0FBeUI7SUFDOUMsaUZBQWlGO0lBQ2pGLHNGQUFzRjtJQUN0RixvRUFBb0U7SUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU87UUFDTCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQztZQUM3QyxvR0FBb0c7WUFDcEcsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztvQkFDMUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQ25FLDBJQUEwSTtnQkFDMUksT0FBTztZQUNULENBQUM7WUFLRCxNQUFNLFVBQVUsR0FBaUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sWUFBWSxH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QUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoRCxPQUFPLE1BQUEsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksSUFBSSxtQ0FBSSxTQUFTLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBJZGVudGlmaWVyLCBJbXBvcnRTcGVjaWZpZXIgfSBmcm9tICdlc3RyZWUnO1xuaW1wb3J0IHsgaXNJZGVudGlmaWVyIH0gZnJvbSAnLi4vcHJpdmF0ZS90eXBlLWNoZWNrZXJzJztcblxubGV0IG5hbWVzcGFjZUltcG9ydHM6IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLk5vZGVMaXN0ZW5lciB7XG4gIC8vIFRoZSBmb3JtYXQgb2YgQ2ZuIGltcG9ydHMgb25seSBtYXR0ZXJzIGZvciBhbHBoYSBwYWNrYWdlcywgc28gdGhhdCB0aGV5IGNhbiBiZVxuICAvLyBmb3JtYXR0ZWQgY29ycmVjdGx5IHdoZW4gcmVsZWFzZWQgc2VwYXJhdGVseSBmb3IgVjIuIFRoZSBsaW50ZXIgcnVsZSBzaG91bGQgb25seSBiZVxuICAvLyBhcHBsaWVkIGlmIHRoZSBmaWxlIGlzIGluIGFuIGFscGhhIHBhY2thZ2UsIG9yIGl0IGlzIGEgdGVzdCBmaWxlLlxuICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcbiAgaWYgKCFjdXJyZW50RmlsZUlzSW5BbHBoYVBhY2thZ2UoZmlsZW5hbWUpICYmICFmaWxlbmFtZS5tYXRjaCgndGVzdC9ydWxlcy9maXh0dXJlcycpKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBJbXBvcnREZWNsYXJhdGlvbjogbm9kZSA9PiB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IG5vZGUuc291cmNlLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIC8vIFN0b3JlIGFsbCBvZiB0aGUgJ2ltcG9ydCAqIGFzIG5hbWUgZnJvbSBsb2NhdGlvbicgaW1wb3J0cywgc28gdGhhdCB3ZSBjYW4gY2hlY2sgdGhlIGxvY2F0aW9uIHdoZW5cbiAgICAgIC8vIHdlIGZpbmQgbmFtZS5DZm5YWFggcmVmZXJlbmNlcy5cbiAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGUgPT4ge1xuICAgICAgICBpZiAoZS50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJykge1xuICAgICAgICAgIG5hbWVzcGFjZUltcG9ydHNbZS5sb2NhbC5uYW1lXSA9IGxvY2F0aW9uO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGxvY2F0aW9uLmVuZHNXaXRoKCdnZW5lcmF0ZWQnKSB8fCBsb2NhdGlvbiA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgICAgIC8vIElmIGltcG9ydGluZyBkaXJlY3RseSBmcm9tIGEgZ2VuZXJhdGVkIGZpbGUsIHRoaXMgaXMgZmluZS4gQWxzbyB3ZSBrbm93IHRoYXQgYXdzLWNkay9jb3JlIGlzIG5vdCBleHBlcmltZW50YWwsIHNvIHRoYXQgaXMgZmluZSBhcyB3ZWxsLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEltcG9ydFNwZWNpZmllcnMgY2FuIGFsc28gY29udGFpbiBsaXRlcmFscy5cbiAgICAgIHR5cGUgSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXIgPSBPbWl0PEltcG9ydFNwZWNpZmllciwgJ2ltcG9ydGVkJz4gJiB7IGltcG9ydGVkOiBJZGVudGlmaWVyIH07XG5cbiAgICAgIGNvbnN0IGNmbkltcG9ydHM6IEltcG9ydFNwZWNpZmllcldJZGVudGlmaWVyW10gPSBbXTtcbiAgICAgIGNvbnN0IG90aGVySW1wb3J0czogSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXJbXSA9IFtdO1xuICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goZSA9PiB7XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmIGlzSWRlbnRpZmllcihlLmltcG9ydGVkKSkge1xuICAgICAgICAgIGlmIChlLmltcG9ydGVkLm5hbWUuc3RhcnRzV2l0aCgnQ2ZuJykpIHtcbiAgICAgICAgICAgIGNmbkltcG9ydHMucHVzaChlIGFzIGFueSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG90aGVySW1wb3J0cy5wdXNoKGUgYXMgYW55KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoY2ZuSW1wb3J0cy5sZW5ndGggPiAwICYmIG90aGVySW1wb3J0cy5sZW5ndGggPiAwICYmIGxvY2F0aW9uLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgICAvLyBpbXBvcnQgeyBDZm5YWFgsIFNvbWV0aGluZ0Vsc2UsIEFub3RoZXJUaGluZyB9IGZyb20gJy4vc29tZS9yZWxhdGl2ZS9wYXRoL25vdC9lbmRpbmcvaW4vZ2VuZXJhdGVkJztcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBpbXBvcnQgb2YgYCcgKyBjZm5JbXBvcnRzLm1hcChlID0+IGUuaW1wb3J0ZWQubmFtZSkuam9pbignLCAnKSArICdgIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBpbXBvcnQgb2YgYCcgKyBvdGhlckltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AsIGFuZCBpbXBvcnRlZCBmcm9tIGl0cyBzcGVjaWZpYyAuZ2VuZXJhdGVkIGxvY2F0aW9uLicsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNmbkltcG9ydHMubGVuZ3RoID4gMCAmJiBsb2NhdGlvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgLy8gaW1wb3J0IHsgQ2ZuWFhYIH0gZnJvbSAnLi9zb21lL3JlbGF0aXZlL3BhdGgvbm90L2VuZGluZy9pbi9nZW5lcmF0ZWQnO1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbWVzc2FnZTogJ1RvIGFsbG93IHJld3JpdGluZyBpbXBvcnRzIHdoZW4gZ2VuZXJhdGluZyB2MiBleHBlcmltZW50YWwgcGFja2FnZXMsIGltcG9ydCBvZiBgJyArIGNmbkltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBmcm9tIGl0cyBzcGVjaWZpYyAuZ2VuZXJhdGVkIGxvY2F0aW9uLicsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNmbkltcG9ydHMubGVuZ3RoID4gMCAmJiBvdGhlckltcG9ydHMubGVuZ3RoID4gMCAmJiBjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb24pKSB7XG4gICAgICAgIC8vIGltcG9ydCB7IENmblhYWCwgU29tZXRoaW5nRWxzZSwgQW5vdGhlclRoaW5nIH0gZnJvbSAnQGF3cy1jZGsvYW5vdGhlci1hbHBoYS1wYWNrYWdlJztcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBpbXBvcnQgb2YgYCcgKyBjZm5JbXBvcnRzLm1hcChlID0+IGUuaW1wb3J0ZWQubmFtZSkuam9pbignLCAnKSArICdgIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBpbXBvcnQgb2YgYCcgKyBvdGhlckltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AnLFxuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyBUaGlzIGNhcHR1cmVzIHVzaW5nIGB4eHguQ2ZuQ29uc3RydWN0YCBhcyBhbiBpZGVudGlmaWVyXG4gICAgSWRlbnRpZmllcjogbm9kZSA9PiB7XG4gICAgICBjb25zdCB0eXBlQW5ub3RhdGlvbiA9IChub2RlIGFzIGFueSkudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuICAgICAgY29uc3QgdHlwZSA9IHR5cGVBbm5vdGF0aW9uPy50eXBlTmFtZTtcbiAgICAgIGlmICh0eXBlPy50eXBlID09PSAnVFNRdWFsaWZpZWROYW1lJykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjaGVja0xlZnRBbmRSaWdodEZvckNmbih0eXBlKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHJlcG9ydEVycm9ySWZJbXBvcnRlZExvY2F0aW9uSXNOb3RWYWxpZChjb250ZXh0LCBub2RlLCByZXN1bHQubmFtZSwgcmVzdWx0LmxvY2F0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG5vZGUubmFtZS5zdGFydHNXaXRoKCdDZm4nKSAmJiBub2RlLnBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgbm9kZS5wYXJlbnQub2JqZWN0LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAvLyBuZXcgeHh4LkNmbkNvbnN0cnVjdCgpO1xuICAgICAgICByZXBvcnRFcnJvcklmSW1wb3J0ZWRMb2NhdGlvbklzTm90VmFsaWQoY29udGV4dCwgbm9kZSwgbm9kZS5uYW1lLCBub2RlLnBhcmVudC5vYmplY3QubmFtZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVwb3J0RXJyb3JJZkltcG9ydGVkTG9jYXRpb25Jc05vdFZhbGlkKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsIG5vZGU6IElkZW50aWZpZXIsIG5hbWU6IHN0cmluZywgYmFycmVsSW1wb3J0TmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gbmFtZXNwYWNlSW1wb3J0c1tiYXJyZWxJbXBvcnROYW1lXTtcbiAgaWYgKCFsb2NhdGlvbikge1xuICAgIC8vIFRoaXMgc2NlbmFyaW8gc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCBpZiBpdCBkb2VzLCB3ZSBkb24ndCB3YW50IHVzZXJzIHRvIHJ1biBpbnRvIHdlaXJkIHJ1bnRpbWUgZXJyb3JzIGZyb20gdGhlIGxpbnRlci5cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGxvY2F0aW9uLmVuZHNXaXRoKCdnZW5lcmF0ZWQnKSB8fCBsb2NhdGlvbiA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAvLyBpbXBvcnQgKiBhcyBuYW1lIGZyb20gJy4vc29tZS9yZWxhdGl2ZS9wYXRoL25vdC9lbmRpbmcvaW4vZ2VuZXJhdGVkJzsgbmFtZS5DZm5Db25zdHJ1Y3QoKTtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgYCcgKyBuYW1lICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBieSBuYW1lIGZyb20gaXRzIHNwZWNpZmljIC5nZW5lcmF0ZWQgbG9jYXRpb24uJyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoY2hlY2tJZkltcG9ydGVkTG9jYXRpb25Jc0FuQWxwaGFQYWNrYWdlKGxvY2F0aW9uKSkge1xuICAgIC8vIGltcG9ydCAqIGFzIG5hbWUgZnJvbSAnQGF3cy1jZGsvYW5vdGhlci1hbHBoYS1wYWNrYWdlJzsgbmFtZS5DZm5Db25zdHJ1Y3QoKTtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgYCcgKyBuYW1lICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBieSBuYW1lIGFuZCBzZXBhcmF0ZSBmcm9tIG5vbi1MMSBpbXBvcnRzLCBzaW5jZSBpdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tIGFuIGV4cGVyaW1lbnRhbCBwYWNrYWdlOiAnICsgbG9jYXRpb24sXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IEFMUEhBX1JFID0gL0Bhd3MtY2RrKFxcL3xcXFxcKVthLXowLTktXSstYWxwaGEvaTtcblxuZnVuY3Rpb24gY3VycmVudEZpbGVJc0luQWxwaGFQYWNrYWdlKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEFMUEhBX1JFLnRlc3QoZmlsZW5hbWUpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQUxQSEFfUkUudGVzdChsb2NhdGlvbik7XG59XG5cbmZ1bmN0aW9uIGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGU6IGFueSk6IHsgbmFtZTogc3RyaW5nOyBsb2NhdGlvbjogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAvLyBDaGVja2luZyB0aGUgbGVmdCBhbmQgcmlnaHQgYWxsb3dzIGNhcHR1cmluZyB0aGUgQ2ZuQ29uc3RydWN0IG5hbWUgZXZlbiBpZiB0aGUgVFNRdWFsaWZpZWROYW1lIHJlZmVyZW5jZXMgYSBzdWJ0eXBlIGxpa2U6XG4gIC8vICAgIHh4eC5DZm5Db25zdHJ1Y3Quc3VidHlwZVxuICAvLyAgICB4eHguQ2ZuQ29uc3RydWN0LnN1YnR5cGUuYW5vdGhlcnN1YnR5cGVcbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAobm9kZS5uYW1lPy5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgIGlmIChub2RlLm5hbWUgPT09IG5vZGUucGFyZW50LmxlZnQubmFtZSkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgc2NlbmFyaW8gZm9yIGEgcmVmZXJlbmNlIHRvIENmbkNvbnN0cnVjdC5zdWJ0eXBlXG4gICAgICAvLyBJbiB0aGlzIGNhc2UsIGl0IGlzIG5vdCBxdWFsaWZpZWQgd2l0aCBhIGJhcnJlbCBpbXBvcnQsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgbG9jYXRpb246IG5vZGUucGFyZW50LmxlZnQubmFtZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgcmlnaHQgPSBjaGVja0xlZnRBbmRSaWdodEZvckNmbihub2RlLnJpZ2h0KTtcbiAgY29uc3QgbGVmdCA9IGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGUubGVmdCk7XG5cbiAgcmV0dXJuIHJpZ2h0ID8/IGxlZnQgPz8gdW5kZWZpbmVkO1xufVxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1jZm4taW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9pbnZhbGlkLWNmbi1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsd0JBNkVDO0FBbkZELDREQUF3RDtBQUV4RCxJQUFJLGdCQUFnQixHQUVoQixFQUFFLENBQUM7QUFFUCxTQUFnQixNQUFNLENBQUMsT0FBeUI7SUFDOUMsaUZBQWlGO0lBQ2pGLHNGQUFzRjtJQUN0RixvRUFBb0U7SUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU87UUFDTCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQztZQUM3QyxvR0FBb0c7WUFDcEcsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztvQkFDMUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQ25FLDBJQUEwSTtnQkFDMUksT0FBTztZQUNULENBQUM7WUFLRCxNQUFNLFVBQVUsR0FBaUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sWUFBWSxH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dUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBJZGVudGlmaWVyLCBJbXBvcnRTcGVjaWZpZXIgfSBmcm9tICdlc3RyZWUnO1xuaW1wb3J0IHsgaXNJZGVudGlmaWVyIH0gZnJvbSAnLi4vcHJpdmF0ZS90eXBlLWNoZWNrZXJzJztcblxubGV0IG5hbWVzcGFjZUltcG9ydHM6IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLk5vZGVMaXN0ZW5lciB7XG4gIC8vIFRoZSBmb3JtYXQgb2YgQ2ZuIGltcG9ydHMgb25seSBtYXR0ZXJzIGZvciBhbHBoYSBwYWNrYWdlcywgc28gdGhhdCB0aGV5IGNhbiBiZVxuICAvLyBmb3JtYXR0ZWQgY29ycmVjdGx5IHdoZW4gcmVsZWFzZWQgc2VwYXJhdGVseSBmb3IgVjIuIFRoZSBsaW50ZXIgcnVsZSBzaG91bGQgb25seSBiZVxuICAvLyBhcHBsaWVkIGlmIHRoZSBmaWxlIGlzIGluIGFuIGFscGhhIHBhY2thZ2UsIG9yIGl0IGlzIGEgdGVzdCBmaWxlLlxuICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcbiAgaWYgKCFjdXJyZW50RmlsZUlzSW5BbHBoYVBhY2thZ2UoZmlsZW5hbWUpICYmICFmaWxlbmFtZS5tYXRjaCgndGVzdC9ydWxlcy9maXh0dXJlcycpKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBJbXBvcnREZWNsYXJhdGlvbjogbm9kZSA9PiB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IG5vZGUuc291cmNlLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIC8vIFN0b3JlIGFsbCBvZiB0aGUgJ2ltcG9ydCAqIGFzIG5hbWUgZnJvbSBsb2NhdGlvbicgaW1wb3J0cywgc28gdGhhdCB3ZSBjYW4gY2hlY2sgdGhlIGxvY2F0aW9uIHdoZW5cbiAgICAgIC8vIHdlIGZpbmQgbmFtZS5DZm5YWFggcmVmZXJlbmNlcy5cbiAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGUgPT4ge1xuICAgICAgICBpZiAoZS50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJykge1xuICAgICAgICAgIG5hbWVzcGFjZUltcG9ydHNbZS5sb2NhbC5uYW1lXSA9IGxvY2F0aW9uO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGxvY2F0aW9uLmVuZHNXaXRoKCdnZW5lcmF0ZWQnKSB8fCBsb2NhdGlvbiA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgICAgIC8vIElmIGltcG9ydGluZyBkaXJlY3RseSBmcm9tIGEgZ2VuZXJhdGVkIGZpbGUsIHRoaXMgaXMgZmluZS4gQWxzbyB3ZSBrbm93IHRoYXQgYXdzLWNkay9jb3JlIGlzIG5vdCBleHBlcmltZW50YWwsIHNvIHRoYXQgaXMgZmluZSBhcyB3ZWxsLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEltcG9ydFNwZWNpZmllcnMgY2FuIGFsc28gY29udGFpbiBsaXRlcmFscy5cbiAgICAgIHR5cGUgSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXIgPSBPbWl0PEltcG9ydFNwZWNpZmllciwgJ2ltcG9ydGVkJz4gJiB7IGltcG9ydGVkOiBJZGVudGlmaWVyIH07XG5cbiAgICAgIGNvbnN0IGNmbkltcG9ydHM6IEltcG9ydFNwZWNpZmllcldJZGVudGlmaWVyW10gPSBbXTtcbiAgICAgIGNvbnN0IG90aGVySW1wb3J0czogSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXJbXSA9IFtdO1xuICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goZSA9PiB7XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmIGlzSWRlbnRpZmllcihlLmltcG9ydGVkKSkge1xuICAgICAgICAgIGlmIChlLmltcG9ydGVkLm5hbWUuc3RhcnRzV2l0aCgnQ2ZuJykpIHtcbiAgICAgICAgICAgIGNmbkltcG9ydHMucHVzaChlIGFzIGFueSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG90aGVySW1wb3J0cy5wdXNoKGUgYXMgYW55KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoY2ZuSW1wb3J0cy5sZW5ndGggPiAwICYmIG90aGVySW1wb3J0cy5sZW5ndGggPiAwICYmIGxvY2F0aW9uLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgICAvLyBpbXBvcnQgeyBDZm5YWFgsIFNvbWV0aGluZ0Vsc2UsIEFub3RoZXJUaGluZyB9IGZyb20gJy4vc29tZS9yZWxhdGl2ZS9wYXRoL25vdC9lbmRpbmcvaW4vZ2VuZXJhdGVkJztcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBpbXBvcnQgb2YgYCcgKyBjZm5JbXBvcnRzLm1hcChlID0+IGUuaW1wb3J0ZWQubmFtZSkuam9pbignLCAnKSArICdgIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBpbXBvcnQgb2YgYCcgKyBvdGhlckltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AsIGFuZCBpbXBvcnRlZCBmcm9tIGl0cyBzcGVjaWZpYyAuZ2VuZXJhdGVkIGxvY2F0aW9uLicsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNmbkltcG9ydHMubGVuZ3RoID4gMCAmJiBsb2NhdGlvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgLy8gaW1wb3J0IHsgQ2ZuWFhYIH0gZnJvbSAnLi9zb21lL3JlbGF0aXZlL3BhdGgvbm90L2VuZGluZy9pbi9nZW5lcmF0ZWQnO1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbWVzc2FnZTogJ1RvIGFsbG93IHJld3JpdGluZyBpbXBvcnRzIHdoZW4gZ2VuZXJhdGluZyB2MiBleHBlcmltZW50YWwgcGFja2FnZXMsIGltcG9ydCBvZiBgJyArIGNmbkltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBmcm9tIGl0cyBzcGVjaWZpYyAuZ2VuZXJhdGVkIGxvY2F0aW9uLicsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNmbkltcG9ydHMubGVuZ3RoID4gMCAmJiBvdGhlckltcG9ydHMubGVuZ3RoID4gMCAmJiBjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb24pKSB7XG4gICAgICAgIC8vIGltcG9ydCB7IENmblhYWCwgU29tZXRoaW5nRWxzZSwgQW5vdGhlclRoaW5nIH0gZnJvbSAnQGF3cy1jZGsvYW5vdGhlci1hbHBoYS1wYWNrYWdlJztcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBpbXBvcnQgb2YgYCcgKyBjZm5JbXBvcnRzLm1hcChlID0+IGUuaW1wb3J0ZWQubmFtZSkuam9pbignLCAnKSArICdgIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBpbXBvcnQgb2YgYCcgKyBvdGhlckltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AnLFxuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyBUaGlzIGNhcHR1cmVzIHVzaW5nIGB4eHguQ2ZuQ29uc3RydWN0YCBhcyBhbiBpZGVudGlmaWVyXG4gICAgSWRlbnRpZmllcjogbm9kZSA9PiB7XG4gICAgICBjb25zdCB0eXBlQW5ub3RhdGlvbiA9IChub2RlIGFzIGFueSkudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuICAgICAgY29uc3QgdHlwZSA9IHR5cGVBbm5vdGF0aW9uPy50eXBlTmFtZTtcbiAgICAgIGlmICh0eXBlPy50eXBlID09PSAnVFNRdWFsaWZpZWROYW1lJykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjaGVja0xlZnRBbmRSaWdodEZvckNmbih0eXBlKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHJlcG9ydEVycm9ySWZJbXBvcnRlZExvY2F0aW9uSXNOb3RWYWxpZChjb250ZXh0LCBub2RlLCByZXN1bHQubmFtZSwgcmVzdWx0LmxvY2F0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG5vZGUubmFtZS5zdGFydHNXaXRoKCdDZm4nKSAmJiBub2RlLnBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgbm9kZS5wYXJlbnQub2JqZWN0LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAvLyBuZXcgeHh4LkNmbkNvbnN0cnVjdCgpO1xuICAgICAgICByZXBvcnRFcnJvcklmSW1wb3J0ZWRMb2NhdGlvbklzTm90VmFsaWQoY29udGV4dCwgbm9kZSwgbm9kZS5uYW1lLCBub2RlLnBhcmVudC5vYmplY3QubmFtZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVwb3J0RXJyb3JJZkltcG9ydGVkTG9jYXRpb25Jc05vdFZhbGlkKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsIG5vZGU6IElkZW50aWZpZXIsIG5hbWU6IHN0cmluZywgYmFycmVsSW1wb3J0TmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gbmFtZXNwYWNlSW1wb3J0c1tiYXJyZWxJbXBvcnROYW1lXTtcbiAgaWYgKCFsb2NhdGlvbikge1xuICAgIC8vIFRoaXMgc2NlbmFyaW8gc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCBpZiBpdCBkb2VzLCB3ZSBkb24ndCB3YW50IHVzZXJzIHRvIHJ1biBpbnRvIHdlaXJkIHJ1bnRpbWUgZXJyb3JzIGZyb20gdGhlIGxpbnRlci5cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGxvY2F0aW9uLmVuZHNXaXRoKCdnZW5lcmF0ZWQnKSB8fCBsb2NhdGlvbiA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAvLyBpbXBvcnQgKiBhcyBuYW1lIGZyb20gJy4vc29tZS9yZWxhdGl2ZS9wYXRoL25vdC9lbmRpbmcvaW4vZ2VuZXJhdGVkJzsgbmFtZS5DZm5Db25zdHJ1Y3QoKTtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgYCcgKyBuYW1lICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBieSBuYW1lIGZyb20gaXRzIHNwZWNpZmljIC5nZW5lcmF0ZWQgbG9jYXRpb24uJyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoY2hlY2tJZkltcG9ydGVkTG9jYXRpb25Jc0FuQWxwaGFQYWNrYWdlKGxvY2F0aW9uKSkge1xuICAgIC8vIGltcG9ydCAqIGFzIG5hbWUgZnJvbSAnQGF3cy1jZGsvYW5vdGhlci1hbHBoYS1wYWNrYWdlJzsgbmFtZS5DZm5Db25zdHJ1Y3QoKTtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgYCcgKyBuYW1lICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBieSBuYW1lIGFuZCBzZXBhcmF0ZSBmcm9tIG5vbi1MMSBpbXBvcnRzLCBzaW5jZSBpdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tIGFuIGV4cGVyaW1lbnRhbCBwYWNrYWdlOiAnICsgbG9jYXRpb24sXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IEFMUEhBX1JFID0gL0Bhd3MtY2RrKFxcL3xcXFxcKVthLXowLTktXSstYWxwaGEvaTtcblxuZnVuY3Rpb24gY3VycmVudEZpbGVJc0luQWxwaGFQYWNrYWdlKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEFMUEhBX1JFLnRlc3QoZmlsZW5hbWUpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQUxQSEFfUkUudGVzdChsb2NhdGlvbik7XG59XG5cbmZ1bmN0aW9uIGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGU6IGFueSk6IHsgbmFtZTogc3RyaW5nOyBsb2NhdGlvbjogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAvLyBDaGVja2luZyB0aGUgbGVmdCBhbmQgcmlnaHQgYWxsb3dzIGNhcHR1cmluZyB0aGUgQ2ZuQ29uc3RydWN0IG5hbWUgZXZlbiBpZiB0aGUgVFNRdWFsaWZpZWROYW1lIHJlZmVyZW5jZXMgYSBzdWJ0eXBlIGxpa2U6XG4gIC8vICAgIHh4eC5DZm5Db25zdHJ1Y3Quc3VidHlwZVxuICAvLyAgICB4eHguQ2ZuQ29uc3RydWN0LnN1YnR5cGUuYW5vdGhlcnN1YnR5cGVcbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAobm9kZS5uYW1lPy5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgIGlmIChub2RlLm5hbWUgPT09IG5vZGUucGFyZW50LmxlZnQubmFtZSkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgc2NlbmFyaW8gZm9yIGEgcmVmZXJlbmNlIHRvIENmbkNvbnN0cnVjdC5zdWJ0eXBlXG4gICAgICAvLyBJbiB0aGlzIGNhc2UsIGl0IGlzIG5vdCBxdWFsaWZpZWQgd2l0aCBhIGJhcnJlbCBpbXBvcnQsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgbG9jYXRpb246IG5vZGUucGFyZW50LmxlZnQubmFtZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgcmlnaHQgPSBjaGVja0xlZnRBbmRSaWdodEZvckNmbihub2RlLnJpZ2h0KTtcbiAgY29uc3QgbGVmdCA9IGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGUubGVmdCk7XG5cbiAgcmV0dXJuIHJpZ2h0ID8/IGxlZnQgPz8gdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -52,12 +52,11 @@ function create(context) {
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
Identifier(node) {
|
|
55
|
-
var _a;
|
|
56
55
|
if (!isTestFile(context.getFilename())) {
|
|
57
56
|
return;
|
|
58
57
|
}
|
|
59
58
|
// Only apply rule to bindings (variables and function parameters)
|
|
60
|
-
const typeAnnotation =
|
|
59
|
+
const typeAnnotation = node.typeAnnotation?.typeAnnotation;
|
|
61
60
|
if (!typeAnnotation) {
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
@@ -152,4 +151,4 @@ function create(context) {
|
|
|
152
151
|
function isTestFile(filename) {
|
|
153
152
|
return new RegExp(/\/test\//).test(filename);
|
|
154
153
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29yZS1jb25zdHJ1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tY29yZS1jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsd0JBdUlDO0FBbEpELDBEQUE0RDtBQUU1RCxJQUFJLFdBQXdCLENBQUM7QUFDN0IsSUFBSSxZQUFxQixDQUFDO0FBRTFCLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBDLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLFNBQWdCLE1BQU0sQ0FBQyxPQUF5QjtJQUM5QyxPQUFPO1FBRUwsc0ZBQXNGO1FBQ3RGLDBGQUEwRjtRQUMxRix3SUFBd0k7UUFDeEkscURBQXFEO1FBRXJELE9BQU8sQ0FBQyxLQUFVO1lBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTztZQUNULENBQUM7WUFDRCxXQUFXLEdBQUcsSUFBSSwwQkFBVyxFQUFFLENBQUM7WUFDaEMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO1FBRUQsaUJBQWlCLENBQUMsSUFBUztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDakMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUMz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V0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDNUUsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQzt3QkFDdEMsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDO29CQUN4QixDQUFDO29CQUNELE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLFFBQWdCO0lBQ2xDLE9BQU8sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcbmltcG9ydCB7IEltcG9ydENhY2hlLCBOb2RlIH0gZnJvbSAnLi4vcHJpdmF0ZS9pbXBvcnQtY2FjaGUnO1xuXG5sZXQgaW1wb3J0Q2FjaGU6IEltcG9ydENhY2hlO1xubGV0IGltcG9ydHNGaXhlZDogYm9vbGVhbjtcblxuY29uc3QgQkFOTkVEX1RZUEVTID0gWydJQ29uc3RydWN0JywgJ0NvbnN0cnVjdCddO1xuXG5leHBvcnQgY29uc3QgbWV0YSA9IHtcbiAgZml4YWJsZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuTm9kZUxpc3RlbmVyIHtcbiAgcmV0dXJuIHtcblxuICAgIC8vIGBub2RlYCBpcyBhIHR5cGUgZnJvbSBAdHlwZXNjcmlwdC1lc2xpbnQvdHlwZXNjcmlwdC1lc3RyZWUsIGJ1dCB1c2luZyAnYW55JyBmb3Igbm93XG4gICAgLy8gc2luY2UgaXQncyBpbmNvbXBhdGlibGUgd2l0aCBlc2xpbnQuUnVsZSBuYW1lc3BhY2UuIFdhaXRpbmcgZm9yIGJldHRlciBjb21wYXRpYmlsaXR5IGluXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L3RyZWUvMTc2NWExNzhlNDU2YjE1MmJkNDgxOTJlYjVkYjdlODU0MWUyYWRmMi9wYWNrYWdlcy9leHBlcmltZW50YWwtdXRpbHMjbm90ZVxuICAgIC8vIE1lYW53aGlsZSwgdXNlIGEgZGVidWdnZXIgdG8gZXhwbG9yZSB0aGUgQVNUIG5vZGUuXG5cbiAgICBQcm9ncmFtKF9ub2RlOiBhbnkpIHtcbiAgICAgIGlmICghaXNUZXN0RmlsZShjb250ZXh0LmdldEZpbGVuYW1lKCkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGltcG9ydENhY2hlID0gbmV3IEltcG9ydENhY2hlKCk7XG4gICAgICBpbXBvcnRzRml4ZWQgPSBmYWxzZTtcbiAgICB9LFxuXG4gICAgSW1wb3J0RGVjbGFyYXRpb24obm9kZTogYW55KSB7XG4gICAgICBpZiAoIWlzVGVzdEZpbGUoY29udGV4dC5nZXRGaWxlbmFtZSgpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5zb3VyY2UudmFsdWUgPT09ICdAYXdzLWNkay9jb3JlJykge1xuICAgICAgICBub2RlLnNwZWNpZmllcnMuZm9yRWFjaCgoczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHMudHlwZSA9PT0gJ0ltcG9ydFNwZWNpZmllcicgJiYgQkFOTkVEX1RZUEVTLmluY2x1ZGVzKHMuaW1wb3J0ZWQubmFtZSkpIHtcbiAgICAgICAgICAgIC8vIG5hbWVkIGltcG9ydFxuICAgICAgICAgICAgaW1wb3J0Q2FjaGUucmVjb3JkKHtcbiAgICAgICAgICAgICAgZmlsZU5hbWU6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKSxcbiAgICAgICAgICAgICAgdHlwZU5hbWU6IHMuaW1wb3J0ZWQubmFtZSxcbiAgICAgICAgICAgICAgaW1wb3J0Tm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgbG9jYWxOYW1lOiBzLmxvY2FsLm5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHMudHlwZSA9PT0gJ0ltcG9ydE5hbWVzcGFjZVNwZWNpZmllcicpIHtcbiAgICAgICAgICAgIC8vIGJhcnJlbCBpbXBvcnRcbiAgICAgICAgICAgIEJBTk5FRF9UWVBFUy5mb3JFYWNoKHR5cGVOYW1lID0+IHtcbiAgICAgICAgICAgICAgaW1wb3J0Q2FjaGUucmVjb3JkKHtcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogY29udGV4dC5nZXRGaWxlbmFtZSgpLFxuICAgICAgICAgICAgICAgIHR5cGVOYW1lLFxuICAgICAgICAgICAgICAgIGltcG9ydE5vZGU6IG5vZGUsXG4gICAgICAgICAgICAgICAgbG9jYWxOYW1lOiBgJHtzLmxvY2FsLm5hbWV9LiR7dHlwZU5hbWV9YCxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBJZGVudGlmaWVyKG5vZGU6IGFueSkge1xuICAgICAgaWYgKCFpc1Rlc3RGaWxlKGNvbnRleHQuZ2V0RmlsZW5hbWUoKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gT25seSBhcHBseSBydWxlIHRvIGJpbmRpbmdzICh2YXJpYWJsZXMgYW5kIGZ1bmN0aW9uIHBhcmFtZXRlcnMpXG4gICAgICBjb25zdCB0eXBlQW5ub3RhdGlvbiA9IG5vZGUudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuICAgICAgaWYgKCF0eXBlQW5ub3RhdGlvbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB0eXBlID0gdHlwZUFubm90YXRpb24udHlwZU5hbWU7XG4gICAgICBpZiAoIXR5cGUpIHsgcmV0dXJuOyB9XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnVXNlIENvbnN0cnVjdCBhbmQgSUNvbnN0cnVjdCBmcm9tIHRoZSBcImNvbnN0cnVjdHNcIiBtb2R1bGUgaW4gdmFyaWFibGUgZGVjbGFyYXRpb25zIChub3QgXCJAYXdzLWNkay9jb3JlXCIpJztcblxuICAgICAgaWYgKHR5cGUudHlwZSA9PT0gJ1RTUXVhbGlmaWVkTmFtZScpIHtcbiAgICAgICAgLy8gYmFycmVsIGltcG9ydFxuICAgICAgICBjb25zdCBxdWFsaWZpZXIgPSB0eXBlLmxlZnQubmFtZTtcbiAgICAgICAgY29uc3QgdHlwZW5hbWUgPSB0eXBlLnJpZ2h0Lm5hbWU7XG4gICAgICAgIGNvbnN0IGltcG9ydE5vZGUgPSBmaW5kSW1wb3J0Tm9kZShgJHtxdWFsaWZpZXJ9LiR7dHlwZW5hbWV9YCk7XG4gICAgICAgIGlmICghaW1wb3J0Tm9kZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIGZpeDogKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZml4ZXM6IFJ1bGUuRml4W10gPSBbXTtcbiAgICAgICAgICAgIGlmICghaW1wb3J0c0ZpeGVkKSB7XG4gICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGltcG9ydE5vZGUsIFwiXFxuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcIikpO1xuICAgICAgICAgICAgICBpbXBvcnRzRml4ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZXBsYWNlVGV4dFJhbmdlKHR5cGVBbm5vdGF0aW9uLnJhbmdlLCBgY29uc3RydWN0cy4ke3R5cGVuYW1lfWApKTtcbiAgICAgICAgICAgIHJldHVybiBmaXhlcztcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgLy8gbmFtZWQgaW1wb3J0c1xuICAgICAgICBjb25zdCBpbXBvcnROb2RlID0gZmluZEltcG9ydE5vZGUodHlwZS5uYW1lKTtcbiAgICAgICAgaWYgKCFpbXBvcnROb2RlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaXhlczogUnVsZS5GaXhbXSA9IFtdO1xuICAgICAgICAgICAgaWYgKCFpbXBvcnRzRml4ZWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdHlwZXNUb0ltcG9ydCA9IEJBTk5FRF9UWVBFUy5tYXAodHlwZU5hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGltcG9ydENhY2hlLmZpbmQoeyBmaWxlTmFtZTogY29udGV4dC5nZXRGaWxlbmFtZSgpLCB0eXBlTmFtZSB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIXZhbCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVOYW1lID09PSB2YWwubG9jYWxOYW1lKSB7IHJldHVybiB0eXBlTmFtZTsgfVxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0eXBlTmFtZX0gYXMgJHt2YWwubG9jYWxOYW1lfWA7XG4gICAgICAgICAgICAgIH0pLmZpbHRlcih4ID0+IHggIT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyKGltcG9ydE5vZGUsIGBcXG5pbXBvcnQgeyAke3R5cGVzVG9JbXBvcnQuam9pbignLCAnKX0gfSBmcm9tICdjb25zdHJ1Y3RzJztgKSk7XG5cbiAgICAgICAgICAgICAgY29uc3Qgc3BlY2lmaWVycyA9IGltcG9ydE5vZGUuc3BlY2lmaWVycztcbiAgICAgICAgICAgICAgaWYgKHNwZWNpZmllcnMubGVuZ3RoID09PSB0eXBlc1RvSW1wb3J0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVtb3ZlUmFuZ2UoaW1wb3J0Tm9kZS5yYW5nZSkpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BlY2lmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcyA9IHNwZWNpZmllcnNbaV07XG4gICAgICAgICAgICAgICAgICBpZiAodHlwZXNUb0ltcG9ydC5pbmNsdWRlcyhzLmltcG9ydGVkLm5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpID09PSBzcGVjaWZpZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlbW92ZVJhbmdlKFtzLnJhbmdlWzBdIC0gMiwgcy5yYW5nZVsxXV0pKTsgLy8gaW5jbHVkZSB0aGUgbGVhZGluZyBjb21tYVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVtb3ZlUmFuZ2UoW3MucmFuZ2VbMF0sIHMucmFuZ2VbMV0gKyAyXSkpOyAvLyBpbmNsdWRlIHRoZSB0cmFpbGluZyBjb21tYVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGltcG9ydHNGaXhlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZml4ZXM7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZpbmRJbXBvcnROb2RlKGxvY2FOYW1lOiBzdHJpbmcpOiBOb2RlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIEJBTk5FRF9UWVBFUy5tYXAodHlwZU5hbWUgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbCA9IGltcG9ydENhY2hlLmZpbmQoeyBmaWxlTmFtZTogY29udGV4dC5nZXRGaWxlbmFtZSgpLCB0eXBlTmFtZSB9KTtcbiAgICAgICAgICBpZiAodmFsICYmIHZhbC5sb2NhbE5hbWUgPT09IGxvY2FOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsLmltcG9ydE5vZGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0pLmZpbmQoeCA9PiB4ICE9PSB1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzVGVzdEZpbGUoZmlsZW5hbWU6IHN0cmluZykge1xuICByZXR1cm4gbmV3IFJlZ0V4cCgvXFwvdGVzdFxcLy8pLnRlc3QoZmlsZW5hbWUpO1xufSJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29yZS1jb25zdHJ1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tY29yZS1jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsd0JBdUlDO0FBbEpELDBEQUE0RDtBQUU1RCxJQUFJLFdBQXdCLENBQUM7QUFDN0IsSUFBSSxZQUFxQixDQUFDO0FBRTFCLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBDLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLFNBQWdCLE1BQU0sQ0FBQyxPQUF5QjtJQUM5QyxPQUFPO1FBRUwsc0ZBQXNGO1FBQ3RGLDBGQUEwRjtRQUMxRix3SUFBd0k7UUFDeEkscURBQXFEO1FBRXJELE9BQU8sQ0FBQyxLQUFVO1lBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTztZQUNULENBQUM7WUFDRCxXQUFXLEdBQUcsSUFBSSwwQkFBVyxFQUFFLENBQUM7WUFDaEMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO1FBRUQsaUJBQWlCLENBQUMsSUFBUztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDakMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUMz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QUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUM1RSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUN0QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUM7b0JBQ3hCLENBQUM7b0JBQ0QsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHsgSW1wb3J0Q2FjaGUsIE5vZGUgfSBmcm9tICcuLi9wcml2YXRlL2ltcG9ydC1jYWNoZSc7XG5cbmxldCBpbXBvcnRDYWNoZTogSW1wb3J0Q2FjaGU7XG5sZXQgaW1wb3J0c0ZpeGVkOiBib29sZWFuO1xuXG5jb25zdCBCQU5ORURfVFlQRVMgPSBbJ0lDb25zdHJ1Y3QnLCAnQ29uc3RydWN0J107XG5cbmV4cG9ydCBjb25zdCBtZXRhID0ge1xuICBmaXhhYmxlOiB0cnVlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICByZXR1cm4ge1xuXG4gICAgLy8gYG5vZGVgIGlzIGEgdHlwZSBmcm9tIEB0eXBlc2NyaXB0LWVzbGludC90eXBlc2NyaXB0LWVzdHJlZSwgYnV0IHVzaW5nICdhbnknIGZvciBub3dcbiAgICAvLyBzaW5jZSBpdCdzIGluY29tcGF0aWJsZSB3aXRoIGVzbGludC5SdWxlIG5hbWVzcGFjZS4gV2FpdGluZyBmb3IgYmV0dGVyIGNvbXBhdGliaWxpdHkgaW5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHlwZXNjcmlwdC1lc2xpbnQvdHlwZXNjcmlwdC1lc2xpbnQvdHJlZS8xNzY1YTE3OGU0NTZiMTUyYmQ0ODE5MmViNWRiN2U4NTQxZTJhZGYyL3BhY2thZ2VzL2V4cGVyaW1lbnRhbC11dGlscyNub3RlXG4gICAgLy8gTWVhbndoaWxlLCB1c2UgYSBkZWJ1Z2dlciB0byBleHBsb3JlIHRoZSBBU1Qgbm9kZS5cblxuICAgIFByb2dyYW0oX25vZGU6IGFueSkge1xuICAgICAgaWYgKCFpc1Rlc3RGaWxlKGNvbnRleHQuZ2V0RmlsZW5hbWUoKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaW1wb3J0Q2FjaGUgPSBuZXcgSW1wb3J0Q2FjaGUoKTtcbiAgICAgIGltcG9ydHNGaXhlZCA9IGZhbHNlO1xuICAgIH0sXG5cbiAgICBJbXBvcnREZWNsYXJhdGlvbihub2RlOiBhbnkpIHtcbiAgICAgIGlmICghaXNUZXN0RmlsZShjb250ZXh0LmdldEZpbGVuYW1lKCkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLnNvdXJjZS52YWx1ZSA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKChzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocy50eXBlID09PSAnSW1wb3J0U3BlY2lmaWVyJyAmJiBCQU5ORURfVFlQRVMuaW5jbHVkZXMocy5pbXBvcnRlZC5uYW1lKSkge1xuICAgICAgICAgICAgLy8gbmFtZWQgaW1wb3J0XG4gICAgICAgICAgICBpbXBvcnRDYWNoZS5yZWNvcmQoe1xuICAgICAgICAgICAgICBmaWxlTmFtZTogY29udGV4dC5nZXRGaWxlbmFtZSgpLFxuICAgICAgICAgICAgICB0eXBlTmFtZTogcy5pbXBvcnRlZC5uYW1lLFxuICAgICAgICAgICAgICBpbXBvcnROb2RlOiBub2RlLFxuICAgICAgICAgICAgICBsb2NhbE5hbWU6IHMubG9jYWwubmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocy50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJykge1xuICAgICAgICAgICAgLy8gYmFycmVsIGltcG9ydFxuICAgICAgICAgICAgQkFOTkVEX1RZUEVTLmZvckVhY2godHlwZU5hbWUgPT4ge1xuICAgICAgICAgICAgICBpbXBvcnRDYWNoZS5yZWNvcmQoe1xuICAgICAgICAgICAgICAgIGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksXG4gICAgICAgICAgICAgICAgdHlwZU5hbWUsXG4gICAgICAgICAgICAgICAgaW1wb3J0Tm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgICBsb2NhbE5hbWU6IGAke3MubG9jYWwubmFtZX0uJHt0eXBlTmFtZX1gLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIElkZW50aWZpZXIobm9kZTogYW55KSB7XG4gICAgICBpZiAoIWlzVGVzdEZpbGUoY29udGV4dC5nZXRGaWxlbmFtZSgpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBPbmx5IGFwcGx5IHJ1bGUgdG8gYmluZGluZ3MgKHZhcmlhYmxlcyBhbmQgZnVuY3Rpb24gcGFyYW1ldGVycylcbiAgICAgIGNvbnN0IHR5cGVBbm5vdGF0aW9uID0gbm9kZS50eXBlQW5ub3RhdGlvbj8udHlwZUFubm90YXRpb247XG4gICAgICBpZiAoIXR5cGVBbm5vdGF0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHR5cGUgPSB0eXBlQW5ub3RhdGlvbi50eXBlTmFtZTtcbiAgICAgIGlmICghdHlwZSkgeyByZXR1cm47IH1cblxuICAgICAgY29uc3QgbWVzc2FnZSA9ICdVc2UgQ29uc3RydWN0IGFuZCBJQ29uc3RydWN0IGZyb20gdGhlIFwiY29uc3RydWN0c1wiIG1vZHVsZSBpbiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgKG5vdCBcIkBhd3MtY2RrL2NvcmVcIiknO1xuXG4gICAgICBpZiAodHlwZS50eXBlID09PSAnVFNRdWFsaWZpZWROYW1lJykge1xuICAgICAgICAvLyBiYXJyZWwgaW1wb3J0XG4gICAgICAgIGNvbnN0IHF1YWxpZmllciA9IHR5cGUubGVmdC5uYW1lO1xuICAgICAgICBjb25zdCB0eXBlbmFtZSA9IHR5cGUucmlnaHQubmFtZTtcbiAgICAgICAgY29uc3QgaW1wb3J0Tm9kZSA9IGZpbmRJbXBvcnROb2RlKGAke3F1YWxpZmllcn0uJHt0eXBlbmFtZX1gKTtcbiAgICAgICAgaWYgKCFpbXBvcnROb2RlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaXhlczogUnVsZS5GaXhbXSA9IFtdO1xuICAgICAgICAgICAgaWYgKCFpbXBvcnRzRml4ZWQpIHtcbiAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoaW1wb3J0Tm9kZSwgXCJcXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1wiKSk7XG4gICAgICAgICAgICAgIGltcG9ydHNGaXhlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UodHlwZUFubm90YXRpb24ucmFuZ2UsIGBjb25zdHJ1Y3RzLiR7dHlwZW5hbWV9YCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZpeGVzO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmICh0eXBlLnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAvLyBuYW1lZCBpbXBvcnRzXG4gICAgICAgIGNvbnN0IGltcG9ydE5vZGUgPSBmaW5kSW1wb3J0Tm9kZSh0eXBlLm5hbWUpO1xuICAgICAgICBpZiAoIWltcG9ydE5vZGUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICBmaXg6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpeGVzOiBSdWxlLkZpeFtdID0gW107XG4gICAgICAgICAgICBpZiAoIWltcG9ydHNGaXhlZCkge1xuICAgICAgICAgICAgICBjb25zdCB0eXBlc1RvSW1wb3J0ID0gQkFOTkVEX1RZUEVTLm1hcCh0eXBlTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gaW1wb3J0Q2FjaGUuZmluZCh7IGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksIHR5cGVOYW1lIH0pO1xuICAgICAgICAgICAgICAgIGlmICghdmFsKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZU5hbWUgPT09IHZhbC5sb2NhbE5hbWUpIHsgcmV0dXJuIHR5cGVOYW1lOyB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3R5cGVOYW1lfSBhcyAke3ZhbC5sb2NhbE5hbWV9YDtcbiAgICAgICAgICAgICAgfSkuZmlsdGVyKHggPT4geCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoaW1wb3J0Tm9kZSwgYFxcbmltcG9ydCB7ICR7dHlwZXNUb0ltcG9ydC5qb2luKCcsICcpfSB9IGZyb20gJ2NvbnN0cnVjdHMnO2ApKTtcblxuICAgICAgICAgICAgICBjb25zdCBzcGVjaWZpZXJzID0gaW1wb3J0Tm9kZS5zcGVjaWZpZXJzO1xuICAgICAgICAgICAgICBpZiAoc3BlY2lmaWVycy5sZW5ndGggPT09IHR5cGVzVG9JbXBvcnQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZW1vdmVSYW5nZShpbXBvcnROb2RlLnJhbmdlKSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGVjaWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBzID0gc3BlY2lmaWVyc1tpXTtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlc1RvSW1wb3J0LmluY2x1ZGVzKHMuaW1wb3J0ZWQubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IHNwZWNpZmllcnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVtb3ZlUmFuZ2UoW3MucmFuZ2VbMF0gLSAyLCBzLnJhbmdlWzFdXSkpOyAvLyBpbmNsdWRlIHRoZSBsZWFkaW5nIGNvbW1hXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZW1vdmVSYW5nZShbcy5yYW5nZVswXSwgcy5yYW5nZVsxXSArIDJdKSk7IC8vIGluY2x1ZGUgdGhlIHRyYWlsaW5nIGNvbW1hXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaW1wb3J0c0ZpeGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXhlcztcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZmluZEltcG9ydE5vZGUobG9jYU5hbWU6IHN0cmluZyk6IE5vZGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQkFOTkVEX1RZUEVTLm1hcCh0eXBlTmFtZSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsID0gaW1wb3J0Q2FjaGUuZmluZCh7IGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksIHR5cGVOYW1lIH0pO1xuICAgICAgICAgIGlmICh2YWwgJiYgdmFsLmxvY2FsTmFtZSA9PT0gbG9jYU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWwuaW1wb3J0Tm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSkuZmluZCh4ID0+IHggIT09IHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNUZXN0RmlsZShmaWxlbmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgUmVnRXhwKC9cXC90ZXN0XFwvLykudGVzdChmaWxlbmFtZSk7XG59Il19
|
|
@@ -37,10 +37,9 @@ exports.create = create;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
function isPathJoinFuncCall(node) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
((_h = (_g = node.parent) === null || _g === void 0 ? void 0 : _g.arguments) === null || _h === void 0 ? void 0 : _h.some((a) => { var _a, _b; return ((_b = (_a = a.callee) === null || _a === void 0 ? void 0 : _a.object) === null || _b === void 0 ? void 0 : _b.name) === 'path'; }))));
|
|
40
|
+
return (node.callee?.property?.name === 'join' &&
|
|
41
|
+
(node.parent?.expression?.callee?.object?.name === 'path' ||
|
|
42
|
+
node.parent?.arguments?.some((a) => a.callee?.object?.name === 'path')));
|
|
44
43
|
}
|
|
45
44
|
function noArgumentVariables(node) {
|
|
46
45
|
// Outside of the first argument, all arguments should be strings
|
|
@@ -109,4 +108,4 @@ function create(context) {
|
|
|
109
108
|
},
|
|
110
109
|
};
|
|
111
110
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW52YWxpZC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLWludmFsaWQtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9DQSx3QkFzREM7QUExRkQsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUc3QixTQUFTLGtCQUFrQixDQUFDLElBQVM7SUFDbkMsT0FBTyxDQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksS0FBSyxNQUFNO1FBQ3RDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEtBQUssTUFBTTtZQUN6RCxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUM3RSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBUztJQUNwQyxpRUFBaUU7SUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFjO0lBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLElBQVM7SUFDbEMsT0FBTyxJQUFJLENB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QUMsQ0FBQyxDQUFDO3dCQUM5RixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzs0QkFDMUIsdUVBQXVFOzRCQUN2RSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsMkpBQTJKLEVBQUUsQ0FBQyxDQUFDOzRCQUNwTixPQUFPO3dCQUNULENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuZnVuY3Rpb24gaXNQYXRoSm9pbkZ1bmNDYWxsKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIG5vZGUuY2FsbGVlPy5wcm9wZXJ0eT8ubmFtZSA9PT0gJ2pvaW4nICYmXG4gICAgKG5vZGUucGFyZW50Py5leHByZXNzaW9uPy5jYWxsZWU/Lm9iamVjdD8ubmFtZSA9PT0gJ3BhdGgnIHx8XG4gICAgbm9kZS5wYXJlbnQ/LmFyZ3VtZW50cz8uc29tZSgoYTogYW55KSA9PiBhLmNhbGxlZT8ub2JqZWN0Py5uYW1lID09PSAncGF0aCcpKVxuICApO1xufVxuXG5mdW5jdGlvbiBub0FyZ3VtZW50VmFyaWFibGVzKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAvLyBPdXRzaWRlIG9mIHRoZSBmaXJzdCBhcmd1bWVudCwgYWxsIGFyZ3VtZW50cyBzaG91bGQgYmUgc3RyaW5nc1xuICBjb25zdCBjb21wb25lbnRzID0gbm9kZS5hcmd1bWVudHMuc2xpY2UoMSk7XG4gIHJldHVybiBjb21wb25lbnRzLmV2ZXJ5KChhOiBhbnkpID0+IGEudmFsdWUgIT09IHVuZGVmaW5lZCk7XG59XG5cbmZ1bmN0aW9uIGhhc1NsYXNoZXMoYXJnczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGFyZ3Muc29tZSgoYSkgPT4gYS5pbmNsdWRlcygnLycpKTtcbn1cblxuZnVuY3Rpb24gZmlyc3RBcmdJc0Rpcm5hbWUobm9kZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLmFyZ3VtZW50c1swXS5uYW1lICYmIG5vZGUuYXJndW1lbnRzWzBdLm5hbWUgPT09ICdfX2Rpcm5hbWUnO1xufVxuXG5mdW5jdGlvbiBhcmd1bWVudExpc3Qobm9kZTogYW55KTogc3RyaW5nW10ge1xuICAvLyBBbHJlYWR5IGNvbmZpcm1lZCB0aGF0IGZpcnN0IGFyZ3VtZW50IGlzICdfX2Rpcm5hbWUnLCBzbyBjYW4gc2FmZWx5IHJlbW92ZSBpdFxuICBjb25zdCBhcmdzOiBzdHJpbmdbXSA9IG5vZGUuYXJndW1lbnRzLnNsaWNlKDEpLm1hcCgoYTogYW55KSA9PiB7IHJldHVybiBhLnZhbHVlOyB9KTtcbiAgcmV0dXJuIGFyZ3M7XG59XG5cbmZ1bmN0aW9uIHJlY3JlYXRlUGF0aChhcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBgcGF0aC5qb2luKF9fZGlybmFtZSwgJyR7YXJncy5qb2luKCdcXCcsIFxcJycpfScpYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICByZXR1cm4ge1xuICAgIENhbGxFeHByZXNzaW9uKG5vZGU6IGFueSkge1xuICAgICAgaWYgKGlzUGF0aEpvaW5GdW5jQ2FsbChub2RlKSkge1xuICAgICAgICBpZiAobm9kZS5hcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgLy8gRVJST1I6IHRoaXMgaXMgJ3BhdGguam9pbigpJ1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogJ1xcJ3BhdGguam9pbigpXFwnIGlzIG5vdCBhIHZhbGlkIHBhdGguIFlvdSBtdXN0IHNwZWNpZnkgYXJndW1lbnRzIGludG8gdGhlIGZ1bmN0aW9uLicgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFub0FyZ3VtZW50VmFyaWFibGVzKG5vZGUpKSB7XG4gICAgICAgICAgLy8gV0FSTklORzogdW5leHBlY3RlZCBub24tc3RyaW5nIGluIHRoZSBhcmd1bWVudCBsaXN0LiBUaGlzIGhhcHBlbnMgaWYgcGFydCBvZiB0aGUgYXJndW1lbnQgbGlzdCBpcyBhIHZhcmlhYmxlLCBpLmUuIGBwYXRoLmpvaW4oX19kaXJuYW1lLCBteVBhdGgpYC5cbiAgICAgICAgICAvLyBXZSBtYXkgYmUgYWJsZSB0byBkbyBzb21ldGhpbmcgYWJvdXQgdGhpcywgYnV0IHdlIGN1cnJlbnRseSBhcmUganVzdCBnb2luZyB0byBsZXQgaXQgcGFzcy5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90IGxpbnQgYW55IHBhdGguam9pbiB3aXRob3V0ICdfX2Rpcm5hbWUnIGFzIHRoZSBmaXJzdCBhcmd1bWVudFxuICAgICAgICBpZiAoIWZpcnN0QXJnSXNEaXJuYW1lKG5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJncyA9IGFyZ3VtZW50TGlzdChub2RlKTtcblxuICAgICAgICBpZiAoaGFzU2xhc2hlcyhhcmdzKSkge1xuICAgICAgICAgIC8vIEVSUk9SOiBUaGlzIHBhdGggbG9va3MgbGlrZSAncGF0aC5qb2luKF9fZGlybmFtZSwgJ2EvYicpJyBhbmQgc2hvdWxkIGJlIGNoYW5nZWQgdG8gJ3BhdGguam9pbihfX2Rpcm5hbWUsICdhJywgJ2InKSdcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2U6IGAke3JlY3JlYXRlUGF0aChhcmdzKX0gaXMgbm90IGEgdmFsaWQgcGF0aC4gSXQgaGFzICcvJyBpbiB0aGUgYXJndW1lbnRzIHdoaWNoIGlzIG5vdCBhbGxvd2VkLiBFYWNoIGRpcmVjdG9yeSBzaG91bGQgYmUgaXRzIG93biBzZXBhcmF0ZSBhcmd1bWVudC5gIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpcnN0RG93bkRpciA9IGFyZ3MuZmluZEluZGV4KChwKSA9PiBwICE9PSAnLi4nKTtcblxuICAgICAgICAvLyBDb25maXJtIHBhdGggZG9lcyBub3QgaGF2ZSBhbnkgdW5uZWNlc3NhcnkgJy4uJyBwYXRoc1xuICAgICAgICAvLyBUaGlzIGFsbG93cyB1cyB0byB2YWxpZGF0ZSBzdWJzZXF1ZW50IGNoZWNrc1xuICAgICAgICBpZiAoZmlyc3REb3duRGlyID4gMCAmJiBhcmdzLnNvbWUoKHAsIGkpID0+IHAgPT09ICcuLicgJiYgaSA+IGZpcnN0RG93bkRpcikpIHtcbiAgICAgICAgICAvLyBFUlJPUjogVGhpcyBwYXRoIG9zY2lsbGF0ZXMgYmV0d2VlbiB1cCBhbmQgZG93biBjb21tYW5kc1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogYCR7cmVjcmVhdGVQYXRoKGFyZ3MpfSBpcyBub3QgYSB2YWxpZCBwYXRoLiBJdCBnb2VzIGJhY2t3YXJkcyBhbmQgZm9yd2FyZHMgYW5kIGJhY2t3YXJkcyBhZ2FpbiwgYW5kIGNhbiBiZSBzaW1wbGlmaWVkLmAgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhjbHVkZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgbm8gJy4uJyBhdCBhbGwgaW4gdGhlIHBhdGggLS0gdGhvc2UgYXJlIG5ldmVyIGludmFsaWRcbiAgICAgICAgY29uc3QgY3VycmVudEZpbGUgPSBjb250ZXh0LmdldEZpbGVuYW1lKCk7XG4gICAgICAgIGlmIChmaXJzdERvd25EaXIgPiAwKSB7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaXJzdERvd25EaXI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGpGaWxlID0gcGF0aC5qb2luKC4uLltwYXRoLmRpcm5hbWUoY3VycmVudEZpbGUpLCAuLi5hcmdzLnNsaWNlKDAsIGkpLCAncGFja2FnZS5qc29uJ10pO1xuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocGpGaWxlKSkge1xuICAgICAgICAgICAgICAvLyBFUlJPUjogdGhpcyBwYXRoIHdpbGwgZW5kIHVwIGdvaW5nIG91dCBvZiB0aGUgcGFja2FnZS5qc29uIGRpcmVjdG9yeVxuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2U6IGAke3JlY3JlYXRlUGF0aChhcmdzKX0gaXMgbm90IGEgdmFsaWQgcGF0aC4gSXQgZ29lcyBiZXlvbmQgdGhlIHBhcmVudCBsaWJyYXJ5J3MgcGFja2FnZS5qc29uIGZpbGUgc28gdGhlIGZpbGUgaXQgcG9pbnRzIHRvIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBhZnRlciB0aGUgbGlicmFyeSBpcyBwYWNrYWdlZC5gIH0pO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -27,12 +27,11 @@ function create(context) {
|
|
|
27
27
|
staticFunctionStack.pop();
|
|
28
28
|
}
|
|
29
29
|
function reportIfStatic(node) {
|
|
30
|
-
var _a;
|
|
31
30
|
const currentMethodIsStatic = staticFunctionStack.length > 0 && staticFunctionStack[staticFunctionStack.length - 1];
|
|
32
31
|
if (currentMethodIsStatic) {
|
|
33
32
|
context.report({
|
|
34
33
|
node,
|
|
35
|
-
loc:
|
|
34
|
+
loc: node.loc ?? { line: 0, column: 0 },
|
|
36
35
|
message: "'{{type}}' keyword found in a static method. Replace it with the class name.",
|
|
37
36
|
data: { type: sourceCode.getText(node) },
|
|
38
37
|
fix(fixer) {
|
|
@@ -55,7 +54,6 @@ function create(context) {
|
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
function superClasses(node) {
|
|
58
|
-
var _a;
|
|
59
57
|
if (node == null) {
|
|
60
58
|
return [];
|
|
61
59
|
}
|
|
@@ -66,7 +64,7 @@ function create(context) {
|
|
|
66
64
|
const className = superClass.name;
|
|
67
65
|
const decl = classDeclarations.get(className);
|
|
68
66
|
result.push(decl);
|
|
69
|
-
superClass =
|
|
67
|
+
superClass = classDeclarations.get(className)?.superClass;
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
70
|
return result;
|
|
@@ -117,4 +115,4 @@ function create(context) {
|
|
|
117
115
|
'ClassDeclaration': enterClass,
|
|
118
116
|
};
|
|
119
117
|
}
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdGhpcy1pbi1zdGF0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFVSCx3QkF1SUM7QUEzSVksUUFBQSxJQUFJLEdBQUc7SUFDbEIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsU0FBZ0IsTUFBTSxDQUFDLE9BQXlCO0lBQzlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDdEMsTUFBTSxtQkFBbUIsR0FBYyxFQUFFLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVuRSxTQUFTLGNBQWMsQ0FBQyxJQUFTO1FBQy9CLE9BQU8sQ0FDTCxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQjtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsYUFBYSxDQUFDLElBQXNFO1FBQzNGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxZQUFZO1FBQ25CLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFvRDs7UUFDMUUsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwSCxJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDYixJQUFJO2dCQUNKLEdBQUcsRUFBRSxN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QkFBcUIsRUFBRSxhQUFhO1FBQ3BDLG9CQUFvQixFQUFFLGFBQWE7UUFDbkMsMEJBQTBCLEVBQUUsWUFBWTtRQUN4Qyx5QkFBeUIsRUFBRSxZQUFZO1FBQ3ZDLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsT0FBTyxFQUFFLGNBQWM7UUFDdkIsa0JBQWtCLEVBQUUsVUFBVTtLQUMvQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9teXN0aWNhdGVhL2VzbGludC1wbHVnaW4vYmxvYi92MTMuMC4wL3Rlc3RzL2xpYi9ydWxlcy9uby10aGlzLWluLXN0YXRpYy5qc1xuICogQGF1dGhvciBUb3J1IE5hZ2FzaGltYVxuICogQGNvcHlyaWdodCAyMDE2IFRvcnUgTmFnYXNoaW1hLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTUlUIExpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcbmltcG9ydCB0eXBlIHsgQ2xhc3NEZWNsYXJhdGlvbiwgRnVuY3Rpb25EZWNsYXJhdGlvbiwgRnVuY3Rpb25FeHByZXNzaW9uLCBTdXBlciwgVGhpc0V4cHJlc3Npb24gfSBmcm9tICdlc3RyZWUnO1xuaW1wb3J0IE5vZGVQYXJlbnRFeHRlbnNpb24gPSBSdWxlLk5vZGVQYXJlbnRFeHRlbnNpb247XG5cbmV4cG9ydCBjb25zdCBtZXRhID0ge1xuICBmaXhhYmxlOiB0cnVlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlO1xuICBjb25zdCBzdGF0aWNGdW5jdGlvblN0YWNrOiBib29sZWFuW10gPSBbXTtcbiAgY29uc3QgY2xhc3NEZWNsYXJhdGlvbnM6IE1hcDxzdHJpbmcsIENsYXNzRGVjbGFyYXRpb24+ID0gbmV3IE1hcCgpO1xuXG4gIGZ1bmN0aW9uIGlzU3RhdGljTWV0aG9kKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBub2RlLnR5cGUgPT09ICdGdW5jdGlvbkV4cHJlc3Npb24nICYmXG4gICAgICBub2RlLnBhcmVudC50eXBlID09PSAnTWV0aG9kRGVmaW5pdGlvbicgJiZcbiAgICAgIG5vZGUucGFyZW50LnN0YXRpYyA9PT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvbiBlbnRlckZ1bmN0aW9uKG5vZGU6IChGdW5jdGlvbkRlY2xhcmF0aW9uIHwgRnVuY3Rpb25FeHByZXNzaW9uKSAmIE5vZGVQYXJlbnRFeHRlbnNpb24pIHtcbiAgICBzdGF0aWNGdW5jdGlvblN0YWNrLnB1c2goaXNTdGF0aWNNZXRob2Qobm9kZSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhpdEZ1bmN0aW9uKCkge1xuICAgIHN0YXRpY0Z1bmN0aW9uU3RhY2sucG9wKCk7XG4gIH1cblxuICBmdW5jdGlvbiByZXBvcnRJZlN0YXRpYyhub2RlOiAoVGhpc0V4cHJlc3Npb24gfCBTdXBlcikgJiBOb2RlUGFyZW50RXh0ZW5zaW9uKSB7XG4gICAgY29uc3QgY3VycmVudE1ldGhvZElzU3RhdGljID0gc3RhdGljRnVuY3Rpb25TdGFjay5sZW5ndGggPiAwICYmIHN0YXRpY0Z1bmN0aW9uU3RhY2tbc3RhdGljRnVuY3Rpb25TdGFjay5sZW5ndGggLSAxXTtcblxuICAgIGlmIChjdXJyZW50TWV0aG9kSXNTdGF0aWMpIHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbG9jOiBub2RlLmxvYyA/PyB7IGxpbmU6IDAsIGNvbHVtbjogMCB9LFxuICAgICAgICBtZXNzYWdlOiBcIid7e3R5cGV9fScga2V5d29yZCBmb3VuZCBpbiBhIHN0YXRpYyBtZXRob2QuIFJlcGxhY2UgaXQgd2l0aCB0aGUgY2xhc3MgbmFtZS5cIixcbiAgICAgICAgZGF0YTogeyB0eXBlOiBzb3VyY2VDb2RlLmdldFRleHQobm9kZSkgfSxcbiAgICAgICAgZml4KGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikge1xuICAgICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdTdXBlcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGhpZXJhcmNoeSA9IHN1cGVyQ2xhc3NlcyhmaW5kQ2xhc3NEZWNsYXJhdGlvbihub2RlKSk7XG4gICAgICAgICAgICBjb25zdCBtZW1iZXJOYW1lID0gZmluZE1lbWJlck5hbWUobm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChtZW1iZXJOYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN1cGVyRGVjbCA9IGhpZXJhcmNoeS5maW5kKGhhc1N0YXRpY01lbWJlckNhbGxlZChtZW1iZXJOYW1lKSk7XG4gICAgICAgICAgICByZXR1cm4gc3VwZXJEZWNsID8gZml4ZXIucmVwbGFjZVRleHQobm9kZSwgc3VwZXJEZWNsLmlkLm5hbWUpIDogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobm9kZS50eXBlID09PSAnVGhpc0V4cHJlc3Npb24nKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsID0gZmluZENsYXNzRGVjbGFyYXRpb24obm9kZSk7XG4gICAgICAgICAgICByZXR1cm4gZGVjbCA/IGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsIGRlY2wuaWQubmFtZSkgOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc3VwZXJDbGFzc2VzKG5vZGU6IENsYXNzRGVjbGFyYXRpb24gfCBudWxsKTogQ2xhc3NEZWNsYXJhdGlvbltdIHtcbiAgICBpZiAobm9kZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0OiBDbGFzc0RlY2xhcmF0aW9uW10gPSBbXTtcblxuICAgIGxldCBzdXBlckNsYXNzID0gbm9kZS5zdXBlckNsYXNzO1xuXG4gICAgd2hpbGUgKHN1cGVyQ2xhc3MgIT0gbnVsbCkge1xuICAgICAgaWYgKHN1cGVyQ2xhc3MudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHN1cGVyQ2xhc3MubmFtZTtcbiAgICAgICAgY29uc3QgZGVjbCA9IGNsYXNzRGVjbGFyYXRpb25zLmdldChjbGFzc05hbWUpITtcbiAgICAgICAgcmVzdWx0LnB1c2goZGVjbCk7XG4gICAgICAgIHN1cGVyQ2xhc3MgPSBjbGFzc0RlY2xhcmF0aW9ucy5nZXQoY2xhc3NOYW1lKT8uc3VwZXJDbGFzcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gZW50ZXJDbGFzcyhub2RlOiBDbGFzc0RlY2xhcmF0aW9uICYgTm9kZVBhcmVudEV4dGVuc2lvbikge1xuICAgIGNsYXNzRGVjbGFyYXRpb25zLnNldChub2RlLmlkLm5hbWUsIG5vZGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gZmluZENsYXNzRGVjbGFyYXRpb24obm9kZTogTm9kZVBhcmVudEV4dGVuc2lvbik6IENsYXNzRGVjbGFyYXRpb24gfCBudWxsIHtcbiAgICBsZXQgcGFyZW50ID0gbm9kZS5wYXJlbnQ7XG5cbiAgICB3aGlsZSAocGFyZW50ICE9IG51bGwpIHtcbiAgICAgIGlmIChwYXJlbnQudHlwZSA9PT0gJ0NsYXNzRGVjbGFyYXRpb24nKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBmaW5kTWVtYmVyTmFtZShub2RlOiBOb2RlUGFyZW50RXh0ZW5zaW9uKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IHBhcmVudCA9IG5vZGUucGFyZW50O1xuXG4gICAgd2hpbGUgKHBhcmVudCAhPSBudWxsKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHBhcmVudC50eXBlID09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICAgICAmJiBwYXJlbnQucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudC5wcm9wZXJ0eS5uYW1lO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHBhcmVudC50eXBlID09PSAnQ2FsbEV4cHJlc3Npb24nXG4gICAgICAgICYmIHBhcmVudC5jYWxsZWUudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nXG4gICAgICAgICYmIHBhcmVudC5jYWxsZWUucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudC5jYWxsZWUucHJvcGVydHkubmFtZTtcbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGhhc1N0YXRpY01lbWJlckNhbGxlZCA9IChuYW1lOiBzdHJpbmcpID0+IChkZWNsOiBDbGFzc0RlY2xhcmF0aW9uKSA9PiB7XG4gICAgcmV0dXJuIGRlY2wuYm9keS5ib2R5LnNvbWUoKG5vZGUpID0+IHtcbiAgICAgIHJldHVybiAobm9kZS50eXBlID09PSAnTWV0aG9kRGVmaW5pdGlvbicgfHwgbm9kZS50eXBlID09PSAnUHJvcGVydHlEZWZpbml0aW9uJylcbiAgICAgICAgJiYgbm9kZS5zdGF0aWMgJiYgbm9kZS5rZXkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICAgICYmIG5vZGUua2V5Lm5hbWUgPT09IG5hbWU7XG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAnRnVuY3Rpb25EZWNsYXJhdGlvbic6IGVudGVyRnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbic6IGVudGVyRnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRGVjbGFyYXRpb246ZXhpdCc6IGV4aXRGdW5jdGlvbixcbiAgICAnRnVuY3Rpb25FeHByZXNzaW9uOmV4aXQnOiBleGl0RnVuY3Rpb24sXG4gICAgJ1RoaXNFeHByZXNzaW9uJzogcmVwb3J0SWZTdGF0aWMsXG4gICAgJ1N1cGVyJzogcmVwb3J0SWZTdGF0aWMsXG4gICAgJ0NsYXNzRGVjbGFyYXRpb24nOiBlbnRlckNsYXNzLFxuICB9O1xufVxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdGhpcy1pbi1zdGF0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFVSCx3QkF1SUM7QUEzSVksUUFBQSxJQUFJLEdBQUc7SUFDbEIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsU0FBZ0IsTUFBTSxDQUFDLE9BQXlCO0lBQzlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDdEMsTUFBTSxtQkFBbUIsR0FBYyxFQUFFLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVuRSxTQUFTLGNBQWMsQ0FBQyxJQUFTO1FBQy9CLE9BQU8sQ0FDTCxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQjtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsYUFBYSxDQUFDLElBQXNFO1FBQzNGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxZQUFZO1FBQ25CLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFvRDtRQUMxRSxNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXBILElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNiLElBQUk7Z0JBQ0osR0FBRyxFQUFFLElB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YTtRQUNwQyxvQkFBb0IsRUFBRSxhQUFhO1FBQ25DLDBCQUEwQixFQUFFLFlBQVk7UUFDeEMseUJBQXlCLEVBQUUsWUFBWTtRQUN2QyxnQkFBZ0IsRUFBRSxjQUFjO1FBQ2hDLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLGtCQUFrQixFQUFFLFVBQVU7S0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbXlzdGljYXRlYS9lc2xpbnQtcGx1Z2luL2Jsb2IvdjEzLjAuMC90ZXN0cy9saWIvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMuanNcbiAqIEBhdXRob3IgVG9ydSBOYWdhc2hpbWFcbiAqIEBjb3B5cmlnaHQgMjAxNiBUb3J1IE5hZ2FzaGltYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIE1JVCBMaWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IENsYXNzRGVjbGFyYXRpb24sIEZ1bmN0aW9uRGVjbGFyYXRpb24sIEZ1bmN0aW9uRXhwcmVzc2lvbiwgU3VwZXIsIFRoaXNFeHByZXNzaW9uIH0gZnJvbSAnZXN0cmVlJztcbmltcG9ydCBOb2RlUGFyZW50RXh0ZW5zaW9uID0gUnVsZS5Ob2RlUGFyZW50RXh0ZW5zaW9uO1xuXG5leHBvcnQgY29uc3QgbWV0YSA9IHtcbiAgZml4YWJsZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuTm9kZUxpc3RlbmVyIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuc291cmNlQ29kZTtcbiAgY29uc3Qgc3RhdGljRnVuY3Rpb25TdGFjazogYm9vbGVhbltdID0gW107XG4gIGNvbnN0IGNsYXNzRGVjbGFyYXRpb25zOiBNYXA8c3RyaW5nLCBDbGFzc0RlY2xhcmF0aW9uPiA9IG5ldyBNYXAoKTtcblxuICBmdW5jdGlvbiBpc1N0YXRpY01ldGhvZChub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbm9kZS50eXBlID09PSAnRnVuY3Rpb25FeHByZXNzaW9uJyAmJlxuICAgICAgbm9kZS5wYXJlbnQudHlwZSA9PT0gJ01ldGhvZERlZmluaXRpb24nICYmXG4gICAgICBub2RlLnBhcmVudC5zdGF0aWMgPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgZnVuY3Rpb24gZW50ZXJGdW5jdGlvbihub2RlOiAoRnVuY3Rpb25EZWNsYXJhdGlvbiB8IEZ1bmN0aW9uRXhwcmVzc2lvbikgJiBOb2RlUGFyZW50RXh0ZW5zaW9uKSB7XG4gICAgc3RhdGljRnVuY3Rpb25TdGFjay5wdXNoKGlzU3RhdGljTWV0aG9kKG5vZGUpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGV4aXRGdW5jdGlvbigpIHtcbiAgICBzdGF0aWNGdW5jdGlvblN0YWNrLnBvcCgpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVwb3J0SWZTdGF0aWMobm9kZTogKFRoaXNFeHByZXNzaW9uIHwgU3VwZXIpICYgTm9kZVBhcmVudEV4dGVuc2lvbikge1xuICAgIGNvbnN0IGN1cnJlbnRNZXRob2RJc1N0YXRpYyA9IHN0YXRpY0Z1bmN0aW9uU3RhY2subGVuZ3RoID4gMCAmJiBzdGF0aWNGdW5jdGlvblN0YWNrW3N0YXRpY0Z1bmN0aW9uU3RhY2subGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoY3VycmVudE1ldGhvZElzU3RhdGljKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG5vZGUsXG4gICAgICAgIGxvYzogbm9kZS5sb2MgPz8geyBsaW5lOiAwLCBjb2x1bW46IDAgfSxcbiAgICAgICAgbWVzc2FnZTogXCIne3t0eXBlfX0nIGtleXdvcmQgZm91bmQgaW4gYSBzdGF0aWMgbWV0aG9kLiBSZXBsYWNlIGl0IHdpdGggdGhlIGNsYXNzIG5hbWUuXCIsXG4gICAgICAgIGRhdGE6IHsgdHlwZTogc291cmNlQ29kZS5nZXRUZXh0KG5vZGUpIH0sXG4gICAgICAgIGZpeChmaXhlcjogUnVsZS5SdWxlRml4ZXIpIHtcbiAgICAgICAgICBpZiAobm9kZS50eXBlID09PSAnU3VwZXInKSB7XG4gICAgICAgICAgICBjb25zdCBoaWVyYXJjaHkgPSBzdXBlckNsYXNzZXMoZmluZENsYXNzRGVjbGFyYXRpb24obm9kZSkpO1xuICAgICAgICAgICAgY29uc3QgbWVtYmVyTmFtZSA9IGZpbmRNZW1iZXJOYW1lKG5vZGUpO1xuXG4gICAgICAgICAgICBpZiAobWVtYmVyTmFtZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdXBlckRlY2wgPSBoaWVyYXJjaHkuZmluZChoYXNTdGF0aWNNZW1iZXJDYWxsZWQobWVtYmVyTmFtZSkpO1xuICAgICAgICAgICAgcmV0dXJuIHN1cGVyRGVjbCA/IGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsIHN1cGVyRGVjbC5pZC5uYW1lKSA6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ1RoaXNFeHByZXNzaW9uJykge1xuICAgICAgICAgICAgY29uc3QgZGVjbCA9IGZpbmRDbGFzc0RlY2xhcmF0aW9uKG5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIGRlY2wgPyBmaXhlci5yZXBsYWNlVGV4dChub2RlLCBkZWNsLmlkLm5hbWUpIDogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHN1cGVyQ2xhc3Nlcyhub2RlOiBDbGFzc0RlY2xhcmF0aW9uIHwgbnVsbCk6IENsYXNzRGVjbGFyYXRpb25bXSB7XG4gICAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogQ2xhc3NEZWNsYXJhdGlvbltdID0gW107XG5cbiAgICBsZXQgc3VwZXJDbGFzcyA9IG5vZGUuc3VwZXJDbGFzcztcblxuICAgIHdoaWxlIChzdXBlckNsYXNzICE9IG51bGwpIHtcbiAgICAgIGlmIChzdXBlckNsYXNzLnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBzdXBlckNsYXNzLm5hbWU7XG4gICAgICAgIGNvbnN0IGRlY2wgPSBjbGFzc0RlY2xhcmF0aW9ucy5nZXQoY2xhc3NOYW1lKSE7XG4gICAgICAgIHJlc3VsdC5wdXNoKGRlY2wpO1xuICAgICAgICBzdXBlckNsYXNzID0gY2xhc3NEZWNsYXJhdGlvbnMuZ2V0KGNsYXNzTmFtZSk/LnN1cGVyQ2xhc3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVudGVyQ2xhc3Mobm9kZTogQ2xhc3NEZWNsYXJhdGlvbiAmIE5vZGVQYXJlbnRFeHRlbnNpb24pIHtcbiAgICBjbGFzc0RlY2xhcmF0aW9ucy5zZXQobm9kZS5pZC5uYW1lLCBub2RlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbmRDbGFzc0RlY2xhcmF0aW9uKG5vZGU6IE5vZGVQYXJlbnRFeHRlbnNpb24pOiBDbGFzc0RlY2xhcmF0aW9uIHwgbnVsbCB7XG4gICAgbGV0IHBhcmVudCA9IG5vZGUucGFyZW50O1xuXG4gICAgd2hpbGUgKHBhcmVudCAhPSBudWxsKSB7XG4gICAgICBpZiAocGFyZW50LnR5cGUgPT09ICdDbGFzc0RlY2xhcmF0aW9uJykge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfVxuXG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gZmluZE1lbWJlck5hbWUobm9kZTogTm9kZVBhcmVudEV4dGVuc2lvbik6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCBwYXJlbnQgPSBub2RlLnBhcmVudDtcblxuICAgIHdoaWxlIChwYXJlbnQgIT0gbnVsbCkge1xuICAgICAgaWYgKFxuICAgICAgICBwYXJlbnQudHlwZSA9PSAnTWVtYmVyRXhwcmVzc2lvbidcbiAgICAgICAgJiYgcGFyZW50LnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnQucHJvcGVydHkubmFtZTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBwYXJlbnQudHlwZSA9PT0gJ0NhbGxFeHByZXNzaW9uJ1xuICAgICAgICAmJiBwYXJlbnQuY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICAgICAmJiBwYXJlbnQuY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnQuY2FsbGVlLnByb3BlcnR5Lm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBoYXNTdGF0aWNNZW1iZXJDYWxsZWQgPSAobmFtZTogc3RyaW5nKSA9PiAoZGVjbDogQ2xhc3NEZWNsYXJhdGlvbikgPT4ge1xuICAgIHJldHVybiBkZWNsLmJvZHkuYm9keS5zb21lKChub2RlKSA9PiB7XG4gICAgICByZXR1cm4gKG5vZGUudHlwZSA9PT0gJ01ldGhvZERlZmluaXRpb24nIHx8IG5vZGUudHlwZSA9PT0gJ1Byb3BlcnR5RGVmaW5pdGlvbicpXG4gICAgICAgICYmIG5vZGUuc3RhdGljICYmIG5vZGUua2V5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgICAmJiBub2RlLmtleS5uYW1lID09PSBuYW1lO1xuICAgIH0pO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgJ0Z1bmN0aW9uRGVjbGFyYXRpb24nOiBlbnRlckZ1bmN0aW9uLFxuICAgICdGdW5jdGlvbkV4cHJlc3Npb24nOiBlbnRlckZ1bmN0aW9uLFxuICAgICdGdW5jdGlvbkRlY2xhcmF0aW9uOmV4aXQnOiBleGl0RnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbjpleGl0JzogZXhpdEZ1bmN0aW9uLFxuICAgICdUaGlzRXhwcmVzc2lvbic6IHJlcG9ydElmU3RhdGljLFxuICAgICdTdXBlcic6IHJlcG9ydElmU3RhdGljLFxuICAgICdDbGFzc0RlY2xhcmF0aW9uJzogZW50ZXJDbGFzcyxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -40,7 +40,6 @@ function create(context) {
|
|
|
40
40
|
suggestions.push({
|
|
41
41
|
desc: 'Replace with `ValidationError`',
|
|
42
42
|
fix: (fixer) => {
|
|
43
|
-
var _a;
|
|
44
43
|
// no existing args
|
|
45
44
|
if (newExpr.arguments.length === 0) {
|
|
46
45
|
return fixer.replaceText(newExpr, "new ValidationError('<insert error message>', this)");
|
|
@@ -48,7 +47,7 @@ function create(context) {
|
|
|
48
47
|
const fixes = [
|
|
49
48
|
fixer.replaceText(newExpr.callee, 'ValidationError'),
|
|
50
49
|
];
|
|
51
|
-
const last =
|
|
50
|
+
const last = newExpr.arguments.at(-1)?.range;
|
|
52
51
|
if (last) {
|
|
53
52
|
fixes.push(fixer.insertTextAfterRange(last, ', this'));
|
|
54
53
|
}
|
|
@@ -65,4 +64,4 @@ function create(context) {
|
|
|
65
64
|
},
|
|
66
65
|
};
|
|
67
66
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdGhyb3ctZGVmYXVsdC1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby10aHJvdy1kZWZhdWx0LWVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLHdCQTRFQztBQW5GWSxRQUFBLElBQUksR0FBRztJQUNsQixjQUFjLEVBQUUsSUFBSTtDQUNyQixDQUFDO0FBRUYsa0VBQWtFO0FBQ2xFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0FBRTlFLFNBQWdCLE1BQU0sQ0FBQyxPQUF5QjtJQUM5QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ2xDLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3BELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3hCLENBQUM7SUFFRixPQUFPO1FBQ0wsY0FBYyxDQUFDLElBQW9CO1lBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQzNDLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQXlCLENBQUM7WUFDL0MsSUFDRSxPQUFPLENBQUMsTUFBTTtnQkFDZCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZO2dCQUNwQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQy9CLENBQUM7Z0JBQ0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUV2QixNQUFNLDJCQUEyQixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFO29CQUN4RCxPQUFPO3dCQUNMLElBQUksRUFBRSxrQkFBa0IsU0FBUyxJQUFJO3dCQUNyQyxHQUFHLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUU7NEJBQzdCLFVBQVU7NEJBQ1YsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQ0FDbkMsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLFNBQVMsNEJBQTRCLENBQUMsQ0FBQzs0QkFDbEYsQ0FBQzs0QkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7d0JBQ3hELENBQUM7cUJBQ0YsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBR0YsdUVBQXVFO2dCQUN2RSxJQUFJLGFBQWEsRUFBRSxDQUFDO29CQUNsQixXQUFXLENBQUMsSUFBSSxDQUNkLDJCQUEyQixDQUFDLGNBQWMsQ0FBQyxFQUMzQywyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxFQUNsRCwyQkFBMkIsQ0FBQyxlQUFlLENBQUMsRUFDNUMsMkJBQTJCLENBQUMsc0JBQXNCLENBQUMsQ0FDcEQsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sV0FBVyxDQUFDLElBQUksQ0FBQzt3QkFDZixJQUFJLEVBQUUsZ0NBQWdDO3dCQUN0QyxHQUFHLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUU7NEJBQzdCLG1CQUFtQjs0QkFDbkIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQ0FDbkMsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUN0QixPQUFPLEVBQ1AscURBQXFELENBQ3RELENBQUM7NEJBQ0osQ0FBQzs0QkFFRCxNQUFNLEtBQUssR0FBRztnQ0FDWixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUM7NkJBQ3JELENBQUM7NEJBRUYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7NEJBQzdDLElBQUksSUFBSSxFQUFFLENBQUM7Z0NBQ1QsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7NEJBQ3pELENBQUM7NEJBRUQsT0FBTyxLQUFLLENBQUM7d0JBQ2YsQ0FBQztxQkFDRixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUNiLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxtREFBbUQ7b0JBQzVELE9BQU8sRUFBRSxXQUFXO2lCQUNyQixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IE5ld0V4cHJlc3Npb24sIFRocm93U3RhdGVtZW50IH0gZnJvbSAnZXN0cmVlJztcblxuZXhwb3J0IGNvbnN0IG1ldGEgPSB7XG4gIGhhc1N1Z2dlc3Rpb25zOiB0cnVlLFxufTtcblxuLy8gbGlzdCBvZiBwYXRocyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSB0b29sa2l0IGVycm9yIHN1Z2dlc3Rpb25zXG5jb25zdCB0b29sa2l0RXJyb3JQYXRocyA9IFsncGFja2FnZXMvYXdzLWNkay8nLCAncGFja2FnZXMvQGF3cy1jZGsvdG9vbGtpdC8nXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICBjb25zdCBmaWxlTmFtZSA9IGNvbnRleHQuZmlsZW5hbWU7XG4gIGNvbnN0IGlzVG9vbGtpdEZpbGUgPSB0b29sa2l0RXJyb3JQYXRocy5zb21lKChwYXRoKSA9PlxuICAgIGZpbGVOYW1lLmluY2x1ZGVzKHBhdGgpLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgVGhyb3dTdGF0ZW1lbnQobm9kZTogVGhyb3dTdGF0ZW1lbnQpIHtcbiAgICAgIGlmIChub2RlLmFyZ3VtZW50LnR5cGUgIT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0V4cHIgPSBub2RlLmFyZ3VtZW50IGFzIE5ld0V4cHJlc3Npb247XG4gICAgICBpZiAoXG4gICAgICAgIG5ld0V4cHIuY2FsbGVlICYmXG4gICAgICAgIG5ld0V4cHIuY2FsbGVlLnR5cGUgPT09ICdJZGVudGlmaWVyJyAmJlxuICAgICAgICBuZXdFeHByLmNhbGxlZS5uYW1lID09PSAnRXJyb3InXG4gICAgICApIHtcbiAgICAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBbXTtcblxuICAgICAgICBjb25zdCByZXBsYWNlRXJyb3JDbGFzc1N1Z2dlc3Rpb24gPSAoc3VnZ2VzdGVkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGVzYzogYFJlcGxhY2Ugd2l0aCBcXGAke3N1Z2dlc3RlZH1cXGBgLFxuICAgICAgICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiB7XG4gICAgICAgICAgICAgIC8vIG5vIGFyZ3NcbiAgICAgICAgICAgICAgaWYgKG5ld0V4cHIuYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dChuZXdFeHByLCBgbmV3ICR7c3VnZ2VzdGVkfSgnPGluc2VydCBlcnJvciBtZXNzYWdlPicpYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIFtmaXhlci5yZXBsYWNlVGV4dChuZXdFeHByLmNhbGxlZSwgc3VnZ2VzdGVkKV07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH07XG5cblxuICAgICAgICAvLyBBZGRzIFRvb2xraXRFcnJvciBhbmQgQXV0aGVudGljYXRpb25FcnJvciBzdWdnZXN0aW9ucyBmb3IgQ0xJIGZpbGVzLlxuICAgICAgICBpZiAoaXNUb29sa2l0RmlsZSkge1xuICAgICAgICAgIHN1Z2dlc3Rpb25zLnB1c2goXG4gICAgICAgICAgICByZXBsYWNlRXJyb3JDbGFzc1N1Z2dlc3Rpb24oJ1Rvb2xraXRFcnJvcicpLFxuICAgICAgICAgICAgcmVwbGFjZUVycm9yQ2xhc3NTdWdnZXN0aW9uKCdBdXRoZW50aWNhdGlvbkVycm9yJyksXG4gICAgICAgICAgICByZXBsYWNlRXJyb3JDbGFzc1N1Z2dlc3Rpb24oJ0Fzc2VtYmx5RXJyb3InKSxcbiAgICAgICAgICAgIHJlcGxhY2VFcnJvckNsYXNzU3VnZ2VzdGlvbignQ29udGV4dFByb3ZpZGVyRXJyb3InKSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN1Z2dlc3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgZGVzYzogJ1JlcGxhY2Ugd2l0aCBgVmFsaWRhdGlvbkVycm9yYCcsXG4gICAgICAgICAgICBmaXg6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpID0+IHtcbiAgICAgICAgICAgICAgLy8gbm8gZXhpc3RpbmcgYXJnc1xuICAgICAgICAgICAgICBpZiAobmV3RXhwci5hcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpeGVyLnJlcGxhY2VUZXh0KFxuICAgICAgICAgICAgICAgICAgbmV3RXhwcixcbiAgICAgICAgICAgICAgICAgIFwibmV3IFZhbGlkYXRpb25FcnJvcignPGluc2VydCBlcnJvciBtZXNzYWdlPicsIHRoaXMpXCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IGZpeGVzID0gW1xuICAgICAgICAgICAgICAgIGZpeGVyLnJlcGxhY2VUZXh0KG5ld0V4cHIuY2FsbGVlLCAnVmFsaWRhdGlvbkVycm9yJyksXG4gICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgY29uc3QgbGFzdCA9IG5ld0V4cHIuYXJndW1lbnRzLmF0KC0xKT8ucmFuZ2U7XG4gICAgICAgICAgICAgIGlmIChsYXN0KSB7XG4gICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXJSYW5nZShsYXN0LCAnLCB0aGlzJykpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGZpeGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlOiBuZXdFeHByLFxuICAgICAgICAgIG1lc3NhZ2U6ICdFeHBlY3RlZCBhIG5vbi1kZWZhdWx0IGVycm9yIG9iamVjdCB0byBiZSB0aHJvd24uJyxcbiAgICAgICAgICBzdWdnZXN0OiBzdWdnZXN0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -36,31 +36,31 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@stylistic/eslint-plugin": "^2",
|
|
38
38
|
"@types/eslint": "^8",
|
|
39
|
-
"@types/estree": "^1.0.
|
|
39
|
+
"@types/estree": "^1.0.8",
|
|
40
40
|
"@types/fs-extra": "^11.0.4",
|
|
41
41
|
"@types/jest": "^29.5.14",
|
|
42
42
|
"@types/node": "^18",
|
|
43
43
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
44
44
|
"@typescript-eslint/parser": "^8",
|
|
45
|
-
"cdklabs-projen-project-types": "^0.1
|
|
45
|
+
"cdklabs-projen-project-types": "^0.3.1",
|
|
46
46
|
"commit-and-tag-version": "^12",
|
|
47
47
|
"constructs": "^10.0.0",
|
|
48
48
|
"eslint": "^8",
|
|
49
|
-
"eslint-import-resolver-typescript": "^3.
|
|
50
|
-
"eslint-plugin-import": "^2.
|
|
49
|
+
"eslint-import-resolver-typescript": "^3.10.1",
|
|
50
|
+
"eslint-plugin-import": "^2.32.0",
|
|
51
51
|
"jest": "^29.7.0",
|
|
52
|
-
"jest-junit": "^
|
|
53
|
-
"projen": "^0.
|
|
54
|
-
"ts-jest": "^29.
|
|
52
|
+
"jest-junit": "^16",
|
|
53
|
+
"projen": "^0.92.9",
|
|
54
|
+
"ts-jest": "^29.4.1",
|
|
55
55
|
"ts-node": "^10.9.2",
|
|
56
|
-
"typescript": "^5.
|
|
56
|
+
"typescript": "^5.9.2"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@typescript-eslint/parser": "^7.18.0",
|
|
60
60
|
"eslint": ">=6 <9"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"fs-extra": "^11.3.
|
|
63
|
+
"fs-extra": "^11.3.1"
|
|
64
64
|
},
|
|
65
65
|
"engines": {
|
|
66
66
|
"node": ">= 18.12.0"
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
|
-
"version": "1.3.
|
|
73
|
+
"version": "1.3.4",
|
|
74
74
|
"jest": {
|
|
75
75
|
"coverageProvider": "v8",
|
|
76
76
|
"testMatch": [
|