@skyux/docs-tools 9.0.0-alpha.0 → 9.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/modules/type-definitions/type-definitions-format.service.mjs +2 -4
- package/esm2022/modules/type-definitions/type-definitions.service.mjs +9 -8
- package/esm2022/modules/type-definitions/typedoc-adapter.service.mjs +73 -34
- package/esm2022/modules/type-definitions/typedoc-types.mjs +34 -2
- package/fesm2022/skyux-docs-tools.mjs +113 -43
- package/fesm2022/skyux-docs-tools.mjs.map +1 -1
- package/modules/type-definitions/typedoc-types.d.ts +49 -12
- package/package.json +2 -2
|
@@ -175,9 +175,7 @@ export class SkyDocsTypeDefinitionsFormatService {
|
|
|
175
175
|
escapeSpecialCharacters(value) {
|
|
176
176
|
return value.replace(/</g, '<').replace(/>/g, '>');
|
|
177
177
|
}
|
|
178
|
-
getFormattedCallSignature(callSignature, config
|
|
179
|
-
escapeSpecialCharacters: true,
|
|
180
|
-
}) {
|
|
178
|
+
getFormattedCallSignature(callSignature, config) {
|
|
181
179
|
const returnType = this.getFormattedType(callSignature.returnType, config);
|
|
182
180
|
if (!callSignature.parameters) {
|
|
183
181
|
return `() => ${returnType}`;
|
|
@@ -251,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
|
251
249
|
providedIn: 'root',
|
|
252
250
|
}]
|
|
253
251
|
}] });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy1mb3JtYXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLWZvcm1hdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0IzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUM7O09BRUc7SUFDSSxzQkFBc0IsQ0FDM0IsVUFBc0M7UUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxVQUFVLENBQUMsY0FBYyxDQUMxQixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYix1QkFBdUIsRUFBRSxLQUFLO1NBQy9CLENBQUM7UUFFRixJQUFJLFNBQVMsR0FBVyxhQUFhLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUM7UUFDMUUsU0FBUyxJQUFJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxVQUF3QztRQUNqRSxNQUFNLE1BQU0sR0FBRztZQUNiLHVCQUF1QixFQUFFLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDbEQsVUFBVSxDQUFDLElBQUksRUFDZixNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxF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QixLQUFLLFlBQVksR0FBRyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0FyVlUsbUNBQW1DO2tIQUFuQyxtQ0FBbUMsY0FGbEMsTUFBTTs7MkZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uIH0gZnJvbSAnLi9jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0ludGVyZmFjZURlZmluaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0NsYXNzTWV0aG9kRGVmaW5pdGlvbiB9IGZyb20gJy4vbWV0aG9kLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZUFsaWFzRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZS1hbGlhcy1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVEZWZpbml0aW9uIH0gZnJvbSAnLi90eXBlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZVBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2UtcHJvcGVydHktZGVmaW5pdGlvbic7XG5cbmludGVyZmFjZSBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnIHtcbiAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRm9ybWF0cyB0eXBlIGRlZmluaXRpb25zIGludG8gSFRNTC1jb21wYXRpYmxlIHN0cmluZ3MuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzVHlwZURlZmluaXRpb25zRm9ybWF0U2VydmljZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCBpbnRlcmZhY2UgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGdldEludGVyZmFjZVNvdXJjZUNvZGUoXG4gICAgZGVmaW5pdGlvbjogU2t5RG9jc0ludGVyZmFjZURlZmluaXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZVBhcmFtZXRlcnMoXG4gICAgICBkZWZpbml0aW9uLnR5cGVQYXJhbWV0ZXJzXG4gICAgKTtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgfTtcblxuICAgIGxldCBzaWduYXR1cmU6IHN0cmluZyA9IGBpbnRlcmZhY2UgJHtkZWZpbml0aW9uLm5hbWV9JHt0eXBlUGFyYW1ldGVyc30ge2A7XG4gICAgc2lnbmF0dXJlICs9IHRoaXMuZ2V0Rm9ybWF0dGVkSW50ZXJmYWNlUHJvcGVydGllcyhkZWZpbml0aW9uLCBjb25maWcpO1xuICAgIHNpZ25hdHVyZSArPSAnXFxufSc7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHByb3ZpZGVkIG1ldGhvZCBjb25maWcuXG4gICAqL1xuICBwdWJsaWMgZ2V0TWV0aG9kU291cmNlQ29kZShkZWZpbml0aW9uOiBTa3lEb2NzQ2xhc3NNZXRob2REZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbnN0IHR5cGVBcmd1bWVudHMgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGVBcmd1bWVudHMoXG4gICAgICBkZWZpbml0aW9uLnR5cGUsXG4gICAgICBjb25maWdcbiAgICApO1xuICAgIGNvbnN0IGNhbGxTaWduYXR1cmUgPSBkZWZpbml0aW9uLnR5cGUuY2FsbFNpZ25hdHVyZTtcbiAgICBjb25zdCByZXR1cm5UeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKGNhbGxTaWduYXR1cmUucmV0dXJuVHlwZSwgY29uZmlnKTtcblxuICAgIGxldCBwYXJhbXM6IHN0cmluZyA9ICcnO1xuICAgIGlmIChjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnMpIHtcbiAgICAgIHBhcmFtcyArPSBjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnNcbiAgICAgICAgLm1hcCgocCkgPT4gdGhpcy5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJOYW1lKHAsIGNvbmZpZykpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIHJldHVybiBgcHVibGljICR7ZGVmaW5pdGlvbi5pc1N0YXRpYyA/ICdzdGF0aWMgJyA6ICcnfSR7XG4gICAgICBkZWZpbml0aW9uLm5hbWVcbiAgICB9JHt0eXBlQXJndW1lbnRzfSgke3BhcmFtc30pOiAke3JldHVyblR5cGV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCB0eXBlIGFsaWFzIGNvbmZpZy5cbiAgICovXG4gIHB1YmxpYyBnZXRUeXBlQWxpYXNTb3VyY2VDb2RlKFxuICAgIGRlZmluaXRpb246IFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZVBhcmFtZXRlcnMoXG4gICAgICBkZWZpbml0aW9uLnR5cGVQYXJhbWV0ZXJzXG4gICAgKTtcblxuICAgIGxldCBzaWduYXR1cmUgPSBgdHlwZSAke2RlZmluaXRpb24ubmFtZX0ke3R5cGVQYXJhbWV0ZXJzfSA9IGA7XG5cbiAgICBpZiAoZGVmaW5pdGlvbi50eXBlLmNhbGxTaWduYXR1cmUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSB0aGlzLmdldEZvcm1hdHRlZENhbGxTaWduYXR1cmUoXG4gICAgICAgIGRlZmluaXRpb24udHlwZS5jYWxsU2lnbmF0dXJlLFxuICAgICAgICB7XG4gICAgICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoZGVmaW5pdGlvbi50eXBlLmluZGV4U2lnbmF0dXJlKSB7XG4gICAgICBjb25zdCBpbmRleFNpZ25hdHVyZSA9IGRlZmluaXRpb24udHlwZS5pbmRleFNpZ25hdHVyZTtcbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUoaW5kZXhTaWduYXR1cmUudHlwZSwge1xuICAgICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIHNpZ25hdHVyZSArPSBge1xcbiAgWyR7aW5kZXhTaWduYXR1cmUua2V5Lm5hbWV9OiBzdHJpbmddOiAke3R5cGV9O1xcbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZGVmaW5pdGlvbi50eXBlLnR5cGUgPT09ICd1bmlvbicpIHtcbiAgICAgICAgc2lnbmF0dXJlICs9IHRoaXMuZ2V0Rm9ybWF0dGVkVW5pb24oZGVmaW5pdGlvbi50eXBlLCBjb25maWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgcGFyYW1ldGVyJ3MgbmFtZSBhbmQgdmFsdWUuIEZvciBleGFtcGxlOiBgJ2Zvbzogc3RyaW5nJ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUGFyYW1ldGVyTmFtZShcbiAgICBwYXJhbWV0ZXI6IFNreURvY3NQYXJhbWV0ZXJEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiB0cnVlLFxuICAgIH1cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25hbE1hcmtlciA9IHBhcmFtZXRlci5pc09wdGlvbmFsID8gJz8nIDogJyc7XG4gICAgY29uc3QgcGFyYW1ldGVyVHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwYXJhbWV0ZXIudHlwZSwgY29uZmlnKTtcblxuICAgIGxldCBzaWduYXR1cmUgPSBgJHtwYXJhbWV0ZXIubmFtZX0ke29wdGlvbmFsTWFya2VyfTogJHtwYXJhbWV0ZXJUeXBlfWA7XG4gICAgaWYgKGNvbmZpZy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycykge1xuICAgICAgc2lnbmF0dXJlID0gdGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhzaWduYXR1cmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgcHJvcGVydHkgKG9yIG1ldGhvZCdzKSBuYW1lIGFuZCB2YWx1ZS4gRm9yIGV4YW1wbGU6IGAncHVibGljIGZvbzogc3RyaW5nJ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUHJvcGVydHlOYW1lKFxuICAgIHByb3BlcnR5OiBTa3lEb2NzQ2xhc3NQcm9wZXJ0eURlZmluaXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgc2lnbmF0dXJlID0gJyc7XG5cbiAgICBpZiAocHJvcGVydHkuZGVjb3JhdG9yPy5uYW1lKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYEAke3Byb3BlcnR5LmRlY29yYXRvci5uYW1lfSgpPGJyPmA7XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBwcm9wZXJ0eS50eXBlPy5pbmRleFNpZ25hdHVyZTtcbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgIGlmIChpbmRleFNpZ25hdHVyZSkge1xuICAgICAgbmFtZSA9IGBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06ICR7dGhpcy5nZXRGb3JtYXR0ZWRUeXBlKFxuICAgICAgICBpbmRleFNpZ25hdHVyZS5rZXkudHlwZVxuICAgICAgKX1dYDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IHByb3BlcnR5Lm5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5LmRlcHJlY2F0aW9uV2FybmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYDxzdHJpa2U+JHtuYW1lfTwvc3RyaWtlPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpZ25hdHVyZSArPSBuYW1lO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BlcnR5LmRlY29yYXRvcj8ubmFtZSAhPT0gJ091dHB1dCcgJiZcbiAgICAgIHByb3BlcnR5LmlzT3B0aW9uYWwgJiZcbiAgICAgICFpbmRleFNpZ25hdHVyZVxuICAgICkge1xuICAgICAgc2lnbmF0dXJlICs9ICc/JztcbiAgICB9XG5cbiAgICBpZiAoaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSBgOiAke3RoaXMuZ2V0Rm9ybWF0dGVkVHlwZShpbmRleFNpZ25hdHVyZS50eXBlKX1gO1xuICAgIH0gZWxzZSBpZiAocHJvcGVydHkudHlwZSkge1xuICAgICAgc2lnbmF0dXJlICs9IGA6ICR7dGhpcy5nZXRGb3JtYXR0ZWRUeXBlKHByb3BlcnR5LnR5cGUpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIG1ldGhvZCBuYW1lIHRvIGJlIHVzZWQgb24gdGhlIHByb3BlcnRpZXMgdGFibGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkTWV0aG9kTmFtZShcbiAgICBkZWZpbml0aW9uOiBTa3lEb2NzQ2xhc3NNZXRob2REZWZpbml0aW9uXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGZvcm1hdHRlZCA9ICcnO1xuXG4gICAgaWYgKGRlZmluaXRpb24uaXNTdGF0aWMpIHtcbiAgICAgIGZvcm1hdHRlZCArPSBgJHtkZWZpbml0aW9uLnBhcmVudE5hbWV9LmA7XG4gICAgfVxuXG4gICAgaWYgKGRlZmluaXRpb24uZGVwcmVjYXRpb25XYXJuaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvcm1hdHRlZCA9IGA8c3RyaWtlPiR7Zm9ybWF0dGVkfSR7ZGVmaW5pdGlvbi5uYW1lfTwvc3RyaWtlPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdHRlZCArPSBkZWZpbml0aW9uLm5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2Zvcm1hdHRlZH0oKWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwcm92aWRlZCB0eXBlLlxuICAgKi9cbiAgcHVibGljIGdldEZvcm1hdHRlZFR5cGUoXG4gICAgdHlwZTogU2t5RG9jc1R5cGVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiB0cnVlLFxuICAgIH1cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgZm9ybWF0dGVkID0gJ2FueSc7XG5cbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUuY2FsbFNpZ25hdHVyZSkge1xuICAgICAgbGV0IGZvcm1hdHRlZFNpZ25hdHVyZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkQ2FsbFNpZ25hdHVyZShcbiAgICAgICAgdHlwZS5jYWxsU2lnbmF0dXJlLFxuICAgICAgICBjb25maWdcbiAgICAgICk7XG5cbiAgICAgIGlmICh0eXBlLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgZm9ybWF0dGVkU2lnbmF0dXJlID0gYCgke2Zvcm1hdHRlZFNpZ25hdHVyZX0pW11gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFNpZ25hdHVyZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS51bmlvblR5cGVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbih0eXBlLCBjb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLm5hbWUgIT09IG51bGwgJiYgdHlwZS5uYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvcm1hdHRlZCA9IGAke3R5cGUubmFtZX1gO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGVBcmd1bWVudHMpIHtcbiAgICAgIGZvcm1hdHRlZCArPSB0aGlzLmdldEZvcm1hdHRlZFR5cGVBcmd1bWVudHModHlwZSwgY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICBmb3JtYXR0ZWQgKz0gJ1tdJztcbiAgICB9XG5cbiAgICBpZiAodHlwZS50eXBlID09PSAnbGl0ZXJhbCcgJiYgdHlwZW9mIHR5cGUubmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGZvcm1hdHRlZCA9IGAnJHtmb3JtYXR0ZWR9J2A7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudHlwZUxpdGVyYWwpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFR5cGVMaXRlcmFsID0gdGhpcy5nZXRGb3JtYXR0ZWRJbnRlcmZhY2VQcm9wZXJ0aWVzKFxuICAgICAgICB0eXBlLnR5cGVMaXRlcmFsLFxuICAgICAgICBjb25maWdcbiAgICAgIClcbiAgICAgICAgLnJlcGxhY2UoL1xcbi9nLCAnICcpXG4gICAgICAgIC5yZXBsYWNlKC9cXHNcXHMrL2csICcgJyk7XG4gICAgICBmb3JtYXR0ZWQgPSBgeyR7Zm9ybWF0dGVkVHlwZUxpdGVyYWx9IH1gO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKGZvcm1hdHRlZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgfVxuXG4gIHB1YmxpYyBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoLz4vZywgJyZndDsnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkQ2FsbFNpZ25hdHVyZShcbiAgICBjYWxsU2lnbmF0dXJlOiBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IHRydWUsXG4gICAgfVxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IHJldHVyblR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUoY2FsbFNpZ25hdHVyZS5yZXR1cm5UeXBlLCBjb25maWcpO1xuXG4gICAgaWYgKCFjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnMpIHtcbiAgICAgIHJldHVybiBgKCkgPT4gJHtyZXR1cm5UeXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVkUGFyYW1zID0gY2FsbFNpZ25hdHVyZS5wYXJhbWV0ZXJzXG4gICAgICAubWFwKChwKSA9PiB0aGlzLmdldEZvcm1hdHRlZFBhcmFtZXRlck5hbWUocCwgY29uZmlnKSlcbiAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgcmV0dXJuIGAoJHtmb3JtYXR0ZWRQYXJhbXN9KSA9PiAke3JldHVyblR5cGV9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkVW5pb24oXG4gICAgdHlwZUNvbmZpZzogU2t5RG9jc1R5cGVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZ1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlQ29uZmlnLnVuaW9uVHlwZXNcbiAgICAgIC5tYXAoKHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZSh0LCBjb25maWcpO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgfCAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhbnkgdHlwZSBhcmd1bWVudHMgZS5nLiBgPFQsIEY+YC5cbiAgICovXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkVHlwZUFyZ3VtZW50cyhcbiAgICB0eXBlQ29uZmlnOiBTa3lEb2NzVHlwZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF0eXBlQ29uZmlnLnR5cGVBcmd1bWVudHMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlQXJndW1lbnRzID0gdHlwZUNvbmZpZy50eXBlQXJndW1lbnRzLm1hcCgodHlwZUFyZ3VtZW50KSA9PiB7XG4gICAgICBpZiAodHlwZUFyZ3VtZW50LnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgcmV0dXJuIGAke3R5cGVBcmd1bWVudC5uYW1lfVtdYDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVBcmd1bWVudC51bmlvblR5cGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFVuaW9uKHR5cGVBcmd1bWVudCwgY29uZmlnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGVBcmd1bWVudC5uYW1lO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGA8JHt0eXBlQXJndW1lbnRzLmpvaW4oJywgJyl9PmA7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZFR5cGVQYXJhbWV0ZXJzKFxuICAgIHR5cGVQYXJhbWV0ZXJzOiBTa3lEb2NzVHlwZVBhcmFtZXRlckRlZmluaXRpb25bXVxuICApOiBzdHJpbmcge1xuICAgIGlmICghdHlwZVBhcmFtZXRlcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtYXR0ZWQgPSB0eXBlUGFyYW1ldGVycy5tYXAoKHR5cGVQYXJhbWV0ZXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSB0eXBlUGFyYW1ldGVyLm5hbWU7XG4gICAgICBpZiAodHlwZVBhcmFtZXRlci50eXBlICYmIHR5cGVQYXJhbWV0ZXIudHlwZS50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICByZXN1bHQgKz0gYCBleHRlbmRzICR7dHlwZVBhcmFtZXRlci50eXBlLm5hbWV9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIHJldHVybiBgPCR7Zm9ybWF0dGVkLmpvaW4oJywgJyl9PmA7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZEludGVyZmFjZVByb3BlcnRpZXMoXG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgcHJvcGVydGllcz86IFNreURvY3NJbnRlcmZhY2VQcm9wZXJ0eURlZmluaXRpb25bXTtcbiAgICB9LFxuICAgIGNvbmZpZz86IEdldEZvcm1hdHRlZFR5cGVDb25maWdcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgc2lnbmF0dXJlOiBzdHJpbmcgPSAnJztcblxuICAgIGRlZmluaXRpb24ucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBwcm9wZXJ0eS50eXBlLmluZGV4U2lnbmF0dXJlO1xuICAgICAgY29uc3Qgb3B0aW9uYWxJbmRpY2F0b3IgPVxuICAgICAgICBwcm9wZXJ0eS5pc09wdGlvbmFsICYmICFpbmRleFNpZ25hdHVyZSA/ICc/JyA6ICcnO1xuICAgICAgY29uc3QgcHJvcGVydHlUeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKHByb3BlcnR5LnR5cGUsIGNvbmZpZyk7XG5cbiAgICAgIGxldCBuYW1lOiBzdHJpbmc7XG4gICAgICBpZiAoaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgICAgbmFtZSA9IGBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06IHN0cmluZ11gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmFtZSA9IHByb3BlcnR5Lm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHNpZ25hdHVyZSArPSBgXFxuICAke25hbWV9JHtvcHRpb25hbEluZGljYXRvcn06ICR7cHJvcGVydHlUeXBlfTtgO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxufVxuIl19
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy1mb3JtYXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLWZvcm1hdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0IzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUM7O09BRUc7SUFDSSxzQkFBc0IsQ0FDM0IsVUFBc0M7UUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxVQUFVLENBQUMsY0FBYyxDQUMxQixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYix1QkFBdUIsRUFBRSxLQUFLO1NBQy9CLENBQUM7UUFFRixJQUFJLFNBQVMsR0FBVyxhQUFhLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUM7UUFDMUUsU0FBUyxJQUFJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxVQUF3QztRQUNqRSxNQUFNLE1BQU0sR0FBRztZQUNiLHVCQUF1QixFQUFFLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDbEQsVUFBVSxDQUFDLElBQUksRUFDZixNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxF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Q0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzhHQW5WVSxtQ0FBbUM7a0hBQW5DLG1DQUFtQyxjQUZsQyxNQUFNOzsyRkFFUCxtQ0FBbUM7a0JBSC9DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb24gfSBmcm9tICcuL2NhbGwtc2lnbmF0dXJlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2xhc3NQcm9wZXJ0eURlZmluaXRpb24gfSBmcm9tICcuL3Byb3BlcnR5LWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzSW50ZXJmYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2xhc3NNZXRob2REZWZpbml0aW9uIH0gZnJvbSAnLi9tZXRob2QtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uIH0gZnJvbSAnLi90eXBlLWFsaWFzLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZURlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZS1wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NJbnRlcmZhY2VQcm9wZXJ0eURlZmluaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZS1wcm9wZXJ0eS1kZWZpbml0aW9uJztcblxuaW50ZXJmYWNlIEdldEZvcm1hdHRlZFR5cGVDb25maWcge1xuICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGb3JtYXRzIHR5cGUgZGVmaW5pdGlvbnMgaW50byBIVE1MLWNvbXBhdGlibGUgc3RyaW5ncy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NUeXBlRGVmaW5pdGlvbnNGb3JtYXRTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHByb3ZpZGVkIGludGVyZmFjZSBjb25maWcuXG4gICAqL1xuICBwdWJsaWMgZ2V0SW50ZXJmYWNlU291cmNlQ29kZShcbiAgICBkZWZpbml0aW9uOiBTa3lEb2NzSW50ZXJmYWNlRGVmaW5pdGlvblxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVQYXJhbWV0ZXJzID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlUGFyYW1ldGVycyhcbiAgICAgIGRlZmluaXRpb24udHlwZVBhcmFtZXRlcnNcbiAgICApO1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgbGV0IHNpZ25hdHVyZTogc3RyaW5nID0gYGludGVyZmFjZSAke2RlZmluaXRpb24ubmFtZX0ke3R5cGVQYXJhbWV0ZXJzfSB7YDtcbiAgICBzaWduYXR1cmUgKz0gdGhpcy5nZXRGb3JtYXR0ZWRJbnRlcmZhY2VQcm9wZXJ0aWVzKGRlZmluaXRpb24sIGNvbmZpZyk7XG4gICAgc2lnbmF0dXJlICs9ICdcXG59JztcblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBIVE1MLWZvcm1hdHRlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHJvdmlkZWQgbWV0aG9kIGNvbmZpZy5cbiAgICovXG4gIHB1YmxpYyBnZXRNZXRob2RTb3VyY2VDb2RlKGRlZmluaXRpb246IFNreURvY3NDbGFzc01ldGhvZERlZmluaXRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgY29uc3QgdHlwZUFyZ3VtZW50cyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZUFyZ3VtZW50cyhcbiAgICAgIGRlZmluaXRpb24udHlwZSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgY29uc3QgY2FsbFNpZ25hdHVyZSA9IGRlZmluaXRpb24udHlwZS5jYWxsU2lnbmF0dXJlO1xuICAgIGNvbnN0IHJldHVyblR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUoY2FsbFNpZ25hdHVyZS5yZXR1cm5UeXBlLCBjb25maWcpO1xuXG4gICAgbGV0IHBhcmFtczogc3RyaW5nID0gJyc7XG4gICAgaWYgKGNhbGxTaWduYXR1cmUucGFyYW1ldGVycykge1xuICAgICAgcGFyYW1zICs9IGNhbGxTaWduYXR1cmUucGFyYW1ldGVyc1xuICAgICAgICAubWFwKChwKSA9PiB0aGlzLmdldEZvcm1hdHRlZFBhcmFtZXRlck5hbWUocCwgY29uZmlnKSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBwdWJsaWMgJHtkZWZpbml0aW9uLmlzU3RhdGljID8gJ3N0YXRpYyAnIDogJyd9JHtcbiAgICAgIGRlZmluaXRpb24ubmFtZVxuICAgIH0ke3R5cGVBcmd1bWVudHN9KCR7cGFyYW1zfSk6ICR7cmV0dXJuVHlwZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHByb3ZpZGVkIHR5cGUgYWxpYXMgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGdldFR5cGVBbGlhc1NvdXJjZUNvZGUoXG4gICAgZGVmaW5pdGlvbjogU2t5RG9jc1R5cGVBbGlhc0RlZmluaXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbnN0IHR5cGVQYXJhbWV0ZXJzID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlUGFyYW1ldGVycyhcbiAgICAgIGRlZmluaXRpb24udHlwZVBhcmFtZXRlcnNcbiAgICApO1xuXG4gICAgbGV0IHNpZ25hdHVyZSA9IGB0eXBlICR7ZGVmaW5pdGlvbi5uYW1lfSR7dHlwZVBhcmFtZXRlcnN9ID0gYDtcblxuICAgIGlmIChkZWZpbml0aW9uLnR5cGUuY2FsbFNpZ25hdHVyZSkge1xuICAgICAgc2lnbmF0dXJlICs9IHRoaXMuZ2V0Rm9ybWF0dGVkQ2FsbFNpZ25hdHVyZShcbiAgICAgICAgZGVmaW5pdGlvbi50eXBlLmNhbGxTaWduYXR1cmUsXG4gICAgICAgIHtcbiAgICAgICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChkZWZpbml0aW9uLnR5cGUuaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgIGNvbnN0IGluZGV4U2lnbmF0dXJlID0gZGVmaW5pdGlvbi50eXBlLmluZGV4U2lnbmF0dXJlO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShpbmRleFNpZ25hdHVyZS50eXBlLCB7XG4gICAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgc2lnbmF0dXJlICs9IGB7XFxuICBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06IHN0cmluZ106ICR7dHlwZX07XFxufWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChkZWZpbml0aW9uLnR5cGUudHlwZSA9PT0gJ3VuaW9uJykge1xuICAgICAgICBzaWduYXR1cmUgKz0gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbihkZWZpbml0aW9uLnR5cGUsIGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZm9ybWF0dGVkIHN0cmluZyByZXByZXNlbnRpbmcgYSBwYXJhbWV0ZXIncyBuYW1lIGFuZCB2YWx1ZS4gRm9yIGV4YW1wbGU6IGAnZm9vOiBzdHJpbmcnYC5cbiAgICovXG4gIHB1YmxpYyBnZXRGb3JtYXR0ZWRQYXJhbWV0ZXJOYW1lKFxuICAgIHBhcmFtZXRlcjogU2t5RG9jc1BhcmFtZXRlckRlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IHRydWUsXG4gICAgfVxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbmFsTWFya2VyID0gcGFyYW1ldGVyLmlzT3B0aW9uYWwgPyAnPycgOiAnJztcbiAgICBjb25zdCBwYXJhbWV0ZXJUeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKHBhcmFtZXRlci50eXBlLCBjb25maWcpO1xuXG4gICAgbGV0IHNpZ25hdHVyZSA9IGAke3BhcmFtZXRlci5uYW1lfSR7b3B0aW9uYWxNYXJrZXJ9OiAke3BhcmFtZXRlclR5cGV9YDtcbiAgICBpZiAoY29uZmlnLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKSB7XG4gICAgICBzaWduYXR1cmUgPSB0aGlzLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKHNpZ25hdHVyZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZm9ybWF0dGVkIHN0cmluZyByZXByZXNlbnRpbmcgYSBwcm9wZXJ0eSAob3IgbWV0aG9kJ3MpIG5hbWUgYW5kIHZhbHVlLiBGb3IgZXhhbXBsZTogYCdwdWJsaWMgZm9vOiBzdHJpbmcnYC5cbiAgICovXG4gIHB1YmxpYyBnZXRGb3JtYXR0ZWRQcm9wZXJ0eU5hbWUoXG4gICAgcHJvcGVydHk6IFNreURvY3NDbGFzc1Byb3BlcnR5RGVmaW5pdGlvblxuICApOiBzdHJpbmcge1xuICAgIGxldCBzaWduYXR1cmUgPSAnJztcblxuICAgIGlmIChwcm9wZXJ0eS5kZWNvcmF0b3I/Lm5hbWUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSBgQCR7cHJvcGVydHkuZGVjb3JhdG9yLm5hbWV9KCk8YnI+YDtcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleFNpZ25hdHVyZSA9IHByb3BlcnR5LnR5cGU/LmluZGV4U2lnbmF0dXJlO1xuICAgIGxldCBuYW1lOiBzdHJpbmc7XG4gICAgaWYgKGluZGV4U2lnbmF0dXJlKSB7XG4gICAgICBuYW1lID0gYFske2luZGV4U2lnbmF0dXJlLmtleS5uYW1lfTogJHt0aGlzLmdldEZvcm1hdHRlZFR5cGUoXG4gICAgICAgIGluZGV4U2lnbmF0dXJlLmtleS50eXBlXG4gICAgICApfV1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gcHJvcGVydHkubmFtZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHkuZGVwcmVjYXRpb25XYXJuaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHNpZ25hdHVyZSArPSBgPHN0cmlrZT4ke25hbWV9PC9zdHJpa2U+YDtcbiAgICB9IGVsc2Uge1xuICAgICAgc2lnbmF0dXJlICs9IG5hbWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcGVydHkuZGVjb3JhdG9yPy5uYW1lICE9PSAnT3V0cHV0JyAmJlxuICAgICAgcHJvcGVydHkuaXNPcHRpb25hbCAmJlxuICAgICAgIWluZGV4U2lnbmF0dXJlXG4gICAgKSB7XG4gICAgICBzaWduYXR1cmUgKz0gJz8nO1xuICAgIH1cblxuICAgIGlmIChpbmRleFNpZ25hdHVyZSkge1xuICAgICAgc2lnbmF0dXJlICs9IGA6ICR7dGhpcy5nZXRGb3JtYXR0ZWRUeXBlKGluZGV4U2lnbmF0dXJlLnR5cGUpfWA7XG4gICAgfSBlbHNlIGlmIChwcm9wZXJ0eS50eXBlKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYDogJHt0aGlzLmdldEZvcm1hdHRlZFR5cGUocHJvcGVydHkudHlwZSl9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgbWV0aG9kIG5hbWUgdG8gYmUgdXNlZCBvbiB0aGUgcHJvcGVydGllcyB0YWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXRGb3JtYXR0ZWRNZXRob2ROYW1lKFxuICAgIGRlZmluaXRpb246IFNreURvY3NDbGFzc01ldGhvZERlZmluaXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgZm9ybWF0dGVkID0gJyc7XG5cbiAgICBpZiAoZGVmaW5pdGlvbi5pc1N0YXRpYykge1xuICAgICAgZm9ybWF0dGVkICs9IGAke2RlZmluaXRpb24ucGFyZW50TmFtZX0uYDtcbiAgICB9XG5cbiAgICBpZiAoZGVmaW5pdGlvbi5kZXByZWNhdGlvbldhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9ybWF0dGVkID0gYDxzdHJpa2U+JHtmb3JtYXR0ZWR9JHtkZWZpbml0aW9uLm5hbWV9PC9zdHJpa2U+YDtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0dGVkICs9IGRlZmluaXRpb24ubmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7Zm9ybWF0dGVkfSgpYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZm9ybWF0dGVkIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHByb3ZpZGVkIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkVHlwZShcbiAgICB0eXBlOiBTa3lEb2NzVHlwZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IHRydWUsXG4gICAgfVxuICApOiBzdHJpbmcge1xuICAgIGxldCBmb3JtYXR0ZWQgPSAnYW55JztcblxuICAgIGlmICghdHlwZSkge1xuICAgICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZS5jYWxsU2lnbmF0dXJlKSB7XG4gICAgICBsZXQgZm9ybWF0dGVkU2lnbmF0dXJlID0gdGhpcy5nZXRGb3JtYXR0ZWRDYWxsU2lnbmF0dXJlKFxuICAgICAgICB0eXBlLmNhbGxTaWduYXR1cmUsXG4gICAgICAgIGNvbmZpZ1xuICAgICAgKTtcblxuICAgICAgaWYgKHR5cGUudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICBmb3JtYXR0ZWRTaWduYXR1cmUgPSBgKCR7Zm9ybWF0dGVkU2lnbmF0dXJlfSlbXWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm9ybWF0dGVkU2lnbmF0dXJlO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnVuaW9uVHlwZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFVuaW9uKHR5cGUsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUubmFtZSAhPT0gbnVsbCAmJiB0eXBlLm5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9ybWF0dGVkID0gYCR7dHlwZS5uYW1lfWA7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudHlwZUFyZ3VtZW50cykge1xuICAgICAgZm9ybWF0dGVkICs9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZUFyZ3VtZW50cyh0eXBlLCBjb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIGZvcm1hdHRlZCArPSAnW10nO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGUgPT09ICdsaXRlcmFsJyAmJiB0eXBlb2YgdHlwZS5uYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgZm9ybWF0dGVkID0gYCcke2Zvcm1hdHRlZH0nYDtcbiAgICB9XG5cbiAgICBpZiAodHlwZS50eXBlTGl0ZXJhbCkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkVHlwZUxpdGVyYWwgPSB0aGlzLmdldEZvcm1hdHRlZEludGVyZmFjZVByb3BlcnRpZXMoXG4gICAgICAgIHR5cGUudHlwZUxpdGVyYWwsXG4gICAgICAgIGNvbmZpZ1xuICAgICAgKVxuICAgICAgICAucmVwbGFjZSgvXFxuL2csICcgJylcbiAgICAgICAgLnJlcGxhY2UoL1xcc1xccysvZywgJyAnKTtcbiAgICAgIGZvcm1hdHRlZCA9IGB7JHtmb3JtYXR0ZWRUeXBlTGl0ZXJhbH0gfWA7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycykge1xuICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMoZm9ybWF0dGVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkO1xuICB9XG5cbiAgcHVibGljIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRDYWxsU2lnbmF0dXJlKFxuICAgIGNhbGxTaWduYXR1cmU6IFNreURvY3NDYWxsU2lnbmF0dXJlRGVmaW5pdGlvbixcbiAgICBjb25maWc6IEdldEZvcm1hdHRlZFR5cGVDb25maWdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXR1cm5UeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKGNhbGxTaWduYXR1cmUucmV0dXJuVHlwZSwgY29uZmlnKTtcblxuICAgIGlmICghY2FsbFNpZ25hdHVyZS5wYXJhbWV0ZXJzKSB7XG4gICAgICByZXR1cm4gYCgpID0+ICR7cmV0dXJuVHlwZX1gO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBhcmFtcyA9IGNhbGxTaWduYXR1cmUucGFyYW1ldGVyc1xuICAgICAgLm1hcCgocCkgPT4gdGhpcy5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJOYW1lKHAsIGNvbmZpZykpXG4gICAgICAuam9pbignLCAnKTtcblxuICAgIHJldHVybiBgKCR7Zm9ybWF0dGVkUGFyYW1zfSkgPT4gJHtyZXR1cm5UeXBlfWA7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZFVuaW9uKFxuICAgIHR5cGVDb25maWc6IFNreURvY3NUeXBlRGVmaW5pdGlvbixcbiAgICBjb25maWc6IEdldEZvcm1hdHRlZFR5cGVDb25maWdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZUNvbmZpZy51bmlvblR5cGVzXG4gICAgICAubWFwKCh0KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFR5cGUodCwgY29uZmlnKTtcbiAgICAgIH0pXG4gICAgICAuam9pbignIHwgJyk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgYW55IHR5cGUgYXJndW1lbnRzIGUuZy4gYDxULCBGPmAuXG4gICAqL1xuICBwcml2YXRlIGdldEZvcm1hdHRlZFR5cGVBcmd1bWVudHMoXG4gICAgdHlwZUNvbmZpZzogU2t5RG9jc1R5cGVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICghdHlwZUNvbmZpZy50eXBlQXJndW1lbnRzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdHlwZUFyZ3VtZW50cyA9IHR5cGVDb25maWcudHlwZUFyZ3VtZW50cy5tYXAoKHR5cGVBcmd1bWVudCkgPT4ge1xuICAgICAgaWYgKHR5cGVBcmd1bWVudC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIHJldHVybiBgJHt0eXBlQXJndW1lbnQubmFtZX1bXWA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlQXJndW1lbnQudW5pb25UeXBlcykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbih0eXBlQXJndW1lbnQsIGNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0eXBlQXJndW1lbnQubmFtZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBgPCR7dHlwZUFyZ3VtZW50cy5qb2luKCcsICcpfT5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRUeXBlUGFyYW1ldGVycyhcbiAgICB0eXBlUGFyYW1ldGVyczogU2t5RG9jc1R5cGVQYXJhbWV0ZXJEZWZpbml0aW9uW11cbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXR5cGVQYXJhbWV0ZXJzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gdHlwZVBhcmFtZXRlcnMubWFwKCh0eXBlUGFyYW1ldGVyKSA9PiB7XG4gICAgICBsZXQgcmVzdWx0ID0gdHlwZVBhcmFtZXRlci5uYW1lO1xuICAgICAgaWYgKHR5cGVQYXJhbWV0ZXIudHlwZSAmJiB0eXBlUGFyYW1ldGVyLnR5cGUudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgcmVzdWx0ICs9IGAgZXh0ZW5kcyAke3R5cGVQYXJhbWV0ZXIudHlwZS5uYW1lfWA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYDwke2Zvcm1hdHRlZC5qb2luKCcsICcpfT5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRJbnRlcmZhY2VQcm9wZXJ0aWVzKFxuICAgIGRlZmluaXRpb246IHtcbiAgICAgIHByb3BlcnRpZXM/OiBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uW107XG4gICAgfSxcbiAgICBjb25maWc/OiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IHNpZ25hdHVyZTogc3RyaW5nID0gJyc7XG5cbiAgICBkZWZpbml0aW9uLnByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4U2lnbmF0dXJlID0gcHJvcGVydHkudHlwZS5pbmRleFNpZ25hdHVyZTtcbiAgICAgIGNvbnN0IG9wdGlvbmFsSW5kaWNhdG9yID1cbiAgICAgICAgcHJvcGVydHkuaXNPcHRpb25hbCAmJiAhaW5kZXhTaWduYXR1cmUgPyAnPycgOiAnJztcbiAgICAgIGNvbnN0IHByb3BlcnR5VHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwcm9wZXJ0eS50eXBlLCBjb25maWcpO1xuXG4gICAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgICAgaWYgKGluZGV4U2lnbmF0dXJlKSB7XG4gICAgICAgIG5hbWUgPSBgWyR7aW5kZXhTaWduYXR1cmUua2V5Lm5hbWV9OiBzdHJpbmddYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hbWUgPSBwcm9wZXJ0eS5uYW1lO1xuICAgICAgfVxuXG4gICAgICBzaWduYXR1cmUgKz0gYFxcbiAgJHtuYW1lfSR7b3B0aW9uYWxJbmRpY2F0b3J9OiAke3Byb3BlcnR5VHlwZX07YDtcbiAgICB9KTtcblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TypeDocKind } from './typedoc-types';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "./type-definitions-provider";
|
|
4
5
|
import * as i2 from "./typedoc-adapter.service";
|
|
@@ -52,8 +53,8 @@ export class SkyDocsTypeDefinitionsService {
|
|
|
52
53
|
console.warn(`Type definitions were not found for location: ${requestedDir}`);
|
|
53
54
|
}
|
|
54
55
|
typeDefinitions.forEach((item) => {
|
|
55
|
-
const decorator = item.decorators && item.decorators[0]
|
|
56
|
-
const
|
|
56
|
+
const decorator = item.decorators && item.decorators[0]?.name;
|
|
57
|
+
const kind = item.kind;
|
|
57
58
|
switch (decorator) {
|
|
58
59
|
case 'Component':
|
|
59
60
|
types.components.push(this.adapter.toDirectiveDefinition(item));
|
|
@@ -72,17 +73,17 @@ export class SkyDocsTypeDefinitionsService {
|
|
|
72
73
|
break;
|
|
73
74
|
default:
|
|
74
75
|
/*tslint:disable-next-line:switch-default*/
|
|
75
|
-
switch (
|
|
76
|
-
case
|
|
76
|
+
switch (kind) {
|
|
77
|
+
case TypeDocKind.Class:
|
|
77
78
|
types.classes.push(this.adapter.toClassDefinition(item));
|
|
78
79
|
break;
|
|
79
|
-
case
|
|
80
|
+
case TypeDocKind.Interface:
|
|
80
81
|
types.interfaces.push(this.adapter.toInterfaceDefinition(item));
|
|
81
82
|
break;
|
|
82
|
-
case
|
|
83
|
+
case TypeDocKind.Enum:
|
|
83
84
|
types.enumerations.push(this.adapter.toEnumerationDefinition(item));
|
|
84
85
|
break;
|
|
85
|
-
case
|
|
86
|
+
case TypeDocKind.TypeAlias:
|
|
86
87
|
types.typeAliases.push(this.adapter.toTypeAliasDefinition(item));
|
|
87
88
|
break;
|
|
88
89
|
}
|
|
@@ -100,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
|
100
101
|
providedIn: 'any',
|
|
101
102
|
}]
|
|
102
103
|
}], ctorParameters: function () { return [{ type: i1.SkyDocsTypeDefinitionsProvider }, { type: i2.SkyDocsTypeDocAdapterService }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy90eXBlLWRlZmluaXRpb25zL3R5cGUtZGVmaW5pdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUU5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDVSx1QkFBdUQsRUFDdkQsT0FBcUM7UUFEckMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFnQztRQUN2RCxZQUFPLEdBQVAsT0FBTyxDQUE4QjtJQUM1QyxDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUN2QixjQUFzQixFQUN0Qix5QkFBb0M7UUFFcEMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxNQUFNLGVBQWUsR0FDbkIseUJBQXlCLElBQUkseUJBQXlCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hELE1BQU0sSUFBSSxLQUFLLENBQ2IsaUVBQWlFLENBQ2xFLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFD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SUFBSTtnQ0FDbkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQzNDLENBQUM7Z0NBQ0YsTUFBTTs0QkFDUixLQUFLLFdBQVcsQ0FBQyxTQUFTO2dDQUN4QixLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FDekMsQ0FBQztnQ0FDRixNQUFNO3lCQUNUO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0E3R1UsNkJBQTZCO2tIQUE3Qiw2QkFBNkIsY0FGNUIsS0FBSzs7MkZBRU4sNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVEZWZpbml0aW9ucyB9IGZyb20gJy4vdHlwZS1kZWZpbml0aW9ucyc7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlRGVmaW5pdGlvbnNQcm92aWRlciB9IGZyb20gJy4vdHlwZS1kZWZpbml0aW9ucy1wcm92aWRlcic7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlRG9jQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3R5cGVkb2MtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFR5cGVEb2NLaW5kIH0gZnJvbSAnLi90eXBlZG9jLXR5cGVzJztcblxuLyoqXG4gKiBIYW5kbGVzIGFsbCB0eXBlIGRlZmluaXRpb25zIHRoYXQgaGF2ZSBiZWVuIGNvbnZlcnRlZCBmcm9tIHRoZSB0aGlyZC1wYXJ0eSBkb2N1bWVudGF0aW9uIGdlbmVyYXRvci5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc1R5cGVEZWZpbml0aW9uc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHR5cGVEZWZpbml0aW9uc1Byb3ZpZGVyOiBTa3lEb2NzVHlwZURlZmluaXRpb25zUHJvdmlkZXIsXG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBTa3lEb2NzVHlwZURvY0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogUmV0dXJucyB0eXBlIGRlZmluaXRpb25zIGZyb20gYSBzcGVjaWZpYyBzb3VyY2UgY29kZSBsb2NhdGlvbi5cbiAgICogQHBhcmFtIHNvdXJjZUNvZGVQYXRoIFRoZSBkaXJlY3Rvcnkgb2YgdGhlIHNvdXJjZSBjb2RlIHlvdSB3aXNoIHRvIHB1bGwgdHlwZSBkZWZpbml0aW9ucyBmcm9tLFxuICAgKiByZWxhdGl2ZSB0byB0aGUgYXBwbGljYXRpb24ncyByb290IGRpcmVjdG9yeS5cbiAgICovXG4gIHB1YmxpYyBnZXRUeXBlRGVmaW5pdGlvbnMoXG4gICAgc291cmNlQ29kZVBhdGg6IHN0cmluZyxcbiAgICBhZGRpdGlvbmFsU291cmNlQ29kZVBhdGhzPzogc3RyaW5nW11cbiAgKTogU2t5RG9jc1R5cGVEZWZpbml0aW9ucyB7XG4gICAgaWYgKCFzb3VyY2VDb2RlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYHNvdXJjZUNvZGVQYXRoYCBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VDb2RlUGF0aHM6IHN0cmluZ1tdID1cbiAgICAgIGFkZGl0aW9uYWxTb3VyY2VDb2RlUGF0aHMgJiYgYWRkaXRpb25hbFNvdXJjZUNvZGVQYXRocy5sZW5ndGggPiAwXG4gICAgICAgID8gW3NvdXJjZUNvZGVQYXRoXS5jb25jYXQoYWRkaXRpb25hbFNvdXJjZUNvZGVQYXRocylcbiAgICAgICAgOiBbc291cmNlQ29kZVBhdGhdO1xuXG4gICAgc291cmNlQ29kZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIGlmICghcGF0aC5lbmRzV2l0aCgnLycpICYmICFwYXRoLmVuZHNXaXRoKCcudHMnKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1NvdXJjZSBjb2RlIHBhdGhzIG11c3QgZW5kIHdpdGggYSBmb3J3YXJkIHNsYXNoIChgL2ApIG9yIGAudHNgLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGFsbERlZmluaXRpb25zID0gdGhpcy50eXBlRGVmaW5pdGlvbnNQcm92aWRlci50eXBlRGVmaW5pdGlvbnM7XG4gICAgY29uc3QgdHlwZXM6IFNreURvY3NUeXBlRGVmaW5pdGlvbnMgPSB7XG4gICAgICBjbGFzc2VzOiBbXSxcbiAgICAgIGNvbXBvbmVudHM6IFtdLFxuICAgICAgZGlyZWN0aXZlczogW10sXG4gICAgICBlbnVtZXJhdGlvbnM6IFtdLFxuICAgICAgaW50ZXJmYWNlczogW10sXG4gICAgICBwaXBlczogW10sXG4gICAgICBzZXJ2aWNlczogW10sXG4gICAgICB0eXBlQWxpYXNlczogW10sXG4gICAgfTtcblxuICAgIGlmICghYWxsRGVmaW5pdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gdHlwZXMgd2VyZSBmb3VuZCBmb3IgdGhpcyBwcm9qZWN0IWApO1xuICAgICAgcmV0dXJuIHR5cGVzO1xuICAgIH1cblxuICAgIHNvdXJjZUNvZGVQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ZWREaXIgPSBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC9zcmNcXC9hcHBcXC9wdWJsaWNcXC8vLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL15cXC8vLCAnJyk7IC8vIHJlbW92ZSBmaXJzdCBzbGFzaC5cblxuICAgICAgLy8gT25seSBwcm9jZXNzIHR5cGVzIHRoYXQgbWF0Y2ggdGhlIHJlcXVlc3RlZCBzb3VyY2UgY29kZSBsb2NhdGlvbi5cbiAgICAgIGNvbnN0IHR5cGVEZWZpbml0aW9ucyA9IGFsbERlZmluaXRpb25zLmZpbHRlcihcbiAgICAgICAgKGkpID0+IGkuc291cmNlcyAmJiBpLnNvdXJjZXNbMF0uZmlsZU5hbWUubWF0Y2gocmVxdWVzdGVkRGlyKVxuICAgICAgKTtcbiAgICAgIGlmICh0eXBlRGVmaW5pdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVHlwZSBkZWZpbml0aW9ucyB3ZXJlIG5vdCBmb3VuZCBmb3IgbG9jYXRpb246ICR7cmVxdWVzdGVkRGlyfWBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdHlwZURlZmluaXRpb25zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgZGVjb3JhdG9yID0gaXRlbS5kZWNvcmF0b3JzICYmIGl0ZW0uZGVjb3JhdG9yc1swXT8ubmFtZTtcbiAgICAgICAgY29uc3Qga2luZCA9IGl0ZW0ua2luZDtcblxuICAgICAgICBzd2l0Y2ggKGRlY29yYXRvcikge1xuICAgICAgICAgIGNhc2UgJ0NvbXBvbmVudCc6XG4gICAgICAgICAgICB0eXBlcy5jb21wb25lbnRzLnB1c2godGhpcy5hZGFwdGVyLnRvRGlyZWN0aXZlRGVmaW5pdGlvbihpdGVtKSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdEaXJlY3RpdmUnOlxuICAgICAgICAgICAgdHlwZXMuZGlyZWN0aXZlcy5wdXNoKHRoaXMuYWRhcHRlci50b0RpcmVjdGl2ZURlZmluaXRpb24oaXRlbSkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnSW5qZWN0YWJsZSc6XG4gICAgICAgICAgICB0eXBlcy5zZXJ2aWNlcy5wdXNoKHRoaXMuYWRhcHRlci50b0NsYXNzRGVmaW5pdGlvbihpdGVtKSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdOZ01vZHVsZSc6XG4gICAgICAgICAgICAvLyBEb24ndCBkb2N1bWVudCBtb2R1bGVzLlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnUGlwZSc6XG4gICAgICAgICAgICB0eXBlcy5waXBlcy5wdXNoKHRoaXMuYWRhcHRlci50b1BpcGVEZWZpbml0aW9uKGl0ZW0pKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAvKnRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdCovXG4gICAgICAgICAgICBzd2l0Y2ggKGtpbmQpIHtcbiAgICAgICAgICAgICAgY2FzZSBUeXBlRG9jS2luZC5DbGFzczpcbiAgICAgICAgICAgICAgICB0eXBlcy5jbGFzc2VzLnB1c2godGhpcy5hZGFwdGVyLnRvQ2xhc3NEZWZpbml0aW9uKGl0ZW0pKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBUeXBlRG9jS2luZC5JbnRlcmZhY2U6XG4gICAgICAgICAgICAgICAgdHlwZXMuaW50ZXJmYWNlcy5wdXNoKHRoaXMuYWRhcHRlci50b0ludGVyZmFjZURlZmluaXRpb24oaXRlbSkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIFR5cGVEb2NLaW5kLkVudW06XG4gICAgICAgICAgICAgICAgdHlwZXMuZW51bWVyYXRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgICB0aGlzLmFkYXB0ZXIudG9FbnVtZXJhdGlvbkRlZmluaXRpb24oaXRlbSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIFR5cGVEb2NLaW5kLlR5cGVBbGlhczpcbiAgICAgICAgICAgICAgICB0eXBlcy50eXBlQWxpYXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgdGhpcy5hZGFwdGVyLnRvVHlwZUFsaWFzRGVmaW5pdGlvbihpdGVtKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG59XG4iXX0=
|