@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,101 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Comment, DeclarationReflection, type DocumentReflection, type ProjectReflection, ReferenceType, type Reflection, ReflectionKind } from "../models/index.js";
|
|
3
|
+
import type { Converter } from "./converter.js";
|
|
4
|
+
import { type NormalizedPath } from "#utils";
|
|
5
|
+
/**
|
|
6
|
+
* The context describes the current state the converter is in.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Context {
|
|
9
|
+
/**
|
|
10
|
+
* The converter instance that has created the context.
|
|
11
|
+
*/
|
|
12
|
+
readonly converter: Converter;
|
|
13
|
+
/**
|
|
14
|
+
* The TypeChecker instance returned by the TypeScript compiler.
|
|
15
|
+
*/
|
|
16
|
+
get checker(): ts.TypeChecker;
|
|
17
|
+
/**
|
|
18
|
+
* The program currently being converted.
|
|
19
|
+
* Accessing this property will throw if a source file is not currently being converted.
|
|
20
|
+
*/
|
|
21
|
+
get program(): ts.Program;
|
|
22
|
+
private _program?;
|
|
23
|
+
/**
|
|
24
|
+
* All programs being converted.
|
|
25
|
+
*/
|
|
26
|
+
readonly programs: readonly ts.Program[];
|
|
27
|
+
/**
|
|
28
|
+
* The project that is currently processed.
|
|
29
|
+
*/
|
|
30
|
+
readonly project: ProjectReflection;
|
|
31
|
+
/**
|
|
32
|
+
* The scope or parent reflection that is currently processed.
|
|
33
|
+
*/
|
|
34
|
+
readonly scope: Reflection;
|
|
35
|
+
convertingTypeNode: boolean;
|
|
36
|
+
convertingClassOrInterface: boolean;
|
|
37
|
+
shouldBeStatic: boolean;
|
|
38
|
+
inlineType: Set<string>;
|
|
39
|
+
preventInline: Set<string>;
|
|
40
|
+
private reflectionIdToSymbolMap;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new Context instance.
|
|
43
|
+
*
|
|
44
|
+
* @param converter The converter instance that has created the context.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
constructor(converter: Converter, programs: readonly ts.Program[], project: ProjectReflection, scope?: Reflection);
|
|
48
|
+
/** @internal */
|
|
49
|
+
get logger(): import("#utils").Logger;
|
|
50
|
+
/**
|
|
51
|
+
* Return the type declaration of the given node.
|
|
52
|
+
*
|
|
53
|
+
* @param node The TypeScript node whose type should be resolved.
|
|
54
|
+
* @returns The type declaration of the given node.
|
|
55
|
+
*/
|
|
56
|
+
getTypeAtLocation(node: ts.Node): ts.Type | undefined;
|
|
57
|
+
getSymbolAtLocation(node: ts.Node): ts.Symbol | undefined;
|
|
58
|
+
expectSymbolAtLocation(node: ts.Node): ts.Symbol;
|
|
59
|
+
resolveAliasedSymbol(symbol: ts.Symbol): ts.Symbol;
|
|
60
|
+
createDeclarationReflection(kind: ReflectionKind, symbol: ts.Symbol | undefined, exportSymbol: ts.Symbol | undefined, nameOverride?: string): DeclarationReflection;
|
|
61
|
+
postReflectionCreation(reflection: Reflection, symbol: ts.Symbol | undefined, exportSymbol: ts.Symbol | undefined): void;
|
|
62
|
+
finalizeDeclarationReflection(reflection: DeclarationReflection): void;
|
|
63
|
+
/**
|
|
64
|
+
* Create a {@link ReferenceType} which points to the provided symbol.
|
|
65
|
+
*
|
|
66
|
+
* @privateRemarks
|
|
67
|
+
* This is available on Context so that it can be monkey-patched by typedoc-plugin-missing-exports
|
|
68
|
+
*/
|
|
69
|
+
createSymbolReference(symbol: ts.Symbol, context: Context, name?: string): ReferenceType;
|
|
70
|
+
/**
|
|
71
|
+
* Create a stable {@link ReflectionSymbolId} for the provided symbol,
|
|
72
|
+
* optionally targeting a specific declaration.
|
|
73
|
+
*
|
|
74
|
+
* @privateRemarks
|
|
75
|
+
* This is available on Context so that it can be monkey-patched by typedoc-plugin-missing-exports
|
|
76
|
+
* It might also turn out to be generally useful for other plugin users.
|
|
77
|
+
*/
|
|
78
|
+
createSymbolId(symbol: ts.Symbol, declaration?: ts.Declaration): import("../models/ReflectionSymbolId.js").ReflectionSymbolId;
|
|
79
|
+
addChild(reflection: DeclarationReflection | DocumentReflection): void;
|
|
80
|
+
shouldIgnore(symbol: ts.Symbol): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Register a newly generated reflection. All created reflections should be
|
|
83
|
+
* passed to this method to ensure that the project helper functions work correctly.
|
|
84
|
+
*
|
|
85
|
+
* @param reflection The reflection that should be registered.
|
|
86
|
+
* @param symbol The symbol the given reflection was resolved from.
|
|
87
|
+
*/
|
|
88
|
+
registerReflection(reflection: Reflection, symbol: ts.Symbol | undefined, filePath?: NormalizedPath): void;
|
|
89
|
+
getReflectionFromSymbol(symbol: ts.Symbol): Reflection | undefined;
|
|
90
|
+
getSymbolFromReflection(reflection: Reflection): ts.Symbol | undefined;
|
|
91
|
+
/** @internal */
|
|
92
|
+
setActiveProgram(program: ts.Program | undefined): void;
|
|
93
|
+
private createCommentContext;
|
|
94
|
+
getComment(symbol: ts.Symbol, kind: ReflectionKind): Comment | undefined;
|
|
95
|
+
getNodeComment(node: ts.Node, moduleComment: boolean): Comment | undefined;
|
|
96
|
+
getFileComment(node: ts.SourceFile): Comment | undefined;
|
|
97
|
+
getJsDocComment(declaration: ts.JSDocPropertyLikeTag | ts.JSDocCallbackTag | ts.JSDocTypedefTag | ts.JSDocTemplateTag | ts.JSDocEnumTag): Comment | undefined;
|
|
98
|
+
getSignatureComment(declaration: ts.SignatureDeclaration | ts.JSDocSignature): Comment | undefined;
|
|
99
|
+
shouldInline(symbol: ts.Symbol, name: string): boolean;
|
|
100
|
+
withScope(scope: Reflection): Context;
|
|
101
|
+
}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import { ok as assert } from "assert";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { Comment, ContainerReflection, DeclarationReflection, ReferenceType, ReflectionFlag, ReflectionKind, } from "../models/index.js";
|
|
4
|
+
import { isNamedNode } from "./utils/nodes.js";
|
|
5
|
+
import { ConverterEvents } from "./converter-events.js";
|
|
6
|
+
import { resolveAliasedSymbol } from "./utils/symbols.js";
|
|
7
|
+
import { getComment, getFileComment, getJsDocComment, getNodeComment, getSignatureComment, } from "./comments/index.js";
|
|
8
|
+
import { getHumanName, getQualifiedName } from "../utils/tsutils.js";
|
|
9
|
+
import { findPackageForPath, normalizePath } from "#node-utils";
|
|
10
|
+
import { createSymbolIdImpl } from "./factories/symbol-id.js";
|
|
11
|
+
import { removeIf } from "#utils";
|
|
12
|
+
/**
|
|
13
|
+
* The context describes the current state the converter is in.
|
|
14
|
+
*/
|
|
15
|
+
export class Context {
|
|
16
|
+
/**
|
|
17
|
+
* The converter instance that has created the context.
|
|
18
|
+
*/
|
|
19
|
+
converter;
|
|
20
|
+
/**
|
|
21
|
+
* The TypeChecker instance returned by the TypeScript compiler.
|
|
22
|
+
*/
|
|
23
|
+
get checker() {
|
|
24
|
+
return this.program.getTypeChecker();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The program currently being converted.
|
|
28
|
+
* Accessing this property will throw if a source file is not currently being converted.
|
|
29
|
+
*/
|
|
30
|
+
get program() {
|
|
31
|
+
assert(this._program, "Tried to access Context.program when not converting a source file");
|
|
32
|
+
return this._program;
|
|
33
|
+
}
|
|
34
|
+
_program;
|
|
35
|
+
/**
|
|
36
|
+
* All programs being converted.
|
|
37
|
+
*/
|
|
38
|
+
programs;
|
|
39
|
+
/**
|
|
40
|
+
* The project that is currently processed.
|
|
41
|
+
*/
|
|
42
|
+
project;
|
|
43
|
+
/**
|
|
44
|
+
* The scope or parent reflection that is currently processed.
|
|
45
|
+
*/
|
|
46
|
+
scope;
|
|
47
|
+
convertingTypeNode = false; // Inherited by withScope
|
|
48
|
+
convertingClassOrInterface = false; // Not inherited
|
|
49
|
+
shouldBeStatic = false; // Not inherited
|
|
50
|
+
inlineType = new Set(); // Inherited by withScope
|
|
51
|
+
preventInline = new Set(); // Inherited by withScope
|
|
52
|
+
reflectionIdToSymbolMap = new Map();
|
|
53
|
+
/**
|
|
54
|
+
* Create a new Context instance.
|
|
55
|
+
*
|
|
56
|
+
* @param converter The converter instance that has created the context.
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
constructor(converter, programs, project, scope = project) {
|
|
60
|
+
this.converter = converter;
|
|
61
|
+
this.programs = programs;
|
|
62
|
+
this.project = project;
|
|
63
|
+
this.scope = scope;
|
|
64
|
+
}
|
|
65
|
+
/** @internal */
|
|
66
|
+
get logger() {
|
|
67
|
+
return this.converter.application.logger;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Return the type declaration of the given node.
|
|
71
|
+
*
|
|
72
|
+
* @param node The TypeScript node whose type should be resolved.
|
|
73
|
+
* @returns The type declaration of the given node.
|
|
74
|
+
*/
|
|
75
|
+
getTypeAtLocation(node) {
|
|
76
|
+
let nodeType;
|
|
77
|
+
try {
|
|
78
|
+
nodeType = this.checker.getTypeAtLocation(node);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// ignore
|
|
82
|
+
}
|
|
83
|
+
if (!nodeType) {
|
|
84
|
+
if (node.symbol) {
|
|
85
|
+
nodeType = this.checker.getDeclaredTypeOfSymbol(node.symbol);
|
|
86
|
+
// The TS types lie due to ts.SourceFile
|
|
87
|
+
}
|
|
88
|
+
else if (node.parent?.symbol) {
|
|
89
|
+
nodeType = this.checker.getDeclaredTypeOfSymbol(node.parent.symbol);
|
|
90
|
+
// The TS types lie due to ts.SourceFile
|
|
91
|
+
}
|
|
92
|
+
else if (node.parent?.parent?.symbol) {
|
|
93
|
+
nodeType = this.checker.getDeclaredTypeOfSymbol(node.parent.parent.symbol);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return nodeType;
|
|
97
|
+
}
|
|
98
|
+
getSymbolAtLocation(node) {
|
|
99
|
+
let symbol = this.checker.getSymbolAtLocation(node);
|
|
100
|
+
if (!symbol && isNamedNode(node)) {
|
|
101
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
102
|
+
}
|
|
103
|
+
return symbol;
|
|
104
|
+
}
|
|
105
|
+
expectSymbolAtLocation(node) {
|
|
106
|
+
const symbol = this.getSymbolAtLocation(node);
|
|
107
|
+
if (!symbol) {
|
|
108
|
+
const { line } = ts.getLineAndCharacterOfPosition(node.getSourceFile(), node.pos);
|
|
109
|
+
throw new Error(`Expected a symbol for node with kind ${ts.SyntaxKind[node.kind]} at ${node.getSourceFile().fileName}:${line + 1}`);
|
|
110
|
+
}
|
|
111
|
+
return symbol;
|
|
112
|
+
}
|
|
113
|
+
resolveAliasedSymbol(symbol) {
|
|
114
|
+
return resolveAliasedSymbol(symbol, this.checker);
|
|
115
|
+
}
|
|
116
|
+
createDeclarationReflection(kind, symbol, exportSymbol,
|
|
117
|
+
// We need this because modules don't always have symbols.
|
|
118
|
+
nameOverride) {
|
|
119
|
+
const name = getHumanName(nameOverride ?? exportSymbol?.name ?? symbol?.name ?? "unknown");
|
|
120
|
+
if (this.convertingClassOrInterface) {
|
|
121
|
+
if (kind === ReflectionKind.Function) {
|
|
122
|
+
kind = ReflectionKind.Method;
|
|
123
|
+
}
|
|
124
|
+
if (kind === ReflectionKind.Variable) {
|
|
125
|
+
kind = ReflectionKind.Property;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const reflection = new DeclarationReflection(name, kind, this.scope);
|
|
129
|
+
this.postReflectionCreation(reflection, symbol, exportSymbol);
|
|
130
|
+
return reflection;
|
|
131
|
+
}
|
|
132
|
+
postReflectionCreation(reflection, symbol, exportSymbol) {
|
|
133
|
+
// Allow comments on export declarations to take priority over comments directly
|
|
134
|
+
// on the symbol to enable overriding comments on modules/references, #1504
|
|
135
|
+
if (!reflection.comment &&
|
|
136
|
+
exportSymbol &&
|
|
137
|
+
(reflection.kind &
|
|
138
|
+
(ReflectionKind.SomeModule | ReflectionKind.Reference))) {
|
|
139
|
+
reflection.comment = this.getComment(exportSymbol, reflection.kind);
|
|
140
|
+
}
|
|
141
|
+
// If that didn't get us a comment (the normal case), then get the comment from
|
|
142
|
+
// the source declarations, this is the common case.
|
|
143
|
+
if (symbol && !reflection.comment) {
|
|
144
|
+
reflection.comment = this.getComment(symbol, reflection.kind);
|
|
145
|
+
}
|
|
146
|
+
// If we still don't have a comment, check for any comments on the export declaration,
|
|
147
|
+
// we don't have to worry about functions being weird in this case as the regular declaration
|
|
148
|
+
// doesn't have any comment.
|
|
149
|
+
if (exportSymbol && !reflection.comment) {
|
|
150
|
+
reflection.comment = this.getComment(exportSymbol, ReflectionKind.Reference);
|
|
151
|
+
}
|
|
152
|
+
if (this.shouldBeStatic) {
|
|
153
|
+
reflection.setFlag(ReflectionFlag.Static);
|
|
154
|
+
}
|
|
155
|
+
if (reflection instanceof DeclarationReflection) {
|
|
156
|
+
reflection.escapedName = symbol?.escapedName ? String(symbol.escapedName) : undefined;
|
|
157
|
+
this.addChild(reflection);
|
|
158
|
+
}
|
|
159
|
+
if (symbol && this.converter.isExternal(symbol, this.checker)) {
|
|
160
|
+
reflection.setFlag(ReflectionFlag.External);
|
|
161
|
+
}
|
|
162
|
+
if (exportSymbol) {
|
|
163
|
+
this.registerReflection(reflection, exportSymbol, void 0);
|
|
164
|
+
}
|
|
165
|
+
const path = reflection.kindOf(ReflectionKind.Namespace | ReflectionKind.Module)
|
|
166
|
+
? symbol?.declarations?.find(ts.isSourceFile)?.fileName
|
|
167
|
+
: undefined;
|
|
168
|
+
if (path) {
|
|
169
|
+
this.registerReflection(reflection, symbol, normalizePath(path));
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
this.registerReflection(reflection, symbol, undefined);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
finalizeDeclarationReflection(reflection) {
|
|
176
|
+
this.converter.trigger(ConverterEvents.CREATE_DECLARATION, this, reflection);
|
|
177
|
+
if (reflection.kindOf(ReflectionKind.MayContainDocuments)) {
|
|
178
|
+
this.converter.processDocumentTags(reflection, reflection);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Create a {@link ReferenceType} which points to the provided symbol.
|
|
183
|
+
*
|
|
184
|
+
* @privateRemarks
|
|
185
|
+
* This is available on Context so that it can be monkey-patched by typedoc-plugin-missing-exports
|
|
186
|
+
*/
|
|
187
|
+
createSymbolReference(symbol, context, name) {
|
|
188
|
+
const ref = ReferenceType.createUnresolvedReference(name ?? symbol.name, this.createSymbolId(symbol), context.project, getQualifiedName(symbol, name ?? symbol.name));
|
|
189
|
+
ref.refersToTypeParameter = !!(symbol.flags & ts.SymbolFlags.TypeParameter);
|
|
190
|
+
const symbolPath = symbol.declarations?.[0]?.getSourceFile().fileName;
|
|
191
|
+
if (!symbolPath)
|
|
192
|
+
return ref;
|
|
193
|
+
ref.package = findPackageForPath(symbolPath)?.[0];
|
|
194
|
+
return ref;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Create a stable {@link ReflectionSymbolId} for the provided symbol,
|
|
198
|
+
* optionally targeting a specific declaration.
|
|
199
|
+
*
|
|
200
|
+
* @privateRemarks
|
|
201
|
+
* This is available on Context so that it can be monkey-patched by typedoc-plugin-missing-exports
|
|
202
|
+
* It might also turn out to be generally useful for other plugin users.
|
|
203
|
+
*/
|
|
204
|
+
createSymbolId(symbol, declaration) {
|
|
205
|
+
return createSymbolIdImpl(symbol, declaration);
|
|
206
|
+
}
|
|
207
|
+
addChild(reflection) {
|
|
208
|
+
if (this.scope instanceof ContainerReflection) {
|
|
209
|
+
this.scope.addChild(reflection);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
shouldIgnore(symbol) {
|
|
213
|
+
return this.converter.shouldIgnore(symbol, this.checker);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Register a newly generated reflection. All created reflections should be
|
|
217
|
+
* passed to this method to ensure that the project helper functions work correctly.
|
|
218
|
+
*
|
|
219
|
+
* @param reflection The reflection that should be registered.
|
|
220
|
+
* @param symbol The symbol the given reflection was resolved from.
|
|
221
|
+
*/
|
|
222
|
+
registerReflection(reflection, symbol, filePath) {
|
|
223
|
+
if (symbol) {
|
|
224
|
+
this.reflectionIdToSymbolMap.set(reflection.id, symbol);
|
|
225
|
+
const id = this.createSymbolId(symbol);
|
|
226
|
+
// #2466
|
|
227
|
+
// If we just registered a member of a class or interface, then we need to check if
|
|
228
|
+
// we've registered this symbol before under the wrong parent reflection.
|
|
229
|
+
// This can happen because the compiler API will use non-dependently-typed symbols
|
|
230
|
+
// for properties of classes/interfaces which inherit them, so we can't rely on the
|
|
231
|
+
// property being unique for each class.
|
|
232
|
+
if (reflection.parent?.kindOf(ReflectionKind.ClassOrInterface) &&
|
|
233
|
+
reflection.kindOf(ReflectionKind.SomeMember)) {
|
|
234
|
+
const saved = this.project["symbolToReflectionIdMap"].get(id);
|
|
235
|
+
const parentSymbolReflection = symbol.parent &&
|
|
236
|
+
this.getReflectionFromSymbol(symbol.parent);
|
|
237
|
+
if (typeof saved === "object" &&
|
|
238
|
+
saved.length > 1 &&
|
|
239
|
+
parentSymbolReflection) {
|
|
240
|
+
removeIf(saved, (item) => this.project.getReflectionById(item)?.parent !==
|
|
241
|
+
parentSymbolReflection);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
this.project.registerReflection(reflection, id, filePath);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
this.project.registerReflection(reflection, void 0, filePath);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
getReflectionFromSymbol(symbol) {
|
|
251
|
+
return this.project.getReflectionFromSymbolId(this.createSymbolId(symbol));
|
|
252
|
+
}
|
|
253
|
+
getSymbolFromReflection(reflection) {
|
|
254
|
+
return this.reflectionIdToSymbolMap.get(reflection.id);
|
|
255
|
+
}
|
|
256
|
+
/** @internal */
|
|
257
|
+
setActiveProgram(program) {
|
|
258
|
+
this._program = program;
|
|
259
|
+
}
|
|
260
|
+
createCommentContext() {
|
|
261
|
+
return {
|
|
262
|
+
config: this.converter.config,
|
|
263
|
+
logger: this.logger,
|
|
264
|
+
checker: this.checker,
|
|
265
|
+
files: this.project.files,
|
|
266
|
+
createSymbolId: (s, d) => this.createSymbolId(s, d),
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
getComment(symbol, kind) {
|
|
270
|
+
return getComment(symbol, kind, this.createCommentContext());
|
|
271
|
+
}
|
|
272
|
+
getNodeComment(node, moduleComment) {
|
|
273
|
+
return getNodeComment(node, moduleComment, this.createCommentContext());
|
|
274
|
+
}
|
|
275
|
+
getFileComment(node) {
|
|
276
|
+
return getFileComment(node, this.createCommentContext());
|
|
277
|
+
}
|
|
278
|
+
getJsDocComment(declaration) {
|
|
279
|
+
return getJsDocComment(declaration, this.createCommentContext());
|
|
280
|
+
}
|
|
281
|
+
getSignatureComment(declaration) {
|
|
282
|
+
return getSignatureComment(declaration, this.createCommentContext());
|
|
283
|
+
}
|
|
284
|
+
shouldInline(symbol, name) {
|
|
285
|
+
if (this.preventInline.has(name))
|
|
286
|
+
return false;
|
|
287
|
+
if (this.inlineType.has(name))
|
|
288
|
+
return true;
|
|
289
|
+
return this
|
|
290
|
+
.getComment(symbol, ReflectionKind.Interface)
|
|
291
|
+
?.hasModifier("@inline") ?? false;
|
|
292
|
+
}
|
|
293
|
+
withScope(scope) {
|
|
294
|
+
assert(scope.parent === this.scope || scope === this.scope, "Incorrect context used for withScope");
|
|
295
|
+
const context = new Context(this.converter, this.programs, this.project, scope);
|
|
296
|
+
context.convertingTypeNode = this.convertingTypeNode;
|
|
297
|
+
context.setActiveProgram(this._program);
|
|
298
|
+
context.reflectionIdToSymbolMap = this.reflectionIdToSymbolMap;
|
|
299
|
+
context.preventInline = new Set(this.preventInline);
|
|
300
|
+
context.inlineType = new Set(this.inlineType);
|
|
301
|
+
for (const tag of scope.comment?.blockTags || []) {
|
|
302
|
+
if (tag.tag === "@preventInline") {
|
|
303
|
+
context.preventInline.add(Comment.combineDisplayParts(tag.content));
|
|
304
|
+
}
|
|
305
|
+
else if (tag.tag === "@inlineType") {
|
|
306
|
+
context.inlineType.add(Comment.combineDisplayParts(tag.content));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return context;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
/**
|
|
3
|
+
* Return the default value of the given node.
|
|
4
|
+
*
|
|
5
|
+
* @param node The TypeScript node whose default value should be extracted.
|
|
6
|
+
* @returns The default value as a string.
|
|
7
|
+
*/
|
|
8
|
+
export declare function convertDefaultValue(node: ts.Declaration | undefined): string | undefined;
|
|
9
|
+
export declare function convertExpression(expression: ts.Expression): string;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
/**
|
|
3
|
+
* Return the default value of the given node.
|
|
4
|
+
*
|
|
5
|
+
* @param node The TypeScript node whose default value should be extracted.
|
|
6
|
+
* @returns The default value as a string.
|
|
7
|
+
*/
|
|
8
|
+
export function convertDefaultValue(node) {
|
|
9
|
+
const anyNode = node;
|
|
10
|
+
if (anyNode?.initializer) {
|
|
11
|
+
return convertExpression(anyNode.initializer);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function convertExpression(expression) {
|
|
18
|
+
switch (expression.kind) {
|
|
19
|
+
case ts.SyntaxKind.StringLiteral:
|
|
20
|
+
case ts.SyntaxKind.TrueKeyword:
|
|
21
|
+
case ts.SyntaxKind.FalseKeyword:
|
|
22
|
+
case ts.SyntaxKind.NullKeyword:
|
|
23
|
+
case ts.SyntaxKind.NumericLiteral:
|
|
24
|
+
case ts.SyntaxKind.BigIntLiteral:
|
|
25
|
+
case ts.SyntaxKind.Identifier:
|
|
26
|
+
return expression.getText();
|
|
27
|
+
}
|
|
28
|
+
if (ts.isPrefixUnaryExpression(expression)) {
|
|
29
|
+
const inner = convertExpression(expression.operand);
|
|
30
|
+
if (inner != "...") {
|
|
31
|
+
return expression.getText();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (ts.isArrayLiteralExpression(expression) &&
|
|
35
|
+
expression.elements.length === 0) {
|
|
36
|
+
return "[]";
|
|
37
|
+
}
|
|
38
|
+
if (ts.isObjectLiteralExpression(expression) &&
|
|
39
|
+
expression.properties.length === 0) {
|
|
40
|
+
return "{}";
|
|
41
|
+
}
|
|
42
|
+
// a.b.c.d
|
|
43
|
+
if (ts.isPropertyAccessExpression(expression)) {
|
|
44
|
+
const parts = [expression.name.getText()];
|
|
45
|
+
let iter = expression.expression;
|
|
46
|
+
while (ts.isPropertyAccessExpression(iter)) {
|
|
47
|
+
parts.unshift(iter.name.getText());
|
|
48
|
+
iter = iter.expression;
|
|
49
|
+
}
|
|
50
|
+
if (ts.isIdentifier(iter)) {
|
|
51
|
+
parts.unshift(iter.text);
|
|
52
|
+
return parts.join(".");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// More complex expressions are generally not useful in the documentation.
|
|
56
|
+
// Show that there was a value, but not specifics.
|
|
57
|
+
return "...";
|
|
58
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const ConverterEvents: {
|
|
2
|
+
readonly BEGIN: "begin";
|
|
3
|
+
readonly END: "end";
|
|
4
|
+
readonly CREATE_PROJECT: "createProject";
|
|
5
|
+
readonly CREATE_DECLARATION: "createDeclaration";
|
|
6
|
+
readonly CREATE_DOCUMENT: "createDocument";
|
|
7
|
+
readonly CREATE_SIGNATURE: "createSignature";
|
|
8
|
+
readonly CREATE_PARAMETER: "createParameter";
|
|
9
|
+
readonly CREATE_TYPE_PARAMETER: "createTypeParameter";
|
|
10
|
+
readonly RESOLVE_BEGIN: "resolveBegin";
|
|
11
|
+
readonly RESOLVE: "resolveReflection";
|
|
12
|
+
readonly RESOLVE_END: "resolveEnd";
|
|
13
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const ConverterEvents = {
|
|
2
|
+
BEGIN: "begin",
|
|
3
|
+
END: "end",
|
|
4
|
+
CREATE_PROJECT: "createProject",
|
|
5
|
+
CREATE_DECLARATION: "createDeclaration",
|
|
6
|
+
CREATE_DOCUMENT: "createDocument",
|
|
7
|
+
CREATE_SIGNATURE: "createSignature",
|
|
8
|
+
CREATE_PARAMETER: "createParameter",
|
|
9
|
+
CREATE_TYPE_PARAMETER: "createTypeParameter",
|
|
10
|
+
RESOLVE_BEGIN: "resolveBegin",
|
|
11
|
+
RESOLVE: "resolveReflection",
|
|
12
|
+
RESOLVE_END: "resolveEnd",
|
|
13
|
+
};
|