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