@skyux/docs-tools 11.2.0 → 12.0.0-alpha.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.
- package/css/docs-tools.css +2 -2
- package/fesm2022/skyux-docs-tools.mjs +232 -247
- package/fesm2022/skyux-docs-tools.mjs.map +1 -1
- package/modules/shared/sky-docs-tools-resources.module.d.ts +0 -4
- package/package.json +19 -21
- package/esm2022/docs-tools.module.mjs +0 -36
- package/esm2022/modules/anatomy/anatomy-item.component.mjs +0 -17
- package/esm2022/modules/anatomy/anatomy-thumbnail.component.mjs +0 -27
- package/esm2022/modules/anatomy/anatomy.component.mjs +0 -25
- package/esm2022/modules/anatomy/anatomy.module.mjs +0 -46
- package/esm2022/modules/code-examples/code-example-module-dependencies.mjs +0 -2
- package/esm2022/modules/code-examples/code-example-theme.mjs +0 -6
- package/esm2022/modules/code-examples/code-example.component.mjs +0 -68
- package/esm2022/modules/code-examples/code-example.mjs +0 -2
- package/esm2022/modules/code-examples/code-examples-editor.service.mjs +0 -368
- package/esm2022/modules/code-examples/code-examples.component.mjs +0 -98
- package/esm2022/modules/code-examples/code-examples.module.mjs +0 -41
- package/esm2022/modules/demo/demo-content-alignment.mjs +0 -2
- package/esm2022/modules/demo/demo-control-panel-change.mjs +0 -2
- package/esm2022/modules/demo/demo-control-panel-checkbox.component.mjs +0 -84
- package/esm2022/modules/demo/demo-control-panel-radio-choice.mjs +0 -2
- package/esm2022/modules/demo/demo-control-panel-radio-group.component.mjs +0 -80
- package/esm2022/modules/demo/demo-control-panel-section.component.mjs +0 -22
- package/esm2022/modules/demo/demo-control-panel.component.mjs +0 -85
- package/esm2022/modules/demo/demo-custom-control-panel.component.mjs +0 -20
- package/esm2022/modules/demo/demo.component.mjs +0 -58
- package/esm2022/modules/demo/demo.module.mjs +0 -72
- package/esm2022/modules/demo-page/demo-page-dom-adapter.service.mjs +0 -75
- package/esm2022/modules/demo-page/demo-page-module-info.component.mjs +0 -14
- package/esm2022/modules/demo-page/demo-page-section.component.mjs +0 -43
- package/esm2022/modules/demo-page/demo-page-summary.component.mjs +0 -21
- package/esm2022/modules/demo-page/demo-page-title.service.mjs +0 -28
- package/esm2022/modules/demo-page/demo-page-type-definitions.component.mjs +0 -24
- package/esm2022/modules/demo-page/demo-page.component.mjs +0 -190
- package/esm2022/modules/demo-page/demo-page.module.mjs +0 -94
- package/esm2022/modules/design-guidelines/design-guideline-thumbnail.component.mjs +0 -27
- package/esm2022/modules/design-guidelines/design-guideline.component.mjs +0 -33
- package/esm2022/modules/design-guidelines/design-guidelines.component.mjs +0 -11
- package/esm2022/modules/design-guidelines/design-guidelines.module.mjs +0 -34
- package/esm2022/modules/heading-anchor/heading-anchor.component.mjs +0 -21
- package/esm2022/modules/heading-anchor/heading-anchor.module.mjs +0 -20
- package/esm2022/modules/markdown/markdown.module.mjs +0 -17
- package/esm2022/modules/markdown/markdown.pipe.mjs +0 -20
- package/esm2022/modules/module-info/module-info.component.mjs +0 -72
- package/esm2022/modules/module-info/module-info.module.mjs +0 -40
- package/esm2022/modules/safe-html/safe-html.component.mjs +0 -20
- package/esm2022/modules/safe-html/safe-html.module.mjs +0 -18
- package/esm2022/modules/shared/docs-tools-component-info.mjs +0 -2
- package/esm2022/modules/shared/docs-tools-options.mjs +0 -3
- package/esm2022/modules/shared/docs-tools-site-options.mjs +0 -3
- package/esm2022/modules/shared/docs-tools-supportal.service.mjs +0 -23
- package/esm2022/modules/shared/sky-docs-tools-resources.module.mjs +0 -55
- package/esm2022/modules/source-code/source-code-file.mjs +0 -2
- package/esm2022/modules/source-code/source-code-provider.mjs +0 -13
- package/esm2022/modules/source-code/source-code.service.mjs +0 -42
- package/esm2022/modules/thumbnail/thumbnail.component.mjs +0 -28
- package/esm2022/modules/thumbnail/thumbnail.module.mjs +0 -19
- package/esm2022/modules/type-definitions/anchor-link-service-config.mjs +0 -2
- package/esm2022/modules/type-definitions/anchor-link-service-format.mjs +0 -2
- package/esm2022/modules/type-definitions/anchor-link.mjs +0 -2
- package/esm2022/modules/type-definitions/anchor-link.service.mjs +0 -106
- package/esm2022/modules/type-definitions/call-signature-definition.component.mjs +0 -45
- package/esm2022/modules/type-definitions/call-signature-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/class-definition.component.mjs +0 -20
- package/esm2022/modules/type-definitions/class-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/comment-tags.mjs +0 -2
- package/esm2022/modules/type-definitions/directive-definition.component.mjs +0 -20
- package/esm2022/modules/type-definitions/directive-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/entry-child-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/entry-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/enumeration-definition.component.mjs +0 -19
- package/esm2022/modules/type-definitions/enumeration-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/enumeration-member-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/index-signature-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/interface-definition.component.mjs +0 -36
- package/esm2022/modules/type-definitions/interface-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/interface-property-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/method-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/method-definitions.component.mjs +0 -72
- package/esm2022/modules/type-definitions/parameter-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/pipe-definition.component.mjs +0 -20
- package/esm2022/modules/type-definitions/pipe-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/preview-feature-indicator.component.mjs +0 -13
- package/esm2022/modules/type-definitions/property-decorator.mjs +0 -2
- package/esm2022/modules/type-definitions/property-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/property-definitions.component.mjs +0 -66
- package/esm2022/modules/type-definitions/type-alias-definition.component.mjs +0 -37
- package/esm2022/modules/type-definitions/type-alias-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/type-anchor-links.pipe.mjs +0 -27
- package/esm2022/modules/type-definitions/type-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/type-definitions-format.service.mjs +0 -254
- package/esm2022/modules/type-definitions/type-definitions-provider.mjs +0 -10
- package/esm2022/modules/type-definitions/type-definitions.mjs +0 -2
- package/esm2022/modules/type-definitions/type-definitions.module.mjs +0 -108
- package/esm2022/modules/type-definitions/type-definitions.service.mjs +0 -121
- package/esm2022/modules/type-definitions/type-parameter-definition.mjs +0 -2
- package/esm2022/modules/type-definitions/typedoc-adapter.service.mjs +0 -614
- package/esm2022/modules/type-definitions/typedoc-types.mjs +0 -32
- package/esm2022/public-api.mjs +0 -69
- package/esm2022/skyux-docs-tools.mjs +0 -5
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Formats type definitions into HTML-compatible strings.
|
|
5
|
-
*/
|
|
6
|
-
export class SkyDocsTypeDefinitionsFormatService {
|
|
7
|
-
/**
|
|
8
|
-
* Returns an HTML-formatted representation of the provided interface config.
|
|
9
|
-
*/
|
|
10
|
-
getInterfaceSourceCode(definition) {
|
|
11
|
-
const typeParameters = this.getFormattedTypeParameters(definition.typeParameters);
|
|
12
|
-
const config = {
|
|
13
|
-
escapeSpecialCharacters: false,
|
|
14
|
-
};
|
|
15
|
-
let signature = `interface ${definition.name}${typeParameters} {`;
|
|
16
|
-
signature += this.getFormattedInterfaceProperties(definition, config);
|
|
17
|
-
signature += '\n}';
|
|
18
|
-
return signature;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Returns an HTML-formatted representation of the provided method config.
|
|
22
|
-
*/
|
|
23
|
-
getMethodSourceCode(definition) {
|
|
24
|
-
const config = {
|
|
25
|
-
escapeSpecialCharacters: false,
|
|
26
|
-
};
|
|
27
|
-
const typeArguments = this.getFormattedTypeArguments(definition.type, config);
|
|
28
|
-
const callSignature = definition.type.callSignature;
|
|
29
|
-
const returnType = this.getFormattedType(callSignature.returnType, config);
|
|
30
|
-
let params = '';
|
|
31
|
-
if (callSignature.parameters) {
|
|
32
|
-
params += callSignature.parameters
|
|
33
|
-
.map((p) => this.getFormattedParameterName(p, config))
|
|
34
|
-
.join(', ');
|
|
35
|
-
}
|
|
36
|
-
return `public ${definition.isStatic ? 'static ' : ''}${definition.name}${typeArguments}(${params}): ${returnType}`;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Returns an HTML-formatted representation of the provided type alias config.
|
|
40
|
-
*/
|
|
41
|
-
getTypeAliasSourceCode(definition) {
|
|
42
|
-
const config = {
|
|
43
|
-
escapeSpecialCharacters: false,
|
|
44
|
-
};
|
|
45
|
-
const typeParameters = this.getFormattedTypeParameters(definition.typeParameters);
|
|
46
|
-
let signature = `type ${definition.name}${typeParameters} = `;
|
|
47
|
-
if (definition.type.callSignature) {
|
|
48
|
-
signature += this.getFormattedCallSignature(definition.type.callSignature, {
|
|
49
|
-
escapeSpecialCharacters: false,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else if (definition.type.indexSignature) {
|
|
53
|
-
const indexSignature = definition.type.indexSignature;
|
|
54
|
-
const type = this.getFormattedType(indexSignature.type, {
|
|
55
|
-
escapeSpecialCharacters: false,
|
|
56
|
-
});
|
|
57
|
-
signature += `{\n [${indexSignature.key.name}: string]: ${type};\n}`;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
/*istanbul ignore else */
|
|
61
|
-
if (definition.type.type === 'union') {
|
|
62
|
-
signature += this.getFormattedUnion(definition.type, config);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return signature;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Returns a formatted string representing a parameter's name and value. For example: `'foo: string'`.
|
|
69
|
-
*/
|
|
70
|
-
getFormattedParameterName(parameter, config = {
|
|
71
|
-
escapeSpecialCharacters: true,
|
|
72
|
-
}) {
|
|
73
|
-
const optionalMarker = parameter.isOptional ? '?' : '';
|
|
74
|
-
const parameterType = this.getFormattedType(parameter.type, config);
|
|
75
|
-
let signature = `${parameter.name}${optionalMarker}: ${parameterType}`;
|
|
76
|
-
if (config.escapeSpecialCharacters) {
|
|
77
|
-
signature = this.escapeSpecialCharacters(signature);
|
|
78
|
-
}
|
|
79
|
-
return signature;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Returns a formatted string representing a property (or method's) name and value. For example: `'public foo: string'`.
|
|
83
|
-
*/
|
|
84
|
-
getFormattedPropertyName(property) {
|
|
85
|
-
let signature = '';
|
|
86
|
-
const indexSignature = property.type?.indexSignature;
|
|
87
|
-
let name;
|
|
88
|
-
if (indexSignature) {
|
|
89
|
-
name = `[${indexSignature.key.name}: ${this.getFormattedType(indexSignature.key.type)}]`;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
name = property.name;
|
|
93
|
-
}
|
|
94
|
-
if (property.deprecationWarning !== undefined) {
|
|
95
|
-
signature += `<strike>${name}</strike>`;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
signature += name;
|
|
99
|
-
}
|
|
100
|
-
if (property.decorator?.name !== 'Output' &&
|
|
101
|
-
property.isOptional &&
|
|
102
|
-
!indexSignature) {
|
|
103
|
-
signature += '?';
|
|
104
|
-
}
|
|
105
|
-
if (indexSignature) {
|
|
106
|
-
signature += `: ${this.getFormattedType(indexSignature.type)}`;
|
|
107
|
-
}
|
|
108
|
-
else if (property.type) {
|
|
109
|
-
signature += `: ${this.getFormattedType(property.type)}`;
|
|
110
|
-
}
|
|
111
|
-
return signature;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Returns an HTML-formatted method name to be used on the properties table.
|
|
115
|
-
*/
|
|
116
|
-
getFormattedMethodName(definition) {
|
|
117
|
-
let formatted = '';
|
|
118
|
-
if (definition.isStatic) {
|
|
119
|
-
formatted += `${definition.parentName}.`;
|
|
120
|
-
}
|
|
121
|
-
if (definition.deprecationWarning !== undefined) {
|
|
122
|
-
formatted = `<strike>${formatted}${definition.name}</strike>`;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
formatted += definition.name;
|
|
126
|
-
}
|
|
127
|
-
return `${formatted}()`;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Returns a formatted string representing the provided type.
|
|
131
|
-
*/
|
|
132
|
-
getFormattedType(type, config = {
|
|
133
|
-
escapeSpecialCharacters: true,
|
|
134
|
-
}) {
|
|
135
|
-
let formatted = 'any';
|
|
136
|
-
if (!type) {
|
|
137
|
-
return formatted;
|
|
138
|
-
}
|
|
139
|
-
if (type.name === 'InputSignal' &&
|
|
140
|
-
type.package === '@angular/core' &&
|
|
141
|
-
type.typeArguments?.length) {
|
|
142
|
-
type = type.typeArguments[0];
|
|
143
|
-
}
|
|
144
|
-
if (type.callSignature) {
|
|
145
|
-
let formattedSignature = this.getFormattedCallSignature(type.callSignature, config);
|
|
146
|
-
if (type.type === 'array') {
|
|
147
|
-
formattedSignature = `(${formattedSignature})[]`;
|
|
148
|
-
}
|
|
149
|
-
return formattedSignature;
|
|
150
|
-
}
|
|
151
|
-
if (type.unionTypes) {
|
|
152
|
-
return this.getFormattedUnion(type, config);
|
|
153
|
-
}
|
|
154
|
-
if (type.name !== null && type.name !== undefined) {
|
|
155
|
-
formatted = `${type.name}`;
|
|
156
|
-
}
|
|
157
|
-
if (type.typeArguments) {
|
|
158
|
-
formatted += this.getFormattedTypeArguments(type, config);
|
|
159
|
-
}
|
|
160
|
-
if (type.type === 'array') {
|
|
161
|
-
formatted += '[]';
|
|
162
|
-
}
|
|
163
|
-
if (type.type === 'literal' && typeof type.name === 'string') {
|
|
164
|
-
formatted = `'${formatted}'`;
|
|
165
|
-
}
|
|
166
|
-
if (type.typeLiteral) {
|
|
167
|
-
const formattedTypeLiteral = this.getFormattedInterfaceProperties(type.typeLiteral, config)
|
|
168
|
-
.replace(/\n/g, ' ')
|
|
169
|
-
.replace(/\s\s+/g, ' ');
|
|
170
|
-
formatted = `{${formattedTypeLiteral} }`;
|
|
171
|
-
}
|
|
172
|
-
if (config.escapeSpecialCharacters) {
|
|
173
|
-
return this.escapeSpecialCharacters(formatted);
|
|
174
|
-
}
|
|
175
|
-
return formatted;
|
|
176
|
-
}
|
|
177
|
-
escapeSpecialCharacters(value) {
|
|
178
|
-
return value.replace(/</g, '<').replace(/>/g, '>');
|
|
179
|
-
}
|
|
180
|
-
getFormattedCallSignature(callSignature, config) {
|
|
181
|
-
const returnType = this.getFormattedType(callSignature.returnType, config);
|
|
182
|
-
if (!callSignature.parameters) {
|
|
183
|
-
return `() => ${returnType}`;
|
|
184
|
-
}
|
|
185
|
-
const formattedParams = callSignature.parameters
|
|
186
|
-
.map((p) => this.getFormattedParameterName(p, config))
|
|
187
|
-
.join(', ');
|
|
188
|
-
return `(${formattedParams}) => ${returnType}`;
|
|
189
|
-
}
|
|
190
|
-
getFormattedUnion(typeConfig, config) {
|
|
191
|
-
return typeConfig.unionTypes
|
|
192
|
-
.map((t) => {
|
|
193
|
-
return this.getFormattedType(t, config);
|
|
194
|
-
})
|
|
195
|
-
.join(' | ');
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Parse any type arguments e.g. `<T, F>`.
|
|
199
|
-
*/
|
|
200
|
-
getFormattedTypeArguments(typeConfig, config) {
|
|
201
|
-
if (!typeConfig.typeArguments) {
|
|
202
|
-
return '';
|
|
203
|
-
}
|
|
204
|
-
const typeArguments = typeConfig.typeArguments.map((typeArgument) => {
|
|
205
|
-
if (typeArgument.type === 'array') {
|
|
206
|
-
return `${typeArgument.name}[]`;
|
|
207
|
-
}
|
|
208
|
-
if (typeArgument.unionTypes) {
|
|
209
|
-
return this.getFormattedUnion(typeArgument, config);
|
|
210
|
-
}
|
|
211
|
-
return typeArgument.name;
|
|
212
|
-
});
|
|
213
|
-
return `<${typeArguments.join(', ')}>`;
|
|
214
|
-
}
|
|
215
|
-
getFormattedTypeParameters(typeParameters) {
|
|
216
|
-
if (!typeParameters) {
|
|
217
|
-
return '';
|
|
218
|
-
}
|
|
219
|
-
const formatted = typeParameters.map((typeParameter) => {
|
|
220
|
-
let result = typeParameter.name;
|
|
221
|
-
if (typeParameter.type && typeParameter.type.type === 'reference') {
|
|
222
|
-
result += ` extends ${typeParameter.type.name}`;
|
|
223
|
-
}
|
|
224
|
-
return result;
|
|
225
|
-
});
|
|
226
|
-
return `<${formatted.join(', ')}>`;
|
|
227
|
-
}
|
|
228
|
-
getFormattedInterfaceProperties(definition, config) {
|
|
229
|
-
let signature = '';
|
|
230
|
-
definition.properties.forEach((property) => {
|
|
231
|
-
const indexSignature = property.type.indexSignature;
|
|
232
|
-
const optionalIndicator = property.isOptional && !indexSignature ? '?' : '';
|
|
233
|
-
const propertyType = this.getFormattedType(property.type, config);
|
|
234
|
-
let name;
|
|
235
|
-
if (indexSignature) {
|
|
236
|
-
name = `[${indexSignature.key.name}: string]`;
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
name = property.name;
|
|
240
|
-
}
|
|
241
|
-
signature += `\n ${name}${optionalIndicator}: ${propertyType};`;
|
|
242
|
-
});
|
|
243
|
-
return signature;
|
|
244
|
-
}
|
|
245
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsFormatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
246
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsFormatService, providedIn: 'root' }); }
|
|
247
|
-
}
|
|
248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsFormatService, decorators: [{
|
|
249
|
-
type: Injectable,
|
|
250
|
-
args: [{
|
|
251
|
-
providedIn: 'root',
|
|
252
|
-
}]
|
|
253
|
-
}] });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy1mb3JtYXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLWZvcm1hdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0IzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUM7O09BRUc7SUFDSSxzQkFBc0IsQ0FDM0IsVUFBc0M7UUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxVQUFVLENBQUMsY0FBYyxDQUMxQixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYix1QkFBdUIsRUFBRSxLQUFLO1NBQy9CLENBQUM7UUFFRixJQUFJLFNBQVMsR0FBVyxhQUFhLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUM7UUFDMUUsU0FBUyxJQUFJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxVQUF3QztRQUNqRSxNQUFNLE1BQU0sR0FBRztZQUNiLHVCQUF1QixFQUFFLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDbEQsVUFBVSxDQUFDLElBQUksRUFDZixNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxF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LE1BQU0saUJBQWlCLEdBQ3JCLFFBQVEsQ0FBQyxVQUFVLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRWxFLElBQUksSUFBWSxDQUFDO1lBQ2pCLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7WUFFRCxTQUFTLElBQUksT0FBTyxJQUFJLEdBQUcsaUJBQWlCLEtBQUssWUFBWSxHQUFHLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOytHQXZWVSxtQ0FBbUM7bUhBQW5DLG1DQUFtQyxjQUZsQyxNQUFNOzs0RkFFUCxtQ0FBbUM7a0JBSC9DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb24gfSBmcm9tICcuL2NhbGwtc2lnbmF0dXJlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2xhc3NQcm9wZXJ0eURlZmluaXRpb24gfSBmcm9tICcuL3Byb3BlcnR5LWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzSW50ZXJmYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2xhc3NNZXRob2REZWZpbml0aW9uIH0gZnJvbSAnLi9tZXRob2QtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uIH0gZnJvbSAnLi90eXBlLWFsaWFzLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZURlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZS1wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NJbnRlcmZhY2VQcm9wZXJ0eURlZmluaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZS1wcm9wZXJ0eS1kZWZpbml0aW9uJztcblxuaW50ZXJmYWNlIEdldEZvcm1hdHRlZFR5cGVDb25maWcge1xuICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGb3JtYXRzIHR5cGUgZGVmaW5pdGlvbnMgaW50byBIVE1MLWNvbXBhdGlibGUgc3RyaW5ncy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NUeXBlRGVmaW5pdGlvbnNGb3JtYXRTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHByb3ZpZGVkIGludGVyZmFjZSBjb25maWcuXG4gICAqL1xuICBwdWJsaWMgZ2V0SW50ZXJmYWNlU291cmNlQ29kZShcbiAgICBkZWZpbml0aW9uOiBTa3lEb2NzSW50ZXJmYWNlRGVmaW5pdGlvbixcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZVBhcmFtZXRlcnMoXG4gICAgICBkZWZpbml0aW9uLnR5cGVQYXJhbWV0ZXJzLFxuICAgICk7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBsZXQgc2lnbmF0dXJlOiBzdHJpbmcgPSBgaW50ZXJmYWNlICR7ZGVmaW5pdGlvbi5uYW1lfSR7dHlwZVBhcmFtZXRlcnN9IHtgO1xuICAgIHNpZ25hdHVyZSArPSB0aGlzLmdldEZvcm1hdHRlZEludGVyZmFjZVByb3BlcnRpZXMoZGVmaW5pdGlvbiwgY29uZmlnKTtcbiAgICBzaWduYXR1cmUgKz0gJ1xcbn0nO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCBtZXRob2QgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGdldE1ldGhvZFNvdXJjZUNvZGUoZGVmaW5pdGlvbjogU2t5RG9jc0NsYXNzTWV0aG9kRGVmaW5pdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25zdCB0eXBlQXJndW1lbnRzID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlQXJndW1lbnRzKFxuICAgICAgZGVmaW5pdGlvbi50eXBlLFxuICAgICAgY29uZmlnLFxuICAgICk7XG4gICAgY29uc3QgY2FsbFNpZ25hdHVyZSA9IGRlZmluaXRpb24udHlwZS5jYWxsU2lnbmF0dXJlO1xuICAgIGNvbnN0IHJldHVyblR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUoY2FsbFNpZ25hdHVyZS5yZXR1cm5UeXBlLCBjb25maWcpO1xuXG4gICAgbGV0IHBhcmFtczogc3RyaW5nID0gJyc7XG4gICAgaWYgKGNhbGxTaWduYXR1cmUucGFyYW1ldGVycykge1xuICAgICAgcGFyYW1zICs9IGNhbGxTaWduYXR1cmUucGFyYW1ldGVyc1xuICAgICAgICAubWFwKChwKSA9PiB0aGlzLmdldEZvcm1hdHRlZFBhcmFtZXRlck5hbWUocCwgY29uZmlnKSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBwdWJsaWMgJHtkZWZpbml0aW9uLmlzU3RhdGljID8gJ3N0YXRpYyAnIDogJyd9JHtcbiAgICAgIGRlZmluaXRpb24ubmFtZVxuICAgIH0ke3R5cGVBcmd1bWVudHN9KCR7cGFyYW1zfSk6ICR7cmV0dXJuVHlwZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHByb3ZpZGVkIHR5cGUgYWxpYXMgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGdldFR5cGVBbGlhc1NvdXJjZUNvZGUoXG4gICAgZGVmaW5pdGlvbjogU2t5RG9jc1R5cGVBbGlhc0RlZmluaXRpb24sXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZVBhcmFtZXRlcnMoXG4gICAgICBkZWZpbml0aW9uLnR5cGVQYXJhbWV0ZXJzLFxuICAgICk7XG5cbiAgICBsZXQgc2lnbmF0dXJlID0gYHR5cGUgJHtkZWZpbml0aW9uLm5hbWV9JHt0eXBlUGFyYW1ldGVyc30gPSBgO1xuXG4gICAgaWYgKGRlZmluaXRpb24udHlwZS5jYWxsU2lnbmF0dXJlKSB7XG4gICAgICBzaWduYXR1cmUgKz0gdGhpcy5nZXRGb3JtYXR0ZWRDYWxsU2lnbmF0dXJlKFxuICAgICAgICBkZWZpbml0aW9uLnR5cGUuY2FsbFNpZ25hdHVyZSxcbiAgICAgICAge1xuICAgICAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChkZWZpbml0aW9uLnR5cGUuaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgIGNvbnN0IGluZGV4U2lnbmF0dXJlID0gZGVmaW5pdGlvbi50eXBlLmluZGV4U2lnbmF0dXJlO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShpbmRleFNpZ25hdHVyZS50eXBlLCB7XG4gICAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgc2lnbmF0dXJlICs9IGB7XFxuICBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06IHN0cmluZ106ICR7dHlwZX07XFxufWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChkZWZpbml0aW9uLnR5cGUudHlwZSA9PT0gJ3VuaW9uJykge1xuICAgICAgICBzaWduYXR1cmUgKz0gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbihkZWZpbml0aW9uLnR5cGUsIGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZm9ybWF0dGVkIHN0cmluZyByZXByZXNlbnRpbmcgYSBwYXJhbWV0ZXIncyBuYW1lIGFuZCB2YWx1ZS4gRm9yIGV4YW1wbGU6IGAnZm9vOiBzdHJpbmcnYC5cbiAgICovXG4gIHB1YmxpYyBnZXRGb3JtYXR0ZWRQYXJhbWV0ZXJOYW1lKFxuICAgIHBhcmFtZXRlcjogU2t5RG9jc1BhcmFtZXRlckRlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IHRydWUsXG4gICAgfSxcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25hbE1hcmtlciA9IHBhcmFtZXRlci5pc09wdGlvbmFsID8gJz8nIDogJyc7XG4gICAgY29uc3QgcGFyYW1ldGVyVHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwYXJhbWV0ZXIudHlwZSwgY29uZmlnKTtcblxuICAgIGxldCBzaWduYXR1cmUgPSBgJHtwYXJhbWV0ZXIubmFtZX0ke29wdGlvbmFsTWFya2VyfTogJHtwYXJhbWV0ZXJUeXBlfWA7XG4gICAgaWYgKGNvbmZpZy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycykge1xuICAgICAgc2lnbmF0dXJlID0gdGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhzaWduYXR1cmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgcHJvcGVydHkgKG9yIG1ldGhvZCdzKSBuYW1lIGFuZCB2YWx1ZS4gRm9yIGV4YW1wbGU6IGAncHVibGljIGZvbzogc3RyaW5nJ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUHJvcGVydHlOYW1lKFxuICAgIHByb3BlcnR5OiBTa3lEb2NzQ2xhc3NQcm9wZXJ0eURlZmluaXRpb24sXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IHNpZ25hdHVyZSA9ICcnO1xuXG4gICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBwcm9wZXJ0eS50eXBlPy5pbmRleFNpZ25hdHVyZTtcbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgIGlmIChpbmRleFNpZ25hdHVyZSkge1xuICAgICAgbmFtZSA9IGBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06ICR7dGhpcy5nZXRGb3JtYXR0ZWRUeXBlKFxuICAgICAgICBpbmRleFNpZ25hdHVyZS5rZXkudHlwZSxcbiAgICAgICl9XWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBwcm9wZXJ0eS5uYW1lO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eS5kZXByZWNhdGlvbldhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2lnbmF0dXJlICs9IGA8c3RyaWtlPiR7bmFtZX08L3N0cmlrZT5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBzaWduYXR1cmUgKz0gbmFtZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wZXJ0eS5kZWNvcmF0b3I/Lm5hbWUgIT09ICdPdXRwdXQnICYmXG4gICAgICBwcm9wZXJ0eS5pc09wdGlvbmFsICYmXG4gICAgICAhaW5kZXhTaWduYXR1cmVcbiAgICApIHtcbiAgICAgIHNpZ25hdHVyZSArPSAnPyc7XG4gICAgfVxuXG4gICAgaWYgKGluZGV4U2lnbmF0dXJlKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYDogJHt0aGlzLmdldEZvcm1hdHRlZFR5cGUoaW5kZXhTaWduYXR1cmUudHlwZSl9YDtcbiAgICB9IGVsc2UgaWYgKHByb3BlcnR5LnR5cGUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSBgOiAke3RoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwcm9wZXJ0eS50eXBlKX1gO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBIVE1MLWZvcm1hdHRlZCBtZXRob2QgbmFtZSB0byBiZSB1c2VkIG9uIHRoZSBwcm9wZXJ0aWVzIHRhYmxlLlxuICAgKi9cbiAgcHVibGljIGdldEZvcm1hdHRlZE1ldGhvZE5hbWUoXG4gICAgZGVmaW5pdGlvbjogU2t5RG9jc0NsYXNzTWV0aG9kRGVmaW5pdGlvbixcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgZm9ybWF0dGVkID0gJyc7XG5cbiAgICBpZiAoZGVmaW5pdGlvbi5pc1N0YXRpYykge1xuICAgICAgZm9ybWF0dGVkICs9IGAke2RlZmluaXRpb24ucGFyZW50TmFtZX0uYDtcbiAgICB9XG5cbiAgICBpZiAoZGVmaW5pdGlvbi5kZXByZWNhdGlvbldhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9ybWF0dGVkID0gYDxzdHJpa2U+JHtmb3JtYXR0ZWR9JHtkZWZpbml0aW9uLm5hbWV9PC9zdHJpa2U+YDtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0dGVkICs9IGRlZmluaXRpb24ubmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7Zm9ybWF0dGVkfSgpYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZm9ybWF0dGVkIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHByb3ZpZGVkIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkVHlwZShcbiAgICB0eXBlOiBTa3lEb2NzVHlwZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IHRydWUsXG4gICAgfSxcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgZm9ybWF0dGVkID0gJ2FueSc7XG5cbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdHlwZS5uYW1lID09PSAnSW5wdXRTaWduYWwnICYmXG4gICAgICB0eXBlLnBhY2thZ2UgPT09ICdAYW5ndWxhci9jb3JlJyAmJlxuICAgICAgdHlwZS50eXBlQXJndW1lbnRzPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHR5cGUgPSB0eXBlLnR5cGVBcmd1bWVudHNbMF07XG4gICAgfVxuXG4gICAgaWYgKHR5cGUuY2FsbFNpZ25hdHVyZSkge1xuICAgICAgbGV0IGZvcm1hdHRlZFNpZ25hdHVyZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkQ2FsbFNpZ25hdHVyZShcbiAgICAgICAgdHlwZS5jYWxsU2lnbmF0dXJlLFxuICAgICAgICBjb25maWcsXG4gICAgICApO1xuXG4gICAgICBpZiAodHlwZS50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIGZvcm1hdHRlZFNpZ25hdHVyZSA9IGAoJHtmb3JtYXR0ZWRTaWduYXR1cmV9KVtdYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmb3JtYXR0ZWRTaWduYXR1cmU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudW5pb25UeXBlcykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkVW5pb24odHlwZSwgY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS5uYW1lICE9PSBudWxsICYmIHR5cGUubmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3JtYXR0ZWQgPSBgJHt0eXBlLm5hbWV9YDtcbiAgICB9XG5cbiAgICBpZiAodHlwZS50eXBlQXJndW1lbnRzKSB7XG4gICAgICBmb3JtYXR0ZWQgKz0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlQXJndW1lbnRzKHR5cGUsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgZm9ybWF0dGVkICs9ICdbXSc7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudHlwZSA9PT0gJ2xpdGVyYWwnICYmIHR5cGVvZiB0eXBlLm5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBmb3JtYXR0ZWQgPSBgJyR7Zm9ybWF0dGVkfSdgO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGVMaXRlcmFsKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRUeXBlTGl0ZXJhbCA9IHRoaXMuZ2V0Rm9ybWF0dGVkSW50ZXJmYWNlUHJvcGVydGllcyhcbiAgICAgICAgdHlwZS50eXBlTGl0ZXJhbCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgKVxuICAgICAgICAucmVwbGFjZSgvXFxuL2csICcgJylcbiAgICAgICAgLnJlcGxhY2UoL1xcc1xccysvZywgJyAnKTtcbiAgICAgIGZvcm1hdHRlZCA9IGB7JHtmb3JtYXR0ZWRUeXBlTGl0ZXJhbH0gfWA7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycykge1xuICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMoZm9ybWF0dGVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkO1xuICB9XG5cbiAgcHVibGljIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRDYWxsU2lnbmF0dXJlKFxuICAgIGNhbGxTaWduYXR1cmU6IFNreURvY3NDYWxsU2lnbmF0dXJlRGVmaW5pdGlvbixcbiAgICBjb25maWc6IEdldEZvcm1hdHRlZFR5cGVDb25maWcsXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgcmV0dXJuVHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShjYWxsU2lnbmF0dXJlLnJldHVyblR5cGUsIGNvbmZpZyk7XG5cbiAgICBpZiAoIWNhbGxTaWduYXR1cmUucGFyYW1ldGVycykge1xuICAgICAgcmV0dXJuIGAoKSA9PiAke3JldHVyblR5cGV9YDtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtYXR0ZWRQYXJhbXMgPSBjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnNcbiAgICAgIC5tYXAoKHApID0+IHRoaXMuZ2V0Rm9ybWF0dGVkUGFyYW1ldGVyTmFtZShwLCBjb25maWcpKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICByZXR1cm4gYCgke2Zvcm1hdHRlZFBhcmFtc30pID0+ICR7cmV0dXJuVHlwZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRVbmlvbihcbiAgICB0eXBlQ29uZmlnOiBTa3lEb2NzVHlwZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlQ29uZmlnLnVuaW9uVHlwZXNcbiAgICAgIC5tYXAoKHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZSh0LCBjb25maWcpO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgfCAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhbnkgdHlwZSBhcmd1bWVudHMgZS5nLiBgPFQsIEY+YC5cbiAgICovXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkVHlwZUFyZ3VtZW50cyhcbiAgICB0eXBlQ29uZmlnOiBTa3lEb2NzVHlwZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnLFxuICApOiBzdHJpbmcge1xuICAgIGlmICghdHlwZUNvbmZpZy50eXBlQXJndW1lbnRzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdHlwZUFyZ3VtZW50cyA9IHR5cGVDb25maWcudHlwZUFyZ3VtZW50cy5tYXAoKHR5cGVBcmd1bWVudCkgPT4ge1xuICAgICAgaWYgKHR5cGVBcmd1bWVudC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIHJldHVybiBgJHt0eXBlQXJndW1lbnQubmFtZX1bXWA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlQXJndW1lbnQudW5pb25UeXBlcykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbih0eXBlQXJndW1lbnQsIGNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0eXBlQXJndW1lbnQubmFtZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBgPCR7dHlwZUFyZ3VtZW50cy5qb2luKCcsICcpfT5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRUeXBlUGFyYW1ldGVycyhcbiAgICB0eXBlUGFyYW1ldGVyczogU2t5RG9jc1R5cGVQYXJhbWV0ZXJEZWZpbml0aW9uW10sXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF0eXBlUGFyYW1ldGVycykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZCA9IHR5cGVQYXJhbWV0ZXJzLm1hcCgodHlwZVBhcmFtZXRlcikgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IHR5cGVQYXJhbWV0ZXIubmFtZTtcbiAgICAgIGlmICh0eXBlUGFyYW1ldGVyLnR5cGUgJiYgdHlwZVBhcmFtZXRlci50eXBlLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgIHJlc3VsdCArPSBgIGV4dGVuZHMgJHt0eXBlUGFyYW1ldGVyLnR5cGUubmFtZX1gO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGA8JHtmb3JtYXR0ZWQuam9pbignLCAnKX0+YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkSW50ZXJmYWNlUHJvcGVydGllcyhcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICBwcm9wZXJ0aWVzPzogU2t5RG9jc0ludGVyZmFjZVByb3BlcnR5RGVmaW5pdGlvbltdO1xuICAgIH0sXG4gICAgY29uZmlnPzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyxcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgc2lnbmF0dXJlOiBzdHJpbmcgPSAnJztcblxuICAgIGRlZmluaXRpb24ucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBwcm9wZXJ0eS50eXBlLmluZGV4U2lnbmF0dXJlO1xuICAgICAgY29uc3Qgb3B0aW9uYWxJbmRpY2F0b3IgPVxuICAgICAgICBwcm9wZXJ0eS5pc09wdGlvbmFsICYmICFpbmRleFNpZ25hdHVyZSA/ICc/JyA6ICcnO1xuICAgICAgY29uc3QgcHJvcGVydHlUeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKHByb3BlcnR5LnR5cGUsIGNvbmZpZyk7XG5cbiAgICAgIGxldCBuYW1lOiBzdHJpbmc7XG4gICAgICBpZiAoaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgICAgbmFtZSA9IGBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06IHN0cmluZ11gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmFtZSA9IHByb3BlcnR5Lm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHNpZ25hdHVyZSArPSBgXFxuICAke25hbWV9JHtvcHRpb25hbEluZGljYXRvcn06ICR7cHJvcGVydHlUeXBlfTtgO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class SkyDocsTypeDefinitionsProvider {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsProvider }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsProvider, decorators: [{
|
|
8
|
-
type: Injectable
|
|
9
|
-
}] });
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyw4QkFBOEI7K0dBQTlCLDhCQUE4QjttSEFBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUeXBlRG9jRW50cnkgfSBmcm9tICcuL3R5cGVkb2MtdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RG9jc1R5cGVEZWZpbml0aW9uc1Byb3ZpZGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IGFuY2hvcklkczogeyBbXzogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGVEZWZpbml0aW9uczogVHlwZURvY0VudHJ5W107XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lEb2NzQ2xhc3NEZWZpbml0aW9uIH0gZnJvbSAnLi9jbGFzcy1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0RpcmVjdGl2ZURlZmluaXRpb24gfSBmcm9tICcuL2RpcmVjdGl2ZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0VudW1lcmF0aW9uRGVmaW5pdGlvbiB9IGZyb20gJy4vZW51bWVyYXRpb24tZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NJbnRlcmZhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2UtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NQaXBlRGVmaW5pdGlvbiB9IGZyb20gJy4vcGlwZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVBbGlhc0RlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtYWxpYXMtZGVmaW5pdGlvbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RG9jc1R5cGVEZWZpbml0aW9ucyB7XG4gIGNsYXNzZXM6IFNreURvY3NDbGFzc0RlZmluaXRpb25bXTtcblxuICBjb21wb25lbnRzOiBTa3lEb2NzRGlyZWN0aXZlRGVmaW5pdGlvbltdO1xuXG4gIGRpcmVjdGl2ZXM6IFNreURvY3NEaXJlY3RpdmVEZWZpbml0aW9uW107XG5cbiAgZW51bWVyYXRpb25zOiBTa3lEb2NzRW51bWVyYXRpb25EZWZpbml0aW9uW107XG5cbiAgaGFzUHJldmlld0ZlYXR1cmVzOiBib29sZWFuO1xuXG4gIGludGVyZmFjZXM6IFNreURvY3NJbnRlcmZhY2VEZWZpbml0aW9uW107XG5cbiAgcGlwZXM6IFNreURvY3NQaXBlRGVmaW5pdGlvbltdO1xuXG4gIHNlcnZpY2VzOiBTa3lEb2NzQ2xhc3NEZWZpbml0aW9uW107XG5cbiAgdHlwZUFsaWFzZXM6IFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uW107XG59XG4iXX0=
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { RouterModule } from '@angular/router';
|
|
4
|
-
import { SkyCodeBlockModule, SkyCodeModule, } from '@blackbaud/skyux-lib-code-block';
|
|
5
|
-
import { SkyIconModule } from '@skyux/icon';
|
|
6
|
-
import { SkyStatusIndicatorModule } from '@skyux/indicators';
|
|
7
|
-
import { SkyDefinitionListModule } from '@skyux/layout';
|
|
8
|
-
import { SkyDocsHeadingAnchorModule } from '../heading-anchor/heading-anchor.module';
|
|
9
|
-
import { SkyDocsMarkdownModule } from '../markdown/markdown.module';
|
|
10
|
-
import { SkyDocsSafeHtmlModule } from '../safe-html/safe-html.module';
|
|
11
|
-
import { SkyDocsCallSignatureDefinitionComponent } from './call-signature-definition.component';
|
|
12
|
-
import { SkyDocsDirectiveDefinitionComponent } from './directive-definition.component';
|
|
13
|
-
import { SkyDocsEnumerationDefinitionComponent } from './enumeration-definition.component';
|
|
14
|
-
import { SkyDocsInterfaceDefinitionComponent } from './interface-definition.component';
|
|
15
|
-
import { SkyDocsMethodDefinitionsComponent } from './method-definitions.component';
|
|
16
|
-
import { SkyDocsPipeDefinitionComponent } from './pipe-definition.component';
|
|
17
|
-
import { SkyDocsPropertyDefinitionsComponent } from './property-definitions.component';
|
|
18
|
-
import { SkyDocsClassDefinitionComponent } from './class-definition.component';
|
|
19
|
-
import { SkyDocsTypeAliasDefinitionComponent } from './type-alias-definition.component';
|
|
20
|
-
import { SkyDocsTypeAnchorLinksPipe } from './type-anchor-links.pipe';
|
|
21
|
-
import { SkyDocsPreviewIndicatorComponent } from './preview-feature-indicator.component';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
export class SkyDocsTypeDefinitionsModule {
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsModule, declarations: [SkyDocsCallSignatureDefinitionComponent,
|
|
26
|
-
SkyDocsClassDefinitionComponent,
|
|
27
|
-
SkyDocsDirectiveDefinitionComponent,
|
|
28
|
-
SkyDocsEnumerationDefinitionComponent,
|
|
29
|
-
SkyDocsInterfaceDefinitionComponent,
|
|
30
|
-
SkyDocsMethodDefinitionsComponent,
|
|
31
|
-
SkyDocsPipeDefinitionComponent,
|
|
32
|
-
SkyDocsPropertyDefinitionsComponent,
|
|
33
|
-
SkyDocsTypeAliasDefinitionComponent,
|
|
34
|
-
SkyDocsTypeAnchorLinksPipe], imports: [CommonModule,
|
|
35
|
-
RouterModule,
|
|
36
|
-
SkyCodeBlockModule,
|
|
37
|
-
SkyCodeModule,
|
|
38
|
-
SkyDefinitionListModule,
|
|
39
|
-
SkyDocsHeadingAnchorModule,
|
|
40
|
-
SkyDocsMarkdownModule,
|
|
41
|
-
SkyDocsPreviewIndicatorComponent,
|
|
42
|
-
SkyDocsSafeHtmlModule,
|
|
43
|
-
SkyIconModule,
|
|
44
|
-
SkyStatusIndicatorModule], exports: [SkyDocsCallSignatureDefinitionComponent,
|
|
45
|
-
SkyDocsClassDefinitionComponent,
|
|
46
|
-
SkyDocsDirectiveDefinitionComponent,
|
|
47
|
-
SkyDocsEnumerationDefinitionComponent,
|
|
48
|
-
SkyDocsInterfaceDefinitionComponent,
|
|
49
|
-
SkyDocsMethodDefinitionsComponent,
|
|
50
|
-
SkyDocsPipeDefinitionComponent,
|
|
51
|
-
SkyDocsPropertyDefinitionsComponent,
|
|
52
|
-
SkyDocsTypeAliasDefinitionComponent,
|
|
53
|
-
SkyDocsTypeAnchorLinksPipe] }); }
|
|
54
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsModule, imports: [CommonModule,
|
|
55
|
-
RouterModule,
|
|
56
|
-
SkyCodeBlockModule,
|
|
57
|
-
SkyCodeModule,
|
|
58
|
-
SkyDefinitionListModule,
|
|
59
|
-
SkyDocsHeadingAnchorModule,
|
|
60
|
-
SkyDocsMarkdownModule,
|
|
61
|
-
SkyDocsPreviewIndicatorComponent,
|
|
62
|
-
SkyDocsSafeHtmlModule,
|
|
63
|
-
SkyIconModule,
|
|
64
|
-
SkyStatusIndicatorModule] }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsModule, decorators: [{
|
|
67
|
-
type: NgModule,
|
|
68
|
-
args: [{
|
|
69
|
-
imports: [
|
|
70
|
-
CommonModule,
|
|
71
|
-
RouterModule,
|
|
72
|
-
SkyCodeBlockModule,
|
|
73
|
-
SkyCodeModule,
|
|
74
|
-
SkyDefinitionListModule,
|
|
75
|
-
SkyDocsHeadingAnchorModule,
|
|
76
|
-
SkyDocsMarkdownModule,
|
|
77
|
-
SkyDocsPreviewIndicatorComponent,
|
|
78
|
-
SkyDocsSafeHtmlModule,
|
|
79
|
-
SkyIconModule,
|
|
80
|
-
SkyStatusIndicatorModule,
|
|
81
|
-
],
|
|
82
|
-
declarations: [
|
|
83
|
-
SkyDocsCallSignatureDefinitionComponent,
|
|
84
|
-
SkyDocsClassDefinitionComponent,
|
|
85
|
-
SkyDocsDirectiveDefinitionComponent,
|
|
86
|
-
SkyDocsEnumerationDefinitionComponent,
|
|
87
|
-
SkyDocsInterfaceDefinitionComponent,
|
|
88
|
-
SkyDocsMethodDefinitionsComponent,
|
|
89
|
-
SkyDocsPipeDefinitionComponent,
|
|
90
|
-
SkyDocsPropertyDefinitionsComponent,
|
|
91
|
-
SkyDocsTypeAliasDefinitionComponent,
|
|
92
|
-
SkyDocsTypeAnchorLinksPipe,
|
|
93
|
-
],
|
|
94
|
-
exports: [
|
|
95
|
-
SkyDocsCallSignatureDefinitionComponent,
|
|
96
|
-
SkyDocsClassDefinitionComponent,
|
|
97
|
-
SkyDocsDirectiveDefinitionComponent,
|
|
98
|
-
SkyDocsEnumerationDefinitionComponent,
|
|
99
|
-
SkyDocsInterfaceDefinitionComponent,
|
|
100
|
-
SkyDocsMethodDefinitionsComponent,
|
|
101
|
-
SkyDocsPipeDefinitionComponent,
|
|
102
|
-
SkyDocsPropertyDefinitionsComponent,
|
|
103
|
-
SkyDocsTypeAliasDefinitionComponent,
|
|
104
|
-
SkyDocsTypeAnchorLinksPipe,
|
|
105
|
-
],
|
|
106
|
-
}]
|
|
107
|
-
}] });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL3R5cGUtZGVmaW5pdGlvbnMvdHlwZS1kZWZpbml0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsYUFBYSxHQUNkLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFaEcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkYsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBeUN6RixNQUFNLE9BQU8sNEJBQTRCOytHQUE1Qiw0QkFBNEI7Z0hBQTVCLDRCQUE0QixpQkF4QnJDLHVDQUF1QztZQUN2QywrQkFBK0I7WUFDL0IsbUNBQW1DO1lBQ25DLHFDQUFxQztZQUNyQyxtQ0FBbUM7WUFDbkMsaUNBQWlDO1lBQ2pDLDhCQUE4QjtZQUM5QixtQ0FBbUM7WUFDbkMsbUNBQW1DO1lBQ25DLDBCQUEwQixhQXRCMUIsWUFBWTtZQUNaLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIscUJBQXFCO1lBQ3JCLGdDQUFnQztZQUNoQyxxQkFBcUI7WUFDckIsYUFBYTtZQUNiLHdCQUF3QixhQWV4Qix1Q0FBdUM7WUFDdkMsK0JBQStCO1lBQy9CLG1DQUFtQztZQUNuQyxxQ0FBcUM7WUFDckMsbUNBQW1DO1lBQ25DLGlDQUFpQztZQUNqQyw4QkFBOEI7WUFDOUIsbUNBQW1DO1lBQ25DLG1DQUFtQztZQUNuQywwQkFBMEI7Z0hBR2pCLDRCQUE0QixZQXJDckMsWUFBWTtZQUNaLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIscUJBQXFCO1lBQ3JCLGdDQUFnQztZQUNoQyxxQkFBcUI7WUFDckIsYUFBYTtZQUNiLHdCQUF3Qjs7NEZBMkJmLDRCQUE0QjtrQkF2Q3hDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsZ0NBQWdDO3dCQUNoQyxxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2Isd0JBQXdCO3FCQUN6QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osdUNBQXVDO3dCQUN2QywrQkFBK0I7d0JBQy9CLG1DQUFtQzt3QkFDbkMscUNBQXFDO3dCQUNyQyxtQ0FBbUM7d0JBQ25DLGlDQUFpQzt3QkFDakMsOEJBQThCO3dCQUM5QixtQ0FBbUM7d0JBQ25DLG1DQUFtQzt3QkFDbkMsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUNBQXVDO3dCQUN2QywrQkFBK0I7d0JBQy9CLG1DQUFtQzt3QkFDbkMscUNBQXFDO3dCQUNyQyxtQ0FBbUM7d0JBQ25DLGlDQUFpQzt3QkFDakMsOEJBQThCO3dCQUM5QixtQ0FBbUM7d0JBQ25DLG1DQUFtQzt3QkFDbkMsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7XG4gIFNreUNvZGVCbG9ja01vZHVsZSxcbiAgU2t5Q29kZU1vZHVsZSxcbn0gZnJvbSAnQGJsYWNrYmF1ZC9za3l1eC1saWItY29kZS1ibG9jayc7XG5cbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5cbmltcG9ydCB7IFNreURlZmluaXRpb25MaXN0TW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7IFNreURvY3NIZWFkaW5nQW5jaG9yTW9kdWxlIH0gZnJvbSAnLi4vaGVhZGluZy1hbmNob3IvaGVhZGluZy1hbmNob3IubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5RG9jc01hcmtkb3duTW9kdWxlIH0gZnJvbSAnLi4vbWFya2Rvd24vbWFya2Rvd24ubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5RG9jc1NhZmVIdG1sTW9kdWxlIH0gZnJvbSAnLi4vc2FmZS1odG1sL3NhZmUtaHRtbC5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NhbGwtc2lnbmF0dXJlLWRlZmluaXRpb24uY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5RG9jc0RpcmVjdGl2ZURlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2RpcmVjdGl2ZS1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreURvY3NFbnVtZXJhdGlvbkRlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2VudW1lcmF0aW9uLWRlZmluaXRpb24uY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5RG9jc0ludGVyZmFjZURlZmluaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ludGVyZmFjZS1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreURvY3NNZXRob2REZWZpbml0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vbWV0aG9kLWRlZmluaXRpb25zLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreURvY3NQaXBlRGVmaW5pdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGlwZS1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreURvY3NQcm9wZXJ0eURlZmluaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9wZXJ0eS1kZWZpbml0aW9ucy5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2xhc3NEZWZpbml0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jbGFzcy1kZWZpbml0aW9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi90eXBlLWFsaWFzLWRlZmluaXRpb24uY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVBbmNob3JMaW5rc1BpcGUgfSBmcm9tICcuL3R5cGUtYW5jaG9yLWxpbmtzLnBpcGUnO1xuaW1wb3J0IHsgU2t5RG9jc1ByZXZpZXdJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3ByZXZpZXctZmVhdHVyZS1pbmRpY2F0b3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2t5Q29kZUJsb2NrTW9kdWxlLFxuICAgIFNreUNvZGVNb2R1bGUsXG4gICAgU2t5RGVmaW5pdGlvbkxpc3RNb2R1bGUsXG4gICAgU2t5RG9jc0hlYWRpbmdBbmNob3JNb2R1bGUsXG4gICAgU2t5RG9jc01hcmtkb3duTW9kdWxlLFxuICAgIFNreURvY3NQcmV2aWV3SW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFNreURvY3NTYWZlSHRtbE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVN0YXR1c0luZGljYXRvck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgIFNreURvY3NDbGFzc0RlZmluaXRpb25Db21wb25lbnQsXG4gICAgU2t5RG9jc0RpcmVjdGl2ZURlZmluaXRpb25Db21wb25lbnQsXG4gICAgU2t5RG9jc0VudW1lcmF0aW9uRGVmaW5pdGlvbkNvbXBvbmVudCxcbiAgICBTa3lEb2NzSW50ZXJmYWNlRGVmaW5pdGlvbkNvbXBvbmVudCxcbiAgICBTa3lEb2NzTWV0aG9kRGVmaW5pdGlvbnNDb21wb25lbnQsXG4gICAgU2t5RG9jc1BpcGVEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgIFNreURvY3NQcm9wZXJ0eURlZmluaXRpb25zQ29tcG9uZW50LFxuICAgIFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgIFNreURvY3NUeXBlQW5jaG9yTGlua3NQaXBlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgIFNreURvY3NDbGFzc0RlZmluaXRpb25Db21wb25lbnQsXG4gICAgU2t5RG9jc0RpcmVjdGl2ZURlZmluaXRpb25Db21wb25lbnQsXG4gICAgU2t5RG9jc0VudW1lcmF0aW9uRGVmaW5pdGlvbkNvbXBvbmVudCxcbiAgICBTa3lEb2NzSW50ZXJmYWNlRGVmaW5pdGlvbkNvbXBvbmVudCxcbiAgICBTa3lEb2NzTWV0aG9kRGVmaW5pdGlvbnNDb21wb25lbnQsXG4gICAgU2t5RG9jc1BpcGVEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgIFNreURvY3NQcm9wZXJ0eURlZmluaXRpb25zQ29tcG9uZW50LFxuICAgIFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uQ29tcG9uZW50LFxuICAgIFNreURvY3NUeXBlQW5jaG9yTGlua3NQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzVHlwZURlZmluaXRpb25zTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TypeDocKind } from './typedoc-types';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./type-definitions-provider";
|
|
5
|
-
import * as i2 from "./typedoc-adapter.service";
|
|
6
|
-
/**
|
|
7
|
-
* Handles all type definitions that have been converted from the third-party documentation generator.
|
|
8
|
-
*/
|
|
9
|
-
export class SkyDocsTypeDefinitionsService {
|
|
10
|
-
constructor(typeDefinitionsProvider, adapter) {
|
|
11
|
-
this.typeDefinitionsProvider = typeDefinitionsProvider;
|
|
12
|
-
this.adapter = adapter;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Returns type definitions from a specific source code location.
|
|
16
|
-
* @param sourceCodePath The directory of the source code you wish to pull type definitions from,
|
|
17
|
-
* relative to the application's root directory.
|
|
18
|
-
*/
|
|
19
|
-
getTypeDefinitions(sourceCodePath, additionalSourceCodePaths) {
|
|
20
|
-
if (!sourceCodePath) {
|
|
21
|
-
throw new Error('The `sourceCodePath` parameter is required');
|
|
22
|
-
}
|
|
23
|
-
const sourceCodePaths = additionalSourceCodePaths && additionalSourceCodePaths.length > 0
|
|
24
|
-
? [sourceCodePath].concat(additionalSourceCodePaths)
|
|
25
|
-
: [sourceCodePath];
|
|
26
|
-
sourceCodePaths.forEach((path) => {
|
|
27
|
-
if (!path.endsWith('/') && !path.endsWith('.ts')) {
|
|
28
|
-
throw new Error('Source code paths must end with a forward slash (`/`) or `.ts`.');
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
const allDefinitions = this.typeDefinitionsProvider.typeDefinitions;
|
|
32
|
-
const types = {
|
|
33
|
-
classes: [],
|
|
34
|
-
components: [],
|
|
35
|
-
directives: [],
|
|
36
|
-
enumerations: [],
|
|
37
|
-
interfaces: [],
|
|
38
|
-
pipes: [],
|
|
39
|
-
services: [],
|
|
40
|
-
typeAliases: [],
|
|
41
|
-
hasPreviewFeatures: false,
|
|
42
|
-
};
|
|
43
|
-
if (!allDefinitions) {
|
|
44
|
-
console.warn(`No types were found for this project!`);
|
|
45
|
-
return types;
|
|
46
|
-
}
|
|
47
|
-
sourceCodePaths.forEach((path) => {
|
|
48
|
-
const requestedDir = path
|
|
49
|
-
.replace(/src\/app\/public\//, '')
|
|
50
|
-
.replace(/^\//, ''); // remove first slash.
|
|
51
|
-
// Only process types that match the requested source code location.
|
|
52
|
-
const typeDefinitions = allDefinitions.filter((i) => i.sources && i.sources[0].fileName.match(requestedDir));
|
|
53
|
-
if (typeDefinitions.length === 0) {
|
|
54
|
-
console.warn(`Type definitions were not found for location: ${requestedDir}`);
|
|
55
|
-
}
|
|
56
|
-
typeDefinitions.forEach((item) => {
|
|
57
|
-
const decorator = item.decorators && item.decorators[0]?.name;
|
|
58
|
-
const kind = item.kind;
|
|
59
|
-
switch (decorator) {
|
|
60
|
-
case 'Component':
|
|
61
|
-
const componentType = this.adapter.toDirectiveDefinition(item);
|
|
62
|
-
types.components.push(componentType);
|
|
63
|
-
types.hasPreviewFeatures ||= componentType.hasPreviewFeatures;
|
|
64
|
-
break;
|
|
65
|
-
case 'Directive':
|
|
66
|
-
const directiveType = this.adapter.toDirectiveDefinition(item);
|
|
67
|
-
types.directives.push(directiveType);
|
|
68
|
-
types.hasPreviewFeatures ||= directiveType.hasPreviewFeatures;
|
|
69
|
-
break;
|
|
70
|
-
case 'Injectable':
|
|
71
|
-
const serviceType = this.adapter.toClassDefinition(item);
|
|
72
|
-
types.services.push(serviceType);
|
|
73
|
-
types.hasPreviewFeatures ||= serviceType.hasPreviewFeatures;
|
|
74
|
-
break;
|
|
75
|
-
case 'NgModule':
|
|
76
|
-
// Don't document modules.
|
|
77
|
-
break;
|
|
78
|
-
case 'Pipe':
|
|
79
|
-
const pipeType = this.adapter.toPipeDefinition(item);
|
|
80
|
-
types.pipes.push(pipeType);
|
|
81
|
-
types.hasPreviewFeatures ||= pipeType.transformMethod.isPreview;
|
|
82
|
-
break;
|
|
83
|
-
default:
|
|
84
|
-
/*tslint:disable-next-line:switch-default*/
|
|
85
|
-
switch (kind) {
|
|
86
|
-
case TypeDocKind.Class:
|
|
87
|
-
const classType = this.adapter.toClassDefinition(item);
|
|
88
|
-
types.classes.push(classType);
|
|
89
|
-
types.hasPreviewFeatures ||= classType.hasPreviewFeatures;
|
|
90
|
-
break;
|
|
91
|
-
case TypeDocKind.Interface:
|
|
92
|
-
const interfaceType = this.adapter.toInterfaceDefinition(item);
|
|
93
|
-
types.interfaces.push(interfaceType);
|
|
94
|
-
types.hasPreviewFeatures ||= interfaceType.hasPreviewFeatures;
|
|
95
|
-
break;
|
|
96
|
-
case TypeDocKind.Enum:
|
|
97
|
-
const enumType = this.adapter.toEnumerationDefinition(item);
|
|
98
|
-
types.enumerations.push(enumType);
|
|
99
|
-
types.hasPreviewFeatures ||= enumType.hasPreviewFeatures;
|
|
100
|
-
break;
|
|
101
|
-
case TypeDocKind.TypeAlias:
|
|
102
|
-
const typeAliasType = this.adapter.toTypeAliasDefinition(item);
|
|
103
|
-
types.typeAliases.push(typeAliasType);
|
|
104
|
-
types.hasPreviewFeatures ||= !!typeAliasType.isPreview;
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
return types;
|
|
111
|
-
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsService, deps: [{ token: i1.SkyDocsTypeDefinitionsProvider }, { token: i2.SkyDocsTypeDocAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
113
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsService, providedIn: 'any' }); }
|
|
114
|
-
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsTypeDefinitionsService, decorators: [{
|
|
116
|
-
type: Injectable,
|
|
117
|
-
args: [{
|
|
118
|
-
providedIn: 'any',
|
|
119
|
-
}]
|
|
120
|
-
}], ctorParameters: () => [{ type: i1.SkyDocsTypeDefinitionsProvider }, { type: i2.SkyDocsTypeDocAdapterService }] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy90eXBlLWRlZmluaXRpb25zL3R5cGUtZGVmaW5pdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUU5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDVSx1QkFBdUQsRUFDdkQsT0FBcUM7UUFEckMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFnQztRQUN2RCxZQUFPLEdBQVAsT0FBTyxDQUE4QjtJQUM1QyxDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUN2QixjQUFzQixFQUN0Qix5QkFBb0M7UUFFcEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQ25CLHlCQUF5QixJQUFJLHlCQUF5QixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2QixlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE1BQU0sSUFBSSxLQUFLLENBQ2IsaUVBQWlFLENBQ2xFLENBQUM7WUFDSixDQUFD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QUFhLENBQUMsQ0FBQztnQ0FDdEMsS0FBSyxDQUFDLGtCQUFrQixLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO2dDQUN2RCxNQUFNO3dCQUNWLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBMUhVLDZCQUE2QjttSEFBN0IsNkJBQTZCLGNBRjVCLEtBQUs7OzRGQUVOLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlRGVmaW5pdGlvbnMgfSBmcm9tICcuL3R5cGUtZGVmaW5pdGlvbnMnO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZURlZmluaXRpb25zUHJvdmlkZXIgfSBmcm9tICcuL3R5cGUtZGVmaW5pdGlvbnMtcHJvdmlkZXInO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZURvY0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90eXBlZG9jLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUeXBlRG9jS2luZCB9IGZyb20gJy4vdHlwZWRvYy10eXBlcyc7XG5cbi8qKlxuICogSGFuZGxlcyBhbGwgdHlwZSBkZWZpbml0aW9ucyB0aGF0IGhhdmUgYmVlbiBjb252ZXJ0ZWQgZnJvbSB0aGUgdGhpcmQtcGFydHkgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3IuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NUeXBlRGVmaW5pdGlvbnNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0eXBlRGVmaW5pdGlvbnNQcm92aWRlcjogU2t5RG9jc1R5cGVEZWZpbml0aW9uc1Byb3ZpZGVyLFxuICAgIHByaXZhdGUgYWRhcHRlcjogU2t5RG9jc1R5cGVEb2NBZGFwdGVyU2VydmljZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHR5cGUgZGVmaW5pdGlvbnMgZnJvbSBhIHNwZWNpZmljIHNvdXJjZSBjb2RlIGxvY2F0aW9uLlxuICAgKiBAcGFyYW0gc291cmNlQ29kZVBhdGggVGhlIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIGNvZGUgeW91IHdpc2ggdG8gcHVsbCB0eXBlIGRlZmluaXRpb25zIGZyb20sXG4gICAqIHJlbGF0aXZlIHRvIHRoZSBhcHBsaWNhdGlvbidzIHJvb3QgZGlyZWN0b3J5LlxuICAgKi9cbiAgcHVibGljIGdldFR5cGVEZWZpbml0aW9ucyhcbiAgICBzb3VyY2VDb2RlUGF0aDogc3RyaW5nLFxuICAgIGFkZGl0aW9uYWxTb3VyY2VDb2RlUGF0aHM/OiBzdHJpbmdbXSxcbiAgKTogU2t5RG9jc1R5cGVEZWZpbml0aW9ucyB7XG4gICAgaWYgKCFzb3VyY2VDb2RlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYHNvdXJjZUNvZGVQYXRoYCBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VDb2RlUGF0aHM6IHN0cmluZ1tdID1cbiAgICAgIGFkZGl0aW9uYWxTb3VyY2VDb2RlUGF0aHMgJiYgYWRkaXRpb25hbFNvdXJjZUNvZGVQYXRocy5sZW5ndGggPiAwXG4gICAgICAgID8gW3NvdXJjZUNvZGVQYXRoXS5jb25jYXQoYWRkaXRpb25hbFNvdXJjZUNvZGVQYXRocylcbiAgICAgICAgOiBbc291cmNlQ29kZVBhdGhdO1xuXG4gICAgc291cmNlQ29kZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIGlmICghcGF0aC5lbmRzV2l0aCgnLycpICYmICFwYXRoLmVuZHNXaXRoKCcudHMnKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1NvdXJjZSBjb2RlIHBhdGhzIG11c3QgZW5kIHdpdGggYSBmb3J3YXJkIHNsYXNoIChgL2ApIG9yIGAudHNgLicsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBhbGxEZWZpbml0aW9ucyA9IHRoaXMudHlwZURlZmluaXRpb25zUHJvdmlkZXIudHlwZURlZmluaXRpb25zO1xuICAgIGNvbnN0IHR5cGVzOiBTa3lEb2NzVHlwZURlZmluaXRpb25zID0ge1xuICAgICAgY2xhc3NlczogW10sXG4gICAgICBjb21wb25lbnRzOiBbXSxcbiAgICAgIGRpcmVjdGl2ZXM6IFtdLFxuICAgICAgZW51bWVyYXRpb25zOiBbXSxcbiAgICAgIGludGVyZmFjZXM6IFtdLFxuICAgICAgcGlwZXM6IFtdLFxuICAgICAgc2VydmljZXM6IFtdLFxuICAgICAgdHlwZUFsaWFzZXM6IFtdLFxuICAgICAgaGFzUHJldmlld0ZlYXR1cmVzOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgaWYgKCFhbGxEZWZpbml0aW9ucykge1xuICAgICAgY29uc29sZS53YXJuKGBObyB0eXBlcyB3ZXJlIGZvdW5kIGZvciB0aGlzIHByb2plY3QhYCk7XG4gICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuXG4gICAgc291cmNlQ29kZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RlZERpciA9IHBhdGhcbiAgICAgICAgLnJlcGxhY2UoL3NyY1xcL2FwcFxcL3B1YmxpY1xcLy8sICcnKVxuICAgICAgICAucmVwbGFjZSgvXlxcLy8sICcnKTsgLy8gcmVtb3ZlIGZpcnN0IHNsYXNoLlxuXG4gICAgICAvLyBPbmx5IHByb2Nlc3MgdHlwZXMgdGhhdCBtYXRjaCB0aGUgcmVxdWVzdGVkIHNvdXJjZSBjb2RlIGxvY2F0aW9uLlxuICAgICAgY29uc3QgdHlwZURlZmluaXRpb25zID0gYWxsRGVmaW5pdGlvbnMuZmlsdGVyKFxuICAgICAgICAoaSkgPT4gaS5zb3VyY2VzICYmIGkuc291cmNlc1swXS5maWxlTmFtZS5tYXRjaChyZXF1ZXN0ZWREaXIpLFxuICAgICAgKTtcbiAgICAgIGlmICh0eXBlRGVmaW5pdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgVHlwZSBkZWZpbml0aW9ucyB3ZXJlIG5vdCBmb3VuZCBmb3IgbG9jYXRpb246ICR7cmVxdWVzdGVkRGlyfWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHR5cGVEZWZpbml0aW9ucy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlY29yYXRvciA9IGl0ZW0uZGVjb3JhdG9ycyAmJiBpdGVtLmRlY29yYXRvcnNbMF0/Lm5hbWU7XG4gICAgICAgIGNvbnN0IGtpbmQgPSBpdGVtLmtpbmQ7XG5cbiAgICAgICAgc3dpdGNoIChkZWNvcmF0b3IpIHtcbiAgICAgICAgICBjYXNlICdDb21wb25lbnQnOlxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuYWRhcHRlci50b0RpcmVjdGl2ZURlZmluaXRpb24oaXRlbSk7XG4gICAgICAgICAgICB0eXBlcy5jb21wb25lbnRzLnB1c2goY29tcG9uZW50VHlwZSk7XG4gICAgICAgICAgICB0eXBlcy5oYXNQcmV2aWV3RmVhdHVyZXMgfHw9IGNvbXBvbmVudFR5cGUuaGFzUHJldmlld0ZlYXR1cmVzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnRGlyZWN0aXZlJzpcbiAgICAgICAgICAgIGNvbnN0IGRpcmVjdGl2ZVR5cGUgPSB0aGlzLmFkYXB0ZXIudG9EaXJlY3RpdmVEZWZpbml0aW9uKGl0ZW0pO1xuICAgICAgICAgICAgdHlwZXMuZGlyZWN0aXZlcy5wdXNoKGRpcmVjdGl2ZVR5cGUpO1xuICAgICAgICAgICAgdHlwZXMuaGFzUHJldmlld0ZlYXR1cmVzIHx8PSBkaXJlY3RpdmVUeXBlLmhhc1ByZXZpZXdGZWF0dXJlcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0luamVjdGFibGUnOlxuICAgICAgICAgICAgY29uc3Qgc2VydmljZVR5cGUgPSB0aGlzLmFkYXB0ZXIudG9DbGFzc0RlZmluaXRpb24oaXRlbSk7XG4gICAgICAgICAgICB0eXBlcy5zZXJ2aWNlcy5wdXNoKHNlcnZpY2VUeXBlKTtcbiAgICAgICAgICAgIHR5cGVzLmhhc1ByZXZpZXdGZWF0dXJlcyB8fD0gc2VydmljZVR5cGUuaGFzUHJldmlld0ZlYXR1cmVzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnTmdNb2R1bGUnOlxuICAgICAgICAgICAgLy8gRG9uJ3QgZG9jdW1lbnQgbW9kdWxlcy5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1BpcGUnOlxuICAgICAgICAgICAgY29uc3QgcGlwZVR5cGUgPSB0aGlzLmFkYXB0ZXIudG9QaXBlRGVmaW5pdGlvbihpdGVtKTtcbiAgICAgICAgICAgIHR5cGVzLnBpcGVzLnB1c2gocGlwZVR5cGUpO1xuICAgICAgICAgICAgdHlwZXMuaGFzUHJldmlld0ZlYXR1cmVzIHx8PSBwaXBlVHlwZS50cmFuc2Zvcm1NZXRob2QuaXNQcmV2aWV3O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIC8qdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0Ki9cbiAgICAgICAgICAgIHN3aXRjaCAoa2luZCkge1xuICAgICAgICAgICAgICBjYXNlIFR5cGVEb2NLaW5kLkNsYXNzOlxuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzVHlwZSA9IHRoaXMuYWRhcHRlci50b0NsYXNzRGVmaW5pdGlvbihpdGVtKTtcbiAgICAgICAgICAgICAgICB0eXBlcy5jbGFzc2VzLnB1c2goY2xhc3NUeXBlKTtcbiAgICAgICAgICAgICAgICB0eXBlcy5oYXNQcmV2aWV3RmVhdHVyZXMgfHw9IGNsYXNzVHlwZS5oYXNQcmV2aWV3RmVhdHVyZXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgVHlwZURvY0tpbmQuSW50ZXJmYWNlOlxuICAgICAgICAgICAgICAgIGNvbnN0IGludGVyZmFjZVR5cGUgPSB0aGlzLmFkYXB0ZXIudG9JbnRlcmZhY2VEZWZpbml0aW9uKGl0ZW0pO1xuICAgICAgICAgICAgICAgIHR5cGVzLmludGVyZmFjZXMucHVzaChpbnRlcmZhY2VUeXBlKTtcbiAgICAgICAgICAgICAgICB0eXBlcy5oYXNQcmV2aWV3RmVhdHVyZXMgfHw9IGludGVyZmFjZVR5cGUuaGFzUHJldmlld0ZlYXR1cmVzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIFR5cGVEb2NLaW5kLkVudW06XG4gICAgICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSB0aGlzLmFkYXB0ZXIudG9FbnVtZXJhdGlvbkRlZmluaXRpb24oaXRlbSk7XG4gICAgICAgICAgICAgICAgdHlwZXMuZW51bWVyYXRpb25zLnB1c2goZW51bVR5cGUpO1xuICAgICAgICAgICAgICAgIHR5cGVzLmhhc1ByZXZpZXdGZWF0dXJlcyB8fD0gZW51bVR5cGUuaGFzUHJldmlld0ZlYXR1cmVzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIFR5cGVEb2NLaW5kLlR5cGVBbGlhczpcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlQWxpYXNUeXBlID0gdGhpcy5hZGFwdGVyLnRvVHlwZUFsaWFzRGVmaW5pdGlvbihpdGVtKTtcbiAgICAgICAgICAgICAgICB0eXBlcy50eXBlQWxpYXNlcy5wdXNoKHR5cGVBbGlhc1R5cGUpO1xuICAgICAgICAgICAgICAgIHR5cGVzLmhhc1ByZXZpZXdGZWF0dXJlcyB8fD0gISF0eXBlQWxpYXNUeXBlLmlzUHJldmlldztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1wYXJhbWV0ZXItZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLXBhcmFtZXRlci1kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lEb2NzVHlwZURlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtZGVmaW5pdGlvbic7XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgdHlwZSBwYXJhbWV0ZXIsIGUuZy4gYDxUPmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RG9jc1R5cGVQYXJhbWV0ZXJEZWZpbml0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuXG4gIHR5cGU/OiBTa3lEb2NzVHlwZURlZmluaXRpb247XG59XG4iXX0=
|