@codeperfect/eslint-plugin 2.9.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -93,7 +93,7 @@ function reportMissingSections(context, analysis) {
93
93
  if (missingSections.length === 0) {
94
94
  return;
95
95
  }
96
- const fix = analysis.bodyLineCount >= 3
96
+ const fix = analysis.sectionComments.length === 0 && analysis.bodyLineCount >= 3
97
97
  ? (fixer) => buildMissingSectionFixes(analysis, missingSections, fixer)
98
98
  : void 0;
99
99
  context.report({
@@ -164,4 +164,4 @@ const updateSectionOrder = (input) => {
164
164
  return Math.max(lastPhaseOrder, currentPhaseOrder);
165
165
  };
166
166
  export { reportBlankLineSeparators, reportCodeBeforeArrange, reportEmptySections, reportMissingSections, reportOutOfOrderSections, updateSectionOrder, };
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1zZWN0aW9uLXJlcG9ydGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUvcnVsZS1zZWN0aW9uLXJlcG9ydGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXVCbkU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF5QixFQUN6QixRQUEyQjtJQUUzQixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpFLEtBQUssTUFBTSxjQUFjLElBQUksd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxJQUNFLGNBQWMsQ0FBQyxPQUFPLEtBQUssbUJBQW1CO1lBQzlDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUN0RSxDQUFDO1lBQ0QsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQXFCLEVBQVksRUFBRSxDQUM5QyxLQUFLLENBQUMscUJBQXFCLENBQ3pCLGlCQUFpQixDQUNmLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3RDLEVBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztRQUVKLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDYixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFD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LEVBQVUsRUFBRTtJQUNwRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRS9ELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2IsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDaEMsU0FBUyxFQUFFLGtCQUFrQjtZQUM3QixJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxJQUFJLGlCQUFpQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDYixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNoQyxTQUFTLEVBQUUsY0FBYztZQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFHRixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixrQkFBa0IsR0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBnZXRGbGF0dGVuZWRTZWN0aW9ucyB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuLi9hYWEvdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgYWFhUGhhc2VPcmRlcixcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXG4gIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyxcbn0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5hbmFseXNpcy5oZWxwZXJzXCI7XG5pbXBvcnQgeyBoYXNCbGFua0xpbmVCZWZvcmVDb21tZW50IH0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5jbGFzc2lmaWNhdGlvbi5oZWxwZXJzXCI7XG5pbXBvcnQgeyBidWlsZE1pc3NpbmdTZWN0aW9uRml4ZXMgfSBmcm9tIFwiLi9taXNzaW5nLXNlY3Rpb24tZml4ZXNcIjtcblxuLyoqIEZsYXR0ZW5lZCBzZWN0aW9uIGVudHJ5IGVtaXR0ZWQgYnkgdGhlIEFBQSBhbmFseXplciBoZWxwZXIuICovXG50eXBlIEZsYXR0ZW5lZFNlY3Rpb24gPSBSZXR1cm5UeXBlPHR5cGVvZiBnZXRGbGF0dGVuZWRTZWN0aW9ucz5bbnVtYmVyXTtcblxuLyoqIFVuaW9uIG9mIHZhbGlkIEFBQSBwaGFzZSBsYWJlbHMgZW1pdHRlZCBmb3IgZmxhdHRlbmVkIHNlY3Rpb25zLiAqL1xudHlwZSBGbGF0dGVuZWRTZWN0aW9uUGhhc2UgPSBGbGF0dGVuZWRTZWN0aW9uW1wicGhhc2VcIl07XG5cbi8qKiBDb21wb3NpdGUgaW5wdXQgZm9yIGFkdmFuY2luZyB0aGUgQUFBIHNlY3Rpb24gb3JkZXJpbmcgc3RhdGUuICovXG5pbnRlcmZhY2UgVXBkYXRlU2VjdGlvbk9yZGVySW5wdXQge1xuICAvKiogQWN0aXZlIEVTTGludCBydWxlIGNvbnRleHQuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIEhpZ2hlc3QgcGhhc2Ugb3JkZXIgc2VlbiBzbyBmYXIuICovXG4gIGxhc3RQaGFzZU9yZGVyOiBudW1iZXI7XG5cbiAgLyoqIFNlY3Rpb24gY29tbWVudCBhbmQgcGhhc2UgbWV0YWRhdGEgdW5kZXIgaW5zcGVjdGlvbi4gKi9cbiAgc2VjdGlvbjogRmxhdHRlbmVkU2VjdGlvbjtcblxuICAvKiogU2V0IG9mIHBoYXNlcyBhbHJlYWR5IHNlZW4gaW4gdGhlIGN1cnJlbnQgdGVzdCBibG9jay4gKi9cbiAgc2VlblBoYXNlczogU2V0PEZsYXR0ZW5lZFNlY3Rpb25QaGFzZT47XG59XG5cbi8qKlxuICogUmVwb3J0cyBzZWN0aW9uIGNvbW1lbnRzIHRoYXQgYXJlIG1pc3NpbmcgYSBibGFuayBsaW5lIGFib3ZlIHRoZW0uXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydEJsYW5rTGluZVNlcGFyYXRvcnMoeyByZXBvcnQoKSB7fSB9IGFzIG5ldmVyLCB7IHNlY3Rpb25Db21tZW50czogW10sIHNvdXJjZVRleHQ6IFwiXCIgfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGNvbnN0IGZpcnN0U2VjdGlvbkNvbW1lbnQgPSBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHNbMF0/LmNvbW1lbnQ7XG5cbiAgZm9yIChjb25zdCBzZWN0aW9uQ29tbWVudCBvZiBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMoYW5hbHlzaXMpKSB7XG4gICAgaWYgKFxuICAgICAgc2VjdGlvbkNvbW1lbnQuY29tbWVudCA9PT0gZmlyc3RTZWN0aW9uQ29tbWVudCB8fFxuICAgICAgaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudChhbmFseXNpcy5zb3VyY2VUZXh0LCBzZWN0aW9uQ29tbWVudC5jb21tZW50KVxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgZml4ID0gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4ID0+XG4gICAgICBmaXhlci5pbnNlcnRUZXh0QmVmb3JlUmFuZ2UoXG4gICAgICAgIGdldExpbmVTdGFydFJhbmdlKFxuICAgICAgICAgIGFuYWx5c2lzLnNvdXJjZVRleHQsXG4gICAgICAgICAgc2VjdGlvbkNvbW1lbnQuY29tbWVudC5sb2Muc3RhcnQubGluZSxcbiAgICAgICAgKSxcbiAgICAgICAgYW5hbHlzaXMubmV3bGluZSxcbiAgICAgICk7XG5cbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IHNlY3Rpb246IHNlY3Rpb25Db21tZW50LnBoYXNlcy5qb2luKFwiICYgXCIpIH0sXG4gICAgICBmaXgsXG4gICAgICBtZXNzYWdlSWQ6IFwiYmxhbmtMaW5lQmVmb3JlU2VjdGlvblwiLFxuICAgICAgbm9kZTogc2VjdGlvbkNvbW1lbnQuY29tbWVudCxcbiAgICAgIHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcImFkZEJsYW5rTGluZUJlZm9yZVNlY3Rpb25cIiB9XSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgZXhlY3V0YWJsZSBzdGF0ZW1lbnRzIHRoYXQgYXBwZWFyIGJlZm9yZSB0aGUgZmlyc3QgQXJyYW5nZSBzZWN0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBhbmFseXNpcyBQYXJzZWQgdGVzdC1ibG9jayBhbmFseXNpcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRDb2RlQmVmb3JlQXJyYW5nZSh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBmaXJzdEFycmFuZ2VMaW5lID0gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZpbmQoKHNlY3Rpb25Db21tZW50KSA9PlxuICAgIHNlY3Rpb25Db21tZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFycmFuZ2VcIiksXG4gICk/LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmU7XG4gIGlmIChmaXJzdEFycmFuZ2VMaW5lID09PSB2b2lkIDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlID0gYW5hbHlzaXMuc3RhdGVtZW50cy5maW5kKFxuICAgIChzdGF0ZW1lbnQpID0+IHN0YXRlbWVudC5ub2RlLmxvYy5zdGFydC5saW5lIDwgZmlyc3RBcnJhbmdlTGluZSxcbiAgKTtcbiAgaWYgKHN0YXRlbWVudEJlZm9yZUFycmFuZ2UgPT09IHZvaWQgMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnRleHQucmVwb3J0KHtcbiAgICBtZXNzYWdlSWQ6IFwiY29kZUJlZm9yZUFycmFuZ2VcIixcbiAgICBub2RlOiBzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlLm5vZGUsXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlcG9ydHMgc2VjdGlvbnMgdGhhdCBjb250YWluIG9ubHkgY29tbWVudHMgb3Igd2hpdGVzcGFjZS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0RW1wdHlTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0RW1wdHlTZWN0aW9ucyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW2luZGV4LCBzZWN0aW9uQ29tbWVudF0gb2YgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IG5leHRTZWN0aW9uTGluZSA9XG4gICAgICBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHNbaW5kZXggKyAxXT8uY29tbWVudC5sb2Muc3RhcnQubGluZTtcbiAgICBjb25zdCBoYXNDb2RlSW5TZWN0aW9uID0gYW5hbHlzaXMuc3RhdGVtZW50cy5zb21lKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudExpbmUgPSBzdGF0ZW1lbnQubm9kZS5sb2Muc3RhcnQubGluZTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgc3RhdGVtZW50TGluZSA+IHNlY3Rpb25Db21tZW50LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmUgJiZcbiAgICAgICAgKG5leHRTZWN0aW9uTGluZSA9PT0gdm9pZCAwIHx8IHN0YXRlbWVudExpbmUgPCBuZXh0U2VjdGlvbkxpbmUpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKCFoYXNDb2RlSW5TZWN0aW9uKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIGRhdGE6IHsgc2VjdGlvbjogc2VjdGlvbkNvbW1lbnQucGhhc2VzLmpvaW4oXCIgJiBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImVtcHR5U2VjdGlvblwiLFxuICAgICAgICBub2RlOiBzZWN0aW9uQ29tbWVudC5jb21tZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBhbnkgQUFBIHNlY3Rpb24gbWFya2VycyB0aGF0IGFyZSBtaXNzaW5nIGZyb20gYSBzdXBwb3J0ZWQgdGVzdCBibG9jay5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0TWlzc2luZ1NlY3Rpb25zKHsgcmVwb3J0KCkge30gfSBhcyBuZXZlciwgeyBzZWN0aW9uQ29tbWVudHM6IFtdIH0gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZXNlbnRTZWN0aW9ucyA9IG5ldyBTZXQoXG4gICAgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PiBzZWN0aW9uQ29tbWVudC5waGFzZXMpLFxuICApO1xuICBjb25zdCBoYXNQcmVTZWN0aW9uU3RhdGVtZW50cyA9IGFuYWx5c2lzLnN0YXRlbWVudHMuc29tZShcbiAgICAoc3RhdGVtZW50KSA9PiBzdGF0ZW1lbnQucGhhc2VzLmxlbmd0aCA9PT0gMCxcbiAgKTtcbiAgY29uc3QgbWlzc2luZ1NlY3Rpb25zID0gKFtcIkFycmFuZ2VcIiwgXCJBY3RcIiwgXCJBc3NlcnRcIl0gYXMgY29uc3QpLmZpbHRlcihcbiAgICAocGhhc2UpID0+XG4gICAgICAhcHJlc2VudFNlY3Rpb25zLmhhcyhwaGFzZSkgJiZcbiAgICAgIChwaGFzZSAhPT0gXCJBcnJhbmdlXCIgfHwgaGFzUHJlU2VjdGlvblN0YXRlbWVudHMpLFxuICApO1xuXG4gIGlmIChtaXNzaW5nU2VjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZml4ID1cbiAgICBhbmFseXNpcy5ib2R5TGluZUNvdW50ID49IDNcbiAgICAgID8gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4W10gPT5cbiAgICAgICAgICBidWlsZE1pc3NpbmdTZWN0aW9uRml4ZXMoYW5hbHlzaXMsIG1pc3NpbmdTZWN0aW9ucywgZml4ZXIpXG4gICAgICA6IHZvaWQgMDtcblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgZGF0YTogeyBzZWN0aW9uczogbWlzc2luZ1NlY3Rpb25zLmpvaW4oXCIsIFwiKSB9LFxuICAgIC4uLihmaXggIT09IHZvaWQgMCAmJiB7IGZpeCB9KSxcbiAgICBtZXNzYWdlSWQ6IFwibWlzc2luZ1NlY3Rpb25zXCIsXG4gICAgbm9kZTogYW5hbHlzaXMuY2FsbEV4cHJlc3Npb24sXG4gICAgLi4uKGZpeCAhPT0gdm9pZCAwICYmIHtcbiAgICAgIHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcImFkZE1pc3NpbmdTZWN0aW9uc1wiIH1dLFxuICAgIH0pLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHNlY3Rpb24gY29tbWVudHMgdGhhdCBhcHBlYXIgb3V0IG9mIGNhbm9uaWNhbCBBcnJhbmdlIC0+IEFjdCAtPiBBc3NlcnQgb3JkZXIuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE91dE9mT3JkZXJTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRPdXRPZk9yZGVyU2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmxlbmd0aCAtIDE7IGluZGV4ICs9IDEpIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1tpbmRleF07XG4gICAgY29uc3QgY3VycmVudCA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1tpbmRleCArIDFdO1xuXG4gICAgaWYgKHByZXZpb3VzID09PSB2b2lkIDAgfHwgY3VycmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhQcmV2aW91c09yZGVyID0gTWF0aC5tYXgoXG4gICAgICAuLi5wcmV2aW91cy5waGFzZXMubWFwKChwaGFzZSkgPT4gYWFhUGhhc2VPcmRlcltwaGFzZV0pLFxuICAgICk7XG4gICAgY29uc3QgbWluQ3VycmVudE9yZGVyID0gTWF0aC5taW4oXG4gICAgICAuLi5jdXJyZW50LnBoYXNlcy5tYXAoKHBoYXNlKSA9PiBhYWFQaGFzZU9yZGVyW3BoYXNlXSksXG4gICAgKTtcblxuICAgIGlmIChtaW5DdXJyZW50T3JkZXIgPD0gbWF4UHJldmlvdXNPcmRlcikge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IHNlY3Rpb246IGN1cnJlbnQucGhhc2VzLmpvaW4oXCIgJiBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcIm91dE9mT3JkZXJTZWN0aW9uXCIsXG4gICAgICAgIG5vZGU6IGN1cnJlbnQuY29tbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRyYWNrcyB0aGUgY3VycmVudCBBQUEgb3JkZXJpbmcgc3RhdGUgZm9yIG9uZSBmbGF0dGVuZWQgc2VjdGlvbi5cbiAqIEBwYXJhbSBpbnB1dCBDb21wb3NpdGUgb3JkZXJpbmcgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24uXG4gKiBAcmV0dXJucyBVcGRhdGVkIHBoYXNlIG9yZGVyIHdhdGVybWFyay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0T3JkZXIgPSB1cGRhdGVTZWN0aW9uT3JkZXIoeyBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCBsYXN0UGhhc2VPcmRlcjogLTEsIHNlY3Rpb246IHt9IGFzIG5ldmVyLCBzZWVuUGhhc2VzOiBuZXcgU2V0KCkgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlU2VjdGlvbk9yZGVyID0gKGlucHV0OiBVcGRhdGVTZWN0aW9uT3JkZXJJbnB1dCk6IG51bWJlciA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbGFzdFBoYXNlT3JkZXIsIHNlY3Rpb24sIHNlZW5QaGFzZXMgfSA9IGlucHV0O1xuXG4gIGlmIChzZWVuUGhhc2VzLmhhcyhzZWN0aW9uLnBoYXNlKSkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgc2VjdGlvbjogc2VjdGlvbi5waGFzZSB9LFxuICAgICAgbWVzc2FnZUlkOiBcImR1cGxpY2F0ZVNlY3Rpb25cIixcbiAgICAgIG5vZGU6IHNlY3Rpb24uY29tbWVudCxcbiAgICB9KTtcbiAgICByZXR1cm4gbGFzdFBoYXNlT3JkZXI7XG4gIH1cblxuICBjb25zdCBjdXJyZW50UGhhc2VPcmRlciA9IGFhYVBoYXNlT3JkZXJbc2VjdGlvbi5waGFzZV07XG4gIGlmIChjdXJyZW50UGhhc2VPcmRlciA8IGxhc3RQaGFzZU9yZGVyKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBzZWN0aW9uOiBzZWN0aW9uLnBoYXNlIH0sXG4gICAgICBtZXNzYWdlSWQ6IFwiaW52YWxpZE9yZGVyXCIsXG4gICAgICBub2RlOiBzZWN0aW9uLmNvbW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBzZWVuUGhhc2VzLmFkZChzZWN0aW9uLnBoYXNlKTtcbiAgcmV0dXJuIE1hdGgubWF4KGxhc3RQaGFzZU9yZGVyLCBjdXJyZW50UGhhc2VPcmRlcik7XG59O1xuXG5leHBvcnQgdHlwZSB7IEZsYXR0ZW5lZFNlY3Rpb25QaGFzZSB9O1xuZXhwb3J0IHtcbiAgcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyxcbiAgcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UsXG4gIHJlcG9ydEVtcHR5U2VjdGlvbnMsXG4gIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyxcbiAgcmVwb3J0T3V0T2ZPcmRlclNlY3Rpb25zLFxuICB1cGRhdGVTZWN0aW9uT3JkZXIsXG59O1xuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1zZWN0aW9uLXJlcG9ydGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUvcnVsZS1zZWN0aW9uLXJlcG9ydGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXVCbkU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF5QixFQUN6QixRQUEyQjtJQUUzQixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpFLEtBQUssTUFBTSxjQUFjLElBQUksd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxJQUNFLGNBQWMsQ0FBQyxPQUFPLEtBQUssbUJBQW1CO1lBQzlDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUN0RSxDQUFDO1lBQ0QsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQXFCLEVBQVksRUFBRSxDQUM5QyxLQUFLLENBQUMscUJBQXFCLENBQ3pCLGlCQUFpQixDQUNmLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3RDLEVBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztRQUVKLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDYixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFD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eXBlIHsgZ2V0RmxhdHRlbmVkU2VjdGlvbnMgfSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmFuYWx5c2lzLmhlbHBlcnNcIjtcbmltcG9ydCB0eXBlIHsgVGVzdEJsb2NrQW5hbHlzaXMgfSBmcm9tIFwiLi4vYWFhL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGFhYVBoYXNlT3JkZXIsXG4gIGdldExpbmVTdGFydFJhbmdlLFxuICBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMsXG59IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuaW1wb3J0IHsgaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudCB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVyc1wiO1xuaW1wb3J0IHsgYnVpbGRNaXNzaW5nU2VjdGlvbkZpeGVzIH0gZnJvbSBcIi4vbWlzc2luZy1zZWN0aW9uLWZpeGVzXCI7XG5cbi8qKiBGbGF0dGVuZWQgc2VjdGlvbiBlbnRyeSBlbWl0dGVkIGJ5IHRoZSBBQUEgYW5hbHl6ZXIgaGVscGVyLiAqL1xudHlwZSBGbGF0dGVuZWRTZWN0aW9uID0gUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RmxhdHRlbmVkU2VjdGlvbnM+W251bWJlcl07XG5cbi8qKiBVbmlvbiBvZiB2YWxpZCBBQUEgcGhhc2UgbGFiZWxzIGVtaXR0ZWQgZm9yIGZsYXR0ZW5lZCBzZWN0aW9ucy4gKi9cbnR5cGUgRmxhdHRlbmVkU2VjdGlvblBoYXNlID0gRmxhdHRlbmVkU2VjdGlvbltcInBoYXNlXCJdO1xuXG4vKiogQ29tcG9zaXRlIGlucHV0IGZvciBhZHZhbmNpbmcgdGhlIEFBQSBzZWN0aW9uIG9yZGVyaW5nIHN0YXRlLiAqL1xuaW50ZXJmYWNlIFVwZGF0ZVNlY3Rpb25PcmRlcklucHV0IHtcbiAgLyoqIEFjdGl2ZSBFU0xpbnQgcnVsZSBjb250ZXh0LiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBIaWdoZXN0IHBoYXNlIG9yZGVyIHNlZW4gc28gZmFyLiAqL1xuICBsYXN0UGhhc2VPcmRlcjogbnVtYmVyO1xuXG4gIC8qKiBTZWN0aW9uIGNvbW1lbnQgYW5kIHBoYXNlIG1ldGFkYXRhIHVuZGVyIGluc3BlY3Rpb24uICovXG4gIHNlY3Rpb246IEZsYXR0ZW5lZFNlY3Rpb247XG5cbiAgLyoqIFNldCBvZiBwaGFzZXMgYWxyZWFkeSBzZWVuIGluIHRoZSBjdXJyZW50IHRlc3QgYmxvY2suICovXG4gIHNlZW5QaGFzZXM6IFNldDxGbGF0dGVuZWRTZWN0aW9uUGhhc2U+O1xufVxuXG4vKipcbiAqIFJlcG9ydHMgc2VjdGlvbiBjb21tZW50cyB0aGF0IGFyZSBtaXNzaW5nIGEgYmxhbmsgbGluZSBhYm92ZSB0aGVtLlxuICogQHBhcmFtIGNvbnRleHQgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBhbmFseXNpcyBQYXJzZWQgdGVzdC1ibG9jayBhbmFseXNpcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRCbGFua0xpbmVTZXBhcmF0b3JzKHsgcmVwb3J0KCkge30gfSBhcyBuZXZlciwgeyBzZWN0aW9uQ29tbWVudHM6IFtdLCBzb3VyY2VUZXh0OiBcIlwiIH0gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydEJsYW5rTGluZVNlcGFyYXRvcnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBmaXJzdFNlY3Rpb25Db21tZW50ID0gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzWzBdPy5jb21tZW50O1xuXG4gIGZvciAoY29uc3Qgc2VjdGlvbkNvbW1lbnQgb2YgZ2V0UGhhc2VCb3VuZGFyeUNvbW1lbnRzKGFuYWx5c2lzKSkge1xuICAgIGlmIChcbiAgICAgIHNlY3Rpb25Db21tZW50LmNvbW1lbnQgPT09IGZpcnN0U2VjdGlvbkNvbW1lbnQgfHxcbiAgICAgIGhhc0JsYW5rTGluZUJlZm9yZUNvbW1lbnQoYW5hbHlzaXMuc291cmNlVGV4dCwgc2VjdGlvbkNvbW1lbnQuY29tbWVudClcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGZpeCA9IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeCA9PlxuICAgICAgZml4ZXIuaW5zZXJ0VGV4dEJlZm9yZVJhbmdlKFxuICAgICAgICBnZXRMaW5lU3RhcnRSYW5nZShcbiAgICAgICAgICBhbmFseXNpcy5zb3VyY2VUZXh0LFxuICAgICAgICAgIHNlY3Rpb25Db21tZW50LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmUsXG4gICAgICAgICksXG4gICAgICAgIGFuYWx5c2lzLm5ld2xpbmUsXG4gICAgICApO1xuXG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBzZWN0aW9uOiBzZWN0aW9uQ29tbWVudC5waGFzZXMuam9pbihcIiAmIFwiKSB9LFxuICAgICAgZml4LFxuICAgICAgbWVzc2FnZUlkOiBcImJsYW5rTGluZUJlZm9yZVNlY3Rpb25cIixcbiAgICAgIG5vZGU6IHNlY3Rpb25Db21tZW50LmNvbW1lbnQsXG4gICAgICBzdWdnZXN0OiBbeyBmaXgsIG1lc3NhZ2VJZDogXCJhZGRCbGFua0xpbmVCZWZvcmVTZWN0aW9uXCIgfV0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXBvcnRzIGV4ZWN1dGFibGUgc3RhdGVtZW50cyB0aGF0IGFwcGVhciBiZWZvcmUgdGhlIGZpcnN0IEFycmFuZ2Ugc2VjdGlvbi5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UoeyByZXBvcnQoKSB7fSB9IGFzIG5ldmVyLCB7IHNlY3Rpb25Db21tZW50czogW10sIHN0YXRlbWVudHM6IFtdIH0gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydENvZGVCZWZvcmVBcnJhbmdlKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMsXG4pOiB2b2lkIHtcbiAgY29uc3QgZmlyc3RBcnJhbmdlTGluZSA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50cy5maW5kKChzZWN0aW9uQ29tbWVudCkgPT5cbiAgICBzZWN0aW9uQ29tbWVudC5waGFzZXMuaW5jbHVkZXMoXCJBcnJhbmdlXCIpLFxuICApPy5jb21tZW50LmxvYy5zdGFydC5saW5lO1xuICBpZiAoZmlyc3RBcnJhbmdlTGluZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RhdGVtZW50QmVmb3JlQXJyYW5nZSA9IGFuYWx5c2lzLnN0YXRlbWVudHMuZmluZChcbiAgICAoc3RhdGVtZW50KSA9PiBzdGF0ZW1lbnQubm9kZS5sb2Muc3RhcnQubGluZSA8IGZpcnN0QXJyYW5nZUxpbmUsXG4gICk7XG4gIGlmIChzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgbWVzc2FnZUlkOiBcImNvZGVCZWZvcmVBcnJhbmdlXCIsXG4gICAgbm9kZTogc3RhdGVtZW50QmVmb3JlQXJyYW5nZS5ub2RlLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHNlY3Rpb25zIHRoYXQgY29udGFpbiBvbmx5IGNvbW1lbnRzIG9yIHdoaXRlc3BhY2UuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydEVtcHR5U2VjdGlvbnMoeyByZXBvcnQoKSB7fSB9IGFzIG5ldmVyLCB7IHNlY3Rpb25Db21tZW50czogW10sIHN0YXRlbWVudHM6IFtdIH0gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydEVtcHR5U2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBmb3IgKGNvbnN0IFtpbmRleCwgc2VjdGlvbkNvbW1lbnRdIG9mIGFuYWx5c2lzLnNlY3Rpb25Db21tZW50cy5lbnRyaWVzKCkpIHtcbiAgICBjb25zdCBuZXh0U2VjdGlvbkxpbmUgPVxuICAgICAgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzW2luZGV4ICsgMV0/LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmU7XG4gICAgY29uc3QgaGFzQ29kZUluU2VjdGlvbiA9IGFuYWx5c2lzLnN0YXRlbWVudHMuc29tZSgoc3RhdGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRMaW5lID0gc3RhdGVtZW50Lm5vZGUubG9jLnN0YXJ0LmxpbmU7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIHN0YXRlbWVudExpbmUgPiBzZWN0aW9uQ29tbWVudC5jb21tZW50LmxvYy5zdGFydC5saW5lICYmXG4gICAgICAgIChuZXh0U2VjdGlvbkxpbmUgPT09IHZvaWQgMCB8fCBzdGF0ZW1lbnRMaW5lIDwgbmV4dFNlY3Rpb25MaW5lKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGlmICghaGFzQ29kZUluU2VjdGlvbikge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IHNlY3Rpb246IHNlY3Rpb25Db21tZW50LnBoYXNlcy5qb2luKFwiICYgXCIpIH0sXG4gICAgICAgIG1lc3NhZ2VJZDogXCJlbXB0eVNlY3Rpb25cIixcbiAgICAgICAgbm9kZTogc2VjdGlvbkNvbW1lbnQuY29tbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgYW55IEFBQSBzZWN0aW9uIG1hcmtlcnMgdGhhdCBhcmUgbWlzc2luZyBmcm9tIGEgc3VwcG9ydGVkIHRlc3QgYmxvY2suXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRNaXNzaW5nU2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBwcmVzZW50U2VjdGlvbnMgPSBuZXcgU2V0KFxuICAgIGFuYWx5c2lzLnNlY3Rpb25Db21tZW50cy5mbGF0TWFwKChzZWN0aW9uQ29tbWVudCkgPT4gc2VjdGlvbkNvbW1lbnQucGhhc2VzKSxcbiAgKTtcbiAgY29uc3QgaGFzUHJlU2VjdGlvblN0YXRlbWVudHMgPSBhbmFseXNpcy5zdGF0ZW1lbnRzLnNvbWUoXG4gICAgKHN0YXRlbWVudCkgPT4gc3RhdGVtZW50LnBoYXNlcy5sZW5ndGggPT09IDAsXG4gICk7XG4gIGNvbnN0IG1pc3NpbmdTZWN0aW9ucyA9IChbXCJBcnJhbmdlXCIsIFwiQWN0XCIsIFwiQXNzZXJ0XCJdIGFzIGNvbnN0KS5maWx0ZXIoXG4gICAgKHBoYXNlKSA9PlxuICAgICAgIXByZXNlbnRTZWN0aW9ucy5oYXMocGhhc2UpICYmXG4gICAgICAocGhhc2UgIT09IFwiQXJyYW5nZVwiIHx8IGhhc1ByZVNlY3Rpb25TdGF0ZW1lbnRzKSxcbiAgKTtcblxuICBpZiAobWlzc2luZ1NlY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGZpeCA9XG4gICAgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmxlbmd0aCA9PT0gMCAmJiBhbmFseXNpcy5ib2R5TGluZUNvdW50ID49IDNcbiAgICAgID8gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4W10gPT5cbiAgICAgICAgICBidWlsZE1pc3NpbmdTZWN0aW9uRml4ZXMoYW5hbHlzaXMsIG1pc3NpbmdTZWN0aW9ucywgZml4ZXIpXG4gICAgICA6IHZvaWQgMDtcblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgZGF0YTogeyBzZWN0aW9uczogbWlzc2luZ1NlY3Rpb25zLmpvaW4oXCIsIFwiKSB9LFxuICAgIC4uLihmaXggIT09IHZvaWQgMCAmJiB7IGZpeCB9KSxcbiAgICBtZXNzYWdlSWQ6IFwibWlzc2luZ1NlY3Rpb25zXCIsXG4gICAgbm9kZTogYW5hbHlzaXMuY2FsbEV4cHJlc3Npb24sXG4gICAgLi4uKGZpeCAhPT0gdm9pZCAwICYmIHtcbiAgICAgIHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcImFkZE1pc3NpbmdTZWN0aW9uc1wiIH1dLFxuICAgIH0pLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHNlY3Rpb24gY29tbWVudHMgdGhhdCBhcHBlYXIgb3V0IG9mIGNhbm9uaWNhbCBBcnJhbmdlIC0+IEFjdCAtPiBBc3NlcnQgb3JkZXIuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE91dE9mT3JkZXJTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRPdXRPZk9yZGVyU2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmxlbmd0aCAtIDE7IGluZGV4ICs9IDEpIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1tpbmRleF07XG4gICAgY29uc3QgY3VycmVudCA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1tpbmRleCArIDFdO1xuXG4gICAgaWYgKHByZXZpb3VzID09PSB2b2lkIDAgfHwgY3VycmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhQcmV2aW91c09yZGVyID0gTWF0aC5tYXgoXG4gICAgICAuLi5wcmV2aW91cy5waGFzZXMubWFwKChwaGFzZSkgPT4gYWFhUGhhc2VPcmRlcltwaGFzZV0pLFxuICAgICk7XG4gICAgY29uc3QgbWluQ3VycmVudE9yZGVyID0gTWF0aC5taW4oXG4gICAgICAuLi5jdXJyZW50LnBoYXNlcy5tYXAoKHBoYXNlKSA9PiBhYWFQaGFzZU9yZGVyW3BoYXNlXSksXG4gICAgKTtcblxuICAgIGlmIChtaW5DdXJyZW50T3JkZXIgPD0gbWF4UHJldmlvdXNPcmRlcikge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IHNlY3Rpb246IGN1cnJlbnQucGhhc2VzLmpvaW4oXCIgJiBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcIm91dE9mT3JkZXJTZWN0aW9uXCIsXG4gICAgICAgIG5vZGU6IGN1cnJlbnQuY29tbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRyYWNrcyB0aGUgY3VycmVudCBBQUEgb3JkZXJpbmcgc3RhdGUgZm9yIG9uZSBmbGF0dGVuZWQgc2VjdGlvbi5cbiAqIEBwYXJhbSBpbnB1dCBDb21wb3NpdGUgb3JkZXJpbmcgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24uXG4gKiBAcmV0dXJucyBVcGRhdGVkIHBoYXNlIG9yZGVyIHdhdGVybWFyay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0T3JkZXIgPSB1cGRhdGVTZWN0aW9uT3JkZXIoeyBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCBsYXN0UGhhc2VPcmRlcjogLTEsIHNlY3Rpb246IHt9IGFzIG5ldmVyLCBzZWVuUGhhc2VzOiBuZXcgU2V0KCkgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlU2VjdGlvbk9yZGVyID0gKGlucHV0OiBVcGRhdGVTZWN0aW9uT3JkZXJJbnB1dCk6IG51bWJlciA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbGFzdFBoYXNlT3JkZXIsIHNlY3Rpb24sIHNlZW5QaGFzZXMgfSA9IGlucHV0O1xuXG4gIGlmIChzZWVuUGhhc2VzLmhhcyhzZWN0aW9uLnBoYXNlKSkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgc2VjdGlvbjogc2VjdGlvbi5waGFzZSB9LFxuICAgICAgbWVzc2FnZUlkOiBcImR1cGxpY2F0ZVNlY3Rpb25cIixcbiAgICAgIG5vZGU6IHNlY3Rpb24uY29tbWVudCxcbiAgICB9KTtcbiAgICByZXR1cm4gbGFzdFBoYXNlT3JkZXI7XG4gIH1cblxuICBjb25zdCBjdXJyZW50UGhhc2VPcmRlciA9IGFhYVBoYXNlT3JkZXJbc2VjdGlvbi5waGFzZV07XG4gIGlmIChjdXJyZW50UGhhc2VPcmRlciA8IGxhc3RQaGFzZU9yZGVyKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBzZWN0aW9uOiBzZWN0aW9uLnBoYXNlIH0sXG4gICAgICBtZXNzYWdlSWQ6IFwiaW52YWxpZE9yZGVyXCIsXG4gICAgICBub2RlOiBzZWN0aW9uLmNvbW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBzZWVuUGhhc2VzLmFkZChzZWN0aW9uLnBoYXNlKTtcbiAgcmV0dXJuIE1hdGgubWF4KGxhc3RQaGFzZU9yZGVyLCBjdXJyZW50UGhhc2VPcmRlcik7XG59O1xuXG5leHBvcnQgdHlwZSB7IEZsYXR0ZW5lZFNlY3Rpb25QaGFzZSB9O1xuZXhwb3J0IHtcbiAgcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyxcbiAgcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UsXG4gIHJlcG9ydEVtcHR5U2VjdGlvbnMsXG4gIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyxcbiAgcmVwb3J0T3V0T2ZPcmRlclNlY3Rpb25zLFxuICB1cGRhdGVTZWN0aW9uT3JkZXIsXG59O1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-plugin",
3
- "version": "2.9.0",
3
+ "version": "2.10.0",
4
4
  "description": "Custom ESLint rules for TypeScript repositories",
5
5
  "license": "MIT",
6
6
  "repository": "github:parloti/eslint-plugin",
@@ -79,22 +79,22 @@
79
79
  },
80
80
  "devDependencies": {
81
81
  "@codeperfect/commitlint-config-emoji": "^1.1.0",
82
- "@codeperfect/eslint-config": "^1.15.0",
82
+ "@codeperfect/eslint-config": "^1.18.0",
83
83
  "@commitlint/cz-commitlint": "^21.2.2",
84
- "@eslint-community/eslint-plugin-eslint-comments": "^4.8.0",
84
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1",
85
85
  "@eslint/js": "^10.0.1",
86
86
  "@stryker-mutator/core": "^10.0.0",
87
87
  "@stryker-mutator/typescript-checker": "^10.0.0",
88
88
  "@stryker-mutator/vitest-runner": "^10.0.0",
89
89
  "@stylistic/eslint-plugin": "^5.10.0",
90
90
  "@types/lodash-es": "^4.17.12",
91
- "@types/node": "^22.20.2",
91
+ "@types/node": "^26.6.2",
92
92
  "@typescript-eslint/rule-tester": "^8.70.0",
93
93
  "@vitest/coverage-v8": "^4.1.11",
94
94
  "@vitest/eslint-plugin": "^1.6.27",
95
95
  "chalk": "^6.0.0",
96
96
  "concurrently": "^10.0.5",
97
- "eslint": "^10.10.0",
97
+ "eslint": "^10.11.0",
98
98
  "eslint-config-prettier": "^10.1.8",
99
99
  "eslint-import-resolver-typescript": "^4.4.5",
100
100
  "eslint-plugin-boundaries": "^7.2.0",
@@ -102,8 +102,8 @@
102
102
  "eslint-plugin-import-x": "^4.17.1",
103
103
  "eslint-plugin-jasmine": "^4.2.2",
104
104
  "eslint-plugin-jest": "^29.16.6",
105
- "eslint-plugin-jsdoc": "^64.3.9",
106
- "eslint-plugin-perfectionist": "^5.11.0",
105
+ "eslint-plugin-jsdoc": "^64.5.4",
106
+ "eslint-plugin-perfectionist": "^5.11.1",
107
107
  "eslint-plugin-prettier": "^5.5.6",
108
108
  "eslint-plugin-rxjs-x": "^1.0.6",
109
109
  "eslint-plugin-unicorn": "^74.0.0",
@@ -113,17 +113,17 @@
113
113
  "lint-staged": "^17.5.1",
114
114
  "lodash-es": "^4.18.1",
115
115
  "patch-package": "^8.0.1",
116
- "prettier": "^3.9.6",
116
+ "prettier": "^3.9.8",
117
117
  "rimraf": "^6.1.3",
118
118
  "semantic-release": "^25.0.9",
119
119
  "tsc-alias": "^1.9.5",
120
120
  "typedoc": "^0.28.20",
121
- "typedoc-plugin-markdown": "^4.13.0",
121
+ "typedoc-plugin-markdown": "^4.13.1",
122
122
  "typescript": "^6.0.3",
123
123
  "typescript-eslint": "^8.70.0",
124
124
  "vitest": "^4.1.11"
125
125
  },
126
126
  "peerDependencies": {
127
- "eslint": ">=10.10.0"
127
+ "eslint": ">=10.11.0"
128
128
  }
129
129
  }