@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.
Files changed (100) hide show
  1. package/css/docs-tools.css +2 -2
  2. package/fesm2022/skyux-docs-tools.mjs +232 -247
  3. package/fesm2022/skyux-docs-tools.mjs.map +1 -1
  4. package/modules/shared/sky-docs-tools-resources.module.d.ts +0 -4
  5. package/package.json +19 -21
  6. package/esm2022/docs-tools.module.mjs +0 -36
  7. package/esm2022/modules/anatomy/anatomy-item.component.mjs +0 -17
  8. package/esm2022/modules/anatomy/anatomy-thumbnail.component.mjs +0 -27
  9. package/esm2022/modules/anatomy/anatomy.component.mjs +0 -25
  10. package/esm2022/modules/anatomy/anatomy.module.mjs +0 -46
  11. package/esm2022/modules/code-examples/code-example-module-dependencies.mjs +0 -2
  12. package/esm2022/modules/code-examples/code-example-theme.mjs +0 -6
  13. package/esm2022/modules/code-examples/code-example.component.mjs +0 -68
  14. package/esm2022/modules/code-examples/code-example.mjs +0 -2
  15. package/esm2022/modules/code-examples/code-examples-editor.service.mjs +0 -368
  16. package/esm2022/modules/code-examples/code-examples.component.mjs +0 -98
  17. package/esm2022/modules/code-examples/code-examples.module.mjs +0 -41
  18. package/esm2022/modules/demo/demo-content-alignment.mjs +0 -2
  19. package/esm2022/modules/demo/demo-control-panel-change.mjs +0 -2
  20. package/esm2022/modules/demo/demo-control-panel-checkbox.component.mjs +0 -84
  21. package/esm2022/modules/demo/demo-control-panel-radio-choice.mjs +0 -2
  22. package/esm2022/modules/demo/demo-control-panel-radio-group.component.mjs +0 -80
  23. package/esm2022/modules/demo/demo-control-panel-section.component.mjs +0 -22
  24. package/esm2022/modules/demo/demo-control-panel.component.mjs +0 -85
  25. package/esm2022/modules/demo/demo-custom-control-panel.component.mjs +0 -20
  26. package/esm2022/modules/demo/demo.component.mjs +0 -58
  27. package/esm2022/modules/demo/demo.module.mjs +0 -72
  28. package/esm2022/modules/demo-page/demo-page-dom-adapter.service.mjs +0 -75
  29. package/esm2022/modules/demo-page/demo-page-module-info.component.mjs +0 -14
  30. package/esm2022/modules/demo-page/demo-page-section.component.mjs +0 -43
  31. package/esm2022/modules/demo-page/demo-page-summary.component.mjs +0 -21
  32. package/esm2022/modules/demo-page/demo-page-title.service.mjs +0 -28
  33. package/esm2022/modules/demo-page/demo-page-type-definitions.component.mjs +0 -24
  34. package/esm2022/modules/demo-page/demo-page.component.mjs +0 -190
  35. package/esm2022/modules/demo-page/demo-page.module.mjs +0 -94
  36. package/esm2022/modules/design-guidelines/design-guideline-thumbnail.component.mjs +0 -27
  37. package/esm2022/modules/design-guidelines/design-guideline.component.mjs +0 -33
  38. package/esm2022/modules/design-guidelines/design-guidelines.component.mjs +0 -11
  39. package/esm2022/modules/design-guidelines/design-guidelines.module.mjs +0 -34
  40. package/esm2022/modules/heading-anchor/heading-anchor.component.mjs +0 -21
  41. package/esm2022/modules/heading-anchor/heading-anchor.module.mjs +0 -20
  42. package/esm2022/modules/markdown/markdown.module.mjs +0 -17
  43. package/esm2022/modules/markdown/markdown.pipe.mjs +0 -20
  44. package/esm2022/modules/module-info/module-info.component.mjs +0 -72
  45. package/esm2022/modules/module-info/module-info.module.mjs +0 -40
  46. package/esm2022/modules/safe-html/safe-html.component.mjs +0 -20
  47. package/esm2022/modules/safe-html/safe-html.module.mjs +0 -18
  48. package/esm2022/modules/shared/docs-tools-component-info.mjs +0 -2
  49. package/esm2022/modules/shared/docs-tools-options.mjs +0 -3
  50. package/esm2022/modules/shared/docs-tools-site-options.mjs +0 -3
  51. package/esm2022/modules/shared/docs-tools-supportal.service.mjs +0 -23
  52. package/esm2022/modules/shared/sky-docs-tools-resources.module.mjs +0 -55
  53. package/esm2022/modules/source-code/source-code-file.mjs +0 -2
  54. package/esm2022/modules/source-code/source-code-provider.mjs +0 -13
  55. package/esm2022/modules/source-code/source-code.service.mjs +0 -42
  56. package/esm2022/modules/thumbnail/thumbnail.component.mjs +0 -28
  57. package/esm2022/modules/thumbnail/thumbnail.module.mjs +0 -19
  58. package/esm2022/modules/type-definitions/anchor-link-service-config.mjs +0 -2
  59. package/esm2022/modules/type-definitions/anchor-link-service-format.mjs +0 -2
  60. package/esm2022/modules/type-definitions/anchor-link.mjs +0 -2
  61. package/esm2022/modules/type-definitions/anchor-link.service.mjs +0 -106
  62. package/esm2022/modules/type-definitions/call-signature-definition.component.mjs +0 -45
  63. package/esm2022/modules/type-definitions/call-signature-definition.mjs +0 -2
  64. package/esm2022/modules/type-definitions/class-definition.component.mjs +0 -20
  65. package/esm2022/modules/type-definitions/class-definition.mjs +0 -2
  66. package/esm2022/modules/type-definitions/comment-tags.mjs +0 -2
  67. package/esm2022/modules/type-definitions/directive-definition.component.mjs +0 -20
  68. package/esm2022/modules/type-definitions/directive-definition.mjs +0 -2
  69. package/esm2022/modules/type-definitions/entry-child-definition.mjs +0 -2
  70. package/esm2022/modules/type-definitions/entry-definition.mjs +0 -2
  71. package/esm2022/modules/type-definitions/enumeration-definition.component.mjs +0 -19
  72. package/esm2022/modules/type-definitions/enumeration-definition.mjs +0 -2
  73. package/esm2022/modules/type-definitions/enumeration-member-definition.mjs +0 -2
  74. package/esm2022/modules/type-definitions/index-signature-definition.mjs +0 -2
  75. package/esm2022/modules/type-definitions/interface-definition.component.mjs +0 -36
  76. package/esm2022/modules/type-definitions/interface-definition.mjs +0 -2
  77. package/esm2022/modules/type-definitions/interface-property-definition.mjs +0 -2
  78. package/esm2022/modules/type-definitions/method-definition.mjs +0 -2
  79. package/esm2022/modules/type-definitions/method-definitions.component.mjs +0 -72
  80. package/esm2022/modules/type-definitions/parameter-definition.mjs +0 -2
  81. package/esm2022/modules/type-definitions/pipe-definition.component.mjs +0 -20
  82. package/esm2022/modules/type-definitions/pipe-definition.mjs +0 -2
  83. package/esm2022/modules/type-definitions/preview-feature-indicator.component.mjs +0 -13
  84. package/esm2022/modules/type-definitions/property-decorator.mjs +0 -2
  85. package/esm2022/modules/type-definitions/property-definition.mjs +0 -2
  86. package/esm2022/modules/type-definitions/property-definitions.component.mjs +0 -66
  87. package/esm2022/modules/type-definitions/type-alias-definition.component.mjs +0 -37
  88. package/esm2022/modules/type-definitions/type-alias-definition.mjs +0 -2
  89. package/esm2022/modules/type-definitions/type-anchor-links.pipe.mjs +0 -27
  90. package/esm2022/modules/type-definitions/type-definition.mjs +0 -2
  91. package/esm2022/modules/type-definitions/type-definitions-format.service.mjs +0 -254
  92. package/esm2022/modules/type-definitions/type-definitions-provider.mjs +0 -10
  93. package/esm2022/modules/type-definitions/type-definitions.mjs +0 -2
  94. package/esm2022/modules/type-definitions/type-definitions.module.mjs +0 -108
  95. package/esm2022/modules/type-definitions/type-definitions.service.mjs +0 -121
  96. package/esm2022/modules/type-definitions/type-parameter-definition.mjs +0 -2
  97. package/esm2022/modules/type-definitions/typedoc-adapter.service.mjs +0 -614
  98. package/esm2022/modules/type-definitions/typedoc-types.mjs +0 -32
  99. package/esm2022/public-api.mjs +0 -69
  100. 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, '&lt;').replace(/>/g, '&gt;');
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=