@mrgrain/jsii-struct-builder
Advanced tools
Comparing version 0.4.8 to 0.4.9
@@ -33,2 +33,9 @@ import { InterfaceType, Property } from '@jsii/spec'; | ||
readonly defaultTagsForRequiredProps?: boolean; | ||
/** | ||
* Use explicit `type` imports when importing referenced modules. | ||
* | ||
* @see https://www.typescriptlang.org/docs/handbook/modules.html#importing-types | ||
* @default false | ||
*/ | ||
readonly useTypeImports?: boolean; | ||
} | ||
@@ -35,0 +42,0 @@ /** |
@@ -15,3 +15,3 @@ "use strict"; | ||
constructor(options = {}) { | ||
var _a, _b, _c; | ||
var _a, _b, _c, _d; | ||
this.options = { | ||
@@ -21,2 +21,3 @@ importLocations: (_a = options.importLocations) !== null && _a !== void 0 ? _a : {}, | ||
defaultTagsForRequiredProps: (_c = options.defaultTagsForRequiredProps) !== null && _c !== void 0 ? _c : false, | ||
useTypeImports: (_d = options.useTypeImports) !== null && _d !== void 0 ? _d : false, | ||
}; | ||
@@ -52,3 +53,6 @@ this.buffer = new CodeBuffer(' '.repeat(this.options.indent)); | ||
const imports = Array.from(((_a = modules.get(mod)) === null || _a === void 0 ? void 0 : _a.values()) || []); | ||
this.buffer.line(`import { ${imports | ||
const importStmt = this.options.useTypeImports | ||
? 'import type' | ||
: 'import'; | ||
this.buffer.line(`${importStmt} { ${imports | ||
.sort(private_1.compareLowerCase) | ||
@@ -205,2 +209,2 @@ .join(', ')} } from '${mod}';`); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZW5kZXJlci90eXBlc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFDQVVvQjtBQUNwQiwrRUFBc0Q7QUFFdEQsd0NBQTJEO0FBb0MzRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQW1CLFVBQXFDLEVBQUU7O1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixlQUFlLEVBQUUsTUFBQSxPQUFPLENBQUMsZUFBZSxtQ0FBSSxFQUFFO1lBQzlDLE1BQU0sRUFBRSxNQUFBLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLENBQUM7WUFDM0IsMkJBQTJCLEVBQUUsTUFBQSxPQUFPLENBQUMsMkJBQTJCLG1DQUFJLEtBQUs7U0FDMUUsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWSxDQUFDLE1BQXFCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxJQUFtQjs7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1B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O0FBRUQsU0FBUyxXQUFXLENBQUMsQ0FBZ0I7SUFDbkMsSUFBSSxJQUFBLDJCQUFvQixFQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDaEI7SUFFRCxJQUFJLElBQUEsMkJBQW9CLEVBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLElBQUEsZ0NBQXlCLEVBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM5QztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbGxlY3Rpb25LaW5kLFxuICBEb2NzLFxuICBJbnRlcmZhY2VUeXBlLFxuICBpc0NvbGxlY3Rpb25UeXBlUmVmZXJlbmNlLFxuICBpc05hbWVkVHlwZVJlZmVyZW5jZSxcbiAgaXNQcmltaXRpdmVUeXBlUmVmZXJlbmNlLFxuICBpc1VuaW9uVHlwZVJlZmVyZW5jZSxcbiAgUHJvcGVydHksXG4gIFR5cGVSZWZlcmVuY2UsXG59IGZyb20gJ0Bqc2lpL3NwZWMnO1xuaW1wb3J0IHN0cnVjdHVyZWRDbG9uZSBmcm9tICdAdW5nYXAvc3RydWN0dXJlZC1jbG9uZSc7XG5pbXBvcnQgeyBIYXNTdHJ1Y3RTcGVjIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBjb21wYXJlTG93ZXJDYXNlLCBjb21wYXJlUGF0aCB9IGZyb20gJy4uL3ByaXZhdGUnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBUeXBlU2NyaXB0UmVuZGVyZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRSZW5kZXJlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1vZHVsZSBsb2NhdGlvbnMgYXNzZW1ibGllcyBzaG91bGQgYmUgaW1wb3J0ZWQgZnJvbVxuICAgKlxuICAgKiBBbGwgdHlwZXMgYXJlIGltcG9ydGVkIGZyb20gdGhlIHRvcC1sZXZlbCBvZiB0aGUgbW9kdWxlLlxuICAgKiBUaGlzIG1hcCBjYW4gYmUgdXNlZCB0byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgaW1wb3J0IGxvY2F0aW9ucy5cbiAgICpcbiAgICogRm9yIGxvY2FsIGltcG9ydHMsIHRoZSBpbXBvcnQgdHJhdmVyc2UgdXAgYSBudW1iZXIgb2YgbGV2ZWxzIGVxdWl2YWxlbnQgdG8gdGhlIG51bWJlciBvZiBmcW4gcGFydHMgb2YgdGhlIHJlbmRlcmVkIHR5cGUuXG4gICAqIEUuZy4gaWYgdGhlIHRoZSByZW5kZXJlZCB0eXBlIGlzIGBwa2cuaW50ZXJmYWNlYCwgaXQgaXMgYXNzdW1lZCB0byBiZSBhdCB0aGUgdG9wLWxldmVsIGFuZCBpbXBvcnRzIGZyb20gdGhlIHNhbWUgYXNzZW1ibHkgd291bGQgYmUgZnJvbSBgLi9gLlxuICAgKiBJZiB0aGUgcmVuZGVyZWQgdHlwZSBpcyBgcGtnLm5lc3RlZC5zdWIuaW50ZXJmYWNlYCBhIGxvY2FsIGltcG9ydCB3aWxsIGJlIGZyb20gYC4uLy4uL2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlcyB0aGUgYXNzZW1ibHkgbmFtZSBmb3IgZXh0ZXJuYWwgcGFja2FnZXNcbiAgICogbG9jYWwgaW1wb3J0cyB0cmF2ZXJzZSB1cCBhIG51bWJlciBvZiBsZXZlbHMgZXF1aXZhbGVudCB0byB0aGUgbnVtYmVyIG9mIGZxbiBwYXJ0c1xuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0TG9jYXRpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogSW5kZW50YXRpb24gc2l6ZVxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSBpbmRlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlbmRlciBgQGRlZmF1bHRgIGRvY3RhZyBhbHNvIGZvciByZXF1aXJlZCAobm90IG9wdGlvbmFsKSBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFRhZ3NGb3JSZXF1aXJlZFByb3BzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBKc2lpIHRvIFR5cGVTY3JpcHQgcmVuZGVyZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRSZW5kZXJlciB7XG4gIHByaXZhdGUgYnVmZmVyOiBDb2RlQnVmZmVyO1xuICBwcml2YXRlIG9wdGlvbnM6IFJlcXVpcmVkPFR5cGVTY3JpcHRSZW5kZXJlck9wdGlvbnM+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBUeXBlU2NyaXB0UmVuZGVyZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBpbXBvcnRMb2NhdGlvbnM6IG9wdGlvbnMuaW1wb3J0TG9jYXRpb25zID8/IHt9LFxuICAgICAgaW5kZW50OiBvcHRpb25zLmluZGVudCA/PyAyLFxuICAgICAgZGVmYXVsdFRhZ3NGb3JSZXF1aXJlZFByb3BzOiBvcHRpb25zLmRlZmF1bHRUYWdzRm9yUmVxdWlyZWRQcm9wcyA/PyBmYWxzZSxcbiAgICB9O1xuICAgIHRoaXMuYnVmZmVyID0gbmV3IENvZGVCdWZmZXIoJyAnLnJlcGVhdCh0aGlzLm9wdGlvbnMuaW5kZW50KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHNvbWV0aGluZyB0aGF0IGhhcyBhIHN0cnVjdCBzcGVjXG4gICAqL1xuICBwdWJsaWMgcmVuZGVyU3RydWN0KHN0cnVjdDogSGFzU3RydWN0U3BlYyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyU3RydWN0U3BlYyhzdHJ1Y3Quc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIGEganNpaSBJbnRlcmZhY2VUeXBlIHNwZWNcbiAgICovXG4gIHB1YmxpYyByZW5kZXJTdHJ1Y3RTcGVjKHNwZWM6IEludGVyZmFjZVR5cGUpOiBzdHJpbmcge1xuICAgIHRoaXMuYnVmZmVyLmZsdXNoKCk7XG5cbiAgICB0aGlzLnJlbmRlckltcG9ydHMoZXh0cmFjdEltcG9ydHMoc3BlYywgdGhpcy5vcHRpb25zLmltcG9ydExvY2F0aW9ucykpO1xuICAgIHRoaXMuYnVmZmVyLmxpbmUoKTtcbiAgICB0aGlzLnJlbmRlckRvY0Jsb2NrKGRvY3NUb0xpbmVzKHNwZWMuZG9jcykpO1xuICAgIHRoaXMuYnVmZmVyLm9wZW4oYGV4cG9ydCBpbnRlcmZhY2UgJHtzcGVjLm5hbWV9IHtgKTtcbiAgICBzcGVjLnByb3BlcnRpZXM/LmZvckVhY2goKHApID0+IHRoaXMucmVuZGVyUHJvcGVydHkocCwgc3BlYy5mcW4pKTtcbiAgICB0aGlzLmJ1ZmZlci5jbG9zZSgnfScpO1xuICAgIHRoaXMuYnVmZmVyLmxpbmUoKTtcblxuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5mbHVzaCgpLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckltcG9ydHMobW9kdWxlczogTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KSB7XG4gICAgQXJyYXkuZnJvbShtb2R1bGVzLmtleXMoKSlcbiAgICAgIC5zb3J0KGNvbXBhcmVQYXRoKVxuICAgICAgLmZvckVhY2goKG1vZCkgPT4ge1xuICAgICAgICBjb25zdCBpbXBvcnRzID0gQXJyYXkuZnJvbShtb2R1bGVzLmdldChtb2QpPy52YWx1ZXMoKSB8fCBbXSk7XG4gICAgICAgIHRoaXMuYnVmZmVyLmxpbmUoXG4gICAgICAgICAgYGltcG9ydCB7ICR7aW1wb3J0c1xuICAgICAgICAgICAgLnNvcnQoY29tcGFyZUxvd2VyQ2FzZSlcbiAgICAgICAgICAgIC5qb2luKCcsICcpfSB9IGZyb20gJyR7bW9kfSc7YCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlclByb3BlcnR5KHA6IFByb3BlcnR5LCBjb250YWluaW5nRnFuOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkb2NzID0gc3RydWN0dXJlZENsb25lKHAuZG9jcyk7XG4gICAgaWYgKGRvY3MpIHtcbiAgICAgIGlmICghcC5vcHRpb25hbCAmJiAhdGhpcy5vcHRpb25zLmRlZmF1bHRUYWdzRm9yUmVxdWlyZWRQcm9wcykge1xuICAgICAgICBkZWxldGUgZG9jcy5kZWZhdWx0O1xuICAgICAgfVxuICAgICAgdGhpcy5yZW5kZXJEb2NCbG9jayhkb2NzVG9MaW5lcyhkb2NzKSk7XG4gICAgfVxuXG4gICAgdGhpcy5idWZmZXIubGluZShcbiAgICAgIGByZWFkb25seSAke3AubmFtZX0ke3Aub3B0aW9uYWwgPyAnPycgOiAnJ306ICR7dHlwZVJlZlRvVHlwZShcbiAgICAgICAgcC50eXBlLFxuICAgICAgICBjb250YWluaW5nRnFuLFxuICAgICAgKX07YCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckRvY0Jsb2NrKGxpbmVzOiBzdHJpbmdbXSkge1xuICAgIGlmICghbGluZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5idWZmZXIubGluZSgnLyoqJyk7XG4gICAgbGluZXMuZm9yRWFjaCgobGluZSkgPT4gdGhpcy5idWZmZXIubGluZShgICogJHtsaW5lfWApKTtcbiAgICB0aGlzLmJ1ZmZlci5saW5lKCcgKi8nKTtcbiAgfVxufVxuXG5jbGFzcyBDb2RlQnVmZmVyIHtcbiAgcHJpdmF0ZSBsaW5lcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gIHByaXZhdGUgaW5kZW50TGV2ZWwgPSAwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluZGVudCA9ICcgJykge31cblxuICBwdWJsaWMgZmx1c2goKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmxpbmVzO1xuICAgIHRoaXMucmVzZXQoKTtcblxuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG5cbiAgcHVibGljIGxpbmUoY29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuaW5kZW50LnJlcGVhdCh0aGlzLmluZGVudExldmVsKTtcbiAgICB0aGlzLmxpbmVzLnB1c2goKHByZWZpeCArIChjb2RlID8/ICcnKSkudHJpbUVuZCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGNvZGU/OiBzdHJpbmcpIHtcbiAgICBpZiAoY29kZSkge1xuICAgICAgdGhpcy5saW5lKGNvZGUpO1xuICAgIH1cblxuICAgIHRoaXMuaW5kZW50TGV2ZWwrKztcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZShjb2RlPzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5kZW50TGV2ZWwgPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlY3JlYXNlIGluZGVudCBsZXZlbCBiZWxvdyB6ZXJvJyk7XG4gICAgfVxuICAgIHRoaXMuaW5kZW50TGV2ZWwtLTtcblxuICAgIGlmIChjb2RlKSB7XG4gICAgICB0aGlzLmxpbmUoY29kZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICB0aGlzLmluZGVudExldmVsID0gMDtcbiAgfVxufVxuXG5mdW5jdGlvbiBkb2NzVG9MaW5lcyhkb2NzPzogRG9jcyk6IHN0cmluZ1tdIHtcbiAgaWYgKCFkb2NzKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgbGluZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gIGlmIChkb2NzLnN1bW1hcnkpIHtcbiAgICBsaW5lcy5wdXNoKGRvY3Muc3VtbWFyeSk7XG4gIH1cbiAgaWYgKGRvY3MucmVtYXJrcykge1xuICAgIGxpbmVzLnB1c2goLi4uZG9jcy5yZW1hcmtzLnNwbGl0KCdcXG4nKSk7XG4gIH1cbiAgaWYgKGRvY3MuZGVmYXVsdCkge1xuICAgIGxpbmVzLnB1c2goYEBkZWZhdWx0ICR7ZG9jcy5kZWZhdWx0fWApO1xuICB9XG4gIGlmIChkb2NzLmRlcHJlY2F0ZWQpIHtcbiAgICBsaW5lcy5wdXNoKGBAZGVwcmVjYXRlZCAke2RvY3MuZGVwcmVjYXRlZH1gKTtcbiAgfVxuICBpZiAoZG9jcy5zdGFiaWxpdHkpIHtcbiAgICBsaW5lcy5wdXNoKGBAc3RhYmlsaXR5ICR7ZG9jcy5zdGFiaWxpdHl9YCk7XG4gIH1cbiAgaWYgKGRvY3MuY3VzdG9tKSB7XG4gICAgT2JqZWN0LmVudHJpZXMoZG9jcy5jdXN0b20pLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBbdGFnLCB2YWx1ZV0gPSBlbnRyeTtcbiAgICAgIGxpbmVzLnB1c2goYEAke3RhZ30gJHt2YWx1ZX1gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBsaW5lcztcbn1cblxuZnVuY3Rpb24gdHlwZVJlZlRvVHlwZSh0OiBUeXBlUmVmZXJlbmNlLCBjb250YWluaW5nRnFuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoaXNQcmltaXRpdmVUeXBlUmVmZXJlbmNlKHQpKSB7XG4gICAgcmV0dXJuIHQucHJpbWl0aXZlO1xuICB9XG5cbiAgaWYgKGlzTmFtZWRUeXBlUmVmZXJlbmNlKHQpKSB7XG4gICAgcmV0dXJuIHQuZnFuLnNwbGl0KCcuJykuc2xpY2UoMSkuam9pbignLicpO1xuICB9XG5cbiAgaWYgKGlzQ29sbGVjdGlvblR5cGVSZWZlcmVuY2UodCkpIHtcbiAgICBzd2l0Y2ggKHQuY29sbGVjdGlvbi5raW5kKSB7XG4gICAgICBjYXNlIENvbGxlY3Rpb25LaW5kLkFycmF5OlxuICAgICAgICByZXR1cm4gYEFycmF5PCR7dHlwZVJlZlRvVHlwZShcbiAgICAgICAgICB0LmNvbGxlY3Rpb24uZWxlbWVudHR5cGUsXG4gICAgICAgICAgY29udGFpbmluZ0ZxbixcbiAgICAgICAgKX0+YDtcbiAgICAgIGNhc2UgQ29sbGVjdGlvbktpbmQuTWFwOlxuICAgICAgICByZXR1cm4gYFJlY29yZDxzdHJpbmcsICR7dHlwZVJlZlRvVHlwZShcbiAgICAgICAgICB0LmNvbGxlY3Rpb24uZWxlbWVudHR5cGUsXG4gICAgICAgICAgY29udGFpbmluZ0ZxbixcbiAgICAgICAgKX0+YDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnYW55JztcbiAgICB9XG4gIH1cbiAgaWYgKGlzVW5pb25UeXBlUmVmZXJlbmNlKHQpKSB7XG4gICAgcmV0dXJuIHQudW5pb24udHlwZXNcbiAgICAgIC5tYXAoKHV0KSA9PiB0eXBlUmVmVG9UeXBlKHV0LCBjb250YWluaW5nRnFuKSlcbiAgICAgIC5qb2luKCcgfCAnKTtcbiAgfVxuXG4gIHJldHVybiAnYW55Jztcbn1cblxuZnVuY3Rpb24gZXh0cmFjdEltcG9ydHMoXG4gIHNwZWM6IEludGVyZmFjZVR5cGUsXG4gIGltcG9ydExvY2F0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbik6IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PiB7XG4gIGNvbnN0IHJlZnMgPSBzcGVjLnByb3BlcnRpZXM/LmZsYXRNYXAoKHApID0+IGNvbGxlY3RGUU5zKHAudHlwZSkpIHx8IFtdO1xuICByZXR1cm4gcmVmcy5yZWR1Y2UoKG1vZHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gZnFuVG9JbXBvcnROYW1lKHJlZiwgc3BlYy5mcW4sIGltcG9ydExvY2F0aW9ucyk7XG4gICAgY29uc3QgaW1wb3J0cyA9IG1vZHMuZ2V0KHBhY2thZ2VOYW1lKSB8fCBuZXcgU2V0KCk7XG4gICAgY29uc3QgaW1wb3J0TmFtZSA9IHJlZi5zcGxpdCgnLicpLnNsaWNlKDEpWzBdIHx8IHJlZjtcbiAgICByZXR1cm4gbW9kcy5zZXQocGFja2FnZU5hbWUsIGltcG9ydHMuYWRkKGltcG9ydE5hbWUpKTtcbiAgfSwgbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpKTtcbn1cblxuZnVuY3Rpb24gZnFuVG9JbXBvcnROYW1lKFxuICBmcW46IHN0cmluZyxcbiAgaW1wb3J0aW5nRnFuOiBzdHJpbmcsXG4gIGltcG9ydExvY2F0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbik6IHN0cmluZyB7XG4gIGNvbnN0IGxvY2FsQXNzZW1ibHkgPSBpbXBvcnRpbmdGcW4uc3BsaXQoJy4nLCAxKVswXTtcbiAgY29uc3QgaW1wb3J0QXNzZW1ibHkgPSBmcW4uc3BsaXQoJy4nLCAxKVswXTtcblxuICAvLyB3ZSBoYXZlIGEgY3VzdG9tIGltcG9ydCBwYXRoXG4gIGlmIChpbXBvcnRMb2NhdGlvbnNbaW1wb3J0QXNzZW1ibHldKSB7XG4gICAgcmV0dXJuIGltcG9ydExvY2F0aW9uc1tpbXBvcnRBc3NlbWJseV07XG4gIH1cblxuICAvLyB0aGlzIGlzIHRoZSBzYW1lIGFzc2VtYmx5LCB0cnkgdG8gZ3Vlc3MgdGhlIHBhdGggdG8gdGhlIHJvb3RcbiAgaWYgKGltcG9ydEFzc2VtYmx5ID09PSBsb2NhbEFzc2VtYmx5KSB7XG4gICAgY29uc3QgZnFuUGFydHMgPSBpbXBvcnRpbmdGcW4uc3BsaXQoJy4nKS5sZW5ndGg7XG4gICAgaWYgKGZxblBhcnRzIDw9IDIpIHtcbiAgICAgIHJldHVybiAnLi8nO1xuICAgIH1cbiAgICByZXR1cm4gJy4uLycucmVwZWF0KGZxblBhcnRzIC0gMik7XG4gIH1cblxuICAvLyByZWd1bGFyIHRoaXJkIHBhcnR5IG1vZHVsZVxuICByZXR1cm4gaW1wb3J0QXNzZW1ibHk7XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RGUU5zKHQ6IFR5cGVSZWZlcmVuY2UpOiBzdHJpbmdbXSB7XG4gIGlmIChpc05hbWVkVHlwZVJlZmVyZW5jZSh0KSkge1xuICAgIHJldHVybiBbdC5mcW5dO1xuICB9XG5cbiAgaWYgKGlzVW5pb25UeXBlUmVmZXJlbmNlKHQpKSB7XG4gICAgcmV0dXJuIHQudW5pb24udHlwZXMuZmxhdE1hcChjb2xsZWN0RlFOcyk7XG4gIH1cblxuICBpZiAoaXNDb2xsZWN0aW9uVHlwZVJlZmVyZW5jZSh0KSkge1xuICAgIHJldHVybiBjb2xsZWN0RlFOcyh0LmNvbGxlY3Rpb24uZWxlbWVudHR5cGUpO1xuICB9XG5cbiAgcmV0dXJuIFtdO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZW5kZXJlci90eXBlc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFDQVVvQjtBQUNwQiwrRUFBc0Q7QUFFdEQsd0NBQTJEO0FBNEMzRDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQW1CLFVBQXFDLEVBQUU7O1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixlQUFlLEVBQUUsTUFBQSxPQUFPLENBQUMsZUFBZSxtQ0FBSSxFQUFFO1lBQzlDLE1BQU0sRUFBRSxNQUFBLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLENBQUM7WUFDM0IsMkJBQTJCLEVBQUUsTUFBQSxPQUFPLENBQUMsMkJBQTJCLG1DQUFJLEtBQUs7WUFDekUsY0FBYyxFQUFFLE1BQUEsT0FBTyxDQUFDLGNBQWMsbUNBQUksS0FBSztTQUNoRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZLENBQUMsTUFBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQixDQUFDLElBQW1COztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJ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UUFBUSxJQUFJLENBQUMsRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNuQztJQUVELDZCQUE2QjtJQUM3QixPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsQ0FBZ0I7SUFDbkMsSUFBSSxJQUFBLDJCQUFvQixFQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDaEI7SUFFRCxJQUFJLElBQUEsMkJBQW9CLEVBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLElBQUEsZ0NBQXlCLEVBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM5QztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbGxlY3Rpb25LaW5kLFxuICBEb2NzLFxuICBJbnRlcmZhY2VUeXBlLFxuICBpc0NvbGxlY3Rpb25UeXBlUmVmZXJlbmNlLFxuICBpc05hbWVkVHlwZVJlZmVyZW5jZSxcbiAgaXNQcmltaXRpdmVUeXBlUmVmZXJlbmNlLFxuICBpc1VuaW9uVHlwZVJlZmVyZW5jZSxcbiAgUHJvcGVydHksXG4gIFR5cGVSZWZlcmVuY2UsXG59IGZyb20gJ0Bqc2lpL3NwZWMnO1xuaW1wb3J0IHN0cnVjdHVyZWRDbG9uZSBmcm9tICdAdW5nYXAvc3RydWN0dXJlZC1jbG9uZSc7XG5pbXBvcnQgeyBIYXNTdHJ1Y3RTcGVjIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBjb21wYXJlTG93ZXJDYXNlLCBjb21wYXJlUGF0aCB9IGZyb20gJy4uL3ByaXZhdGUnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBUeXBlU2NyaXB0UmVuZGVyZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRSZW5kZXJlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1vZHVsZSBsb2NhdGlvbnMgYXNzZW1ibGllcyBzaG91bGQgYmUgaW1wb3J0ZWQgZnJvbVxuICAgKlxuICAgKiBBbGwgdHlwZXMgYXJlIGltcG9ydGVkIGZyb20gdGhlIHRvcC1sZXZlbCBvZiB0aGUgbW9kdWxlLlxuICAgKiBUaGlzIG1hcCBjYW4gYmUgdXNlZCB0byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgaW1wb3J0IGxvY2F0aW9ucy5cbiAgICpcbiAgICogRm9yIGxvY2FsIGltcG9ydHMsIHRoZSBpbXBvcnQgdHJhdmVyc2UgdXAgYSBudW1iZXIgb2YgbGV2ZWxzIGVxdWl2YWxlbnQgdG8gdGhlIG51bWJlciBvZiBmcW4gcGFydHMgb2YgdGhlIHJlbmRlcmVkIHR5cGUuXG4gICAqIEUuZy4gaWYgdGhlIHRoZSByZW5kZXJlZCB0eXBlIGlzIGBwa2cuaW50ZXJmYWNlYCwgaXQgaXMgYXNzdW1lZCB0byBiZSBhdCB0aGUgdG9wLWxldmVsIGFuZCBpbXBvcnRzIGZyb20gdGhlIHNhbWUgYXNzZW1ibHkgd291bGQgYmUgZnJvbSBgLi9gLlxuICAgKiBJZiB0aGUgcmVuZGVyZWQgdHlwZSBpcyBgcGtnLm5lc3RlZC5zdWIuaW50ZXJmYWNlYCBhIGxvY2FsIGltcG9ydCB3aWxsIGJlIGZyb20gYC4uLy4uL2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlcyB0aGUgYXNzZW1ibHkgbmFtZSBmb3IgZXh0ZXJuYWwgcGFja2FnZXNcbiAgICogbG9jYWwgaW1wb3J0cyB0cmF2ZXJzZSB1cCBhIG51bWJlciBvZiBsZXZlbHMgZXF1aXZhbGVudCB0byB0aGUgbnVtYmVyIG9mIGZxbiBwYXJ0c1xuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0TG9jYXRpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogSW5kZW50YXRpb24gc2l6ZVxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSBpbmRlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlbmRlciBgQGRlZmF1bHRgIGRvY3RhZyBhbHNvIGZvciByZXF1aXJlZCAobm90IG9wdGlvbmFsKSBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFRhZ3NGb3JSZXF1aXJlZFByb3BzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIGV4cGxpY2l0IGB0eXBlYCBpbXBvcnRzIHdoZW4gaW1wb3J0aW5nIHJlZmVyZW5jZWQgbW9kdWxlcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay9tb2R1bGVzLmh0bWwjaW1wb3J0aW5nLXR5cGVzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB1c2VUeXBlSW1wb3J0cz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSnNpaSB0byBUeXBlU2NyaXB0IHJlbmRlcmVyXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0UmVuZGVyZXIge1xuICBwcml2YXRlIGJ1ZmZlcjogQ29kZUJ1ZmZlcjtcbiAgcHJpdmF0ZSBvcHRpb25zOiBSZXF1aXJlZDxUeXBlU2NyaXB0UmVuZGVyZXJPcHRpb25zPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogVHlwZVNjcmlwdFJlbmRlcmVyT3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgaW1wb3J0TG9jYXRpb25zOiBvcHRpb25zLmltcG9ydExvY2F0aW9ucyA/PyB7fSxcbiAgICAgIGluZGVudDogb3B0aW9ucy5pbmRlbnQgPz8gMixcbiAgICAgIGRlZmF1bHRUYWdzRm9yUmVxdWlyZWRQcm9wczogb3B0aW9ucy5kZWZhdWx0VGFnc0ZvclJlcXVpcmVkUHJvcHMgPz8gZmFsc2UsXG4gICAgICB1c2VUeXBlSW1wb3J0czogb3B0aW9ucy51c2VUeXBlSW1wb3J0cyA/PyBmYWxzZSxcbiAgICB9O1xuICAgIHRoaXMuYnVmZmVyID0gbmV3IENvZGVCdWZmZXIoJyAnLnJlcGVhdCh0aGlzLm9wdGlvbnMuaW5kZW50KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHNvbWV0aGluZyB0aGF0IGhhcyBhIHN0cnVjdCBzcGVjXG4gICAqL1xuICBwdWJsaWMgcmVuZGVyU3RydWN0KHN0cnVjdDogSGFzU3RydWN0U3BlYyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyU3RydWN0U3BlYyhzdHJ1Y3Quc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIGEganNpaSBJbnRlcmZhY2VUeXBlIHNwZWNcbiAgICovXG4gIHB1YmxpYyByZW5kZXJTdHJ1Y3RTcGVjKHNwZWM6IEludGVyZmFjZVR5cGUpOiBzdHJpbmcge1xuICAgIHRoaXMuYnVmZmVyLmZsdXNoKCk7XG5cbiAgICB0aGlzLnJlbmRlckltcG9ydHMoZXh0cmFjdEltcG9ydHMoc3BlYywgdGhpcy5vcHRpb25zLmltcG9ydExvY2F0aW9ucykpO1xuICAgIHRoaXMuYnVmZmVyLmxpbmUoKTtcbiAgICB0aGlzLnJlbmRlckRvY0Jsb2NrKGRvY3NUb0xpbmVzKHNwZWMuZG9jcykpO1xuICAgIHRoaXMuYnVmZmVyLm9wZW4oYGV4cG9ydCBpbnRlcmZhY2UgJHtzcGVjLm5hbWV9IHtgKTtcbiAgICBzcGVjLnByb3BlcnRpZXM/LmZvckVhY2goKHApID0+IHRoaXMucmVuZGVyUHJvcGVydHkocCwgc3BlYy5mcW4pKTtcbiAgICB0aGlzLmJ1ZmZlci5jbG9zZSgnfScpO1xuICAgIHRoaXMuYnVmZmVyLmxpbmUoKTtcblxuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5mbHVzaCgpLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckltcG9ydHMobW9kdWxlczogTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KSB7XG4gICAgQXJyYXkuZnJvbShtb2R1bGVzLmtleXMoKSlcbiAgICAgIC5zb3J0KGNvbXBhcmVQYXRoKVxuICAgICAgLmZvckVhY2goKG1vZCkgPT4ge1xuICAgICAgICBjb25zdCBpbXBvcnRzID0gQXJyYXkuZnJvbShtb2R1bGVzLmdldChtb2QpPy52YWx1ZXMoKSB8fCBbXSk7XG4gICAgICAgIGNvbnN0IGltcG9ydFN0bXQgPSB0aGlzLm9wdGlvbnMudXNlVHlwZUltcG9ydHNcbiAgICAgICAgICA/ICdpbXBvcnQgdHlwZSdcbiAgICAgICAgICA6ICdpbXBvcnQnO1xuICAgICAgICB0aGlzLmJ1ZmZlci5saW5lKFxuICAgICAgICAgIGAke2ltcG9ydFN0bXR9IHsgJHtpbXBvcnRzXG4gICAgICAgICAgICAuc29ydChjb21wYXJlTG93ZXJDYXNlKVxuICAgICAgICAgICAgLmpvaW4oJywgJyl9IH0gZnJvbSAnJHttb2R9JztgLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyUHJvcGVydHkocDogUHJvcGVydHksIGNvbnRhaW5pbmdGcW46IHN0cmluZykge1xuICAgIGNvbnN0IGRvY3MgPSBzdHJ1Y3R1cmVkQ2xvbmUocC5kb2NzKTtcbiAgICBpZiAoZG9jcykge1xuICAgICAgaWYgKCFwLm9wdGlvbmFsICYmICF0aGlzLm9wdGlvbnMuZGVmYXVsdFRhZ3NGb3JSZXF1aXJlZFByb3BzKSB7XG4gICAgICAgIGRlbGV0ZSBkb2NzLmRlZmF1bHQ7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbmRlckRvY0Jsb2NrKGRvY3NUb0xpbmVzKGRvY3MpKTtcbiAgICB9XG5cbiAgICB0aGlzLmJ1ZmZlci5saW5lKFxuICAgICAgYHJlYWRvbmx5ICR7cC5uYW1lfSR7cC5vcHRpb25hbCA/ICc/JyA6ICcnfTogJHt0eXBlUmVmVG9UeXBlKFxuICAgICAgICBwLnR5cGUsXG4gICAgICAgIGNvbnRhaW5pbmdGcW4sXG4gICAgICApfTtgLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyRG9jQmxvY2sobGluZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCFsaW5lcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmJ1ZmZlci5saW5lKCcvKionKTtcbiAgICBsaW5lcy5mb3JFYWNoKChsaW5lKSA9PiB0aGlzLmJ1ZmZlci5saW5lKGAgKiAke2xpbmV9YCkpO1xuICAgIHRoaXMuYnVmZmVyLmxpbmUoJyAqLycpO1xuICB9XG59XG5cbmNsYXNzIENvZGVCdWZmZXIge1xuICBwcml2YXRlIGxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBpbmRlbnRMZXZlbCA9IDA7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5kZW50ID0gJyAnKSB7fVxuXG4gIHB1YmxpYyBmbHVzaCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMubGluZXM7XG4gICAgdGhpcy5yZXNldCgpO1xuXG4gICAgcmV0dXJuIGN1cnJlbnQ7XG4gIH1cblxuICBwdWJsaWMgbGluZShjb2RlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5pbmRlbnQucmVwZWF0KHRoaXMuaW5kZW50TGV2ZWwpO1xuICAgIHRoaXMubGluZXMucHVzaCgocHJlZml4ICsgKGNvZGUgPz8gJycpKS50cmltRW5kKCkpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oY29kZT86IHN0cmluZykge1xuICAgIGlmIChjb2RlKSB7XG4gICAgICB0aGlzLmxpbmUoY29kZSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbmRlbnRMZXZlbCsrO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKGNvZGU/OiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pbmRlbnRMZXZlbCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVjcmVhc2UgaW5kZW50IGxldmVsIGJlbG93IHplcm8nKTtcbiAgICB9XG4gICAgdGhpcy5pbmRlbnRMZXZlbC0tO1xuXG4gICAgaWYgKGNvZGUpIHtcbiAgICAgIHRoaXMubGluZShjb2RlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMubGluZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIHRoaXMuaW5kZW50TGV2ZWwgPSAwO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRvY3NUb0xpbmVzKGRvY3M/OiBEb2NzKTogc3RyaW5nW10ge1xuICBpZiAoIWRvY3MpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBsaW5lcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgaWYgKGRvY3Muc3VtbWFyeSkge1xuICAgIGxpbmVzLnB1c2goZG9jcy5zdW1tYXJ5KTtcbiAgfVxuICBpZiAoZG9jcy5yZW1hcmtzKSB7XG4gICAgbGluZXMucHVzaCguLi5kb2NzLnJlbWFya3Muc3BsaXQoJ1xcbicpKTtcbiAgfVxuICBpZiAoZG9jcy5kZWZhdWx0KSB7XG4gICAgbGluZXMucHVzaChgQGRlZmF1bHQgJHtkb2NzLmRlZmF1bHR9YCk7XG4gIH1cbiAgaWYgKGRvY3MuZGVwcmVjYXRlZCkge1xuICAgIGxpbmVzLnB1c2goYEBkZXByZWNhdGVkICR7ZG9jcy5kZXByZWNhdGVkfWApO1xuICB9XG4gIGlmIChkb2NzLnN0YWJpbGl0eSkge1xuICAgIGxpbmVzLnB1c2goYEBzdGFiaWxpdHkgJHtkb2NzLnN0YWJpbGl0eX1gKTtcbiAgfVxuICBpZiAoZG9jcy5jdXN0b20pIHtcbiAgICBPYmplY3QuZW50cmllcyhkb2NzLmN1c3RvbSkuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IFt0YWcsIHZhbHVlXSA9IGVudHJ5O1xuICAgICAgbGluZXMucHVzaChgQCR7dGFnfSAke3ZhbHVlfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGxpbmVzO1xufVxuXG5mdW5jdGlvbiB0eXBlUmVmVG9UeXBlKHQ6IFR5cGVSZWZlcmVuY2UsIGNvbnRhaW5pbmdGcW46IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChpc1ByaW1pdGl2ZVR5cGVSZWZlcmVuY2UodCkpIHtcbiAgICByZXR1cm4gdC5wcmltaXRpdmU7XG4gIH1cblxuICBpZiAoaXNOYW1lZFR5cGVSZWZlcmVuY2UodCkpIHtcbiAgICByZXR1cm4gdC5mcW4uc3BsaXQoJy4nKS5zbGljZSgxKS5qb2luKCcuJyk7XG4gIH1cblxuICBpZiAoaXNDb2xsZWN0aW9uVHlwZVJlZmVyZW5jZSh0KSkge1xuICAgIHN3aXRjaCAodC5jb2xsZWN0aW9uLmtpbmQpIHtcbiAgICAgIGNhc2UgQ29sbGVjdGlvbktpbmQuQXJyYXk6XG4gICAgICAgIHJldHVybiBgQXJyYXk8JHt0eXBlUmVmVG9UeXBlKFxuICAgICAgICAgIHQuY29sbGVjdGlvbi5lbGVtZW50dHlwZSxcbiAgICAgICAgICBjb250YWluaW5nRnFuLFxuICAgICAgICApfT5gO1xuICAgICAgY2FzZSBDb2xsZWN0aW9uS2luZC5NYXA6XG4gICAgICAgIHJldHVybiBgUmVjb3JkPHN0cmluZywgJHt0eXBlUmVmVG9UeXBlKFxuICAgICAgICAgIHQuY29sbGVjdGlvbi5lbGVtZW50dHlwZSxcbiAgICAgICAgICBjb250YWluaW5nRnFuLFxuICAgICAgICApfT5gO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdhbnknO1xuICAgIH1cbiAgfVxuICBpZiAoaXNVbmlvblR5cGVSZWZlcmVuY2UodCkpIHtcbiAgICByZXR1cm4gdC51bmlvbi50eXBlc1xuICAgICAgLm1hcCgodXQpID0+IHR5cGVSZWZUb1R5cGUodXQsIGNvbnRhaW5pbmdGcW4pKVxuICAgICAgLmpvaW4oJyB8ICcpO1xuICB9XG5cbiAgcmV0dXJuICdhbnknO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0SW1wb3J0cyhcbiAgc3BlYzogSW50ZXJmYWNlVHlwZSxcbiAgaW1wb3J0TG9jYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuKTogTWFwPHN0cmluZywgU2V0PHN0cmluZz4+IHtcbiAgY29uc3QgcmVmcyA9IHNwZWMucHJvcGVydGllcz8uZmxhdE1hcCgocCkgPT4gY29sbGVjdEZRTnMocC50eXBlKSkgfHwgW107XG4gIHJldHVybiByZWZzLnJlZHVjZSgobW9kcywgcmVmKSA9PiB7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBmcW5Ub0ltcG9ydE5hbWUocmVmLCBzcGVjLmZxbiwgaW1wb3J0TG9jYXRpb25zKTtcbiAgICBjb25zdCBpbXBvcnRzID0gbW9kcy5nZXQocGFja2FnZU5hbWUpIHx8IG5ldyBTZXQoKTtcbiAgICBjb25zdCBpbXBvcnROYW1lID0gcmVmLnNwbGl0KCcuJykuc2xpY2UoMSlbMF0gfHwgcmVmO1xuICAgIHJldHVybiBtb2RzLnNldChwYWNrYWdlTmFtZSwgaW1wb3J0cy5hZGQoaW1wb3J0TmFtZSkpO1xuICB9LCBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCkpO1xufVxuXG5mdW5jdGlvbiBmcW5Ub0ltcG9ydE5hbWUoXG4gIGZxbjogc3RyaW5nLFxuICBpbXBvcnRpbmdGcW46IHN0cmluZyxcbiAgaW1wb3J0TG9jYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgbG9jYWxBc3NlbWJseSA9IGltcG9ydGluZ0Zxbi5zcGxpdCgnLicsIDEpWzBdO1xuICBjb25zdCBpbXBvcnRBc3NlbWJseSA9IGZxbi5zcGxpdCgnLicsIDEpWzBdO1xuXG4gIC8vIHdlIGhhdmUgYSBjdXN0b20gaW1wb3J0IHBhdGhcbiAgaWYgKGltcG9ydExvY2F0aW9uc1tpbXBvcnRBc3NlbWJseV0pIHtcbiAgICByZXR1cm4gaW1wb3J0TG9jYXRpb25zW2ltcG9ydEFzc2VtYmx5XTtcbiAgfVxuXG4gIC8vIHRoaXMgaXMgdGhlIHNhbWUgYXNzZW1ibHksIHRyeSB0byBndWVzcyB0aGUgcGF0aCB0byB0aGUgcm9vdFxuICBpZiAoaW1wb3J0QXNzZW1ibHkgPT09IGxvY2FsQXNzZW1ibHkpIHtcbiAgICBjb25zdCBmcW5QYXJ0cyA9IGltcG9ydGluZ0Zxbi5zcGxpdCgnLicpLmxlbmd0aDtcbiAgICBpZiAoZnFuUGFydHMgPD0gMikge1xuICAgICAgcmV0dXJuICcuLyc7XG4gICAgfVxuICAgIHJldHVybiAnLi4vJy5yZXBlYXQoZnFuUGFydHMgLSAyKTtcbiAgfVxuXG4gIC8vIHJlZ3VsYXIgdGhpcmQgcGFydHkgbW9kdWxlXG4gIHJldHVybiBpbXBvcnRBc3NlbWJseTtcbn1cblxuZnVuY3Rpb24gY29sbGVjdEZRTnModDogVHlwZVJlZmVyZW5jZSk6IHN0cmluZ1tdIHtcbiAgaWYgKGlzTmFtZWRUeXBlUmVmZXJlbmNlKHQpKSB7XG4gICAgcmV0dXJuIFt0LmZxbl07XG4gIH1cblxuICBpZiAoaXNVbmlvblR5cGVSZWZlcmVuY2UodCkpIHtcbiAgICByZXR1cm4gdC51bmlvbi50eXBlcy5mbGF0TWFwKGNvbGxlY3RGUU5zKTtcbiAgfVxuXG4gIGlmIChpc0NvbGxlY3Rpb25UeXBlUmVmZXJlbmNlKHQpKSB7XG4gICAgcmV0dXJuIGNvbGxlY3RGUU5zKHQuY29sbGVjdGlvbi5lbGVtZW50dHlwZSk7XG4gIH1cblxuICByZXR1cm4gW107XG59XG4iXX0= |
@@ -68,3 +68,3 @@ { | ||
}, | ||
"version": "0.4.8", | ||
"version": "0.4.9", | ||
"jest": { | ||
@@ -71,0 +71,0 @@ "testMatch": [ |
104999
904