@depup/typedoc 0.28.17-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +34 -0
- package/bin/package.json +3 -0
- package/bin/typedoc +24 -0
- package/changes.json +22 -0
- package/dist/browser-locales/de.d.ts +2 -0
- package/dist/browser-locales/de.js +62 -0
- package/dist/browser-locales/en.d.ts +2 -0
- package/dist/browser-locales/en.js +62 -0
- package/dist/browser-locales/ja.d.ts +2 -0
- package/dist/browser-locales/ja.js +62 -0
- package/dist/browser-locales/ko.d.ts +2 -0
- package/dist/browser-locales/ko.js +62 -0
- package/dist/browser-locales/zh.d.ts +2 -0
- package/dist/browser-locales/zh.js +62 -0
- package/dist/browser-utils.d.ts +3 -0
- package/dist/browser-utils.js +3 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.js +46 -0
- package/dist/lib/application-events.d.ts +5 -0
- package/dist/lib/application-events.js +5 -0
- package/dist/lib/application.d.ts +195 -0
- package/dist/lib/application.js +715 -0
- package/dist/lib/cli.d.ts +1 -0
- package/dist/lib/cli.js +111 -0
- package/dist/lib/converter/comments/blockLexer.d.ts +4 -0
- package/dist/lib/converter/comments/blockLexer.js +391 -0
- package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +3 -0
- package/dist/lib/converter/comments/declarationReferenceResolver.js +218 -0
- package/dist/lib/converter/comments/discovery.d.ts +14 -0
- package/dist/lib/converter/comments/discovery.js +563 -0
- package/dist/lib/converter/comments/index.d.ts +37 -0
- package/dist/lib/converter/comments/index.js +241 -0
- package/dist/lib/converter/comments/lexer.d.ts +17 -0
- package/dist/lib/converter/comments/lexer.js +10 -0
- package/dist/lib/converter/comments/lineLexer.d.ts +3 -0
- package/dist/lib/converter/comments/lineLexer.js +279 -0
- package/dist/lib/converter/comments/linkResolver.d.ts +20 -0
- package/dist/lib/converter/comments/linkResolver.js +186 -0
- package/dist/lib/converter/comments/parser.d.ts +18 -0
- package/dist/lib/converter/comments/parser.js +538 -0
- package/dist/lib/converter/comments/rawLexer.d.ts +8 -0
- package/dist/lib/converter/comments/rawLexer.js +218 -0
- package/dist/lib/converter/comments/tagName.d.ts +8 -0
- package/dist/lib/converter/comments/tagName.js +58 -0
- package/dist/lib/converter/comments/textParser.d.ts +33 -0
- package/dist/lib/converter/comments/textParser.js +372 -0
- package/dist/lib/converter/components.d.ts +4 -0
- package/dist/lib/converter/components.js +3 -0
- package/dist/lib/converter/context.d.ts +101 -0
- package/dist/lib/converter/context.js +311 -0
- package/dist/lib/converter/convert-expression.d.ts +9 -0
- package/dist/lib/converter/convert-expression.js +58 -0
- package/dist/lib/converter/converter-events.d.ts +13 -0
- package/dist/lib/converter/converter-events.js +13 -0
- package/dist/lib/converter/converter.d.ts +238 -0
- package/dist/lib/converter/converter.js +705 -0
- package/dist/lib/converter/factories/index-signature.d.ts +3 -0
- package/dist/lib/converter/factories/index-signature.js +50 -0
- package/dist/lib/converter/factories/signature.d.ts +14 -0
- package/dist/lib/converter/factories/signature.js +353 -0
- package/dist/lib/converter/factories/symbol-id.d.ts +3 -0
- package/dist/lib/converter/factories/symbol-id.js +47 -0
- package/dist/lib/converter/index.d.ts +5 -0
- package/dist/lib/converter/index.js +3 -0
- package/dist/lib/converter/jsdoc.d.ts +4 -0
- package/dist/lib/converter/jsdoc.js +135 -0
- package/dist/lib/converter/plugins/CategoryPlugin.d.ts +48 -0
- package/dist/lib/converter/plugins/CategoryPlugin.js +278 -0
- package/dist/lib/converter/plugins/CommentPlugin.d.ts +128 -0
- package/dist/lib/converter/plugins/CommentPlugin.js +770 -0
- package/dist/lib/converter/plugins/GroupPlugin.d.ts +48 -0
- package/dist/lib/converter/plugins/GroupPlugin.js +281 -0
- package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +42 -0
- package/dist/lib/converter/plugins/ImplementsPlugin.js +438 -0
- package/dist/lib/converter/plugins/IncludePlugin.d.ts +14 -0
- package/dist/lib/converter/plugins/IncludePlugin.js +254 -0
- package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +32 -0
- package/dist/lib/converter/plugins/InheritDocPlugin.js +220 -0
- package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +13 -0
- package/dist/lib/converter/plugins/LinkResolverPlugin.js +88 -0
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +50 -0
- package/dist/lib/converter/plugins/PackagePlugin.d.ts +31 -0
- package/dist/lib/converter/plugins/PackagePlugin.js +188 -0
- package/dist/lib/converter/plugins/SourcePlugin.d.ts +36 -0
- package/dist/lib/converter/plugins/SourcePlugin.js +215 -0
- package/dist/lib/converter/plugins/TypePlugin.d.ts +16 -0
- package/dist/lib/converter/plugins/TypePlugin.js +108 -0
- package/dist/lib/converter/plugins/index.d.ts +10 -0
- package/dist/lib/converter/plugins/index.js +10 -0
- package/dist/lib/converter/symbols.d.ts +3 -0
- package/dist/lib/converter/symbols.js +861 -0
- package/dist/lib/converter/types.d.ts +10 -0
- package/dist/lib/converter/types.js +833 -0
- package/dist/lib/converter/utils/nodes.d.ts +7 -0
- package/dist/lib/converter/utils/nodes.js +26 -0
- package/dist/lib/converter/utils/reflections.d.ts +2 -0
- package/dist/lib/converter/utils/reflections.js +17 -0
- package/dist/lib/converter/utils/repository.d.ts +96 -0
- package/dist/lib/converter/utils/repository.js +295 -0
- package/dist/lib/converter/utils/symbols.d.ts +2 -0
- package/dist/lib/converter/utils/symbols.js +12 -0
- package/dist/lib/debug/index.d.ts +2 -0
- package/dist/lib/debug/index.js +2 -0
- package/dist/lib/debug/reflectionLifetimes.d.ts +3 -0
- package/dist/lib/debug/reflectionLifetimes.js +27 -0
- package/dist/lib/debug/rendererUrls.d.ts +6 -0
- package/dist/lib/debug/rendererUrls.js +68 -0
- package/dist/lib/internationalization/index.d.ts +7 -0
- package/dist/lib/internationalization/index.js +7 -0
- package/dist/lib/internationalization/internationalization.d.ts +65 -0
- package/dist/lib/internationalization/internationalization.js +64 -0
- package/dist/lib/internationalization/locale-utils.cjs +8 -0
- package/dist/lib/internationalization/locale-utils.d.cts +8 -0
- package/dist/lib/internationalization/locales/de.cjs +401 -0
- package/dist/lib/internationalization/locales/de.d.cts +368 -0
- package/dist/lib/internationalization/locales/en.cjs +411 -0
- package/dist/lib/internationalization/locales/en.d.cts +380 -0
- package/dist/lib/internationalization/locales/ja.cjs +320 -0
- package/dist/lib/internationalization/locales/ja.d.cts +307 -0
- package/dist/lib/internationalization/locales/ko.cjs +233 -0
- package/dist/lib/internationalization/locales/ko.d.cts +221 -0
- package/dist/lib/internationalization/locales/zh.cjs +488 -0
- package/dist/lib/internationalization/locales/zh.d.cts +452 -0
- package/dist/lib/internationalization/translatable.d.ts +21 -0
- package/dist/lib/internationalization/translatable.js +8 -0
- package/dist/lib/models/Comment.d.ts +241 -0
- package/dist/lib/models/Comment.js +534 -0
- package/dist/lib/models/ContainerReflection.d.ts +56 -0
- package/dist/lib/models/ContainerReflection.js +159 -0
- package/dist/lib/models/DeclarationReflection.d.ts +149 -0
- package/dist/lib/models/DeclarationReflection.js +287 -0
- package/dist/lib/models/DocumentReflection.d.ts +32 -0
- package/dist/lib/models/DocumentReflection.js +66 -0
- package/dist/lib/models/FileRegistry.d.ts +46 -0
- package/dist/lib/models/FileRegistry.js +133 -0
- package/dist/lib/models/ParameterReflection.d.ts +21 -0
- package/dist/lib/models/ParameterReflection.js +39 -0
- package/dist/lib/models/ProjectReflection.d.ts +112 -0
- package/dist/lib/models/ProjectReflection.js +417 -0
- package/dist/lib/models/ReferenceReflection.d.ts +49 -0
- package/dist/lib/models/ReferenceReflection.js +85 -0
- package/dist/lib/models/Reflection.d.ts +229 -0
- package/dist/lib/models/Reflection.js +495 -0
- package/dist/lib/models/ReflectionCategory.d.ts +31 -0
- package/dist/lib/models/ReflectionCategory.js +56 -0
- package/dist/lib/models/ReflectionGroup.d.ts +38 -0
- package/dist/lib/models/ReflectionGroup.js +72 -0
- package/dist/lib/models/ReflectionSymbolId.d.ts +63 -0
- package/dist/lib/models/ReflectionSymbolId.js +85 -0
- package/dist/lib/models/SignatureReflection.d.ts +50 -0
- package/dist/lib/models/SignatureReflection.js +96 -0
- package/dist/lib/models/SourceReference.d.ts +33 -0
- package/dist/lib/models/SourceReference.js +50 -0
- package/dist/lib/models/TypeParameterReflection.d.ts +30 -0
- package/dist/lib/models/TypeParameterReflection.js +45 -0
- package/dist/lib/models/index.d.ts +19 -0
- package/dist/lib/models/index.js +19 -0
- package/dist/lib/models/kind.d.ts +84 -0
- package/dist/lib/models/kind.js +231 -0
- package/dist/lib/models/types.d.ts +553 -0
- package/dist/lib/models/types.js +1296 -0
- package/dist/lib/models/utils.d.ts +1 -0
- package/dist/lib/models/utils.js +26 -0
- package/dist/lib/models/variant.d.ts +21 -0
- package/dist/lib/models/variant.js +1 -0
- package/dist/lib/output/components.d.ts +53 -0
- package/dist/lib/output/components.js +133 -0
- package/dist/lib/output/events.d.ts +175 -0
- package/dist/lib/output/events.js +195 -0
- package/dist/lib/output/formatter.d.ts +88 -0
- package/dist/lib/output/formatter.js +660 -0
- package/dist/lib/output/index.d.ts +9 -0
- package/dist/lib/output/index.js +7 -0
- package/dist/lib/output/output.d.ts +14 -0
- package/dist/lib/output/output.js +92 -0
- package/dist/lib/output/plugins/AssetsPlugin.d.ts +20 -0
- package/dist/lib/output/plugins/AssetsPlugin.js +160 -0
- package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
- package/dist/lib/output/plugins/HierarchyPlugin.js +65 -0
- package/dist/lib/output/plugins/IconsPlugin.d.ts +12 -0
- package/dist/lib/output/plugins/IconsPlugin.js +54 -0
- package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +22 -0
- package/dist/lib/output/plugins/JavascriptIndexPlugin.js +222 -0
- package/dist/lib/output/plugins/NavigationPlugin.d.ts +7 -0
- package/dist/lib/output/plugins/NavigationPlugin.js +23 -0
- package/dist/lib/output/plugins/SitemapPlugin.d.ts +8 -0
- package/dist/lib/output/plugins/SitemapPlugin.js +82 -0
- package/dist/lib/output/plugins/index.d.ts +7 -0
- package/dist/lib/output/plugins/index.js +7 -0
- package/dist/lib/output/renderer.d.ts +227 -0
- package/dist/lib/output/renderer.js +387 -0
- package/dist/lib/output/router.d.ts +187 -0
- package/dist/lib/output/router.js +520 -0
- package/dist/lib/output/theme.d.ts +22 -0
- package/dist/lib/output/theme.js +17 -0
- package/dist/lib/output/themes/MarkedPlugin.d.ts +62 -0
- package/dist/lib/output/themes/MarkedPlugin.js +461 -0
- package/dist/lib/output/themes/default/DefaultTheme.d.ts +72 -0
- package/dist/lib/output/themes/default/DefaultTheme.js +367 -0
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +105 -0
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +151 -0
- package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
- package/dist/lib/output/themes/default/Slugger.js +60 -0
- package/dist/lib/output/themes/default/layouts/default.d.ts +6 -0
- package/dist/lib/output/themes/default/layouts/default.js +89 -0
- package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/anchor-icon.js +9 -0
- package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/breadcrumb.js +11 -0
- package/dist/lib/output/themes/default/partials/comment.d.ts +8 -0
- package/dist/lib/output/themes/default/partials/comment.js +80 -0
- package/dist/lib/output/themes/default/partials/footer.d.ts +3 -0
- package/dist/lib/output/themes/default/partials/footer.js +37 -0
- package/dist/lib/output/themes/default/partials/header.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/header.js +39 -0
- package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/hierarchy.js +32 -0
- package/dist/lib/output/themes/default/partials/icon.d.ts +20 -0
- package/dist/lib/output/themes/default/partials/icon.js +101 -0
- package/dist/lib/output/themes/default/partials/index.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/index.js +24 -0
- package/dist/lib/output/themes/default/partials/member.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.declaration.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.declaration.js +35 -0
- package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.getterSetter.js +12 -0
- package/dist/lib/output/themes/default/partials/member.js +36 -0
- package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +6 -0
- package/dist/lib/output/themes/default/partials/member.signature.body.js +33 -0
- package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/member.signature.title.js +9 -0
- package/dist/lib/output/themes/default/partials/member.signatures.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.signatures.js +9 -0
- package/dist/lib/output/themes/default/partials/member.sources.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.sources.js +55 -0
- package/dist/lib/output/themes/default/partials/members.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/members.js +17 -0
- package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/moduleReflection.js +68 -0
- package/dist/lib/output/themes/default/partials/navigation.d.ts +10 -0
- package/dist/lib/output/themes/default/partials/navigation.js +144 -0
- package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/reflectionPreview.js +26 -0
- package/dist/lib/output/themes/default/partials/toolbar.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/toolbar.js +13 -0
- package/dist/lib/output/themes/default/partials/type.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/type.js +9 -0
- package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/typeAndParent.js +28 -0
- package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
- package/dist/lib/output/themes/default/partials/typeDetails.js +284 -0
- package/dist/lib/output/themes/default/partials/typeParameters.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/typeParameters.js +26 -0
- package/dist/lib/output/themes/default/templates/document.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/document.js +3 -0
- package/dist/lib/output/themes/default/templates/hierarchy.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/hierarchy.js +31 -0
- package/dist/lib/output/themes/default/templates/index.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/index.js +3 -0
- package/dist/lib/output/themes/default/templates/reflection.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/reflection.js +53 -0
- package/dist/lib/output/themes/lib.d.ts +44 -0
- package/dist/lib/output/themes/lib.js +218 -0
- package/dist/lib/serialization/components.d.ts +22 -0
- package/dist/lib/serialization/components.js +1 -0
- package/dist/lib/serialization/deserializer.d.ts +70 -0
- package/dist/lib/serialization/deserializer.js +235 -0
- package/dist/lib/serialization/events.d.ts +17 -0
- package/dist/lib/serialization/events.js +18 -0
- package/dist/lib/serialization/index.d.ts +5 -0
- package/dist/lib/serialization/index.js +4 -0
- package/dist/lib/serialization/schema.d.ts +283 -0
- package/dist/lib/serialization/schema.js +32 -0
- package/dist/lib/serialization/serializer.d.ts +52 -0
- package/dist/lib/serialization/serializer.js +65 -0
- package/dist/lib/utils/ValidatingFileRegistry.d.ts +12 -0
- package/dist/lib/utils/ValidatingFileRegistry.js +52 -0
- package/dist/lib/utils/component.d.ts +38 -0
- package/dist/lib/utils/component.js +41 -0
- package/dist/lib/utils/compress.d.ts +7 -0
- package/dist/lib/utils/compress.js +13 -0
- package/dist/lib/utils/declaration-maps.d.ts +3 -0
- package/dist/lib/utils/declaration-maps.js +51 -0
- package/dist/lib/utils/entry-point.d.ts +50 -0
- package/dist/lib/utils/entry-point.js +330 -0
- package/dist/lib/utils/fs.d.ts +65 -0
- package/dist/lib/utils/fs.js +372 -0
- package/dist/lib/utils/general.d.ts +4 -0
- package/dist/lib/utils/general.js +25 -0
- package/dist/lib/utils/highlighter.d.ts +9 -0
- package/dist/lib/utils/highlighter.js +150 -0
- package/dist/lib/utils/html-entities.d.ts +8926 -0
- package/dist/lib/utils/html-entities.js +2329 -0
- package/dist/lib/utils/html.d.ts +67 -0
- package/dist/lib/utils/html.js +635 -0
- package/dist/lib/utils/index.d.ts +17 -0
- package/dist/lib/utils/index.js +15 -0
- package/dist/lib/utils/loggers.d.ts +10 -0
- package/dist/lib/utils/loggers.js +71 -0
- package/dist/lib/utils/options/declaration.d.ts +514 -0
- package/dist/lib/utils/options/declaration.js +443 -0
- package/dist/lib/utils/options/defaults.d.ts +20 -0
- package/dist/lib/utils/options/defaults.js +104 -0
- package/dist/lib/utils/options/help.d.ts +7 -0
- package/dist/lib/utils/options/help.js +63 -0
- package/dist/lib/utils/options/index.d.ts +6 -0
- package/dist/lib/utils/options/index.js +4 -0
- package/dist/lib/utils/options/options.d.ts +199 -0
- package/dist/lib/utils/options/options.js +273 -0
- package/dist/lib/utils/options/readers/arguments.d.ts +15 -0
- package/dist/lib/utils/options/readers/arguments.js +109 -0
- package/dist/lib/utils/options/readers/index.d.ts +4 -0
- package/dist/lib/utils/options/readers/index.js +4 -0
- package/dist/lib/utils/options/readers/package-json.d.ts +9 -0
- package/dist/lib/utils/options/readers/package-json.js +40 -0
- package/dist/lib/utils/options/readers/tsconfig.d.ts +14 -0
- package/dist/lib/utils/options/readers/tsconfig.js +172 -0
- package/dist/lib/utils/options/readers/typedoc.d.ts +33 -0
- package/dist/lib/utils/options/readers/typedoc.js +136 -0
- package/dist/lib/utils/options/sources/index.d.ts +1 -0
- package/dist/lib/utils/options/sources/index.js +1 -0
- package/dist/lib/utils/options/sources/typedoc.d.ts +2 -0
- package/dist/lib/utils/options/sources/typedoc.js +876 -0
- package/dist/lib/utils/options/tsdoc-defaults.d.ts +6 -0
- package/dist/lib/utils/options/tsdoc-defaults.js +94 -0
- package/dist/lib/utils/package-manifest.d.ts +11 -0
- package/dist/lib/utils/package-manifest.js +84 -0
- package/dist/lib/utils/paths.d.ts +27 -0
- package/dist/lib/utils/paths.js +127 -0
- package/dist/lib/utils/perf.d.ts +6 -0
- package/dist/lib/utils/perf.js +86 -0
- package/dist/lib/utils/plugins.d.ts +3 -0
- package/dist/lib/utils/plugins.js +61 -0
- package/dist/lib/utils/reflections.d.ts +5 -0
- package/dist/lib/utils/reflections.js +64 -0
- package/dist/lib/utils/sort.d.ts +11 -0
- package/dist/lib/utils/sort.js +153 -0
- package/dist/lib/utils/tsconfig.d.ts +5 -0
- package/dist/lib/utils/tsconfig.js +60 -0
- package/dist/lib/utils/tsutils.d.ts +3 -0
- package/dist/lib/utils/tsutils.js +23 -0
- package/dist/lib/utils-common/array.d.ts +57 -0
- package/dist/lib/utils-common/array.js +152 -0
- package/dist/lib/utils-common/declarationReference.d.ts +42 -0
- package/dist/lib/utils-common/declarationReference.js +341 -0
- package/dist/lib/utils-common/enum.d.ts +9 -0
- package/dist/lib/utils-common/enum.js +27 -0
- package/dist/lib/utils-common/events.d.ts +29 -0
- package/dist/lib/utils-common/events.js +49 -0
- package/dist/lib/utils-common/general.d.ts +40 -0
- package/dist/lib/utils-common/general.js +22 -0
- package/dist/lib/utils-common/hooks.d.ts +51 -0
- package/dist/lib/utils-common/hooks.js +90 -0
- package/dist/lib/utils-common/i18n.d.ts +18 -0
- package/dist/lib/utils-common/i18n.js +39 -0
- package/dist/lib/utils-common/index.d.ts +16 -0
- package/dist/lib/utils-common/index.js +17 -0
- package/dist/lib/utils-common/jsx.d.ts +53 -0
- package/dist/lib/utils-common/jsx.elements.d.ts +949 -0
- package/dist/lib/utils-common/jsx.elements.js +3 -0
- package/dist/lib/utils-common/jsx.js +187 -0
- package/dist/lib/utils-common/logger.d.ts +97 -0
- package/dist/lib/utils-common/logger.js +129 -0
- package/dist/lib/utils-common/map.d.ts +23 -0
- package/dist/lib/utils-common/map.js +63 -0
- package/dist/lib/utils-common/minimalSourceFile.d.ts +12 -0
- package/dist/lib/utils-common/minimalSourceFile.js +43 -0
- package/dist/lib/utils-common/path.d.ts +42 -0
- package/dist/lib/utils-common/path.js +130 -0
- package/dist/lib/utils-common/set.d.ts +3 -0
- package/dist/lib/utils-common/set.js +23 -0
- package/dist/lib/utils-common/string.d.ts +11 -0
- package/dist/lib/utils-common/string.js +84 -0
- package/dist/lib/utils-common/validation.d.ts +33 -0
- package/dist/lib/utils-common/validation.js +50 -0
- package/dist/lib/validation/documentation.d.ts +3 -0
- package/dist/lib/validation/documentation.js +91 -0
- package/dist/lib/validation/exports.d.ts +3 -0
- package/dist/lib/validation/exports.js +65 -0
- package/dist/lib/validation/links.d.ts +3 -0
- package/dist/lib/validation/links.js +78 -0
- package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
- package/dist/lib/validation/unusedMergeModuleWith.js +12 -0
- package/package.json +161 -0
- package/static/main.js +58 -0
- package/static/style.css +1633 -0
- package/tsdoc.json +247 -0
- package/typedoc-config.schema.json +941 -0
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { ApplicationEvents } from "../../application-events.js";
|
|
3
|
+
import { DeclarationReflection, ReflectionFlag, ReflectionKind, SignatureReflection, } from "../../models/index.js";
|
|
4
|
+
import { ReferenceType, ReflectionType } from "../../models/types.js";
|
|
5
|
+
import { filterMap, zip } from "#utils";
|
|
6
|
+
import { ConverterComponent } from "../components.js";
|
|
7
|
+
import { findPackageForPath, getHumanName } from "../../utils/index.js";
|
|
8
|
+
import { ConverterEvents } from "../converter-events.js";
|
|
9
|
+
/**
|
|
10
|
+
* A plugin that detects interface implementations of functions and
|
|
11
|
+
* properties on classes and links them.
|
|
12
|
+
*/
|
|
13
|
+
export class ImplementsPlugin extends ConverterComponent {
|
|
14
|
+
resolved = new WeakSet();
|
|
15
|
+
postponed = new WeakMap();
|
|
16
|
+
revivingSerialized = false;
|
|
17
|
+
constructor(owner) {
|
|
18
|
+
super(owner);
|
|
19
|
+
this.owner.on(ConverterEvents.RESOLVE_END, this.onResolveEnd.bind(this));
|
|
20
|
+
this.owner.on(ConverterEvents.CREATE_DECLARATION, this.onDeclaration.bind(this), -1000);
|
|
21
|
+
this.owner.on(ConverterEvents.CREATE_SIGNATURE, this.onSignature.bind(this), 1000);
|
|
22
|
+
this.application.on(ApplicationEvents.REVIVE, this.onRevive.bind(this));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Mark all members of the given class to be the implementation of the matching interface member.
|
|
26
|
+
*/
|
|
27
|
+
analyzeImplements(project, classReflection, interfaceReflection) {
|
|
28
|
+
this.handleInheritedComments(classReflection, interfaceReflection);
|
|
29
|
+
if (!interfaceReflection.children) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
interfaceReflection.children.forEach((interfaceMember) => {
|
|
33
|
+
const classMember = findMatchingMember(interfaceMember, classReflection);
|
|
34
|
+
if (!classMember) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const interfaceMemberName = interfaceReflection.name + "." + interfaceMember.name;
|
|
38
|
+
classMember.implementationOf = ReferenceType.createResolvedReference(interfaceMemberName, interfaceMember, project);
|
|
39
|
+
const intSigs = interfaceMember.signatures ||
|
|
40
|
+
interfaceMember.type?.visit({
|
|
41
|
+
reflection: (r) => r.declaration.signatures,
|
|
42
|
+
});
|
|
43
|
+
const clsSigs = classMember.signatures ||
|
|
44
|
+
classMember.type?.visit({
|
|
45
|
+
reflection: (r) => r.declaration.signatures,
|
|
46
|
+
});
|
|
47
|
+
if (intSigs && clsSigs) {
|
|
48
|
+
for (const [clsSig, intSig] of zip(clsSigs, intSigs)) {
|
|
49
|
+
if (clsSig.implementationOf) {
|
|
50
|
+
const target = intSig.parent.kindOf(ReflectionKind.FunctionOrMethod)
|
|
51
|
+
? intSig
|
|
52
|
+
: intSig.parent.parent;
|
|
53
|
+
clsSig.implementationOf = ReferenceType.createResolvedReference(clsSig.implementationOf.name, target, project);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
this.handleInheritedComments(classMember, interfaceMember);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
analyzeInheritance(project, reflection) {
|
|
61
|
+
if (!reflection.extendedTypes)
|
|
62
|
+
return;
|
|
63
|
+
const extendedTypes = filterMap(reflection.extendedTypes, (type) => {
|
|
64
|
+
return type instanceof ReferenceType &&
|
|
65
|
+
type.reflection instanceof DeclarationReflection
|
|
66
|
+
? type
|
|
67
|
+
: void 0;
|
|
68
|
+
});
|
|
69
|
+
for (const parent of extendedTypes) {
|
|
70
|
+
this.handleInheritedComments(reflection, parent.reflection);
|
|
71
|
+
for (const parentMember of parent.reflection.children ?? []) {
|
|
72
|
+
const child = findMatchingMember(parentMember, reflection);
|
|
73
|
+
if (child) {
|
|
74
|
+
const key = child.overwrites
|
|
75
|
+
? "overwrites"
|
|
76
|
+
: "inheritedFrom";
|
|
77
|
+
for (const [childSig, parentSig] of zip(child.signatures ?? [], parentMember.signatures ?? [])) {
|
|
78
|
+
// If we're already pointing at something because TS said we should reference
|
|
79
|
+
// it, then don't overwrite the reference.
|
|
80
|
+
if (!childSig[key]?.reflection) {
|
|
81
|
+
childSig[key] = ReferenceType.createResolvedReference(`${parent.name}.${parentMember.name}`, parentSig, project);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!child[key]?.reflection) {
|
|
85
|
+
child[key] = ReferenceType.createResolvedReference(`${parent.name}.${parentMember.name}`, parentMember, project);
|
|
86
|
+
}
|
|
87
|
+
this.handleInheritedComments(child, parentMember);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// #2978, this is very unfortunate. If a child's parent links are broken at this point,
|
|
92
|
+
// we replace them with an intentionally broken link so that they won't ever be resolved.
|
|
93
|
+
// This is done because if we don't do it then we run into issues where we have a link which
|
|
94
|
+
// points to some ReflectionSymbolId which might not exist now, but once we've gone through
|
|
95
|
+
// serialization/deserialization, might point to an unexpected location. (See the mixin
|
|
96
|
+
// converter tests, I suspect this might actually be an indication of something else slightly
|
|
97
|
+
// broken there, but don't want to spend more time with this right now.)
|
|
98
|
+
for (const child of reflection.children || []) {
|
|
99
|
+
if (child.inheritedFrom && !isValidRef(child.inheritedFrom)) {
|
|
100
|
+
child.inheritedFrom = ReferenceType.createBrokenReference(child.inheritedFrom.name, project, child.inheritedFrom.package);
|
|
101
|
+
}
|
|
102
|
+
if (child.overwrites && !isValidRef(child.overwrites)) {
|
|
103
|
+
child.overwrites = ReferenceType.createBrokenReference(child.overwrites.name, project, child.overwrites.package);
|
|
104
|
+
}
|
|
105
|
+
for (const childSig of child.getAllSignatures()) {
|
|
106
|
+
if (childSig.inheritedFrom && !isValidRef(childSig.inheritedFrom)) {
|
|
107
|
+
childSig.inheritedFrom = ReferenceType.createBrokenReference(childSig.inheritedFrom.name, project, childSig.inheritedFrom.package);
|
|
108
|
+
}
|
|
109
|
+
if (childSig.overwrites && !isValidRef(childSig.overwrites)) {
|
|
110
|
+
childSig.overwrites = ReferenceType.createBrokenReference(childSig.overwrites.name, project, childSig.overwrites.package);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
cleanUpImplements(project, reflection) {
|
|
116
|
+
// #3052, the same problem as #2978 applies for implements
|
|
117
|
+
for (const child of reflection.children || []) {
|
|
118
|
+
if (child.implementationOf && !isValidRef(child.implementationOf)) {
|
|
119
|
+
child.implementationOf = ReferenceType.createBrokenReference(child.implementationOf.name, project, child.implementationOf.package);
|
|
120
|
+
}
|
|
121
|
+
for (const childSig of child.getAllSignatures()) {
|
|
122
|
+
if (childSig.implementationOf && !isValidRef(childSig.implementationOf)) {
|
|
123
|
+
childSig.implementationOf = ReferenceType.createBrokenReference(childSig.implementationOf.name, project, childSig.implementationOf.package);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
onResolveEnd(context) {
|
|
129
|
+
this.resolve(context.project);
|
|
130
|
+
}
|
|
131
|
+
onRevive(project) {
|
|
132
|
+
this.revivingSerialized = true;
|
|
133
|
+
this.resolve(project);
|
|
134
|
+
this.revivingSerialized = false;
|
|
135
|
+
}
|
|
136
|
+
resolve(project) {
|
|
137
|
+
for (const id in project.reflections) {
|
|
138
|
+
const refl = project.reflections[id];
|
|
139
|
+
if (refl instanceof DeclarationReflection) {
|
|
140
|
+
this.tryResolve(project, refl);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
tryResolve(project, reflection) {
|
|
145
|
+
const requirements = filterMap([
|
|
146
|
+
...(reflection.implementedTypes ?? []),
|
|
147
|
+
...(reflection.extendedTypes ?? []),
|
|
148
|
+
], (type) => {
|
|
149
|
+
return type instanceof ReferenceType ? type.reflection : void 0;
|
|
150
|
+
});
|
|
151
|
+
if (requirements.every((req) => this.resolved.has(req))) {
|
|
152
|
+
this.doResolve(project, reflection);
|
|
153
|
+
this.resolved.add(reflection);
|
|
154
|
+
for (const refl of this.postponed.get(reflection) ?? []) {
|
|
155
|
+
this.tryResolve(project, refl);
|
|
156
|
+
}
|
|
157
|
+
this.postponed.delete(reflection);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
for (const req of requirements) {
|
|
161
|
+
const future = this.postponed.get(req) ?? new Set();
|
|
162
|
+
future.add(reflection);
|
|
163
|
+
this.postponed.set(req, future);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
doResolve(project, reflection) {
|
|
168
|
+
if (reflection.kindOf(ReflectionKind.Class) &&
|
|
169
|
+
reflection.implementedTypes) {
|
|
170
|
+
reflection.implementedTypes.forEach((type) => {
|
|
171
|
+
if (!(type instanceof ReferenceType)) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (type.reflection &&
|
|
175
|
+
type.reflection.kindOf(ReflectionKind.ClassOrInterface)) {
|
|
176
|
+
this.analyzeImplements(project, reflection, type.reflection);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
// Remove hidden classes/interfaces which we inherit from
|
|
181
|
+
if (reflection.kindOf(ReflectionKind.ClassOrInterface)) {
|
|
182
|
+
const notHiddenType = (t) => !(t instanceof ReferenceType) ||
|
|
183
|
+
!t.symbolId ||
|
|
184
|
+
!project.symbolIdHasBeenRemoved(t.symbolId);
|
|
185
|
+
reflection.implementedTypes = reflection.implementedTypes?.filter(notHiddenType);
|
|
186
|
+
if (!reflection.implementedTypes?.length)
|
|
187
|
+
delete reflection.implementedTypes;
|
|
188
|
+
reflection.extendedTypes = reflection.extendedTypes?.filter(notHiddenType);
|
|
189
|
+
if (!reflection.extendedTypes?.length)
|
|
190
|
+
delete reflection.extendedTypes;
|
|
191
|
+
}
|
|
192
|
+
if (reflection.kindOf(ReflectionKind.ClassOrInterface) &&
|
|
193
|
+
reflection.extendedTypes) {
|
|
194
|
+
this.analyzeInheritance(project, reflection);
|
|
195
|
+
}
|
|
196
|
+
if (reflection.kindOf(ReflectionKind.ClassOrInterface) &&
|
|
197
|
+
(reflection.extendedTypes || reflection.implementedTypes)) {
|
|
198
|
+
this.cleanUpImplements(project, reflection);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
getExtensionInfo(context, reflection) {
|
|
202
|
+
if (!reflection || !reflection.kindOf(ReflectionKind.Inheritable)) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
// Need this because we re-use reflections for type literals.
|
|
206
|
+
if (!reflection.parent?.kindOf(ReflectionKind.ClassOrInterface)) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const symbol = context.getSymbolFromReflection(reflection.parent);
|
|
210
|
+
if (!symbol) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
const declaration = symbol
|
|
214
|
+
.getDeclarations()
|
|
215
|
+
?.find((n) => ts.isClassDeclaration(n) || ts.isInterfaceDeclaration(n));
|
|
216
|
+
if (!declaration) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
return { symbol, declaration };
|
|
220
|
+
}
|
|
221
|
+
onSignature(context, reflection) {
|
|
222
|
+
this.onDeclaration(context, reflection.parent);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Responsible for setting the {@link DeclarationReflection.inheritedFrom},
|
|
226
|
+
* {@link DeclarationReflection.overwrites}, and {@link DeclarationReflection.implementationOf}
|
|
227
|
+
* properties on the provided reflection temporarily, these links will be replaced
|
|
228
|
+
* during the resolve step with links which actually point to the right place.
|
|
229
|
+
*/
|
|
230
|
+
onDeclaration(context, reflection) {
|
|
231
|
+
const info = this.getExtensionInfo(context, reflection);
|
|
232
|
+
if (!info) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
if (reflection.kind === ReflectionKind.Constructor) {
|
|
236
|
+
const ctor = info.declaration.members.find(ts.isConstructorDeclaration);
|
|
237
|
+
constructorInheritance(context, reflection, info.declaration, ctor);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const childType = reflection.flags.isStatic
|
|
241
|
+
? context.checker.getTypeOfSymbolAtLocation(info.symbol, info.declaration)
|
|
242
|
+
: context.checker.getDeclaredTypeOfSymbol(info.symbol);
|
|
243
|
+
const property = findProperty(reflection, childType);
|
|
244
|
+
if (!property) {
|
|
245
|
+
// We're probably broken... but I don't think this should be fatal.
|
|
246
|
+
context.logger.warn(`Failed to retrieve${reflection.flags.isStatic ? " static" : ""} member "${reflection.escapedName ?? reflection.name}" of "${reflection.parent?.name}" for inheritance analysis. Please report a bug.`);
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
// Need to check both extends and implements clauses.
|
|
250
|
+
out: for (const clause of info.declaration.heritageClauses ?? []) {
|
|
251
|
+
// No point checking implemented types for static members, they won't exist.
|
|
252
|
+
if (reflection.flags.isStatic &&
|
|
253
|
+
clause.token === ts.SyntaxKind.ImplementsKeyword) {
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
for (const expr of clause.types) {
|
|
257
|
+
const parentType = context.checker.getTypeAtLocation(reflection.flags.isStatic ? expr.expression : expr);
|
|
258
|
+
const parentProperty = findProperty(reflection, parentType);
|
|
259
|
+
if (parentProperty) {
|
|
260
|
+
const isInherit = property
|
|
261
|
+
.getDeclarations()
|
|
262
|
+
?.some((d) => d.parent !== info.declaration) ??
|
|
263
|
+
true;
|
|
264
|
+
createLink(context, reflection, clause, expr, parentProperty, isInherit);
|
|
265
|
+
// Can't always break because we need to also set `implementationOf` if we
|
|
266
|
+
// inherit from a base class and also implement an interface.
|
|
267
|
+
if (clause.token === ts.SyntaxKind.ImplementsKeyword) {
|
|
268
|
+
break out;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Responsible for copying comments from "parent" reflections defined
|
|
276
|
+
* in either a base class or implemented interface to the child class.
|
|
277
|
+
*/
|
|
278
|
+
handleInheritedComments(child, parent) {
|
|
279
|
+
this.copyComment(child, parent);
|
|
280
|
+
if (parent.kindOf(ReflectionKind.Property) &&
|
|
281
|
+
child.kindOf(ReflectionKind.Accessor)) {
|
|
282
|
+
if (child.getSignature) {
|
|
283
|
+
this.copyComment(child.getSignature, parent);
|
|
284
|
+
child.getSignature.implementationOf = child.implementationOf;
|
|
285
|
+
}
|
|
286
|
+
if (child.setSignature) {
|
|
287
|
+
this.copyComment(child.setSignature, parent);
|
|
288
|
+
child.setSignature.implementationOf = child.implementationOf;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
if (parent.kindOf(ReflectionKind.Accessor) &&
|
|
292
|
+
child.kindOf(ReflectionKind.Accessor)) {
|
|
293
|
+
if (parent.getSignature && child.getSignature) {
|
|
294
|
+
this.copyComment(child.getSignature, parent.getSignature);
|
|
295
|
+
}
|
|
296
|
+
if (parent.setSignature && child.setSignature) {
|
|
297
|
+
this.copyComment(child.setSignature, parent.setSignature);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
if (parent.kindOf(ReflectionKind.FunctionOrMethod) &&
|
|
301
|
+
parent.signatures &&
|
|
302
|
+
child.signatures) {
|
|
303
|
+
for (const [cs, ps] of zip(child.signatures, parent.signatures)) {
|
|
304
|
+
this.copyComment(cs, ps);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else if (parent.kindOf(ReflectionKind.Property) &&
|
|
308
|
+
parent.type instanceof ReflectionType &&
|
|
309
|
+
parent.type.declaration.signatures &&
|
|
310
|
+
child.signatures) {
|
|
311
|
+
for (const [cs, ps] of zip(child.signatures, parent.type.declaration.signatures)) {
|
|
312
|
+
this.copyComment(cs, ps);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Copy the comment of the source reflection to the target reflection with a JSDoc style copy
|
|
318
|
+
* function. The TSDoc copy function is in the InheritDocPlugin.
|
|
319
|
+
*/
|
|
320
|
+
copyComment(target, source) {
|
|
321
|
+
if (!shouldCopyComment(target, source, this.revivingSerialized)) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
target.comment = source.comment.clone();
|
|
325
|
+
if (target instanceof DeclarationReflection &&
|
|
326
|
+
source instanceof DeclarationReflection) {
|
|
327
|
+
for (const [tt, ts] of zip(target.typeParameters || [], source.typeParameters || [])) {
|
|
328
|
+
this.copyComment(tt, ts);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
if (target instanceof SignatureReflection &&
|
|
332
|
+
source instanceof SignatureReflection) {
|
|
333
|
+
for (const [tt, ts] of zip(target.typeParameters || [], source.typeParameters || [])) {
|
|
334
|
+
this.copyComment(tt, ts);
|
|
335
|
+
}
|
|
336
|
+
for (const [pt, ps] of zip(target.parameters || [], source.parameters || [])) {
|
|
337
|
+
this.copyComment(pt, ps);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
function getConstructorPackagePath(context, clause) {
|
|
343
|
+
const symbol = context.getSymbolAtLocation(clause.expression);
|
|
344
|
+
if (!symbol)
|
|
345
|
+
return undefined;
|
|
346
|
+
const resolvedSymbol = context.resolveAliasedSymbol(symbol);
|
|
347
|
+
const symbolPath = resolvedSymbol?.declarations?.[0]?.getSourceFile().fileName;
|
|
348
|
+
if (!symbolPath)
|
|
349
|
+
return undefined;
|
|
350
|
+
return findPackageForPath(symbolPath)?.[0];
|
|
351
|
+
}
|
|
352
|
+
function constructorInheritance(context, reflection, childDecl, constructorDecl) {
|
|
353
|
+
const extendsClause = childDecl.heritageClauses?.find((cl) => cl.token === ts.SyntaxKind.ExtendsKeyword);
|
|
354
|
+
if (!extendsClause)
|
|
355
|
+
return;
|
|
356
|
+
const extendsType = extendsClause.types[0];
|
|
357
|
+
const refPackage = getConstructorPackagePath(context, extendsType);
|
|
358
|
+
const name = `${extendsType.getText()}.constructor`;
|
|
359
|
+
const key = constructorDecl ? "overwrites" : "inheritedFrom";
|
|
360
|
+
reflection[key] ??= ReferenceType.createBrokenReference(name, context.project, refPackage);
|
|
361
|
+
for (const sig of reflection.signatures ?? []) {
|
|
362
|
+
sig[key] ??= ReferenceType.createBrokenReference(name, context.project, refPackage);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
function findProperty(reflection, parent) {
|
|
366
|
+
return parent.getProperties().find((prop) => {
|
|
367
|
+
return reflection.escapedName
|
|
368
|
+
? prop.escapedName === reflection.escapedName
|
|
369
|
+
: prop.name === reflection.name;
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
function createLink(context, reflection, clause, expr, symbol, isInherit) {
|
|
373
|
+
const name = `${expr.expression.getText()}.${getHumanName(symbol.name)}`;
|
|
374
|
+
// We should always have rootSymbols, but check just in case. We use the first
|
|
375
|
+
// symbol here as TypeDoc's models don't have multiple symbols for the parent
|
|
376
|
+
// reference. This is technically wrong because symbols might be declared in
|
|
377
|
+
// multiple locations (interface declaration merging), but that's an uncommon
|
|
378
|
+
// enough use case that it doesn't seem worthwhile to complicate the rest of the
|
|
379
|
+
// world to deal with it.
|
|
380
|
+
// Note that we also need to check that the root symbol isn't this symbol.
|
|
381
|
+
// This seems to happen sometimes when dealing with interface inheritance.
|
|
382
|
+
const rootSymbols = context.checker.getRootSymbols(symbol);
|
|
383
|
+
const ref = rootSymbols.length && rootSymbols[0] != symbol
|
|
384
|
+
? context.createSymbolReference(rootSymbols[0], context, name)
|
|
385
|
+
: ReferenceType.createBrokenReference(name, context.project, undefined);
|
|
386
|
+
link(reflection);
|
|
387
|
+
link(reflection.getSignature);
|
|
388
|
+
link(reflection.setSignature);
|
|
389
|
+
for (const sig of reflection.indexSignatures || []) {
|
|
390
|
+
link(sig);
|
|
391
|
+
}
|
|
392
|
+
for (const sig of reflection.signatures ?? []) {
|
|
393
|
+
link(sig);
|
|
394
|
+
}
|
|
395
|
+
function link(target) {
|
|
396
|
+
if (!target)
|
|
397
|
+
return;
|
|
398
|
+
if (clause.token === ts.SyntaxKind.ImplementsKeyword) {
|
|
399
|
+
target.implementationOf ??= ref;
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
if (isInherit) {
|
|
403
|
+
target.setFlag(ReflectionFlag.Inherited);
|
|
404
|
+
target.inheritedFrom ??= ref;
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
target.overwrites ??= ref;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
function shouldCopyComment(target, source, revivingSerialized) {
|
|
412
|
+
if (!source.comment) {
|
|
413
|
+
return false;
|
|
414
|
+
}
|
|
415
|
+
if (target.comment) {
|
|
416
|
+
// If we're reviving, then the revived project might have a better comment
|
|
417
|
+
// on source, so copy it.
|
|
418
|
+
if (revivingSerialized && source.comment.similarTo(target.comment)) {
|
|
419
|
+
return true;
|
|
420
|
+
}
|
|
421
|
+
// We might still want to copy, if the child has a JSDoc style inheritDoc tag.
|
|
422
|
+
const tag = target.comment.getTag("@inheritDoc");
|
|
423
|
+
if (!tag || tag.name) {
|
|
424
|
+
return false;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
return true;
|
|
428
|
+
}
|
|
429
|
+
function findMatchingMember(toMatch, container) {
|
|
430
|
+
return container.children?.find((child) => child.name == toMatch.name &&
|
|
431
|
+
child.flags.isStatic === toMatch.flags.isStatic);
|
|
432
|
+
}
|
|
433
|
+
// #2982/#3007 unfortunately, we only want to keep the link if it is pointing
|
|
434
|
+
// to a reflection which will receive a link during rendering, we pick this based on it being
|
|
435
|
+
// the type of member we expect to point to.
|
|
436
|
+
function isValidRef(ref) {
|
|
437
|
+
return !!ref.reflection?.parent?.kindOf(ReflectionKind.ClassOrInterface | ReflectionKind.Method | ReflectionKind.Constructor);
|
|
438
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ConverterComponent } from "../components.js";
|
|
2
|
+
import type { CommentDisplayPart, Reflection } from "../../models/index.js";
|
|
3
|
+
import type { Converter } from "../converter.js";
|
|
4
|
+
/**
|
|
5
|
+
* Handles `@include` and `@includeCode` within comments/documents.
|
|
6
|
+
*/
|
|
7
|
+
export declare class IncludePlugin extends ConverterComponent {
|
|
8
|
+
get logger(): import("#utils").Logger;
|
|
9
|
+
constructor(owner: Converter);
|
|
10
|
+
private onCreate;
|
|
11
|
+
checkIncludeTagsParts(refl: Reflection, relative: string, parts: CommentDisplayPart[], included?: string[]): void;
|
|
12
|
+
getRegions(refl: Reflection, file: string, ext: string, textPart: string, text: string, regionTargets: string, tag: string, ignoreIndent: boolean): string;
|
|
13
|
+
getLines(refl: Reflection, file: string, textPart: string, text: string, requestedLines: string, tag: string): string;
|
|
14
|
+
}
|