@cdklabs/eslint-plugin 1.3.2 → 1.3.3

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.
@@ -30,4 +30,4 @@ function matchEstree(type, details) {
30
30
  ...details,
31
31
  });
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jaGVja2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcml2YXRlL3R5cGUtY2hlY2tlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSw0RUFBNEU7QUFDNUUsdURBQXVEOztBQUt2RCxnREFFQztBQUVELG9DQUVDO0FBRUQsc0RBRUM7QUFFRCwwQ0FFQztBQVVELGtDQUtDO0FBL0JELDJDQUEwQztBQUUxQyxTQUFnQixrQkFBa0IsQ0FBQyxDQUFrQjtJQUNuRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQWdCLFlBQVksQ0FBQyxDQUFrQjtJQUM3QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxPQUE4QztJQUNsRixPQUFPLFdBQVcsQ0FBMEIsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLE9BQU8sV0FBVyxDQUFvQixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFPRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBNEIsSUFBZSxFQUFFLE9BQXdCO0lBQzlGLE9BQU8sSUFBQSx1QkFBVyxFQUFDO1FBQ2pCLElBQUk7UUFDSixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRVNUcmVlIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgZHluYW1pY2FsbHkgdHlwZWQgKGZyb20gSmF2YVNjcmlwdCkgYW5kXG4vLyBgQHR5cGVzL2VzdHJlZWAgb25seSBhZGRzIGludGVyZmFjZSBkZWNsYXJhdGlvbnMsIG5vdCBoZWxwZXIgZnVuY3Rpb25zIHRvXG4vLyB0eXBlIGd1YXJkIG9iamVjdHMuIFRoZXJlZm9yZSwgd2UgbWFrZSBhIGJ1bmNoIGhlcmUuXG5cbmltcG9ydCB0eXBlICogYXMgZXN0cmVlIGZyb20gJ2VzdHJlZSc7XG5pbXBvcnQgeyBtYXRjaE9iamVjdCB9IGZyb20gJy4vbWF0Y2gtYXN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWVtYmVyRXhwcmVzc2lvbih4OiBlc3RyZWUuQmFzZU5vZGUpOiB4IGlzIGVzdHJlZS5NZW1iZXJFeHByZXNzaW9uIHtcbiAgcmV0dXJuIHgudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJZGVudGlmaWVyKHg6IGVzdHJlZS5CYXNlTm9kZSk6IHggaXMgZXN0cmVlLklkZW50aWZpZXIge1xuICByZXR1cm4geC50eXBlID09PSAnSWRlbnRpZmllcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaE1lbWJlckV4cHJlc3Npb24oZGV0YWlscz86IE5vZGVEZXRhaWxzPGVzdHJlZS5NZW1iZXJFeHByZXNzaW9uPikge1xuICByZXR1cm4gbWF0Y2hFc3RyZWU8ZXN0cmVlLk1lbWJlckV4cHJlc3Npb24+KCdNZW1iZXJFeHByZXNzaW9uJywgZGV0YWlscyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaElkZW50aWZpZXIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBtYXRjaEVzdHJlZTxlc3RyZWUuSWRlbnRpZmllcj4oJ0lkZW50aWZpZXInLCB7IG5hbWUgfSk7XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgYWRkaXRpb25hbCBub2RlIGZpZWxkcyAoZXhjZXB0IGl0cyB0eXBlKVxuICovXG50eXBlIE5vZGVEZXRhaWxzPFQgZXh0ZW5kcyBlc3RyZWUuQmFzZU5vZGU+ID0ge1trIGluIEV4Y2x1ZGU8a2V5b2YgVCwgJ3R5cGUnPl0/OiB1bmtub3dufTtcblxuLyoqXG4gKiBNYXRjaCBhbiBFU1RyZWUgbm9kZSBvZiBhIGdpdmVuIHR5cGUgd2l0aCBnaXZlbiBzdWJmaWVsZHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoRXN0cmVlPFQgZXh0ZW5kcyBlc3RyZWUuQmFzZU5vZGU+KHR5cGU6IFRbJ3R5cGUnXSwgZGV0YWlscz86IE5vZGVEZXRhaWxzPFQ+KSB7XG4gIHJldHVybiBtYXRjaE9iamVjdCh7XG4gICAgdHlwZSxcbiAgICAuLi5kZXRhaWxzLFxuICB9KTtcbn1cbiJdfQ==
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
- var _a;
65
- const typeAnnotation = (_a = node.typeAnnotation) === null || _a === void 0 ? void 0 : _a.typeAnnotation;
66
- const type = typeAnnotation === null || typeAnnotation === void 0 ? void 0 : typeAnnotation.typeName;
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 ((_a = node.name) === null || _a === void 0 ? void 0 : _a.startsWith('Cfn')) {
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 (_b = right !== null && right !== void 0 ? right : left) !== null && _b !== void 0 ? _b : undefined;
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 = (_a = node.typeAnnotation) === null || _a === void 0 ? void 0 : _a.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
- var _a, _b, _c, _d, _e, _f, _g, _h;
41
- return (((_b = (_a = node.callee) === null || _a === void 0 ? void 0 : _a.property) === null || _b === void 0 ? void 0 : _b.name) === 'join' &&
42
- (((_f = (_e = (_d = (_c = node.parent) === null || _c === void 0 ? void 0 : _c.expression) === null || _d === void 0 ? void 0 : _d.callee) === null || _e === void 0 ? void 0 : _e.object) === null || _f === void 0 ? void 0 : _f.name) === 'path' ||
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW52YWxpZC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLWludmFsaWQtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9DQSx3QkFzREM7QUExRkQsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUc3QixTQUFTLGtCQUFrQixDQUFDLElBQVM7O0lBQ25DLE9BQU8sQ0FDTCxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxRQUFRLDBDQUFFLElBQUksTUFBSyxNQUFNO1FBQ3RDLENBQUMsQ0FBQSxNQUFBLE1BQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFVBQVUsMENBQUUsTUFBTSwwQ0FBRSxNQUFNLDBDQUFFLElBQUksTUFBSyxNQUFNO2FBQ3pELE1BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLDBDQUFFLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLGVBQUMsT0FBQSxDQUFBLE1BQUEsTUFBQSxDQUFDLENBQUMsTUFBTSwwQ0FBRSxNQUFNLDBDQUFFLElBQUksTUFBSyxNQUFNLENBQUEsRUFBQSxDQUFDLENBQUEsQ0FBQyxDQUM3RSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBUztJQUNwQyxpRUFBaUU7SUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFjO0lBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMs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QUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO3dCQUM5RixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzs0QkFDMUIsdUVBQXVFOzRCQUN2RSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsMkpBQTJKLEVBQUUsQ0FBQyxDQUFDOzRCQUNwTixPQUFPO3dCQUNULENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuZnVuY3Rpb24gaXNQYXRoSm9pbkZ1bmNDYWxsKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIG5vZGUuY2FsbGVlPy5wcm9wZXJ0eT8ubmFtZSA9PT0gJ2pvaW4nICYmXG4gICAgKG5vZGUucGFyZW50Py5leHByZXNzaW9uPy5jYWxsZWU/Lm9iamVjdD8ubmFtZSA9PT0gJ3BhdGgnIHx8XG4gICAgbm9kZS5wYXJlbnQ/LmFyZ3VtZW50cz8uc29tZSgoYTogYW55KSA9PiBhLmNhbGxlZT8ub2JqZWN0Py5uYW1lID09PSAncGF0aCcpKVxuICApO1xufVxuXG5mdW5jdGlvbiBub0FyZ3VtZW50VmFyaWFibGVzKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAvLyBPdXRzaWRlIG9mIHRoZSBmaXJzdCBhcmd1bWVudCwgYWxsIGFyZ3VtZW50cyBzaG91bGQgYmUgc3RyaW5nc1xuICBjb25zdCBjb21wb25lbnRzID0gbm9kZS5hcmd1bWVudHMuc2xpY2UoMSk7XG4gIHJldHVybiBjb21wb25lbnRzLmV2ZXJ5KChhOiBhbnkpID0+IGEudmFsdWUgIT09IHVuZGVmaW5lZCk7XG59XG5cbmZ1bmN0aW9uIGhhc1NsYXNoZXMoYXJnczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGFyZ3Muc29tZSgoYSkgPT4gYS5pbmNsdWRlcygnLycpKTtcbn1cblxuZnVuY3Rpb24gZmlyc3RBcmdJc0Rpcm5hbWUobm9kZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLmFyZ3VtZW50c1swXS5uYW1lICYmIG5vZGUuYXJndW1lbnRzWzBdLm5hbWUgPT09ICdfX2Rpcm5hbWUnO1xufVxuXG5mdW5jdGlvbiBhcmd1bWVudExpc3Qobm9kZTogYW55KTogc3RyaW5nW10ge1xuICAvLyBBbHJlYWR5IGNvbmZpcm1lZCB0aGF0IGZpcnN0IGFyZ3VtZW50IGlzICdfX2Rpcm5hbWUnLCBzbyBjYW4gc2FmZWx5IHJlbW92ZSBpdFxuICBjb25zdCBhcmdzOiBzdHJpbmdbXSA9IG5vZGUuYXJndW1lbnRzLnNsaWNlKDEpLm1hcCgoYTogYW55KSA9PiB7IHJldHVybiBhLnZhbHVlOyB9KTtcbiAgcmV0dXJuIGFyZ3M7XG59XG5cbmZ1bmN0aW9uIHJlY3JlYXRlUGF0aChhcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBgcGF0aC5qb2luKF9fZGlybmFtZSwgJyR7YXJncy5qb2luKCdcXCcsIFxcJycpfScpYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICByZXR1cm4ge1xuICAgIENhbGxFeHByZXNzaW9uKG5vZGU6IGFueSkge1xuICAgICAgaWYgKGlzUGF0aEpvaW5GdW5jQ2FsbChub2RlKSkge1xuICAgICAgICBpZiAobm9kZS5hcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgLy8gRVJST1I6IHRoaXMgaXMgJ3BhdGguam9pbigpJ1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogJ1xcJ3BhdGguam9pbigpXFwnIGlzIG5vdCBhIHZhbGlkIHBhdGguIFlvdSBtdXN0IHNwZWNpZnkgYXJndW1lbnRzIGludG8gdGhlIGZ1bmN0aW9uLicgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFub0FyZ3VtZW50VmFyaWFibGVzKG5vZGUpKSB7XG4gICAgICAgICAgLy8gV0FSTklORzogdW5leHBlY3RlZCBub24tc3RyaW5nIGluIHRoZSBhcmd1bWVudCBsaXN0LiBUaGlzIGhhcHBlbnMgaWYgcGFydCBvZiB0aGUgYXJndW1lbnQgbGlzdCBpcyBhIHZhcmlhYmxlLCBpLmUuIGBwYXRoLmpvaW4oX19kaXJuYW1lLCBteVBhdGgpYC5cbiAgICAgICAgICAvLyBXZSBtYXkgYmUgYWJsZSB0byBkbyBzb21ldGhpbmcgYWJvdXQgdGhpcywgYnV0IHdlIGN1cnJlbnRseSBhcmUganVzdCBnb2luZyB0byBsZXQgaXQgcGFzcy5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90IGxpbnQgYW55IHBhdGguam9pbiB3aXRob3V0ICdfX2Rpcm5hbWUnIGFzIHRoZSBmaXJzdCBhcmd1bWVudFxuICAgICAgICBpZiAoIWZpcnN0QXJnSXNEaXJuYW1lKG5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJncyA9IGFyZ3VtZW50TGlzdChub2RlKTtcblxuICAgICAgICBpZiAoaGFzU2xhc2hlcyhhcmdzKSkge1xuICAgICAgICAgIC8vIEVSUk9SOiBUaGlzIHBhdGggbG9va3MgbGlrZSAncGF0aC5qb2luKF9fZGlybmFtZSwgJ2EvYicpJyBhbmQgc2hvdWxkIGJlIGNoYW5nZWQgdG8gJ3BhdGguam9pbihfX2Rpcm5hbWUsICdhJywgJ2InKSdcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2U6IGAke3JlY3JlYXRlUGF0aChhcmdzKX0gaXMgbm90IGEgdmFsaWQgcGF0aC4gSXQgaGFzICcvJyBpbiB0aGUgYXJndW1lbnRzIHdoaWNoIGlzIG5vdCBhbGxvd2VkLiBFYWNoIGRpcmVjdG9yeSBzaG91bGQgYmUgaXRzIG93biBzZXBhcmF0ZSBhcmd1bWVudC5gIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpcnN0RG93bkRpciA9IGFyZ3MuZmluZEluZGV4KChwKSA9PiBwICE9PSAnLi4nKTtcblxuICAgICAgICAvLyBDb25maXJtIHBhdGggZG9lcyBub3QgaGF2ZSBhbnkgdW5uZWNlc3NhcnkgJy4uJyBwYXRoc1xuICAgICAgICAvLyBUaGlzIGFsbG93cyB1cyB0byB2YWxpZGF0ZSBzdWJzZXF1ZW50IGNoZWNrc1xuICAgICAgICBpZiAoZmlyc3REb3duRGlyID4gMCAmJiBhcmdzLnNvbWUoKHAsIGkpID0+IHAgPT09ICcuLicgJiYgaSA+IGZpcnN0RG93bkRpcikpIHtcbiAgICAgICAgICAvLyBFUlJPUjogVGhpcyBwYXRoIG9zY2lsbGF0ZXMgYmV0d2VlbiB1cCBhbmQgZG93biBjb21tYW5kc1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZTogYCR7cmVjcmVhdGVQYXRoKGFyZ3MpfSBpcyBub3QgYSB2YWxpZCBwYXRoLiBJdCBnb2VzIGJhY2t3YXJkcyBhbmQgZm9yd2FyZHMgYW5kIGJhY2t3YXJkcyBhZ2FpbiwgYW5kIGNhbiBiZSBzaW1wbGlmaWVkLmAgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhjbHVkZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgbm8gJy4uJyBhdCBhbGwgaW4gdGhlIHBhdGggLS0gdGhvc2UgYXJlIG5ldmVyIGludmFsaWRcbiAgICAgICAgY29uc3QgY3VycmVudEZpbGUgPSBjb250ZXh0LmdldEZpbGVuYW1lKCk7XG4gICAgICAgIGlmIChmaXJzdERvd25EaXIgPiAwKSB7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaXJzdERvd25EaXI7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGpGaWxlID0gcGF0aC5qb2luKC4uLltwYXRoLmRpcm5hbWUoY3VycmVudEZpbGUpLCAuLi5hcmdzLnNsaWNlKDAsIGkpLCAncGFja2FnZS5qc29uJ10pO1xuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocGpGaWxlKSkge1xuICAgICAgICAgICAgICAvLyBFUlJPUjogdGhpcyBwYXRoIHdpbGwgZW5kIHVwIGdvaW5nIG91dCBvZiB0aGUgcGFja2FnZS5qc29uIGRpcmVjdG9yeVxuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2U6IGAke3JlY3JlYXRlUGF0aChhcmdzKX0gaXMgbm90IGEgdmFsaWQgcGF0aC4gSXQgZ29lcyBiZXlvbmQgdGhlIHBhcmVudCBsaWJyYXJ5J3MgcGFja2FnZS5qc29uIGZpbGUgc28gdGhlIGZpbGUgaXQgcG9pbnRzIHRvIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBhZnRlciB0aGUgbGlicmFyeSBpcyBwYWNrYWdlZC5gIH0pO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
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: (_a = node.loc) !== null && _a !== void 0 ? _a : { line: 0, column: 0 },
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 = (_a = classDeclarations.get(className)) === null || _a === void 0 ? void 0 : _a.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 = (_a = newExpr.arguments.at(-1)) === null || _a === void 0 ? void 0 : _a.range;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdGhyb3ctZGVmYXVsdC1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby10aHJvdy1kZWZhdWx0LWVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLHdCQTRFQztBQW5GWSxRQUFBLElBQUksR0FBRztJQUNsQixjQUFjLEVBQUUsSUFBSTtDQUNyQixDQUFDO0FBRUYsa0VBQWtFO0FBQ2xFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0FBRTlFLFNBQWdCLE1BQU0sQ0FBQyxPQUF5QjtJQUM5QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ2xDLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3BELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3hCLENBQUM7SUFFRixPQUFPO1FBQ0wsY0FBYyxDQUFDLElBQW9CO1lBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQzNDLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQXlCLENBQUM7WUFDL0MsSUFDRSxPQUFPLENBQUMsTUFBTTtnQkFDZCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZO2dCQUNwQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQy9CLENBQUM7Z0JBQ0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUV2QixNQUFNLDJCQUEyQixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFO29CQUN4RCxPQUFPO3dCQUNMLElBQUksRUFBRSxrQkFBa0IsU0FBUyxJQUFJO3dCQUNyQyxHQUFHLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUU7NEJBQzdCLFVBQVU7NEJBQ1YsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQ0FDbkMsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLFNBQVMsNEJBQTRCLENBQUMsQ0FBQzs0QkFDbEYsQ0FBQzs0QkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7d0JBQ3hELENBQUM7cUJBQ0YsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBR0YsdUVBQXVFO2dCQUN2RSxJQUFJLGFBQWEsRUFBRSxDQUFDO29CQUNsQixXQUFXLENBQUMsSUFBSSxDQUNkLDJCQUEyQixDQUFDLGNBQWMsQ0FBQyxFQUMzQywyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxFQUNsRCwyQkFBMkIsQ0FBQyxlQUFlLENBQUMsRUFDNUMsMkJBQTJCLENBQUMsc0JBQXNCLENBQUMsQ0FDcEQsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sV0FBVyxDQUFDLElBQUksQ0FBQzt3QkFDZixJQUFJLEVBQUUsZ0NBQWdDO3dCQUN0QyxHQUFHLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUU7OzRCQUM3QixtQkFBbUI7NEJBQ25CLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0NBQ25DLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FDdEIsT0FBTyxFQUNQLHFEQUFxRCxDQUN0RCxDQUFDOzRCQUNKLENBQUM7NEJBRUQsTUFBTSxLQUFLLEdBQUc7Z0NBQ1osS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDOzZCQUNyRCxDQUFDOzRCQUVGLE1BQU0sSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsMENBQUUsS0FBSyxDQUFDOzRCQUM3QyxJQUFJLElBQUksRUFBRSxDQUFDO2dDQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUN6RCxDQUFDOzRCQUVELE9BQU8sS0FBSyxDQUFDO3dCQUNmLENBQUM7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDYixJQUFJLEVBQUUsT0FBTztvQkFDYixPQUFPLEVBQUUsbURBQW1EO29CQUM1RCxPQUFPLEVBQUUsV0FBVztpQkFDckIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBOZXdFeHByZXNzaW9uLCBUaHJvd1N0YXRlbWVudCB9IGZyb20gJ2VzdHJlZSc7XG5cbmV4cG9ydCBjb25zdCBtZXRhID0ge1xuICBoYXNTdWdnZXN0aW9uczogdHJ1ZSxcbn07XG5cbi8vIGxpc3Qgb2YgcGF0aHMgdGhhdCBzaG91bGQgdHJpZ2dlciB0aGUgdG9vbGtpdCBlcnJvciBzdWdnZXN0aW9uc1xuY29uc3QgdG9vbGtpdEVycm9yUGF0aHMgPSBbJ3BhY2thZ2VzL2F3cy1jZGsvJywgJ3BhY2thZ2VzL0Bhd3MtY2RrL3Rvb2xraXQvJ107XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuTm9kZUxpc3RlbmVyIHtcbiAgY29uc3QgZmlsZU5hbWUgPSBjb250ZXh0LmZpbGVuYW1lO1xuICBjb25zdCBpc1Rvb2xraXRGaWxlID0gdG9vbGtpdEVycm9yUGF0aHMuc29tZSgocGF0aCkgPT5cbiAgICBmaWxlTmFtZS5pbmNsdWRlcyhwYXRoKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIFRocm93U3RhdGVtZW50KG5vZGU6IFRocm93U3RhdGVtZW50KSB7XG4gICAgICBpZiAobm9kZS5hcmd1bWVudC50eXBlICE9PSAnTmV3RXhwcmVzc2lvbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdFeHByID0gbm9kZS5hcmd1bWVudCBhcyBOZXdFeHByZXNzaW9uO1xuICAgICAgaWYgKFxuICAgICAgICBuZXdFeHByLmNhbGxlZSAmJlxuICAgICAgICBuZXdFeHByLmNhbGxlZS50eXBlID09PSAnSWRlbnRpZmllcicgJiZcbiAgICAgICAgbmV3RXhwci5jYWxsZWUubmFtZSA9PT0gJ0Vycm9yJ1xuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25zID0gW107XG5cbiAgICAgICAgY29uc3QgcmVwbGFjZUVycm9yQ2xhc3NTdWdnZXN0aW9uID0gKHN1Z2dlc3RlZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlc2M6IGBSZXBsYWNlIHdpdGggXFxgJHtzdWdnZXN0ZWR9XFxgYCxcbiAgICAgICAgICAgIGZpeDogKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikgPT4ge1xuICAgICAgICAgICAgICAvLyBubyBhcmdzXG4gICAgICAgICAgICAgIGlmIChuZXdFeHByLmFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZml4ZXIucmVwbGFjZVRleHQobmV3RXhwciwgYG5ldyAke3N1Z2dlc3RlZH0oJzxpbnNlcnQgZXJyb3IgbWVzc2FnZT4nKWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBbZml4ZXIucmVwbGFjZVRleHQobmV3RXhwci5jYWxsZWUsIHN1Z2dlc3RlZCldO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9O1xuXG5cbiAgICAgICAgLy8gQWRkcyBUb29sa2l0RXJyb3IgYW5kIEF1dGhlbnRpY2F0aW9uRXJyb3Igc3VnZ2VzdGlvbnMgZm9yIENMSSBmaWxlcy5cbiAgICAgICAgaWYgKGlzVG9vbGtpdEZpbGUpIHtcbiAgICAgICAgICBzdWdnZXN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgcmVwbGFjZUVycm9yQ2xhc3NTdWdnZXN0aW9uKCdUb29sa2l0RXJyb3InKSxcbiAgICAgICAgICAgIHJlcGxhY2VFcnJvckNsYXNzU3VnZ2VzdGlvbignQXV0aGVudGljYXRpb25FcnJvcicpLFxuICAgICAgICAgICAgcmVwbGFjZUVycm9yQ2xhc3NTdWdnZXN0aW9uKCdBc3NlbWJseUVycm9yJyksXG4gICAgICAgICAgICByZXBsYWNlRXJyb3JDbGFzc1N1Z2dlc3Rpb24oJ0NvbnRleHRQcm92aWRlckVycm9yJyksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdWdnZXN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIGRlc2M6ICdSZXBsYWNlIHdpdGggYFZhbGlkYXRpb25FcnJvcmAnLFxuICAgICAgICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiB7XG4gICAgICAgICAgICAgIC8vIG5vIGV4aXN0aW5nIGFyZ3NcbiAgICAgICAgICAgICAgaWYgKG5ld0V4cHIuYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaXhlci5yZXBsYWNlVGV4dChcbiAgICAgICAgICAgICAgICAgIG5ld0V4cHIsXG4gICAgICAgICAgICAgICAgICBcIm5ldyBWYWxpZGF0aW9uRXJyb3IoJzxpbnNlcnQgZXJyb3IgbWVzc2FnZT4nLCB0aGlzKVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBmaXhlcyA9IFtcbiAgICAgICAgICAgICAgICBmaXhlci5yZXBsYWNlVGV4dChuZXdFeHByLmNhbGxlZSwgJ1ZhbGlkYXRpb25FcnJvcicpLFxuICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBuZXdFeHByLmFyZ3VtZW50cy5hdCgtMSk/LnJhbmdlO1xuICAgICAgICAgICAgICBpZiAobGFzdCkge1xuICAgICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIuaW5zZXJ0VGV4dEFmdGVyUmFuZ2UobGFzdCwgJywgdGhpcycpKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBmaXhlcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZTogbmV3RXhwcixcbiAgICAgICAgICBtZXNzYWdlOiAnRXhwZWN0ZWQgYSBub24tZGVmYXVsdCBlcnJvciBvYmplY3QgdG8gYmUgdGhyb3duLicsXG4gICAgICAgICAgc3VnZ2VzdDogc3VnZ2VzdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXX0=
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.6",
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.211",
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.7.0",
50
- "eslint-plugin-import": "^2.31.0",
49
+ "eslint-import-resolver-typescript": "^3.10.1",
50
+ "eslint-plugin-import": "^2.32.0",
51
51
  "jest": "^29.7.0",
52
- "jest-junit": "^15",
53
- "projen": "^0.90.5",
54
- "ts-jest": "^29.2.5",
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.7.3"
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.0"
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.2",
73
+ "version": "1.3.3",
74
74
  "jest": {
75
75
  "coverageProvider": "v8",
76
76
  "testMatch": [