@urbicon-ui/docs-gen 6.1.4

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 (263) hide show
  1. package/README.md +92 -0
  2. package/dist/cli/CLI.d.ts +10 -0
  3. package/dist/cli/CLI.d.ts.map +1 -0
  4. package/dist/cli/CLI.js +340 -0
  5. package/dist/cli/CLI.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +7 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/core/discovery/ComponentFinder.d.ts +43 -0
  11. package/dist/core/discovery/ComponentFinder.d.ts.map +1 -0
  12. package/dist/core/discovery/ComponentFinder.js +421 -0
  13. package/dist/core/discovery/ComponentFinder.js.map +1 -0
  14. package/dist/core/discovery/FileStructureAnalyzer.d.ts +15 -0
  15. package/dist/core/discovery/FileStructureAnalyzer.d.ts.map +1 -0
  16. package/dist/core/discovery/FileStructureAnalyzer.js +35 -0
  17. package/dist/core/discovery/FileStructureAnalyzer.js.map +1 -0
  18. package/dist/core/discovery/MetadataExtractor.d.ts +15 -0
  19. package/dist/core/discovery/MetadataExtractor.d.ts.map +1 -0
  20. package/dist/core/discovery/MetadataExtractor.js +47 -0
  21. package/dist/core/discovery/MetadataExtractor.js.map +1 -0
  22. package/dist/core/discovery/index.d.ts +2 -0
  23. package/dist/core/discovery/index.d.ts.map +1 -0
  24. package/dist/core/discovery/index.js +2 -0
  25. package/dist/core/discovery/index.js.map +1 -0
  26. package/dist/core/enrichment/APIDataGenerator.d.ts +77 -0
  27. package/dist/core/enrichment/APIDataGenerator.d.ts.map +1 -0
  28. package/dist/core/enrichment/APIDataGenerator.js +663 -0
  29. package/dist/core/enrichment/APIDataGenerator.js.map +1 -0
  30. package/dist/core/enrichment/index.d.ts +2 -0
  31. package/dist/core/enrichment/index.d.ts.map +1 -0
  32. package/dist/core/enrichment/index.js +6 -0
  33. package/dist/core/enrichment/index.js.map +1 -0
  34. package/dist/core/extraction/ExtractionCoordinator.d.ts +53 -0
  35. package/dist/core/extraction/ExtractionCoordinator.d.ts.map +1 -0
  36. package/dist/core/extraction/ExtractionCoordinator.js +352 -0
  37. package/dist/core/extraction/ExtractionCoordinator.js.map +1 -0
  38. package/dist/core/extraction/index.d.ts +2 -0
  39. package/dist/core/extraction/index.d.ts.map +1 -0
  40. package/dist/core/extraction/index.js +2 -0
  41. package/dist/core/extraction/index.js.map +1 -0
  42. package/dist/core/generation/GenerationCoordinator.d.ts +51 -0
  43. package/dist/core/generation/GenerationCoordinator.d.ts.map +1 -0
  44. package/dist/core/generation/GenerationCoordinator.js +206 -0
  45. package/dist/core/generation/GenerationCoordinator.js.map +1 -0
  46. package/dist/core/generation/index.d.ts +2 -0
  47. package/dist/core/generation/index.d.ts.map +1 -0
  48. package/dist/core/generation/index.js +2 -0
  49. package/dist/core/generation/index.js.map +1 -0
  50. package/dist/core/index.d.ts +7 -0
  51. package/dist/core/index.d.ts.map +1 -0
  52. package/dist/core/index.js +16 -0
  53. package/dist/core/index.js.map +1 -0
  54. package/dist/core/pipeline/ErrorHandler.d.ts +129 -0
  55. package/dist/core/pipeline/ErrorHandler.d.ts.map +1 -0
  56. package/dist/core/pipeline/ErrorHandler.js +321 -0
  57. package/dist/core/pipeline/ErrorHandler.js.map +1 -0
  58. package/dist/core/pipeline/PipelineOrchestrator.d.ts +45 -0
  59. package/dist/core/pipeline/PipelineOrchestrator.d.ts.map +1 -0
  60. package/dist/core/pipeline/PipelineOrchestrator.js +216 -0
  61. package/dist/core/pipeline/PipelineOrchestrator.js.map +1 -0
  62. package/dist/core/pipeline/index.d.ts +1 -0
  63. package/dist/core/pipeline/index.d.ts.map +1 -0
  64. package/dist/core/pipeline/index.js +2 -0
  65. package/dist/core/pipeline/index.js.map +1 -0
  66. package/dist/extractors/BaseExtractor.d.ts +33 -0
  67. package/dist/extractors/BaseExtractor.d.ts.map +1 -0
  68. package/dist/extractors/BaseExtractor.js +68 -0
  69. package/dist/extractors/BaseExtractor.js.map +1 -0
  70. package/dist/extractors/ExtractorFactory.d.ts +35 -0
  71. package/dist/extractors/ExtractorFactory.d.ts.map +1 -0
  72. package/dist/extractors/ExtractorFactory.js +88 -0
  73. package/dist/extractors/ExtractorFactory.js.map +1 -0
  74. package/dist/extractors/documentation/index.d.ts +1 -0
  75. package/dist/extractors/documentation/index.d.ts.map +1 -0
  76. package/dist/extractors/documentation/index.js +2 -0
  77. package/dist/extractors/documentation/index.js.map +1 -0
  78. package/dist/extractors/index.d.ts +1 -0
  79. package/dist/extractors/index.d.ts.map +1 -0
  80. package/dist/extractors/index.js +2 -0
  81. package/dist/extractors/index.js.map +1 -0
  82. package/dist/extractors/typescript/ExamplesExtractor.d.ts +32 -0
  83. package/dist/extractors/typescript/ExamplesExtractor.d.ts.map +1 -0
  84. package/dist/extractors/typescript/ExamplesExtractor.js +209 -0
  85. package/dist/extractors/typescript/ExamplesExtractor.js.map +1 -0
  86. package/dist/extractors/typescript/InheritanceExtractor.d.ts +45 -0
  87. package/dist/extractors/typescript/InheritanceExtractor.d.ts.map +1 -0
  88. package/dist/extractors/typescript/InheritanceExtractor.js +368 -0
  89. package/dist/extractors/typescript/InheritanceExtractor.js.map +1 -0
  90. package/dist/extractors/typescript/LocalTypesExtractor.d.ts +20 -0
  91. package/dist/extractors/typescript/LocalTypesExtractor.d.ts.map +1 -0
  92. package/dist/extractors/typescript/LocalTypesExtractor.js +100 -0
  93. package/dist/extractors/typescript/LocalTypesExtractor.js.map +1 -0
  94. package/dist/extractors/typescript/PropsExtractor.d.ts +142 -0
  95. package/dist/extractors/typescript/PropsExtractor.d.ts.map +1 -0
  96. package/dist/extractors/typescript/PropsExtractor.js +709 -0
  97. package/dist/extractors/typescript/PropsExtractor.js.map +1 -0
  98. package/dist/extractors/typescript/TypeScriptBaseExtractor.d.ts +74 -0
  99. package/dist/extractors/typescript/TypeScriptBaseExtractor.d.ts.map +1 -0
  100. package/dist/extractors/typescript/TypeScriptBaseExtractor.js +249 -0
  101. package/dist/extractors/typescript/TypeScriptBaseExtractor.js.map +1 -0
  102. package/dist/extractors/typescript/index.d.ts +1 -0
  103. package/dist/extractors/typescript/index.d.ts.map +1 -0
  104. package/dist/extractors/typescript/index.js +2 -0
  105. package/dist/extractors/typescript/index.js.map +1 -0
  106. package/dist/extractors/variants/TailwindVariantsParser.d.ts +16 -0
  107. package/dist/extractors/variants/TailwindVariantsParser.d.ts.map +1 -0
  108. package/dist/extractors/variants/TailwindVariantsParser.js +53 -0
  109. package/dist/extractors/variants/TailwindVariantsParser.js.map +1 -0
  110. package/dist/extractors/variants/VariantsExtractor.d.ts +45 -0
  111. package/dist/extractors/variants/VariantsExtractor.d.ts.map +1 -0
  112. package/dist/extractors/variants/VariantsExtractor.js +340 -0
  113. package/dist/extractors/variants/VariantsExtractor.js.map +1 -0
  114. package/dist/extractors/variants/index.d.ts +2 -0
  115. package/dist/extractors/variants/index.d.ts.map +1 -0
  116. package/dist/extractors/variants/index.js +2 -0
  117. package/dist/extractors/variants/index.js.map +1 -0
  118. package/dist/generators/api/APIFileGenerator.d.ts +32 -0
  119. package/dist/generators/api/APIFileGenerator.d.ts.map +1 -0
  120. package/dist/generators/api/APIFileGenerator.js +450 -0
  121. package/dist/generators/api/APIFileGenerator.js.map +1 -0
  122. package/dist/generators/api/TypeDefinitionGenerator.d.ts +1 -0
  123. package/dist/generators/api/TypeDefinitionGenerator.d.ts.map +1 -0
  124. package/dist/generators/api/TypeDefinitionGenerator.js +2 -0
  125. package/dist/generators/api/TypeDefinitionGenerator.js.map +1 -0
  126. package/dist/generators/api/index.d.ts +2 -0
  127. package/dist/generators/api/index.d.ts.map +1 -0
  128. package/dist/generators/api/index.js +2 -0
  129. package/dist/generators/api/index.js.map +1 -0
  130. package/dist/generators/index.d.ts +5 -0
  131. package/dist/generators/index.d.ts.map +1 -0
  132. package/dist/generators/index.js +4 -0
  133. package/dist/generators/index.js.map +1 -0
  134. package/dist/generators/llm/LLMDocumentationGenerator.d.ts +34 -0
  135. package/dist/generators/llm/LLMDocumentationGenerator.d.ts.map +1 -0
  136. package/dist/generators/llm/LLMDocumentationGenerator.js +480 -0
  137. package/dist/generators/llm/LLMDocumentationGenerator.js.map +1 -0
  138. package/dist/generators/llm/LLMFormatter.d.ts +4 -0
  139. package/dist/generators/llm/LLMFormatter.d.ts.map +1 -0
  140. package/dist/generators/llm/LLMFormatter.js +8 -0
  141. package/dist/generators/llm/LLMFormatter.js.map +1 -0
  142. package/dist/generators/llm/LlmsFullAssembler.d.ts +20 -0
  143. package/dist/generators/llm/LlmsFullAssembler.d.ts.map +1 -0
  144. package/dist/generators/llm/LlmsFullAssembler.js +63 -0
  145. package/dist/generators/llm/LlmsFullAssembler.js.map +1 -0
  146. package/dist/generators/llm/index.d.ts +1 -0
  147. package/dist/generators/llm/index.d.ts.map +1 -0
  148. package/dist/generators/llm/index.js +2 -0
  149. package/dist/generators/llm/index.js.map +1 -0
  150. package/dist/generators/mcp/MCPCatalogAssembler.d.ts +27 -0
  151. package/dist/generators/mcp/MCPCatalogAssembler.d.ts.map +1 -0
  152. package/dist/generators/mcp/MCPCatalogAssembler.js +147 -0
  153. package/dist/generators/mcp/MCPCatalogAssembler.js.map +1 -0
  154. package/dist/generators/mcp/MCPCatalogGenerator.d.ts +55 -0
  155. package/dist/generators/mcp/MCPCatalogGenerator.d.ts.map +1 -0
  156. package/dist/generators/mcp/MCPCatalogGenerator.js +153 -0
  157. package/dist/generators/mcp/MCPCatalogGenerator.js.map +1 -0
  158. package/dist/generators/svelte/PageGenerator.d.ts +82 -0
  159. package/dist/generators/svelte/PageGenerator.d.ts.map +1 -0
  160. package/dist/generators/svelte/PageGenerator.js +557 -0
  161. package/dist/generators/svelte/PageGenerator.js.map +1 -0
  162. package/dist/generators/svelte/PlaygroundPresets.d.ts +2 -0
  163. package/dist/generators/svelte/PlaygroundPresets.d.ts.map +1 -0
  164. package/dist/generators/svelte/PlaygroundPresets.js +4 -0
  165. package/dist/generators/svelte/PlaygroundPresets.js.map +1 -0
  166. package/dist/generators/svelte/SectionMerger.d.ts +38 -0
  167. package/dist/generators/svelte/SectionMerger.d.ts.map +1 -0
  168. package/dist/generators/svelte/SectionMerger.js +154 -0
  169. package/dist/generators/svelte/SectionMerger.js.map +1 -0
  170. package/dist/generators/svelte/TemplateEngine.d.ts +91 -0
  171. package/dist/generators/svelte/TemplateEngine.d.ts.map +1 -0
  172. package/dist/generators/svelte/TemplateEngine.js +500 -0
  173. package/dist/generators/svelte/TemplateEngine.js.map +1 -0
  174. package/dist/generators/svelte/index.d.ts +8 -0
  175. package/dist/generators/svelte/index.d.ts.map +1 -0
  176. package/dist/generators/svelte/index.js +11 -0
  177. package/dist/generators/svelte/index.js.map +1 -0
  178. package/dist/generators/svelte/renderers/ApiRenderer.d.ts +17 -0
  179. package/dist/generators/svelte/renderers/ApiRenderer.d.ts.map +1 -0
  180. package/dist/generators/svelte/renderers/ApiRenderer.js +44 -0
  181. package/dist/generators/svelte/renderers/ApiRenderer.js.map +1 -0
  182. package/dist/generators/svelte/renderers/ExampleRenderer.d.ts +33 -0
  183. package/dist/generators/svelte/renderers/ExampleRenderer.d.ts.map +1 -0
  184. package/dist/generators/svelte/renderers/ExampleRenderer.js +137 -0
  185. package/dist/generators/svelte/renderers/ExampleRenderer.js.map +1 -0
  186. package/dist/generators/svelte/renderers/OverviewRenderer.d.ts +9 -0
  187. package/dist/generators/svelte/renderers/OverviewRenderer.d.ts.map +1 -0
  188. package/dist/generators/svelte/renderers/OverviewRenderer.js +45 -0
  189. package/dist/generators/svelte/renderers/OverviewRenderer.js.map +1 -0
  190. package/dist/generators/svelte/renderers/PlaygroundRenderer.d.ts +35 -0
  191. package/dist/generators/svelte/renderers/PlaygroundRenderer.d.ts.map +1 -0
  192. package/dist/generators/svelte/renderers/PlaygroundRenderer.js +319 -0
  193. package/dist/generators/svelte/renderers/PlaygroundRenderer.js.map +1 -0
  194. package/dist/generators/svelte/renderers/TypesRenderer.d.ts +9 -0
  195. package/dist/generators/svelte/renderers/TypesRenderer.d.ts.map +1 -0
  196. package/dist/generators/svelte/renderers/TypesRenderer.js +23 -0
  197. package/dist/generators/svelte/renderers/TypesRenderer.js.map +1 -0
  198. package/dist/generators/svelte/renderers/UsageRenderer.d.ts +14 -0
  199. package/dist/generators/svelte/renderers/UsageRenderer.d.ts.map +1 -0
  200. package/dist/generators/svelte/renderers/UsageRenderer.js +91 -0
  201. package/dist/generators/svelte/renderers/UsageRenderer.js.map +1 -0
  202. package/dist/generators/svelte/renderers/VariantsRenderer.d.ts +43 -0
  203. package/dist/generators/svelte/renderers/VariantsRenderer.d.ts.map +1 -0
  204. package/dist/generators/svelte/renderers/VariantsRenderer.js +277 -0
  205. package/dist/generators/svelte/renderers/VariantsRenderer.js.map +1 -0
  206. package/dist/generators/svelte/renderers/index.d.ts +8 -0
  207. package/dist/generators/svelte/renderers/index.d.ts.map +1 -0
  208. package/dist/generators/svelte/renderers/index.js +8 -0
  209. package/dist/generators/svelte/renderers/index.js.map +1 -0
  210. package/dist/generators/svelte/types.d.ts +13 -0
  211. package/dist/generators/svelte/types.d.ts.map +1 -0
  212. package/dist/generators/svelte/types.js +2 -0
  213. package/dist/generators/svelte/types.js.map +1 -0
  214. package/dist/index.d.ts +5 -0
  215. package/dist/index.d.ts.map +1 -0
  216. package/dist/index.js +4 -0
  217. package/dist/index.js.map +1 -0
  218. package/dist/parsers/SvelteDocsParser.d.ts +44 -0
  219. package/dist/parsers/SvelteDocsParser.d.ts.map +1 -0
  220. package/dist/parsers/SvelteDocsParser.js +141 -0
  221. package/dist/parsers/SvelteDocsParser.js.map +1 -0
  222. package/dist/parsers/index.d.ts +2 -0
  223. package/dist/parsers/index.d.ts.map +1 -0
  224. package/dist/parsers/index.js +6 -0
  225. package/dist/parsers/index.js.map +1 -0
  226. package/dist/schema/ConfigurationBuilder.d.ts +55 -0
  227. package/dist/schema/ConfigurationBuilder.d.ts.map +1 -0
  228. package/dist/schema/ConfigurationBuilder.js +447 -0
  229. package/dist/schema/ConfigurationBuilder.js.map +1 -0
  230. package/dist/schema/index.d.ts +1 -0
  231. package/dist/schema/index.d.ts.map +1 -0
  232. package/dist/schema/index.js +2 -0
  233. package/dist/schema/index.js.map +1 -0
  234. package/dist/tsconfig.tsbuildinfo +1 -0
  235. package/dist/types/configuration.d.ts +255 -0
  236. package/dist/types/configuration.d.ts.map +1 -0
  237. package/dist/types/configuration.js +2 -0
  238. package/dist/types/configuration.js.map +1 -0
  239. package/dist/types/core.d.ts +96 -0
  240. package/dist/types/core.d.ts.map +1 -0
  241. package/dist/types/core.js +2 -0
  242. package/dist/types/core.js.map +1 -0
  243. package/dist/types/docs-config.d.ts +5 -0
  244. package/dist/types/docs-config.d.ts.map +1 -0
  245. package/dist/types/docs-config.js +51 -0
  246. package/dist/types/docs-config.js.map +1 -0
  247. package/dist/types/index.d.ts +6 -0
  248. package/dist/types/index.d.ts.map +1 -0
  249. package/dist/types/index.js +9 -0
  250. package/dist/types/index.js.map +1 -0
  251. package/dist/types/validation.d.ts +321 -0
  252. package/dist/types/validation.d.ts.map +1 -0
  253. package/dist/types/validation.js +2 -0
  254. package/dist/types/validation.js.map +1 -0
  255. package/dist/utils/DeploymentManager.d.ts +80 -0
  256. package/dist/utils/DeploymentManager.d.ts.map +1 -0
  257. package/dist/utils/DeploymentManager.js +360 -0
  258. package/dist/utils/DeploymentManager.js.map +1 -0
  259. package/dist/utils/index.d.ts +1 -0
  260. package/dist/utils/index.d.ts.map +1 -0
  261. package/dist/utils/index.js +2 -0
  262. package/dist/utils/index.js.map +1 -0
  263. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/BaseExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAErF;;GAEG;AACH,8BAAsB,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACrE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEd,MAAM,CAAC,EAAE,OAAO;IAI5B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEnE;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI/C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAqBnF;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAC3B,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,iBAAiB,EAAO,EAClC,UAAU,GAAE,MAAkB,EAC9B,QAAQ,GAAE,MAAU,GACnB,gBAAgB,CAAC,OAAO,CAAC;IAe5B;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAK3F;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Generic base class for all extractors (TypeScript and non-TypeScript)
3
+ */
4
+ export class BaseExtractor {
5
+ config;
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ /**
10
+ * Validate input before extraction - can be overridden
11
+ */
12
+ validateInput(input) {
13
+ return input !== null && input !== undefined;
14
+ }
15
+ /**
16
+ * Handle extraction errors - can be overridden for custom error handling
17
+ */
18
+ handleError(error, context) {
19
+ const extractionError = {
20
+ type: 'extraction_failed',
21
+ message: error instanceof Error ? error.message : String(error),
22
+ context
23
+ };
24
+ return {
25
+ success: false,
26
+ data: undefined,
27
+ errors: [extractionError],
28
+ warnings: [],
29
+ metadata: {
30
+ duration: 0,
31
+ extractorVersion: '2.0.0',
32
+ sourceFile: context?.sourceFile || 'unknown',
33
+ timestamp: new Date().toISOString()
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Create a successful extraction result
39
+ */
40
+ createSuccessResult(data, warnings = [], sourceFile = 'unknown', duration = 0) {
41
+ return {
42
+ success: true,
43
+ data,
44
+ errors: [],
45
+ warnings,
46
+ metadata: {
47
+ duration,
48
+ extractorVersion: '2.0.0',
49
+ sourceFile,
50
+ timestamp: new Date().toISOString()
51
+ }
52
+ };
53
+ }
54
+ /**
55
+ * Add warning to extraction result
56
+ */
57
+ addWarning(type, message, suggestion) {
58
+ const warning = { type, message };
59
+ return suggestion ? { ...warning, suggestion } : warning;
60
+ }
61
+ /**
62
+ * Clear any caches (useful for watch mode)
63
+ */
64
+ clearCache() {
65
+ // Override in subclasses if needed
66
+ }
67
+ }
68
+ //# sourceMappingURL=BaseExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseExtractor.js","sourceRoot":"","sources":["../../src/extractors/BaseExtractor.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAgB,aAAa;IACvB,MAAM,CAAU;IAE1B,YAAY,MAAgB;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAOD;;OAEG;IACO,aAAa,CAAC,KAAa;QACnC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IAC/C,CAAC;IAED;;OAEG;IACO,WAAW,CAAC,KAAc,EAAE,OAAiB;QACrD,MAAM,eAAe,GAAoB;YACvC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,OAAO;SACR,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,SAA+B;YACrC,MAAM,EAAE,CAAC,eAAe,CAAC;YACzB,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE;gBACR,QAAQ,EAAE,CAAC;gBACX,gBAAgB,EAAE,OAAO;gBACzB,UAAU,EAAG,OAA+C,EAAE,UAAU,IAAI,SAAS;gBACrF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,mBAAmB,CAC3B,IAAa,EACb,WAAgC,EAAE,EAClC,aAAqB,SAAS,EAC9B,WAAmB,CAAC;QAEpB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,MAAM,EAAE,EAAE;YACV,QAAQ;YACR,QAAQ,EAAE;gBACR,QAAQ;gBACR,gBAAgB,EAAE,OAAO;gBACzB,UAAU;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmB;QACrE,MAAM,OAAO,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACrD,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,UAAU;QACR,mCAAmC;IACrC,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import type { TypeScriptExtractionConfig } from '../types';
2
+ import type { BaseExtractor } from './BaseExtractor';
3
+ /**
4
+ * Universal factory that manages both TypeScript and non-TypeScript extractors
5
+ */
6
+ export declare class ExtractorFactory {
7
+ private static instance;
8
+ private extractorCache;
9
+ private tsConfig;
10
+ private constructor();
11
+ static getInstance(tsConfig?: TypeScriptExtractionConfig): ExtractorFactory;
12
+ /**
13
+ * Create or get cached PropsExtractor (TypeScript-based)
14
+ */
15
+ createPropsExtractor(): Promise<BaseExtractor<unknown, unknown>>;
16
+ /**
17
+ * Create or get cached InheritanceExtractor (TypeScript-based)
18
+ */
19
+ createInheritanceExtractor(): Promise<BaseExtractor<unknown, unknown>>;
20
+ /**
21
+ * Create or get cached VariantsExtractor (TypeScript-based)
22
+ */
23
+ createVariantsExtractor(): Promise<BaseExtractor<unknown, unknown>>;
24
+ /**
25
+ * Clear all cached extractors
26
+ */
27
+ clearCache(): void;
28
+ /**
29
+ * Update TypeScript configuration for TypeScript-based extractors
30
+ */
31
+ updateTsConfig(newTsConfig?: TypeScriptExtractionConfig): void;
32
+ createExamplesExtractor(): Promise<BaseExtractor<unknown, unknown>>;
33
+ createLocalTypesExtractor(): Promise<BaseExtractor<unknown, unknown>>;
34
+ }
35
+ //# sourceMappingURL=ExtractorFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtractorFactory.d.ts","sourceRoot":"","sources":["../../src/extractors/ExtractorFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAyC;IAEzD,OAAO;IAIP,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,0BAA0B,GAAG,gBAAgB;IAO3E;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAYtE;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAc5E;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAczE;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,cAAc,CAAC,WAAW,CAAC,EAAE,0BAA0B,GAAG,IAAI;IAKxD,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAYnE,yBAAyB,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAW5E"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Universal factory that manages both TypeScript and non-TypeScript extractors
3
+ */
4
+ export class ExtractorFactory {
5
+ static instance;
6
+ extractorCache = new Map();
7
+ tsConfig;
8
+ constructor(tsConfig) {
9
+ this.tsConfig = tsConfig;
10
+ }
11
+ static getInstance(tsConfig) {
12
+ if (!ExtractorFactory.instance) {
13
+ ExtractorFactory.instance = new ExtractorFactory(tsConfig);
14
+ }
15
+ return ExtractorFactory.instance;
16
+ }
17
+ /**
18
+ * Create or get cached PropsExtractor (TypeScript-based)
19
+ */
20
+ async createPropsExtractor() {
21
+ const cacheKey = 'props';
22
+ if (!this.extractorCache.has(cacheKey)) {
23
+ const { PropsExtractor } = await import('./typescript/PropsExtractor');
24
+ const extractor = new PropsExtractor(this.tsConfig);
25
+ this.extractorCache.set(cacheKey, extractor);
26
+ }
27
+ return this.extractorCache.get(cacheKey);
28
+ }
29
+ /**
30
+ * Create or get cached InheritanceExtractor (TypeScript-based)
31
+ */
32
+ async createInheritanceExtractor() {
33
+ const cacheKey = 'inheritance';
34
+ if (!this.extractorCache.has(cacheKey)) {
35
+ const { InheritanceExtractor } = await import('./typescript/InheritanceExtractor');
36
+ const extractor = new InheritanceExtractor(this.tsConfig);
37
+ this.extractorCache.set(cacheKey, extractor);
38
+ }
39
+ return this.extractorCache.get(cacheKey);
40
+ }
41
+ /**
42
+ * Create or get cached VariantsExtractor (TypeScript-based)
43
+ */
44
+ async createVariantsExtractor() {
45
+ const cacheKey = 'variants';
46
+ if (!this.extractorCache.has(cacheKey)) {
47
+ const { VariantsExtractor } = await import('./variants/VariantsExtractor');
48
+ const extractor = new VariantsExtractor(this.tsConfig);
49
+ this.extractorCache.set(cacheKey, extractor);
50
+ }
51
+ return this.extractorCache.get(cacheKey);
52
+ }
53
+ /**
54
+ * Clear all cached extractors
55
+ */
56
+ clearCache() {
57
+ this.extractorCache.forEach((extractor) => {
58
+ extractor.clearCache();
59
+ });
60
+ this.extractorCache.clear();
61
+ }
62
+ /**
63
+ * Update TypeScript configuration for TypeScript-based extractors
64
+ */
65
+ updateTsConfig(newTsConfig) {
66
+ this.tsConfig = newTsConfig;
67
+ this.clearCache(); // Force recreation with new config
68
+ }
69
+ async createExamplesExtractor() {
70
+ const key = 'examples';
71
+ if (!this.extractorCache.has(key)) {
72
+ const mod = await import('./typescript/ExamplesExtractor');
73
+ const extractor = new mod.ExamplesExtractor(this.tsConfig);
74
+ this.extractorCache.set(key, extractor);
75
+ }
76
+ return this.extractorCache.get(key);
77
+ }
78
+ async createLocalTypesExtractor() {
79
+ const cacheKey = 'localTypes';
80
+ if (!this.extractorCache.has(cacheKey)) {
81
+ const { LocalTypesExtractor } = await import('./typescript/LocalTypesExtractor');
82
+ const extractor = new LocalTypesExtractor(this.tsConfig);
83
+ this.extractorCache.set(cacheKey, extractor);
84
+ }
85
+ return this.extractorCache.get(cacheKey);
86
+ }
87
+ }
88
+ //# sourceMappingURL=ExtractorFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtractorFactory.js","sourceRoot":"","sources":["../../src/extractors/ExtractorFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/documentation/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/documentation/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extractors/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extractors/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import type { ExtractionResult } from '../../types/validation';
2
+ import { TypeScriptBaseExtractor } from './TypeScriptBaseExtractor';
3
+ interface ExamplesExtractionInput {
4
+ filePath: string;
5
+ componentName: string;
6
+ }
7
+ /**
8
+ * Extracts interface-level @example snippets from the <Component>Props JSDoc using TS AST,
9
+ * avoiding fragile regex parsing in later pipeline stages.
10
+ */
11
+ export declare class ExamplesExtractor extends TypeScriptBaseExtractor<ExamplesExtractionInput, string[]> {
12
+ extract(input: ExamplesExtractionInput): Promise<ExtractionResult<string[]>>;
13
+ /**
14
+ * Full-text ranges of sibling components' Props declarations (incl. their leading
15
+ * JSDoc trivia). A sibling is another `export { default as X } from './X.svelte'`
16
+ * of the same file — in a multi-component index.ts (e.g. the Guide surfaces) the
17
+ * head-scan must not attribute a sibling's `@example` blocks to this component.
18
+ * Helper interfaces like `MenuSpecificProps` (no matching `.svelte` export) are
19
+ * deliberately NOT excluded: their head JSDoc is the documented authoring spot
20
+ * for the primary component's examples.
21
+ */
22
+ private collectSiblingPropsRanges;
23
+ private getTagCommentText;
24
+ private extractFencedExamples;
25
+ private extractFallbackExamples;
26
+ private normalizeExampleFromTag;
27
+ private extractExamplesFromHead;
28
+ private sanitizeExampleCode;
29
+ private dedupeExamples;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=ExamplesExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExamplesExtractor.d.ts","sourceRoot":"","sources":["../../../src/extractors/typescript/ExamplesExtractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,uBAAuB,CAAC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IACzF,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IA8DlF;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,uBAAuB;IAkC/B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,cAAc;CAYvB"}
@@ -0,0 +1,209 @@
1
+ import * as ts from 'typescript';
2
+ import { TypeScriptBaseExtractor } from './TypeScriptBaseExtractor';
3
+ /**
4
+ * Extracts interface-level @example snippets from the <Component>Props JSDoc using TS AST,
5
+ * avoiding fragile regex parsing in later pipeline stages.
6
+ */
7
+ export class ExamplesExtractor extends TypeScriptBaseExtractor {
8
+ async extract(input) {
9
+ const start = Date.now();
10
+ try {
11
+ if (!input?.filePath || !input?.componentName) {
12
+ return this.createSuccessResult([], [], input?.filePath ?? 'unknown', 0);
13
+ }
14
+ const sourceFile = await this.getSourceFile(input.filePath);
15
+ if (!sourceFile) {
16
+ return this.createSuccessResult([], [], input.filePath, 0);
17
+ }
18
+ const ifaceName = `${input.componentName}Props`;
19
+ const iface = this.findInterface(sourceFile, ifaceName);
20
+ const typeAlias = !iface ? this.findTypeAlias(sourceFile, ifaceName) : null;
21
+ const propsNode = iface ?? typeAlias;
22
+ let examples = [];
23
+ if (propsNode) {
24
+ // First, try to read explicit @example tags
25
+ const tags = ts.getJSDocTags(propsNode) || [];
26
+ for (const tag of tags) {
27
+ if (tag.tagName?.getText() === 'example') {
28
+ const raw = this.getTagCommentText(tag) || '';
29
+ const cleaned = this.normalizeExampleFromTag(raw);
30
+ if (cleaned)
31
+ examples.push(cleaned);
32
+ }
33
+ }
34
+ // If none found, fallback to scanning the full JSDoc comment attached to the interface
35
+ if (examples.length === 0) {
36
+ const jsDocs = (ts.getJSDocCommentsAndTags(propsNode) || []).filter((n) => ts.isJSDoc(n));
37
+ for (const doc of jsDocs) {
38
+ const text = this.getCommentText(doc.comment ?? '') || '';
39
+ const fromFences = this.extractFencedExamples(text);
40
+ if (fromFences.length > 0)
41
+ examples.push(...fromFences);
42
+ const fromFallback = this.extractFallbackExamples(text);
43
+ if (fromFallback.length > 0)
44
+ examples.push(...fromFallback);
45
+ }
46
+ }
47
+ // Still nothing? Scan the file head (content before the interface) for top-level
48
+ // JSDoc blocks containing @example (common authoring pattern for component props docs)
49
+ if (examples.length === 0) {
50
+ const fromHead = this.extractExamplesFromHead(sourceFile, propsNode);
51
+ if (fromHead.length > 0)
52
+ examples.push(...fromHead);
53
+ }
54
+ }
55
+ // Deduplicate and trim
56
+ examples = this.dedupeExamples(examples);
57
+ return this.createSuccessResult(examples, [], input.filePath, Date.now() - start);
58
+ }
59
+ catch (error) {
60
+ return this.handleError(error, { component: input?.componentName, file: input?.filePath });
61
+ }
62
+ }
63
+ /**
64
+ * Full-text ranges of sibling components' Props declarations (incl. their leading
65
+ * JSDoc trivia). A sibling is another `export { default as X } from './X.svelte'`
66
+ * of the same file — in a multi-component index.ts (e.g. the Guide surfaces) the
67
+ * head-scan must not attribute a sibling's `@example` blocks to this component.
68
+ * Helper interfaces like `MenuSpecificProps` (no matching `.svelte` export) are
69
+ * deliberately NOT excluded: their head JSDoc is the documented authoring spot
70
+ * for the primary component's examples.
71
+ */
72
+ collectSiblingPropsRanges(sourceFile, propsNode) {
73
+ const svelteExports = new Set();
74
+ for (const statement of sourceFile.statements) {
75
+ if (ts.isExportDeclaration(statement) &&
76
+ statement.exportClause &&
77
+ ts.isNamedExports(statement.exportClause) &&
78
+ statement.moduleSpecifier &&
79
+ ts.isStringLiteral(statement.moduleSpecifier) &&
80
+ statement.moduleSpecifier.text.endsWith('.svelte')) {
81
+ for (const element of statement.exportClause.elements) {
82
+ if (element.propertyName?.text === 'default')
83
+ svelteExports.add(element.name.text);
84
+ }
85
+ }
86
+ }
87
+ const ranges = [];
88
+ for (const statement of sourceFile.statements) {
89
+ if (statement === propsNode)
90
+ continue;
91
+ if ((ts.isInterfaceDeclaration(statement) || ts.isTypeAliasDeclaration(statement)) &&
92
+ statement.name.text.endsWith('Props') &&
93
+ svelteExports.has(statement.name.text.slice(0, -'Props'.length))) {
94
+ ranges.push({ start: statement.getFullStart(), end: statement.getEnd() });
95
+ }
96
+ }
97
+ return ranges;
98
+ }
99
+ getTagCommentText(tag) {
100
+ // TypeScript does not expose a typed API for tag.comment text slices directly,
101
+ // but JSDocTag has a 'comment' field we can stringify.
102
+ const tagWithComment = tag;
103
+ const comment = tagWithComment?.comment;
104
+ if (comment == null)
105
+ return undefined;
106
+ if (typeof comment === 'string')
107
+ return comment;
108
+ if (Array.isArray(comment))
109
+ return comment
110
+ .map((p) => (typeof p === 'string' ? p : (p?.text ?? '')))
111
+ .join('');
112
+ return String(comment ?? '');
113
+ }
114
+ extractFencedExamples(text) {
115
+ const out = [];
116
+ const fenceRe = /```(?:\w+)?\n([\s\S]*?)```/g;
117
+ for (const m of text.matchAll(fenceRe)) {
118
+ const block = this.sanitizeExampleCode(m[1] || '');
119
+ if (block)
120
+ out.push(block);
121
+ }
122
+ return out;
123
+ }
124
+ extractFallbackExamples(text) {
125
+ // Split by @example markers and take the part until the next tag or end
126
+ const parts = text.split(/@example/g).slice(1);
127
+ const out = [];
128
+ for (const part of parts) {
129
+ const body = part.split('@')[0] || '';
130
+ const cleaned = this.sanitizeExampleCode(body);
131
+ if (cleaned)
132
+ out.push(cleaned);
133
+ }
134
+ return out;
135
+ }
136
+ normalizeExampleFromTag(text) {
137
+ const fenced = this.extractFencedExamples(text);
138
+ if (fenced.length > 0) {
139
+ const first = fenced[0];
140
+ if (first)
141
+ return first;
142
+ }
143
+ return this.sanitizeExampleCode(text || '');
144
+ }
145
+ extractExamplesFromHead(sourceFile, iface) {
146
+ try {
147
+ const text = sourceFile.getFullText();
148
+ const end = iface.getStart();
149
+ let head = text.slice(0, end);
150
+ // Blank out sibling components' Props declarations (incl. their JSDoc trivia)
151
+ // so their @example blocks are never attributed to this component.
152
+ for (const range of this.collectSiblingPropsRanges(sourceFile, iface)) {
153
+ if (range.start >= head.length)
154
+ continue;
155
+ const sliceEnd = Math.min(range.end, head.length);
156
+ head =
157
+ head.slice(0, range.start) + ' '.repeat(sliceEnd - range.start) + head.slice(sliceEnd);
158
+ }
159
+ // Look for @example fenced blocks in the head
160
+ const out = [];
161
+ const fenceRe = /@example[\s\S]*?```(?:\w+)?\n([\s\S]*?)```/g;
162
+ for (const m of head.matchAll(fenceRe)) {
163
+ const cleaned = this.sanitizeExampleCode(m[1] || '');
164
+ if (cleaned)
165
+ out.push(cleaned);
166
+ }
167
+ if (out.length > 0)
168
+ return out;
169
+ // Fallback inside head: split by @example and take until next @ or end of block
170
+ const parts = head.split(/@example/g).slice(1);
171
+ for (const part of parts) {
172
+ const snippet = part.split('@')[0] || '';
173
+ const cleaned = this.sanitizeExampleCode(snippet);
174
+ if (cleaned)
175
+ out.push(cleaned);
176
+ }
177
+ return out;
178
+ }
179
+ catch {
180
+ return [];
181
+ }
182
+ }
183
+ sanitizeExampleCode(code) {
184
+ if (!code)
185
+ return '';
186
+ const lines = String(code)
187
+ .split(/\r?\n/)
188
+ .map((l) => l.replace(/^\s*\*\s?/, ''));
189
+ // strip leading/trailing empties
190
+ while (lines.length > 0 && lines[0]?.trim() === '')
191
+ lines.shift();
192
+ while (lines.length > 0 && lines[lines.length - 1]?.trim() === '')
193
+ lines.pop();
194
+ return lines.join('\n');
195
+ }
196
+ dedupeExamples(examples) {
197
+ const seen = new Set();
198
+ const out = [];
199
+ for (const ex of examples) {
200
+ const key = ex.replace(/\s+/g, '').toLowerCase();
201
+ if (!seen.has(key)) {
202
+ seen.add(key);
203
+ out.push(ex);
204
+ }
205
+ }
206
+ return out;
207
+ }
208
+ }
209
+ //# sourceMappingURL=ExamplesExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExamplesExtractor.js","sourceRoot":"","sources":["../../../src/extractors/typescript/ExamplesExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { ExtractionResult, InheritanceExtractionConfig, InheritanceInfo, KnownInterfaceConfig } from '../../types';
2
+ import { TypeScriptBaseExtractor } from './TypeScriptBaseExtractor';
3
+ interface InheritanceExtractionInput {
4
+ filePath: string;
5
+ componentName: string;
6
+ interfaceName?: string;
7
+ }
8
+ /**
9
+ * Resolves interface inheritance, including HTML attributes, external types, and Omit patterns
10
+ */
11
+ export declare class InheritanceExtractor extends TypeScriptBaseExtractor<InheritanceExtractionInput, InheritanceInfo[]> {
12
+ config: InheritanceExtractionConfig;
13
+ private knownInterfaces;
14
+ constructor(tsConfig?: Record<string, unknown>);
15
+ /**
16
+ * Extract inheritance information from component interface
17
+ */
18
+ extract(input: InheritanceExtractionInput): Promise<ExtractionResult<InheritanceInfo[]>>;
19
+ private extractInheritanceFromInterface;
20
+ private processHeritageType;
21
+ private handleOmitPattern;
22
+ private handleHTMLAttributes;
23
+ private handleKnownInterface;
24
+ private handleLocalInterface;
25
+ private handleExternalType;
26
+ private isOmitPattern;
27
+ private isHTMLAttributes;
28
+ private isKnownInterface;
29
+ private extractElementType;
30
+ private parseOmittedKeys;
31
+ private getPackageForType;
32
+ private getUrlForType;
33
+ private extractPropFromMember;
34
+ private addDefaultKnownInterfaces;
35
+ /**
36
+ * Add a known interface configuration
37
+ */
38
+ addKnownInterface(config: KnownInterfaceConfig): void;
39
+ /**
40
+ * Clear any caches
41
+ */
42
+ clearCache(): void;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=InheritanceExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InheritanceExtractor.d.ts","sourceRoot":"","sources":["../../../src/extractors/typescript/InheritanceExtractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,UAAU,0BAA0B;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB,CAC/D,0BAA0B,EAC1B,eAAe,EAAE,CAClB;IACQ,MAAM,EAAE,2BAA2B,CAAC;IAC3C,OAAO,CAAC,eAAe,CAAoC;gBAE/C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB9C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;YA8ChF,+BAA+B;YA6B/B,mBAAmB;IA6CjC,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,oBAAoB;YA2Bd,oBAAoB;IA2ClC,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,yBAAyB;IAuCjC;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIrD;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}