@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.
Files changed (183) hide show
  1. package/README.md +8 -0
  2. package/esm2020/docs-tools.module.mjs +40 -0
  3. package/esm2020/modules/anatomy/anatomy-item.component.mjs +17 -0
  4. package/esm2020/modules/anatomy/anatomy.component.mjs +24 -0
  5. package/esm2020/modules/anatomy/anatomy.module.mjs +21 -0
  6. package/{esm2015/modules/code-examples/code-example-module-dependencies.js → esm2020/modules/code-examples/code-example-module-dependencies.mjs} +0 -0
  7. package/{esm2015/modules/code-examples/code-example-theme.js → esm2020/modules/code-examples/code-example-theme.mjs} +1 -1
  8. package/esm2020/modules/code-examples/code-example.component.mjs +68 -0
  9. package/esm2020/modules/code-examples/code-example.mjs +2 -0
  10. package/esm2020/modules/code-examples/code-examples-editor.service.mjs +292 -0
  11. package/esm2020/modules/code-examples/code-examples.component.mjs +97 -0
  12. package/esm2020/modules/code-examples/code-examples.module.mjs +43 -0
  13. package/{esm2015/modules/demo/demo-content-alignment.js → esm2020/modules/demo/demo-content-alignment.mjs} +0 -0
  14. package/{esm2015/modules/demo/demo-control-panel-change.js → esm2020/modules/demo/demo-control-panel-change.mjs} +0 -0
  15. package/esm2020/modules/demo/demo-control-panel-checkbox.component.mjs +80 -0
  16. package/{esm2015/modules/demo/demo-control-panel-radio-choice.js → esm2020/modules/demo/demo-control-panel-radio-choice.mjs} +1 -1
  17. package/esm2020/modules/demo/demo-control-panel-radio-group.component.mjs +75 -0
  18. package/esm2020/modules/demo/demo-control-panel-section.component.mjs +22 -0
  19. package/esm2020/modules/demo/demo-control-panel.component.mjs +85 -0
  20. package/esm2020/modules/demo/demo.component.mjs +53 -0
  21. package/esm2020/modules/demo/demo.module.mjs +69 -0
  22. package/esm2020/modules/demo-page/demo-page-dom-adapter.service.mjs +75 -0
  23. package/esm2020/modules/demo-page/demo-page-module-info.component.mjs +14 -0
  24. package/esm2020/modules/demo-page/demo-page-section.component.mjs +43 -0
  25. package/esm2020/modules/demo-page/demo-page-summary.component.mjs +21 -0
  26. package/esm2020/modules/demo-page/demo-page-title.service.mjs +28 -0
  27. package/esm2020/modules/demo-page/demo-page-type-definitions.component.mjs +35 -0
  28. package/esm2020/modules/demo-page/demo-page.component.mjs +134 -0
  29. package/esm2020/modules/demo-page/demo-page.module.mjs +88 -0
  30. package/esm2020/modules/design-guidelines/design-guideline-thumbnail.component.mjs +27 -0
  31. package/esm2020/modules/design-guidelines/design-guideline.component.mjs +33 -0
  32. package/esm2020/modules/design-guidelines/design-guidelines.component.mjs +11 -0
  33. package/esm2020/modules/design-guidelines/design-guidelines.module.mjs +34 -0
  34. package/esm2020/modules/heading-anchor/heading-anchor.component.mjs +21 -0
  35. package/esm2020/modules/heading-anchor/heading-anchor.module.mjs +20 -0
  36. package/esm2020/modules/markdown/markdown.module.mjs +17 -0
  37. package/esm2020/modules/markdown/markdown.pipe.mjs +20 -0
  38. package/esm2020/modules/module-info/module-info.component.mjs +77 -0
  39. package/esm2020/modules/module-info/module-info.module.mjs +42 -0
  40. package/esm2020/modules/safe-html/safe-html.component.mjs +20 -0
  41. package/esm2020/modules/safe-html/safe-html.module.mjs +18 -0
  42. package/{esm2015/modules/shared/docs-tools-component-info.js → esm2020/modules/shared/docs-tools-component-info.mjs} +0 -0
  43. package/{esm2015/modules/shared/docs-tools-options.js → esm2020/modules/shared/docs-tools-options.mjs} +1 -1
  44. package/esm2020/modules/shared/docs-tools-supportal.service.mjs +23 -0
  45. package/esm2020/modules/shared/sky-docs-tools-resources.module.mjs +53 -0
  46. package/{esm2015/modules/source-code/source-code-file.js → esm2020/modules/source-code/source-code-file.mjs} +1 -1
  47. package/esm2020/modules/source-code/source-code-provider.mjs +13 -0
  48. package/esm2020/modules/source-code/source-code.service.mjs +42 -0
  49. package/esm2020/modules/thumbnail/thumbnail.component.mjs +28 -0
  50. package/esm2020/modules/thumbnail/thumbnail.module.mjs +19 -0
  51. package/{esm2015/modules/type-definitions/anchor-link-service-config.js → esm2020/modules/type-definitions/anchor-link-service-config.mjs} +0 -0
  52. package/{esm2015/modules/type-definitions/anchor-link-service-format.js → esm2020/modules/type-definitions/anchor-link-service-format.mjs} +0 -0
  53. package/{esm2015/modules/type-definitions/anchor-link.js → esm2020/modules/type-definitions/anchor-link.mjs} +0 -0
  54. package/esm2020/modules/type-definitions/anchor-link.service.mjs +106 -0
  55. package/esm2020/modules/type-definitions/call-signature-definition.component.mjs +45 -0
  56. package/esm2020/modules/type-definitions/call-signature-definition.mjs +2 -0
  57. package/esm2020/modules/type-definitions/class-definition.component.mjs +20 -0
  58. package/esm2020/modules/type-definitions/class-definition.mjs +2 -0
  59. package/esm2020/modules/type-definitions/comment-tags.mjs +2 -0
  60. package/esm2020/modules/type-definitions/directive-definition.component.mjs +20 -0
  61. package/esm2020/modules/type-definitions/directive-definition.mjs +2 -0
  62. package/esm2020/modules/type-definitions/entry-child-definition.mjs +2 -0
  63. package/{esm2015/modules/type-definitions/entry-definition.js → esm2020/modules/type-definitions/entry-definition.mjs} +1 -1
  64. package/esm2020/modules/type-definitions/enumeration-definition.component.mjs +19 -0
  65. package/esm2020/modules/type-definitions/enumeration-definition.mjs +2 -0
  66. package/{esm2015/modules/type-definitions/enumeration-member-definition.js → esm2020/modules/type-definitions/enumeration-member-definition.mjs} +1 -1
  67. package/esm2020/modules/type-definitions/index-signature-definition.mjs +2 -0
  68. package/esm2020/modules/type-definitions/interface-definition.component.mjs +36 -0
  69. package/esm2020/modules/type-definitions/interface-definition.mjs +2 -0
  70. package/esm2020/modules/type-definitions/interface-property-definition.mjs +2 -0
  71. package/esm2020/modules/type-definitions/method-definition.mjs +2 -0
  72. package/esm2020/modules/type-definitions/method-definitions.component.mjs +56 -0
  73. package/esm2020/modules/type-definitions/parameter-definition.mjs +2 -0
  74. package/esm2020/modules/type-definitions/pipe-definition.component.mjs +20 -0
  75. package/esm2020/modules/type-definitions/pipe-definition.mjs +2 -0
  76. package/{esm2015/modules/type-definitions/property-decorator.js → esm2020/modules/type-definitions/property-decorator.mjs} +1 -1
  77. package/esm2020/modules/type-definitions/property-definition.mjs +2 -0
  78. package/esm2020/modules/type-definitions/property-definitions.component.mjs +62 -0
  79. package/esm2020/modules/type-definitions/type-alias-definition.component.mjs +36 -0
  80. package/esm2020/modules/type-definitions/type-alias-definition.mjs +2 -0
  81. package/esm2020/modules/type-definitions/type-anchor-links.pipe.mjs +27 -0
  82. package/esm2020/modules/type-definitions/type-definition.mjs +2 -0
  83. package/esm2020/modules/type-definitions/type-definitions-format.service.mjs +242 -0
  84. package/esm2020/modules/type-definitions/type-definitions-provider.mjs +10 -0
  85. package/esm2020/modules/type-definitions/type-definitions.mjs +2 -0
  86. package/esm2020/modules/type-definitions/type-definitions.module.mjs +102 -0
  87. package/esm2020/modules/type-definitions/type-definitions.service.mjs +103 -0
  88. package/esm2020/modules/type-definitions/type-parameter-definition.mjs +2 -0
  89. package/esm2020/modules/type-definitions/typedoc-adapter.service.mjs +521 -0
  90. package/esm2020/modules/type-definitions/typedoc-types.mjs +2 -0
  91. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  92. package/{esm2015/skyux-docs-tools.js → esm2020/skyux-docs-tools.mjs} +0 -0
  93. package/fesm2015/skyux-docs-tools.mjs +3086 -0
  94. package/fesm2015/skyux-docs-tools.mjs.map +1 -0
  95. package/fesm2020/skyux-docs-tools.mjs +3070 -0
  96. package/fesm2020/skyux-docs-tools.mjs.map +1 -0
  97. package/modules/code-examples/code-example.d.ts +1 -0
  98. package/modules/code-examples/code-examples.component.d.ts +2 -1
  99. package/modules/demo-page/demo-page-type-definitions.component.d.ts +2 -1
  100. package/modules/demo-page/demo-page.component.d.ts +5 -1
  101. package/modules/type-definitions/type-definitions.service.d.ts +1 -1
  102. package/modules/type-definitions/typedoc-types.d.ts +5 -3
  103. package/package.json +35 -22
  104. package/bundles/skyux-docs-tools.umd.js +0 -3686
  105. package/bundles/skyux-docs-tools.umd.js.map +0 -1
  106. package/documentation.json +0 -10696
  107. package/esm2015/docs-tools.module.js +0 -40
  108. package/esm2015/modules/anatomy/anatomy-item.component.js +0 -22
  109. package/esm2015/modules/anatomy/anatomy.component.js +0 -29
  110. package/esm2015/modules/anatomy/anatomy.module.js +0 -39
  111. package/esm2015/modules/code-examples/code-example.component.js +0 -68
  112. package/esm2015/modules/code-examples/code-example.js +0 -2
  113. package/esm2015/modules/code-examples/code-examples-editor.service.js +0 -295
  114. package/esm2015/modules/code-examples/code-examples.component.js +0 -98
  115. package/esm2015/modules/code-examples/code-examples.module.js +0 -51
  116. package/esm2015/modules/demo/demo-control-panel-checkbox.component.js +0 -84
  117. package/esm2015/modules/demo/demo-control-panel-radio-group.component.js +0 -80
  118. package/esm2015/modules/demo/demo-control-panel-section.component.js +0 -27
  119. package/esm2015/modules/demo/demo-control-panel.component.js +0 -86
  120. package/esm2015/modules/demo/demo.component.js +0 -58
  121. package/esm2015/modules/demo/demo.module.js +0 -69
  122. package/esm2015/modules/demo-page/demo-page-dom-adapter.service.js +0 -75
  123. package/esm2015/modules/demo-page/demo-page-module-info.component.js +0 -14
  124. package/esm2015/modules/demo-page/demo-page-section.component.js +0 -47
  125. package/esm2015/modules/demo-page/demo-page-summary.component.js +0 -26
  126. package/esm2015/modules/demo-page/demo-page-title.service.js +0 -28
  127. package/esm2015/modules/demo-page/demo-page-type-definitions.component.js +0 -37
  128. package/esm2015/modules/demo-page/demo-page.component.js +0 -140
  129. package/esm2015/modules/demo-page/demo-page.module.js +0 -88
  130. package/esm2015/modules/design-guidelines/design-guideline-thumbnail.component.js +0 -32
  131. package/esm2015/modules/design-guidelines/design-guideline.component.js +0 -38
  132. package/esm2015/modules/design-guidelines/design-guidelines.component.js +0 -15
  133. package/esm2015/modules/design-guidelines/design-guidelines.module.js +0 -44
  134. package/esm2015/modules/heading-anchor/heading-anchor.component.js +0 -26
  135. package/esm2015/modules/heading-anchor/heading-anchor.module.js +0 -34
  136. package/esm2015/modules/markdown/markdown.module.js +0 -25
  137. package/esm2015/modules/markdown/markdown.pipe.js +0 -20
  138. package/esm2015/modules/module-info/module-info.component.js +0 -82
  139. package/esm2015/modules/module-info/module-info.module.js +0 -46
  140. package/esm2015/modules/safe-html/safe-html.component.js +0 -24
  141. package/esm2015/modules/safe-html/safe-html.module.js +0 -26
  142. package/esm2015/modules/shared/docs-tools-supportal.service.js +0 -23
  143. package/esm2015/modules/shared/sky-docs-tools-resources.module.js +0 -41
  144. package/esm2015/modules/source-code/source-code-provider.js +0 -13
  145. package/esm2015/modules/source-code/source-code.service.js +0 -42
  146. package/esm2015/modules/thumbnail/thumbnail.component.js +0 -33
  147. package/esm2015/modules/thumbnail/thumbnail.module.js +0 -30
  148. package/esm2015/modules/type-definitions/anchor-link.service.js +0 -98
  149. package/esm2015/modules/type-definitions/call-signature-definition.component.js +0 -51
  150. package/esm2015/modules/type-definitions/call-signature-definition.js +0 -2
  151. package/esm2015/modules/type-definitions/class-definition.component.js +0 -25
  152. package/esm2015/modules/type-definitions/class-definition.js +0 -2
  153. package/esm2015/modules/type-definitions/comment-tags.js +0 -2
  154. package/esm2015/modules/type-definitions/directive-definition.component.js +0 -25
  155. package/esm2015/modules/type-definitions/directive-definition.js +0 -2
  156. package/esm2015/modules/type-definitions/entry-child-definition.js +0 -2
  157. package/esm2015/modules/type-definitions/enumeration-definition.component.js +0 -23
  158. package/esm2015/modules/type-definitions/enumeration-definition.js +0 -2
  159. package/esm2015/modules/type-definitions/index-signature-definition.js +0 -2
  160. package/esm2015/modules/type-definitions/interface-definition.component.js +0 -38
  161. package/esm2015/modules/type-definitions/interface-definition.js +0 -2
  162. package/esm2015/modules/type-definitions/interface-property-definition.js +0 -2
  163. package/esm2015/modules/type-definitions/method-definition.js +0 -2
  164. package/esm2015/modules/type-definitions/method-definitions.component.js +0 -62
  165. package/esm2015/modules/type-definitions/parameter-definition.js +0 -2
  166. package/esm2015/modules/type-definitions/pipe-definition.component.js +0 -25
  167. package/esm2015/modules/type-definitions/pipe-definition.js +0 -2
  168. package/esm2015/modules/type-definitions/property-definition.js +0 -2
  169. package/esm2015/modules/type-definitions/property-definitions.component.js +0 -69
  170. package/esm2015/modules/type-definitions/type-alias-definition.component.js +0 -39
  171. package/esm2015/modules/type-definitions/type-alias-definition.js +0 -2
  172. package/esm2015/modules/type-definitions/type-anchor-links.pipe.js +0 -27
  173. package/esm2015/modules/type-definitions/type-definition.js +0 -2
  174. package/esm2015/modules/type-definitions/type-definitions-format.service.js +0 -241
  175. package/esm2015/modules/type-definitions/type-definitions-provider.js +0 -10
  176. package/esm2015/modules/type-definitions/type-definitions.js +0 -2
  177. package/esm2015/modules/type-definitions/type-definitions.module.js +0 -102
  178. package/esm2015/modules/type-definitions/type-definitions.service.js +0 -93
  179. package/esm2015/modules/type-definitions/type-parameter-definition.js +0 -2
  180. package/esm2015/modules/type-definitions/typedoc-adapter.service.js +0 -477
  181. package/esm2015/modules/type-definitions/typedoc-types.js +0 -2
  182. package/fesm2015/skyux-docs-tools.js +0 -3203
  183. 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, '&lt;').replace(/>/g, '&gt;');
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=