@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,461 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import MarkdownIt from "markdown-it";
|
|
36
|
+
import { ContextAwareRendererComponent } from "../components.js";
|
|
37
|
+
import { MarkdownEvent, RendererEvent } from "../events.js";
|
|
38
|
+
import { Option } from "../../utils/index.js";
|
|
39
|
+
import { highlight, isLoadedLanguage, isSupportedLanguage } from "../../utils/highlighter.js";
|
|
40
|
+
import { assertNever, escapeHtml, i18n, JSX } from "#utils";
|
|
41
|
+
import { anchorIcon } from "./default/partials/anchor-icon.js";
|
|
42
|
+
import { Reflection, ReflectionKind, } from "../../models/index.js";
|
|
43
|
+
function getFriendlyFullName(target) {
|
|
44
|
+
if (target instanceof Reflection) {
|
|
45
|
+
return target.getFriendlyFullName();
|
|
46
|
+
}
|
|
47
|
+
if (target.parent) {
|
|
48
|
+
return target.name;
|
|
49
|
+
}
|
|
50
|
+
const parts = [target.name];
|
|
51
|
+
let current = target;
|
|
52
|
+
while (current.parent) {
|
|
53
|
+
parts.unshift(current.name);
|
|
54
|
+
current = current.parent;
|
|
55
|
+
}
|
|
56
|
+
return parts.join(".");
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Implements markdown and relativeURL helpers for templates.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
let MarkedPlugin = (() => {
|
|
63
|
+
let _classSuper = ContextAwareRendererComponent;
|
|
64
|
+
let _lightTheme_decorators;
|
|
65
|
+
let _lightTheme_initializers = [];
|
|
66
|
+
let _lightTheme_extraInitializers = [];
|
|
67
|
+
let _darkTheme_decorators;
|
|
68
|
+
let _darkTheme_initializers = [];
|
|
69
|
+
let _darkTheme_extraInitializers = [];
|
|
70
|
+
let _markdownItOptions_decorators;
|
|
71
|
+
let _markdownItOptions_initializers = [];
|
|
72
|
+
let _markdownItOptions_extraInitializers = [];
|
|
73
|
+
let _markdownLinkExternal_decorators;
|
|
74
|
+
let _markdownLinkExternal_initializers = [];
|
|
75
|
+
let _markdownLinkExternal_extraInitializers = [];
|
|
76
|
+
let _validation_decorators;
|
|
77
|
+
let _validation_initializers = [];
|
|
78
|
+
let _validation_extraInitializers = [];
|
|
79
|
+
return class MarkedPlugin extends _classSuper {
|
|
80
|
+
static {
|
|
81
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
82
|
+
_lightTheme_decorators = [Option("lightHighlightTheme")];
|
|
83
|
+
_darkTheme_decorators = [Option("darkHighlightTheme")];
|
|
84
|
+
_markdownItOptions_decorators = [Option("markdownItOptions")];
|
|
85
|
+
_markdownLinkExternal_decorators = [Option("markdownLinkExternal")];
|
|
86
|
+
_validation_decorators = [Option("validation")];
|
|
87
|
+
__esDecorate(this, null, _lightTheme_decorators, { kind: "accessor", name: "lightTheme", static: false, private: false, access: { has: obj => "lightTheme" in obj, get: obj => obj.lightTheme, set: (obj, value) => { obj.lightTheme = value; } }, metadata: _metadata }, _lightTheme_initializers, _lightTheme_extraInitializers);
|
|
88
|
+
__esDecorate(this, null, _darkTheme_decorators, { kind: "accessor", name: "darkTheme", static: false, private: false, access: { has: obj => "darkTheme" in obj, get: obj => obj.darkTheme, set: (obj, value) => { obj.darkTheme = value; } }, metadata: _metadata }, _darkTheme_initializers, _darkTheme_extraInitializers);
|
|
89
|
+
__esDecorate(this, null, _markdownItOptions_decorators, { kind: "accessor", name: "markdownItOptions", static: false, private: false, access: { has: obj => "markdownItOptions" in obj, get: obj => obj.markdownItOptions, set: (obj, value) => { obj.markdownItOptions = value; } }, metadata: _metadata }, _markdownItOptions_initializers, _markdownItOptions_extraInitializers);
|
|
90
|
+
__esDecorate(this, null, _markdownLinkExternal_decorators, { kind: "accessor", name: "markdownLinkExternal", static: false, private: false, access: { has: obj => "markdownLinkExternal" in obj, get: obj => obj.markdownLinkExternal, set: (obj, value) => { obj.markdownLinkExternal = value; } }, metadata: _metadata }, _markdownLinkExternal_initializers, _markdownLinkExternal_extraInitializers);
|
|
91
|
+
__esDecorate(this, null, _validation_decorators, { kind: "accessor", name: "validation", static: false, private: false, access: { has: obj => "validation" in obj, get: obj => obj.validation, set: (obj, value) => { obj.validation = value; } }, metadata: _metadata }, _validation_initializers, _validation_extraInitializers);
|
|
92
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
93
|
+
}
|
|
94
|
+
#lightTheme_accessor_storage = __runInitializers(this, _lightTheme_initializers, void 0);
|
|
95
|
+
get lightTheme() { return this.#lightTheme_accessor_storage; }
|
|
96
|
+
set lightTheme(value) { this.#lightTheme_accessor_storage = value; }
|
|
97
|
+
#darkTheme_accessor_storage = (__runInitializers(this, _lightTheme_extraInitializers), __runInitializers(this, _darkTheme_initializers, void 0));
|
|
98
|
+
get darkTheme() { return this.#darkTheme_accessor_storage; }
|
|
99
|
+
set darkTheme(value) { this.#darkTheme_accessor_storage = value; }
|
|
100
|
+
#markdownItOptions_accessor_storage = (__runInitializers(this, _darkTheme_extraInitializers), __runInitializers(this, _markdownItOptions_initializers, void 0));
|
|
101
|
+
get markdownItOptions() { return this.#markdownItOptions_accessor_storage; }
|
|
102
|
+
set markdownItOptions(value) { this.#markdownItOptions_accessor_storage = value; }
|
|
103
|
+
#markdownLinkExternal_accessor_storage = (__runInitializers(this, _markdownItOptions_extraInitializers), __runInitializers(this, _markdownLinkExternal_initializers, void 0));
|
|
104
|
+
get markdownLinkExternal() { return this.#markdownLinkExternal_accessor_storage; }
|
|
105
|
+
set markdownLinkExternal(value) { this.#markdownLinkExternal_accessor_storage = value; }
|
|
106
|
+
#validation_accessor_storage = (__runInitializers(this, _markdownLinkExternal_extraInitializers), __runInitializers(this, _validation_initializers, void 0));
|
|
107
|
+
get validation() { return this.#validation_accessor_storage; }
|
|
108
|
+
set validation(value) { this.#validation_accessor_storage = value; }
|
|
109
|
+
parser = __runInitializers(this, _validation_extraInitializers);
|
|
110
|
+
renderedRelativeLinks = [];
|
|
111
|
+
/**
|
|
112
|
+
* This needing to be here really feels hacky... probably some nicer way to do this.
|
|
113
|
+
* Revisit in 0.28.
|
|
114
|
+
*/
|
|
115
|
+
renderContext = null;
|
|
116
|
+
lastHeaderSlug = "";
|
|
117
|
+
constructor(owner) {
|
|
118
|
+
super(owner);
|
|
119
|
+
this.owner.on(MarkdownEvent.PARSE, this.onParseMarkdown.bind(this));
|
|
120
|
+
this.owner.on(RendererEvent.END, this.onEnd.bind(this));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Highlight the syntax of the given text using Shiki.
|
|
124
|
+
*
|
|
125
|
+
* @param text The text that should be highlighted.
|
|
126
|
+
* @param lang The language that should be used to highlight the string.
|
|
127
|
+
* @return A html string with syntax highlighting.
|
|
128
|
+
*/
|
|
129
|
+
getHighlighted(text, lang) {
|
|
130
|
+
lang = lang || "typescript";
|
|
131
|
+
lang = lang.toLowerCase();
|
|
132
|
+
if (!isLoadedLanguage(lang)) {
|
|
133
|
+
if (isSupportedLanguage(lang)) {
|
|
134
|
+
this.application.logger.warn(i18n.unloaded_language_0_not_highlighted_in_comment_for_1(lang, getFriendlyFullName(this.page?.model || { name: "(unknown)" })));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.application.logger.warn(i18n.unsupported_highlight_language_0_not_highlighted_in_comment_for_1(lang, getFriendlyFullName(this.page?.model || { name: "(unknown)" })));
|
|
138
|
+
}
|
|
139
|
+
return text;
|
|
140
|
+
}
|
|
141
|
+
return highlight(text, lang);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Parse the given markdown string and return the resulting html.
|
|
145
|
+
*
|
|
146
|
+
* @param input The markdown string that should be parsed.
|
|
147
|
+
* @returns The resulting html string.
|
|
148
|
+
*/
|
|
149
|
+
parseMarkdown(input, page, context) {
|
|
150
|
+
let markdown = input;
|
|
151
|
+
if (typeof markdown !== "string") {
|
|
152
|
+
markdown = this.displayPartsToMarkdown(page, context, markdown);
|
|
153
|
+
}
|
|
154
|
+
this.renderContext = context;
|
|
155
|
+
const event = new MarkdownEvent(page, markdown, markdown);
|
|
156
|
+
this.owner.trigger(MarkdownEvent.PARSE, event);
|
|
157
|
+
this.renderContext = null;
|
|
158
|
+
return event.parsedText;
|
|
159
|
+
}
|
|
160
|
+
displayPartsToMarkdown(page, context, parts) {
|
|
161
|
+
const useHtml = !!this.markdownItOptions["html"];
|
|
162
|
+
const result = [];
|
|
163
|
+
for (const part of parts) {
|
|
164
|
+
switch (part.kind) {
|
|
165
|
+
case "text":
|
|
166
|
+
case "code":
|
|
167
|
+
result.push(part.text);
|
|
168
|
+
break;
|
|
169
|
+
case "inline-tag":
|
|
170
|
+
switch (part.tag) {
|
|
171
|
+
case "@label":
|
|
172
|
+
case "@inheritdoc": // Shouldn't happen
|
|
173
|
+
break; // Not rendered.
|
|
174
|
+
case "@link":
|
|
175
|
+
case "@linkcode":
|
|
176
|
+
case "@linkplain": {
|
|
177
|
+
if (part.target) {
|
|
178
|
+
let url;
|
|
179
|
+
let kindClass;
|
|
180
|
+
if (typeof part.target === "string") {
|
|
181
|
+
url = part.target === "#" ? undefined : part.target;
|
|
182
|
+
}
|
|
183
|
+
else if ("id" in part.target) {
|
|
184
|
+
// No point in trying to resolve a ReflectionSymbolId at this point, we've already
|
|
185
|
+
// tried and failed during the resolution step. Warnings related to those broken links
|
|
186
|
+
// have already been emitted.
|
|
187
|
+
kindClass = ReflectionKind.classString(part.target.kind);
|
|
188
|
+
if (context.router.hasUrl(part.target)) {
|
|
189
|
+
url = context.urlTo(part.target);
|
|
190
|
+
}
|
|
191
|
+
// If we don't have a URL the user probably linked to some deeply nested property
|
|
192
|
+
// which doesn't get an assigned URL. We'll walk upwards until we find a reflection
|
|
193
|
+
// which has a URL and link to that instead.
|
|
194
|
+
if (typeof url === "undefined") {
|
|
195
|
+
// Walk upwards to find something we can link to.
|
|
196
|
+
let target = part.target.parent;
|
|
197
|
+
while (!context.router.hasUrl(target)) {
|
|
198
|
+
target = target.parent;
|
|
199
|
+
}
|
|
200
|
+
// We know we'll always end up with a URL here eventually as the
|
|
201
|
+
// project always has a URL.
|
|
202
|
+
url = context.urlTo(target);
|
|
203
|
+
if (this.validation.rewrittenLink) {
|
|
204
|
+
this.application.logger.warn(i18n
|
|
205
|
+
.reflection_0_links_to_1_with_text_2_but_resolved_to_3(page.model.getFriendlyFullName(), part.target.getFriendlyFullName(), part.text, target.getFriendlyFullName()));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// If the url goes to this page, render as `#`
|
|
209
|
+
// to go to the top of the page.
|
|
210
|
+
if (url == "") {
|
|
211
|
+
url = "#";
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (useHtml) {
|
|
215
|
+
const text = part.tag === "@linkcode" ? `<code>${part.text}</code>` : part.text;
|
|
216
|
+
result.push(url
|
|
217
|
+
? `<a href="${url}"${kindClass ? ` class="${kindClass}"` : ""}>${text}</a>`
|
|
218
|
+
: part.text);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
const text = part.tag === "@linkcode" ? "`" + part.text + "`" : part.text;
|
|
222
|
+
result.push(url ? `[${text}](${url})` : text);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
result.push(part.text);
|
|
227
|
+
}
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
default:
|
|
231
|
+
// Hmm... probably want to be able to render these somehow, so custom inline tags can be given
|
|
232
|
+
// special rendering rules. Future capability. For now, just render their text.
|
|
233
|
+
result.push(`{${part.tag} ${part.text}}`);
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
break;
|
|
237
|
+
case "relative-link":
|
|
238
|
+
switch (typeof part.target) {
|
|
239
|
+
case "number": {
|
|
240
|
+
const refl = page.project.files.resolve(part.target, page.model.project);
|
|
241
|
+
let url;
|
|
242
|
+
if (typeof refl === "object") {
|
|
243
|
+
// #3006, this is an unfortunate heuristic. If there is a relative link to the project
|
|
244
|
+
// the user probably created it by linking to the directory of the project or to
|
|
245
|
+
// the project's readme. Since the readme doesn't get its own reflection, we can't
|
|
246
|
+
// reliably disambiguate this and instead will arbitrarily decide to reference the
|
|
247
|
+
// root index page in this case.
|
|
248
|
+
if (refl.isProject()) {
|
|
249
|
+
url = context.relativeURL("./");
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
url = context.urlTo(refl);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
const fileName = page.project.files.getName(part.target);
|
|
257
|
+
if (fileName) {
|
|
258
|
+
url = context.relativeURL(`media/${fileName}`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (typeof url !== "undefined") {
|
|
262
|
+
if (part.targetAnchor) {
|
|
263
|
+
url += "#" + part.targetAnchor;
|
|
264
|
+
if (typeof refl === "object") {
|
|
265
|
+
this.renderedRelativeLinks.push({
|
|
266
|
+
source: this.page.model,
|
|
267
|
+
target: refl,
|
|
268
|
+
link: part,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
result.push(url);
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// fall through
|
|
277
|
+
case "undefined":
|
|
278
|
+
result.push(part.text);
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
default:
|
|
283
|
+
assertNever(part);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return result.join("");
|
|
287
|
+
}
|
|
288
|
+
onEnd() {
|
|
289
|
+
for (const { source, target, link } of this.renderedRelativeLinks) {
|
|
290
|
+
const slugger = this.owner.router.getSlugger(target);
|
|
291
|
+
if (!slugger.hasAnchor(link.targetAnchor)) {
|
|
292
|
+
this.application.logger.warn(i18n.reflection_0_links_to_1_but_anchor_does_not_exist_try_2(getFriendlyFullName(source), link.text, slugger
|
|
293
|
+
.getSimilarAnchors(link.targetAnchor)
|
|
294
|
+
.map((a) => link.text.replace(/#.*/, "#" + a))
|
|
295
|
+
.join("\n\t")));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// In case we're in watch mode
|
|
299
|
+
this.renderedRelativeLinks = [];
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Triggered before the renderer starts rendering a project.
|
|
303
|
+
*
|
|
304
|
+
* @param event An event object describing the current render operation.
|
|
305
|
+
*/
|
|
306
|
+
onBeginRenderer(event) {
|
|
307
|
+
super.onBeginRenderer(event);
|
|
308
|
+
this.setupParser();
|
|
309
|
+
}
|
|
310
|
+
getSlugger() {
|
|
311
|
+
return this.owner.router.getSlugger(this.page.model);
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Creates an object with options that are passed to the markdown parser.
|
|
315
|
+
*
|
|
316
|
+
* @returns The options object for the markdown parser.
|
|
317
|
+
*/
|
|
318
|
+
setupParser() {
|
|
319
|
+
this.parser = MarkdownIt({
|
|
320
|
+
...this.markdownItOptions,
|
|
321
|
+
highlight: (code, lang) => {
|
|
322
|
+
code = this.getHighlighted(code, lang || "ts");
|
|
323
|
+
code = code.replace(/\n$/, "") + "\n";
|
|
324
|
+
if (!lang) {
|
|
325
|
+
return `<pre><code>${code}</code><button>${i18n.theme_copy()}</button></pre>\n`;
|
|
326
|
+
}
|
|
327
|
+
return `<pre><code class="${escapeHtml(lang)}">${code}</code><button type="button">${i18n.theme_copy()}</button></pre>\n`;
|
|
328
|
+
},
|
|
329
|
+
});
|
|
330
|
+
githubAlertMarkdownPlugin(this.parser);
|
|
331
|
+
const loader = this.application.options.getValue("markdownItLoader");
|
|
332
|
+
loader(this.parser);
|
|
333
|
+
function defaultRender(tokens, idx, options, _env, self) {
|
|
334
|
+
return self.renderToken(tokens, idx, options);
|
|
335
|
+
}
|
|
336
|
+
// Add anchor links for headings in readme, and add them to the "On this page" section
|
|
337
|
+
const headingOpenRenderer = this.parser.renderer.rules["heading_open"] || defaultRender;
|
|
338
|
+
this.parser.renderer.rules["heading_open"] = (tokens, idx, options, env, self) => {
|
|
339
|
+
const token = tokens[idx];
|
|
340
|
+
const content = getTokenTextContent(tokens[idx + 1]);
|
|
341
|
+
const level = token.markup.length;
|
|
342
|
+
const slug = this.getSlugger().slug(content);
|
|
343
|
+
this.lastHeaderSlug = slug;
|
|
344
|
+
this.page.pageHeadings.push({
|
|
345
|
+
link: `#${slug}`,
|
|
346
|
+
text: content,
|
|
347
|
+
level,
|
|
348
|
+
});
|
|
349
|
+
token.attrSet("id", slug);
|
|
350
|
+
token.attrSet("class", "tsd-anchor-link");
|
|
351
|
+
return headingOpenRenderer(tokens, idx, options, env, self);
|
|
352
|
+
};
|
|
353
|
+
const headingCloseRenderer = this.parser.renderer.rules["heading_close"] || defaultRender;
|
|
354
|
+
this.parser.renderer.rules["heading_close"] = (...args) => {
|
|
355
|
+
return `${JSX.renderElement(anchorIcon(this.renderContext, this.lastHeaderSlug))}${headingCloseRenderer(...args)}`;
|
|
356
|
+
};
|
|
357
|
+
const linkOpenRenderer = this.parser.renderer.rules["link_open"] || defaultRender;
|
|
358
|
+
this.parser.renderer.rules["link_open"] = (tokens, idx, options, env, self) => {
|
|
359
|
+
const token = tokens[idx];
|
|
360
|
+
const href = token.attrGet("href");
|
|
361
|
+
if (href) {
|
|
362
|
+
// Note: This doesn't catch @link tags to reflections as those
|
|
363
|
+
// will be relative links. This will likely have to change with
|
|
364
|
+
// the introduction of support for customized routers whenever
|
|
365
|
+
// that becomes a real thing.
|
|
366
|
+
if (this.markdownLinkExternal &&
|
|
367
|
+
/^https?:\/\//i.test(href) &&
|
|
368
|
+
!(href + "/").startsWith(this.hostedBaseUrl)) {
|
|
369
|
+
token.attrSet("target", "_blank");
|
|
370
|
+
const classes = token.attrGet("class")?.split(" ") || [];
|
|
371
|
+
classes.push("external");
|
|
372
|
+
token.attrSet("class", classes.join(" "));
|
|
373
|
+
}
|
|
374
|
+
token.attrSet("href", href);
|
|
375
|
+
}
|
|
376
|
+
return linkOpenRenderer(tokens, idx, options, env, self);
|
|
377
|
+
};
|
|
378
|
+
// Don't need custom rendering here as this is a TypeDoc-provided rule name
|
|
379
|
+
this.parser.renderer.rules["alert_open"] = (tokens, idx) => {
|
|
380
|
+
const icon = this.renderContext.icons[tokens[idx].attrGet("icon")];
|
|
381
|
+
const iconHtml = JSX.renderElement(icon());
|
|
382
|
+
return `<div class="${tokens[idx].attrGet("class")}"><div class="tsd-alert-title">${iconHtml}<span>${tokens[idx].attrGet("alert")}</span></div>`;
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Triggered when {@link MarkedPlugin} parses a markdown string.
|
|
387
|
+
*
|
|
388
|
+
* @param event
|
|
389
|
+
*/
|
|
390
|
+
onParseMarkdown(event) {
|
|
391
|
+
event.parsedText = this.parser.render(event.parsedText);
|
|
392
|
+
}
|
|
393
|
+
};
|
|
394
|
+
})();
|
|
395
|
+
export { MarkedPlugin };
|
|
396
|
+
function getTokenTextContent(token) {
|
|
397
|
+
// If there are children, we want their text content, not the full text content
|
|
398
|
+
if (token.children) {
|
|
399
|
+
return token.children.map(getTokenTextContent).join("");
|
|
400
|
+
}
|
|
401
|
+
// If this is a simple text fragment, use its content
|
|
402
|
+
if (token.type === "text") {
|
|
403
|
+
return token.content;
|
|
404
|
+
}
|
|
405
|
+
// Otherwise this is some type of metadata token (e.g. header_open)
|
|
406
|
+
// or a HTML tag token. Don't include it in the text content.
|
|
407
|
+
return "";
|
|
408
|
+
}
|
|
409
|
+
const kindNames = ["note", "tip", "important", "warning", "caution"];
|
|
410
|
+
const iconNames = ["alertNote", "alertTip", "alertImportant", "alertWarning", "alertCaution"];
|
|
411
|
+
const kindTranslations = [
|
|
412
|
+
() => i18n.alert_note(),
|
|
413
|
+
() => i18n.alert_tip(),
|
|
414
|
+
() => i18n.alert_important(),
|
|
415
|
+
() => i18n.alert_warning(),
|
|
416
|
+
() => i18n.alert_caution(),
|
|
417
|
+
];
|
|
418
|
+
function githubAlertMarkdownPlugin(md) {
|
|
419
|
+
md.core.ruler.after("block", "typedoc-github-alert-plugin", (state) => {
|
|
420
|
+
const bqStarts = [];
|
|
421
|
+
for (let i = 0; i < state.tokens.length; ++i) {
|
|
422
|
+
const token = state.tokens[i];
|
|
423
|
+
if (token.type === "blockquote_open") {
|
|
424
|
+
bqStarts.push(i);
|
|
425
|
+
}
|
|
426
|
+
else if (token.type === "blockquote_close") {
|
|
427
|
+
if (bqStarts.length === 1) {
|
|
428
|
+
checkForAlert(state.tokens, bqStarts[0], i);
|
|
429
|
+
}
|
|
430
|
+
bqStarts.pop();
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
function checkForAlert(tokens, start, end) {
|
|
436
|
+
let alertKind = -1;
|
|
437
|
+
// Search for the first "inline" token. That will be the blockquote text.
|
|
438
|
+
for (let i = start; i < end; ++i) {
|
|
439
|
+
if (tokens[i].type === "inline") {
|
|
440
|
+
// Check for `[!NOTE]`
|
|
441
|
+
const kindString = tokens[i].content.match(/^\[!(\w+)\]/);
|
|
442
|
+
const kindIndex = kindNames.indexOf(kindString?.[1].toLowerCase() || "");
|
|
443
|
+
if (kindIndex !== -1) {
|
|
444
|
+
tokens[i].content = tokens[i].content.substring(kindString[0].length);
|
|
445
|
+
alertKind = kindIndex;
|
|
446
|
+
}
|
|
447
|
+
break;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
// If we found an alert, then replace the blockquote_open and blockquote_close tokens with
|
|
451
|
+
// alert_open and alert_close tokens that can be rendered specially.
|
|
452
|
+
if (alertKind === -1)
|
|
453
|
+
return;
|
|
454
|
+
tokens[start].type = "alert_open";
|
|
455
|
+
tokens[start].tag = "div";
|
|
456
|
+
tokens[start].attrPush(["class", `tsd-alert tsd-alert-${kindNames[alertKind]}`]);
|
|
457
|
+
tokens[start].attrPush(["alert", kindTranslations[alertKind]()]);
|
|
458
|
+
tokens[start].attrPush(["icon", iconNames[alertKind]]);
|
|
459
|
+
tokens[end].type = "alert_close";
|
|
460
|
+
tokens[end].tag = "div";
|
|
461
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Theme } from "../../theme.js";
|
|
2
|
+
import type { Renderer } from "../../renderer.js";
|
|
3
|
+
import { type ContainerReflection, type DocumentReflection, type ProjectReflection, type Reflection, ReflectionKind } from "../../../models/index.js";
|
|
4
|
+
import type { PageEvent, RendererEvent } from "../../events.js";
|
|
5
|
+
import type { MarkedPlugin } from "../../plugins/index.js";
|
|
6
|
+
import { DefaultThemeRenderContext } from "./DefaultThemeRenderContext.js";
|
|
7
|
+
import { type Icons } from "./partials/icon.js";
|
|
8
|
+
import { JSX } from "#utils";
|
|
9
|
+
import { type Router } from "../../router.js";
|
|
10
|
+
export interface NavigationElement {
|
|
11
|
+
text: string;
|
|
12
|
+
path?: string;
|
|
13
|
+
kind?: ReflectionKind;
|
|
14
|
+
class?: string;
|
|
15
|
+
children?: NavigationElement[];
|
|
16
|
+
icon?: string | number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @param data the reflection to render
|
|
20
|
+
* @returns either a string to be written to the file, or an element to be serialized and then written.
|
|
21
|
+
*/
|
|
22
|
+
export type RenderTemplate<T> = (data: T) => JSX.Element | string;
|
|
23
|
+
export declare class DefaultTheme extends Theme {
|
|
24
|
+
usedFileNames: Set<string>;
|
|
25
|
+
/** @internal */
|
|
26
|
+
markedPlugin: MarkedPlugin;
|
|
27
|
+
router: Router;
|
|
28
|
+
/**
|
|
29
|
+
* The icons which will actually be rendered. The source of truth lives on the theme, and
|
|
30
|
+
* the {@link DefaultThemeRenderContext.icons} member will produce references to these.
|
|
31
|
+
*
|
|
32
|
+
* These icons will be written twice. Once to an `icons.svg` file in the assets directory
|
|
33
|
+
* which will be referenced by icons on the context, and once to an `icons.js` file so that
|
|
34
|
+
* references to the icons can be dynamically embedded within the page for use by the search
|
|
35
|
+
* dropdown and when loading the page on `file://` urls.
|
|
36
|
+
*
|
|
37
|
+
* Custom themes may overwrite this entire object or individual properties on it to customize
|
|
38
|
+
* the icons used within the page, however TypeDoc currently assumes that all icons are svg
|
|
39
|
+
* elements, so custom themes must also use svg elements.
|
|
40
|
+
*/
|
|
41
|
+
icons: Icons;
|
|
42
|
+
ContextClass: typeof DefaultThemeRenderContext;
|
|
43
|
+
private accessor lightTheme;
|
|
44
|
+
private accessor darkTheme;
|
|
45
|
+
private accessor highlightLanguages;
|
|
46
|
+
private accessor ignoredHighlightLanguages;
|
|
47
|
+
getRenderContext(pageEvent: PageEvent<Reflection>): DefaultThemeRenderContext;
|
|
48
|
+
documentTemplate: (pageEvent: PageEvent<DocumentReflection>) => JSX.Element;
|
|
49
|
+
reflectionTemplate: (pageEvent: PageEvent<ContainerReflection>) => JSX.Element;
|
|
50
|
+
indexTemplate: (pageEvent: PageEvent<ProjectReflection>) => JSX.Element;
|
|
51
|
+
hierarchyTemplate: (pageEvent: PageEvent<ProjectReflection>) => JSX.Element;
|
|
52
|
+
defaultLayoutTemplate: (pageEvent: PageEvent<Reflection>, template: RenderTemplate<PageEvent<Reflection>>) => JSX.Element;
|
|
53
|
+
getReflectionClasses(reflection: Reflection): string;
|
|
54
|
+
/**
|
|
55
|
+
* This is used so that themes may define multiple icons for modified icons (e.g. method, and inherited method)
|
|
56
|
+
*/
|
|
57
|
+
getReflectionIcon(reflection: Reflection): keyof this["icons"] & (string | number);
|
|
58
|
+
/**
|
|
59
|
+
* Create a new DefaultTheme instance.
|
|
60
|
+
*
|
|
61
|
+
* @param renderer The renderer this theme is attached to.
|
|
62
|
+
*/
|
|
63
|
+
constructor(renderer: Renderer);
|
|
64
|
+
render(page: PageEvent): string;
|
|
65
|
+
preRender(_event: RendererEvent): Promise<void>;
|
|
66
|
+
private _navigationCache;
|
|
67
|
+
/**
|
|
68
|
+
* If implementing a custom theme, it is recommended to override {@link buildNavigation} instead.
|
|
69
|
+
*/
|
|
70
|
+
getNavigation(project: ProjectReflection): NavigationElement[];
|
|
71
|
+
buildNavigation(project: ProjectReflection): NavigationElement[];
|
|
72
|
+
}
|