@microsoft/api-documenter 7.18.4 → 7.19.2
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/dist/tsdoc-metadata.json +1 -1
- package/lib/documenters/DocumenterConfig.d.ts +2 -2
- package/lib/documenters/DocumenterConfig.js +2 -2
- package/lib/documenters/DocumenterConfig.js.map +1 -1
- package/lib/documenters/IConfigFile.d.ts +4 -0
- package/lib/documenters/IConfigFile.d.ts.map +1 -1
- package/lib/documenters/IConfigFile.js.map +1 -1
- package/lib/documenters/MarkdownDocumenter.d.ts +1 -0
- package/lib/documenters/MarkdownDocumenter.d.ts.map +1 -1
- package/lib/documenters/MarkdownDocumenter.js +86 -42
- package/lib/documenters/MarkdownDocumenter.js.map +1 -1
- package/lib/documenters/YamlDocumenter.js +12 -12
- package/lib/documenters/YamlDocumenter.js.map +1 -1
- package/lib/markdown/CustomMarkdownEmitter.js +4 -4
- package/lib/markdown/CustomMarkdownEmitter.js.map +1 -1
- package/lib/nodes/CustomDocNodeKind.js +11 -11
- package/lib/nodes/CustomDocNodeKind.js.map +1 -1
- package/lib/nodes/DocEmphasisSpan.js +1 -1
- package/lib/nodes/DocEmphasisSpan.js.map +1 -1
- package/lib/nodes/DocHeading.js +1 -1
- package/lib/nodes/DocHeading.js.map +1 -1
- package/lib/nodes/DocNoteBox.js +1 -1
- package/lib/nodes/DocNoteBox.js.map +1 -1
- package/lib/nodes/DocTable.js +1 -1
- package/lib/nodes/DocTable.js.map +1 -1
- package/lib/nodes/DocTableCell.js +1 -1
- package/lib/nodes/DocTableCell.js.map +1 -1
- package/lib/nodes/DocTableRow.js +1 -1
- package/lib/nodes/DocTableRow.js.map +1 -1
- package/lib/schemas/api-documenter-template.json +7 -0
- package/lib/schemas/api-documenter.schema.json +5 -0
- package/package.json +7 -7
package/dist/tsdoc-metadata.json
CHANGED
|
@@ -14,11 +14,11 @@ export declare class DocumenterConfig {
|
|
|
14
14
|
*/
|
|
15
15
|
readonly newlineKind: NewlineKind;
|
|
16
16
|
/**
|
|
17
|
-
* The JSON Schema for API
|
|
17
|
+
* The JSON Schema for API Documenter config file (api-documenter.schema.json).
|
|
18
18
|
*/
|
|
19
19
|
static readonly jsonSchema: JsonSchema;
|
|
20
20
|
/**
|
|
21
|
-
* The config file name "api-
|
|
21
|
+
* The config file name "api-documenter.json".
|
|
22
22
|
*/
|
|
23
23
|
static readonly FILENAME: string;
|
|
24
24
|
private constructor();
|
|
@@ -59,11 +59,11 @@ class DocumenterConfig {
|
|
|
59
59
|
}
|
|
60
60
|
exports.DocumenterConfig = DocumenterConfig;
|
|
61
61
|
/**
|
|
62
|
-
* The JSON Schema for API
|
|
62
|
+
* The JSON Schema for API Documenter config file (api-documenter.schema.json).
|
|
63
63
|
*/
|
|
64
64
|
DocumenterConfig.jsonSchema = node_core_library_1.JsonSchema.fromFile(path.join(__dirname, '..', 'schemas', 'api-documenter.schema.json'));
|
|
65
65
|
/**
|
|
66
|
-
* The config file name "api-
|
|
66
|
+
* The config file name "api-documenter.json".
|
|
67
67
|
*/
|
|
68
68
|
DocumenterConfig.FILENAME = 'api-documenter.json';
|
|
69
69
|
//# sourceMappingURL=DocumenterConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumenterConfig.js","sourceRoot":"","sources":["../../src/documenters/DocumenterConfig.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,2CAA6B;AAC7B,oEAAiF;AAGjF;;;;GAIG;AACH,MAAa,gBAAgB;IAsB3B,YAAoB,QAAgB,EAAE,UAAuB;QAC3D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,QAAQ,UAAU,CAAC,WAAW,EAAE;YAC9B,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,GAAG,+BAAW,CAAC,EAAE,CAAC;gBAClC,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,GAAG,+BAAW,CAAC,SAAS,CAAC;gBACzC,MAAM;YACR;gBACE,IAAI,CAAC,WAAW,GAAG,+BAAW,CAAC,IAAI,CAAC;gBACpC,MAAM;SACT;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,cAAsB;QAC3C,MAAM,UAAU,GAAgB,4BAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEtG,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;;AA9CH,4CA+CC;AArCC;;GAEG;AACoB,2BAAU,GAAe,8BAAU,CAAC,QAAQ,CACjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,4BAA4B,CAAC,CACpE,CAAC;AAEF;;GAEG;AACoB,yBAAQ,GAAW,qBAAqB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as path from 'path';\nimport { JsonSchema, JsonFile, NewlineKind } from '@rushstack/node-core-library';\nimport { IConfigFile } from './IConfigFile';\n\n/**\n * Helper for loading the api-documenter.json file format. Later when the schema is more mature,\n * this class will be used to represent the validated and normalized configuration, whereas `IConfigFile`\n * represents the raw JSON file structure.\n */\nexport class DocumenterConfig {\n public readonly configFilePath: string;\n public readonly configFile: IConfigFile;\n\n /**\n * Specifies what type of newlines API Documenter should use when writing output files. By default, the output files\n * will be written with Windows-style newlines.\n */\n public readonly newlineKind: NewlineKind;\n\n /**\n * The JSON Schema for API
|
|
1
|
+
{"version":3,"file":"DocumenterConfig.js","sourceRoot":"","sources":["../../src/documenters/DocumenterConfig.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,2CAA6B;AAC7B,oEAAiF;AAGjF;;;;GAIG;AACH,MAAa,gBAAgB;IAsB3B,YAAoB,QAAgB,EAAE,UAAuB;QAC3D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,QAAQ,UAAU,CAAC,WAAW,EAAE;YAC9B,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,GAAG,+BAAW,CAAC,EAAE,CAAC;gBAClC,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,GAAG,+BAAW,CAAC,SAAS,CAAC;gBACzC,MAAM;YACR;gBACE,IAAI,CAAC,WAAW,GAAG,+BAAW,CAAC,IAAI,CAAC;gBACpC,MAAM;SACT;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,cAAsB;QAC3C,MAAM,UAAU,GAAgB,4BAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEtG,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;;AA9CH,4CA+CC;AArCC;;GAEG;AACoB,2BAAU,GAAe,8BAAU,CAAC,QAAQ,CACjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,4BAA4B,CAAC,CACpE,CAAC;AAEF;;GAEG;AACoB,yBAAQ,GAAW,qBAAqB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as path from 'path';\nimport { JsonSchema, JsonFile, NewlineKind } from '@rushstack/node-core-library';\nimport { IConfigFile } from './IConfigFile';\n\n/**\n * Helper for loading the api-documenter.json file format. Later when the schema is more mature,\n * this class will be used to represent the validated and normalized configuration, whereas `IConfigFile`\n * represents the raw JSON file structure.\n */\nexport class DocumenterConfig {\n public readonly configFilePath: string;\n public readonly configFile: IConfigFile;\n\n /**\n * Specifies what type of newlines API Documenter should use when writing output files. By default, the output files\n * will be written with Windows-style newlines.\n */\n public readonly newlineKind: NewlineKind;\n\n /**\n * The JSON Schema for API Documenter config file (api-documenter.schema.json).\n */\n public static readonly jsonSchema: JsonSchema = JsonSchema.fromFile(\n path.join(__dirname, '..', 'schemas', 'api-documenter.schema.json')\n );\n\n /**\n * The config file name \"api-documenter.json\".\n */\n public static readonly FILENAME: string = 'api-documenter.json';\n\n private constructor(filePath: string, configFile: IConfigFile) {\n this.configFilePath = filePath;\n this.configFile = configFile;\n\n switch (configFile.newlineKind) {\n case 'lf':\n this.newlineKind = NewlineKind.Lf;\n break;\n case 'os':\n this.newlineKind = NewlineKind.OsDefault;\n break;\n default:\n this.newlineKind = NewlineKind.CrLf;\n break;\n }\n }\n\n /**\n * Load and validate an api-documenter.json file.\n */\n public static loadFile(configFilePath: string): DocumenterConfig {\n const configFile: IConfigFile = JsonFile.loadAndValidate(configFilePath, DocumenterConfig.jsonSchema);\n\n return new DocumenterConfig(path.resolve(configFilePath), configFile);\n }\n}\n"]}
|
|
@@ -88,5 +88,9 @@ export interface IConfigFile {
|
|
|
88
88
|
plugins?: IConfigPlugin[];
|
|
89
89
|
/** {@inheritDoc IConfigTableOfContents} */
|
|
90
90
|
tableOfContents?: IConfigTableOfContents;
|
|
91
|
+
/**
|
|
92
|
+
* Specifies whether inherited members should also be shown on an API item's page.
|
|
93
|
+
*/
|
|
94
|
+
showInheritedMembers?: boolean;
|
|
91
95
|
}
|
|
92
96
|
//# sourceMappingURL=IConfigFile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IConfigFile.d.ts","sourceRoot":"","sources":["../../src/documenters/IConfigFile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IAEnC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnC;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"IConfigFile.d.ts","sourceRoot":"","sources":["../../src/documenters/IConfigFile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IAEnC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnC;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IConfigFile.js","sourceRoot":"","sources":["../../src/documenters/IConfigFile.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { IYamlTocFile } from '../yaml/IYamlTocFile';\n\n/**\n * Typescript interface describing the config schema for toc.yml file format.\n */\nexport interface IConfigTableOfContents {\n /**\n * Represents the tree structure describing the toc.file format.\n * Nodes that have an empty `items` array property or their name will be included in the\n * {@link IConfigTableOfContents.nonEmptyCategoryNodeNames} will be filled with API items\n * that are matched with the filters provided. Everything else will be placed under\n * {@link IConfigTableOfContents.catchAllCategory} if provided, which is highly recommended.\n */\n tocConfig: IYamlTocFile;\n\n /**\n * Optional category name that is recommended to be included along with\n * one of the configs: {@link IConfigTableOfContents.categorizeByName} or\n * {@link IConfigTableOfContents.categoryInlineTag}.\n * Any items that are not matched according to the mentioned configuration options will be placed under this\n * catchAll category. If none provided the items will not be included in the final toc.yml file.\n */\n catchAllCategory?: string;\n\n /**\n * Toggle either categorization of the API items should be made based on category name presence\n * in the API item's name. Useful when there are API items without an inline tag to categorize them,\n * but still need to place the items under categories. Note: this type of categorization might place some items\n * under wrong categories if the names are similar but belong to different categories.\n * In case that {@link IConfigTableOfContents.categoryInlineTag} is provided it will try categorize by\n * using it and only if it didn't, it will attempt to categorize by name.\n */\n categorizeByName?: boolean;\n\n /**\n * Inline tag that will be used to categorize the API items. Will take precedence over the\n * {@link IConfigTableOfContents.categorizeByName} flag in trying to place the API item according to the\n * custom inline tag present in documentation of the source code.\n */\n categoryInlineTag?: string;\n\n /**\n * Array of node names that might have already items injected at the time of creating the\n * {@link IConfigTableOfContents.tocConfig} tree structure but are still needed to be included as category\n * nodes where API items will be pushed during the categorization algorithm.\n */\n nonEmptyCategoryNodeNames?: string[];\n}\n\n/**\n * Describes plugin packages to be loaded, and which features to enable.\n */\nexport interface IConfigPlugin {\n /**\n * Specifies the name of an API Documenter plugin package to be loaded. By convention, the NPM package name\n * should have the prefix `doc-plugin-`. Its main entry point should export an object named\n * `apiDocumenterPluginManifest` which implements the {@link IApiDocumenterPluginManifest} interface.\n */\n packageName: string;\n\n /**\n * A list of features to be enabled. The features are defined in {@link IApiDocumenterPluginManifest.features}.\n * The `enabledFeatureNames` strings are matched with {@link IFeatureDefinition.featureName}.\n */\n enabledFeatureNames: string[];\n}\n\n/**\n * This interface represents the api-documenter.json file format.\n */\nexport interface IConfigFile {\n /**\n * Specifies the output target.\n */\n outputTarget: 'docfx' | 'markdown';\n\n /**\n * Specifies what type of newlines API Documenter should use when writing output files.\n *\n * @remarks\n * By default, the output files will be written with Windows-style newlines.\n * To use POSIX-style newlines, specify \"lf\" instead.\n * To use the OS's default newline kind, specify \"os\".\n */\n newlineKind?: 'crlf' | 'lf' | 'os';\n\n /**\n * This enables an experimental feature that will be officially released with the next major version\n * of API Documenter. It requires DocFX 2.46 or newer. It enables documentation for namespaces and\n * adds them to the table of contents. This will also affect file layout as namespaced items will be nested\n * under a directory for the namespace instead of just within the package.\n *\n * This setting currently only affects the 'docfx' output target. It is equivalent to the `--new-docfx-namespaces`\n * command-line parameter.\n */\n newDocfxNamespaces?: boolean;\n\n /** {@inheritDoc IConfigPlugin} */\n plugins?: IConfigPlugin[];\n\n /** {@inheritDoc IConfigTableOfContents} */\n tableOfContents?: IConfigTableOfContents;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IConfigFile.js","sourceRoot":"","sources":["../../src/documenters/IConfigFile.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { IYamlTocFile } from '../yaml/IYamlTocFile';\n\n/**\n * Typescript interface describing the config schema for toc.yml file format.\n */\nexport interface IConfigTableOfContents {\n /**\n * Represents the tree structure describing the toc.file format.\n * Nodes that have an empty `items` array property or their name will be included in the\n * {@link IConfigTableOfContents.nonEmptyCategoryNodeNames} will be filled with API items\n * that are matched with the filters provided. Everything else will be placed under\n * {@link IConfigTableOfContents.catchAllCategory} if provided, which is highly recommended.\n */\n tocConfig: IYamlTocFile;\n\n /**\n * Optional category name that is recommended to be included along with\n * one of the configs: {@link IConfigTableOfContents.categorizeByName} or\n * {@link IConfigTableOfContents.categoryInlineTag}.\n * Any items that are not matched according to the mentioned configuration options will be placed under this\n * catchAll category. If none provided the items will not be included in the final toc.yml file.\n */\n catchAllCategory?: string;\n\n /**\n * Toggle either categorization of the API items should be made based on category name presence\n * in the API item's name. Useful when there are API items without an inline tag to categorize them,\n * but still need to place the items under categories. Note: this type of categorization might place some items\n * under wrong categories if the names are similar but belong to different categories.\n * In case that {@link IConfigTableOfContents.categoryInlineTag} is provided it will try categorize by\n * using it and only if it didn't, it will attempt to categorize by name.\n */\n categorizeByName?: boolean;\n\n /**\n * Inline tag that will be used to categorize the API items. Will take precedence over the\n * {@link IConfigTableOfContents.categorizeByName} flag in trying to place the API item according to the\n * custom inline tag present in documentation of the source code.\n */\n categoryInlineTag?: string;\n\n /**\n * Array of node names that might have already items injected at the time of creating the\n * {@link IConfigTableOfContents.tocConfig} tree structure but are still needed to be included as category\n * nodes where API items will be pushed during the categorization algorithm.\n */\n nonEmptyCategoryNodeNames?: string[];\n}\n\n/**\n * Describes plugin packages to be loaded, and which features to enable.\n */\nexport interface IConfigPlugin {\n /**\n * Specifies the name of an API Documenter plugin package to be loaded. By convention, the NPM package name\n * should have the prefix `doc-plugin-`. Its main entry point should export an object named\n * `apiDocumenterPluginManifest` which implements the {@link IApiDocumenterPluginManifest} interface.\n */\n packageName: string;\n\n /**\n * A list of features to be enabled. The features are defined in {@link IApiDocumenterPluginManifest.features}.\n * The `enabledFeatureNames` strings are matched with {@link IFeatureDefinition.featureName}.\n */\n enabledFeatureNames: string[];\n}\n\n/**\n * This interface represents the api-documenter.json file format.\n */\nexport interface IConfigFile {\n /**\n * Specifies the output target.\n */\n outputTarget: 'docfx' | 'markdown';\n\n /**\n * Specifies what type of newlines API Documenter should use when writing output files.\n *\n * @remarks\n * By default, the output files will be written with Windows-style newlines.\n * To use POSIX-style newlines, specify \"lf\" instead.\n * To use the OS's default newline kind, specify \"os\".\n */\n newlineKind?: 'crlf' | 'lf' | 'os';\n\n /**\n * This enables an experimental feature that will be officially released with the next major version\n * of API Documenter. It requires DocFX 2.46 or newer. It enables documentation for namespaces and\n * adds them to the table of contents. This will also affect file layout as namespaced items will be nested\n * under a directory for the namespace instead of just within the package.\n *\n * This setting currently only affects the 'docfx' output target. It is equivalent to the `--new-docfx-namespaces`\n * command-line parameter.\n */\n newDocfxNamespaces?: boolean;\n\n /** {@inheritDoc IConfigPlugin} */\n plugins?: IConfigPlugin[];\n\n /** {@inheritDoc IConfigTableOfContents} */\n tableOfContents?: IConfigTableOfContents;\n\n /**\n * Specifies whether inherited members should also be shown on an API item's page.\n */\n showInheritedMembers?: boolean;\n}\n"]}
|
|
@@ -65,6 +65,7 @@ export declare class MarkdownDocumenter {
|
|
|
65
65
|
private _writeBetaWarning;
|
|
66
66
|
private _appendSection;
|
|
67
67
|
private _appendAndMergeSection;
|
|
68
|
+
private _getMembersAndWriteIncompleteWarning;
|
|
68
69
|
private _getFilenameForApiItem;
|
|
69
70
|
private _getLinkFilenameForApiItem;
|
|
70
71
|
private _deleteOldOutputFiles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownDocumenter.d.ts","sourceRoot":"","sources":["../../src/documenters/MarkdownDocumenter.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"MarkdownDocumenter.d.ts","sourceRoot":"","sources":["../../src/documenters/MarkdownDocumenter.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,QAAQ,EA0BT,MAAM,gCAAgC,CAAC;AAgBxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAE1B,OAAO,EAAE,0BAA0B;IAU/C,aAAa,IAAI,IAAI;IAyB5B,OAAO,CAAC,iBAAiB;IAiNzB,OAAO,CAAC,mBAAmB;IAmF3B,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA0HtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmGzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6E7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+D7B,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,iCAAiC;IAgCzC,OAAO,CAAC,gBAAgB;IAoBxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,oCAAoC;IAkC5C,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,qBAAqB;CAI9B"}
|
|
@@ -78,7 +78,7 @@ class MarkdownDocumenter {
|
|
|
78
78
|
}
|
|
79
79
|
_writeApiItemPage(apiItem) {
|
|
80
80
|
const configuration = this._tsdocConfiguration;
|
|
81
|
-
const output = new tsdoc_1.DocSection({ configuration
|
|
81
|
+
const output = new tsdoc_1.DocSection({ configuration });
|
|
82
82
|
this._writeBreadcrumb(output, apiItem);
|
|
83
83
|
const scopedName = apiItem.getScopedNameWithinPackage();
|
|
84
84
|
switch (apiItem.kind) {
|
|
@@ -137,10 +137,10 @@ class MarkdownDocumenter {
|
|
|
137
137
|
if (tsdocComment) {
|
|
138
138
|
decoratorBlocks.push(...tsdocComment.customBlocks.filter((block) => block.blockTag.tagNameWithUpperCase === tsdoc_1.StandardTags.decorator.tagNameWithUpperCase));
|
|
139
139
|
if (tsdocComment.deprecatedBlock) {
|
|
140
|
-
output.appendNode(new DocNoteBox_1.DocNoteBox({ configuration
|
|
141
|
-
new tsdoc_1.DocParagraph({ configuration
|
|
140
|
+
output.appendNode(new DocNoteBox_1.DocNoteBox({ configuration }, [
|
|
141
|
+
new tsdoc_1.DocParagraph({ configuration }, [
|
|
142
142
|
new tsdoc_1.DocPlainText({
|
|
143
|
-
configuration
|
|
143
|
+
configuration,
|
|
144
144
|
text: 'Warning: This API is now obsolete. '
|
|
145
145
|
})
|
|
146
146
|
]),
|
|
@@ -262,7 +262,7 @@ class MarkdownDocumenter {
|
|
|
262
262
|
output.appendNode(extendsParagraph);
|
|
263
263
|
}
|
|
264
264
|
if (apiItem.implementsTypes.length > 0) {
|
|
265
|
-
const
|
|
265
|
+
const implementsParagraph = new tsdoc_1.DocParagraph({ configuration }, [
|
|
266
266
|
new DocEmphasisSpan_1.DocEmphasisSpan({ configuration, bold: true }, [
|
|
267
267
|
new tsdoc_1.DocPlainText({ configuration, text: 'Implements: ' })
|
|
268
268
|
])
|
|
@@ -270,12 +270,12 @@ class MarkdownDocumenter {
|
|
|
270
270
|
let needsComma = false;
|
|
271
271
|
for (const implementsType of apiItem.implementsTypes) {
|
|
272
272
|
if (needsComma) {
|
|
273
|
-
|
|
273
|
+
implementsParagraph.appendNode(new tsdoc_1.DocPlainText({ configuration, text: ', ' }));
|
|
274
274
|
}
|
|
275
|
-
this._appendExcerptWithHyperlinks(
|
|
275
|
+
this._appendExcerptWithHyperlinks(implementsParagraph, implementsType.excerpt);
|
|
276
276
|
needsComma = true;
|
|
277
277
|
}
|
|
278
|
-
output.appendNode(
|
|
278
|
+
output.appendNode(implementsParagraph);
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
if (apiItem instanceof api_extractor_model_1.ApiInterface) {
|
|
@@ -324,12 +324,13 @@ class MarkdownDocumenter {
|
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
_writeRemarksSection(output, apiItem) {
|
|
327
|
+
const configuration = this._tsdocConfiguration;
|
|
327
328
|
if (apiItem instanceof api_extractor_model_1.ApiDocumentedItem) {
|
|
328
329
|
const tsdocComment = apiItem.tsdocComment;
|
|
329
330
|
if (tsdocComment) {
|
|
330
331
|
// Write the @remarks block
|
|
331
332
|
if (tsdocComment.remarksBlock) {
|
|
332
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
333
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Remarks' }));
|
|
333
334
|
this._appendSection(output, tsdocComment.remarksBlock.content);
|
|
334
335
|
}
|
|
335
336
|
// Write the @example blocks
|
|
@@ -337,7 +338,7 @@ class MarkdownDocumenter {
|
|
|
337
338
|
let exampleNumber = 1;
|
|
338
339
|
for (const exampleBlock of exampleBlocks) {
|
|
339
340
|
const heading = exampleBlocks.length > 1 ? `Example ${exampleNumber}` : 'Example';
|
|
340
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
341
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: heading }));
|
|
341
342
|
this._appendSection(output, exampleBlock.content);
|
|
342
343
|
++exampleNumber;
|
|
343
344
|
}
|
|
@@ -345,6 +346,7 @@ class MarkdownDocumenter {
|
|
|
345
346
|
}
|
|
346
347
|
}
|
|
347
348
|
_writeThrowsSection(output, apiItem) {
|
|
349
|
+
const configuration = this._tsdocConfiguration;
|
|
348
350
|
if (apiItem instanceof api_extractor_model_1.ApiDocumentedItem) {
|
|
349
351
|
const tsdocComment = apiItem.tsdocComment;
|
|
350
352
|
if (tsdocComment) {
|
|
@@ -352,7 +354,7 @@ class MarkdownDocumenter {
|
|
|
352
354
|
const throwsBlocks = tsdocComment.customBlocks.filter((x) => x.blockTag.tagNameWithUpperCase === tsdoc_1.StandardTags.throws.tagNameWithUpperCase);
|
|
353
355
|
if (throwsBlocks.length > 0) {
|
|
354
356
|
const heading = 'Exceptions';
|
|
355
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
357
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: heading }));
|
|
356
358
|
for (const throwsBlock of throwsBlocks) {
|
|
357
359
|
this._appendSection(output, throwsBlock.content);
|
|
358
360
|
}
|
|
@@ -382,7 +384,7 @@ class MarkdownDocumenter {
|
|
|
382
384
|
}
|
|
383
385
|
}
|
|
384
386
|
if (packagesTable.rows.length > 0) {
|
|
385
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
387
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Packages' }));
|
|
386
388
|
output.appendNode(packagesTable);
|
|
387
389
|
}
|
|
388
390
|
}
|
|
@@ -459,31 +461,31 @@ class MarkdownDocumenter {
|
|
|
459
461
|
}
|
|
460
462
|
}
|
|
461
463
|
if (classesTable.rows.length > 0) {
|
|
462
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
464
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Classes' }));
|
|
463
465
|
output.appendNode(classesTable);
|
|
464
466
|
}
|
|
465
467
|
if (enumerationsTable.rows.length > 0) {
|
|
466
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
468
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Enumerations' }));
|
|
467
469
|
output.appendNode(enumerationsTable);
|
|
468
470
|
}
|
|
469
471
|
if (functionsTable.rows.length > 0) {
|
|
470
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
472
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Functions' }));
|
|
471
473
|
output.appendNode(functionsTable);
|
|
472
474
|
}
|
|
473
475
|
if (interfacesTable.rows.length > 0) {
|
|
474
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
476
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Interfaces' }));
|
|
475
477
|
output.appendNode(interfacesTable);
|
|
476
478
|
}
|
|
477
479
|
if (namespacesTable.rows.length > 0) {
|
|
478
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
480
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Namespaces' }));
|
|
479
481
|
output.appendNode(namespacesTable);
|
|
480
482
|
}
|
|
481
483
|
if (variablesTable.rows.length > 0) {
|
|
482
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
484
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Variables' }));
|
|
483
485
|
output.appendNode(variablesTable);
|
|
484
486
|
}
|
|
485
487
|
if (typeAliasesTable.rows.length > 0) {
|
|
486
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
488
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Type Aliases' }));
|
|
487
489
|
output.appendNode(typeAliasesTable);
|
|
488
490
|
}
|
|
489
491
|
}
|
|
@@ -508,13 +510,15 @@ class MarkdownDocumenter {
|
|
|
508
510
|
configuration,
|
|
509
511
|
headerTitles: ['Method', 'Modifiers', 'Description']
|
|
510
512
|
});
|
|
511
|
-
|
|
513
|
+
const apiMembers = this._getMembersAndWriteIncompleteWarning(apiClass, output);
|
|
514
|
+
for (const apiMember of apiMembers) {
|
|
515
|
+
const isInherited = apiMember.parent !== apiClass;
|
|
512
516
|
switch (apiMember.kind) {
|
|
513
517
|
case api_extractor_model_1.ApiItemKind.Constructor: {
|
|
514
518
|
constructorsTable.addRow(new DocTableRow_1.DocTableRow({ configuration }, [
|
|
515
519
|
this._createTitleCell(apiMember),
|
|
516
520
|
this._createModifiersCell(apiMember),
|
|
517
|
-
this._createDescriptionCell(apiMember)
|
|
521
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
518
522
|
]));
|
|
519
523
|
this._writeApiItemPage(apiMember);
|
|
520
524
|
break;
|
|
@@ -523,7 +527,7 @@ class MarkdownDocumenter {
|
|
|
523
527
|
methodsTable.addRow(new DocTableRow_1.DocTableRow({ configuration }, [
|
|
524
528
|
this._createTitleCell(apiMember),
|
|
525
529
|
this._createModifiersCell(apiMember),
|
|
526
|
-
this._createDescriptionCell(apiMember)
|
|
530
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
527
531
|
]));
|
|
528
532
|
this._writeApiItemPage(apiMember);
|
|
529
533
|
break;
|
|
@@ -534,7 +538,7 @@ class MarkdownDocumenter {
|
|
|
534
538
|
this._createTitleCell(apiMember),
|
|
535
539
|
this._createModifiersCell(apiMember),
|
|
536
540
|
this._createPropertyTypeCell(apiMember),
|
|
537
|
-
this._createDescriptionCell(apiMember)
|
|
541
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
538
542
|
]));
|
|
539
543
|
}
|
|
540
544
|
else {
|
|
@@ -542,7 +546,7 @@ class MarkdownDocumenter {
|
|
|
542
546
|
this._createTitleCell(apiMember),
|
|
543
547
|
this._createModifiersCell(apiMember),
|
|
544
548
|
this._createPropertyTypeCell(apiMember),
|
|
545
|
-
this._createDescriptionCell(apiMember)
|
|
549
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
546
550
|
]));
|
|
547
551
|
}
|
|
548
552
|
this._writeApiItemPage(apiMember);
|
|
@@ -551,19 +555,19 @@ class MarkdownDocumenter {
|
|
|
551
555
|
}
|
|
552
556
|
}
|
|
553
557
|
if (eventsTable.rows.length > 0) {
|
|
554
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
558
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Events' }));
|
|
555
559
|
output.appendNode(eventsTable);
|
|
556
560
|
}
|
|
557
561
|
if (constructorsTable.rows.length > 0) {
|
|
558
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
562
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Constructors' }));
|
|
559
563
|
output.appendNode(constructorsTable);
|
|
560
564
|
}
|
|
561
565
|
if (propertiesTable.rows.length > 0) {
|
|
562
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
566
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Properties' }));
|
|
563
567
|
output.appendNode(propertiesTable);
|
|
564
568
|
}
|
|
565
569
|
if (methodsTable.rows.length > 0) {
|
|
566
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
570
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Methods' }));
|
|
567
571
|
output.appendNode(methodsTable);
|
|
568
572
|
}
|
|
569
573
|
}
|
|
@@ -588,14 +592,14 @@ class MarkdownDocumenter {
|
|
|
588
592
|
]));
|
|
589
593
|
}
|
|
590
594
|
if (enumMembersTable.rows.length > 0) {
|
|
591
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
595
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Enumeration Members' }));
|
|
592
596
|
output.appendNode(enumMembersTable);
|
|
593
597
|
}
|
|
594
598
|
}
|
|
595
599
|
/**
|
|
596
600
|
* GENERATE PAGE: INTERFACE
|
|
597
601
|
*/
|
|
598
|
-
_writeInterfaceTables(output,
|
|
602
|
+
_writeInterfaceTables(output, apiInterface) {
|
|
599
603
|
const configuration = this._tsdocConfiguration;
|
|
600
604
|
const eventsTable = new DocTable_1.DocTable({
|
|
601
605
|
configuration,
|
|
@@ -609,13 +613,15 @@ class MarkdownDocumenter {
|
|
|
609
613
|
configuration,
|
|
610
614
|
headerTitles: ['Method', 'Description']
|
|
611
615
|
});
|
|
612
|
-
|
|
616
|
+
const apiMembers = this._getMembersAndWriteIncompleteWarning(apiInterface, output);
|
|
617
|
+
for (const apiMember of apiMembers) {
|
|
618
|
+
const isInherited = apiMember.parent !== apiInterface;
|
|
613
619
|
switch (apiMember.kind) {
|
|
614
620
|
case api_extractor_model_1.ApiItemKind.ConstructSignature:
|
|
615
621
|
case api_extractor_model_1.ApiItemKind.MethodSignature: {
|
|
616
622
|
methodsTable.addRow(new DocTableRow_1.DocTableRow({ configuration }, [
|
|
617
623
|
this._createTitleCell(apiMember),
|
|
618
|
-
this._createDescriptionCell(apiMember)
|
|
624
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
619
625
|
]));
|
|
620
626
|
this._writeApiItemPage(apiMember);
|
|
621
627
|
break;
|
|
@@ -626,7 +632,7 @@ class MarkdownDocumenter {
|
|
|
626
632
|
this._createTitleCell(apiMember),
|
|
627
633
|
this._createModifiersCell(apiMember),
|
|
628
634
|
this._createPropertyTypeCell(apiMember),
|
|
629
|
-
this._createDescriptionCell(apiMember)
|
|
635
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
630
636
|
]));
|
|
631
637
|
}
|
|
632
638
|
else {
|
|
@@ -634,7 +640,7 @@ class MarkdownDocumenter {
|
|
|
634
640
|
this._createTitleCell(apiMember),
|
|
635
641
|
this._createModifiersCell(apiMember),
|
|
636
642
|
this._createPropertyTypeCell(apiMember),
|
|
637
|
-
this._createDescriptionCell(apiMember)
|
|
643
|
+
this._createDescriptionCell(apiMember, isInherited)
|
|
638
644
|
]));
|
|
639
645
|
}
|
|
640
646
|
this._writeApiItemPage(apiMember);
|
|
@@ -643,15 +649,15 @@ class MarkdownDocumenter {
|
|
|
643
649
|
}
|
|
644
650
|
}
|
|
645
651
|
if (eventsTable.rows.length > 0) {
|
|
646
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
652
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Events' }));
|
|
647
653
|
output.appendNode(eventsTable);
|
|
648
654
|
}
|
|
649
655
|
if (propertiesTable.rows.length > 0) {
|
|
650
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
656
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Properties' }));
|
|
651
657
|
output.appendNode(propertiesTable);
|
|
652
658
|
}
|
|
653
659
|
if (methodsTable.rows.length > 0) {
|
|
654
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
660
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Methods' }));
|
|
655
661
|
output.appendNode(methodsTable);
|
|
656
662
|
}
|
|
657
663
|
}
|
|
@@ -690,7 +696,7 @@ class MarkdownDocumenter {
|
|
|
690
696
|
]));
|
|
691
697
|
}
|
|
692
698
|
if (parametersTable.rows.length > 0) {
|
|
693
|
-
output.appendNode(new DocHeading_1.DocHeading({ configuration
|
|
699
|
+
output.appendNode(new DocHeading_1.DocHeading({ configuration, title: 'Parameters' }));
|
|
694
700
|
output.appendNode(parametersTable);
|
|
695
701
|
}
|
|
696
702
|
if (api_extractor_model_1.ApiReturnTypeMixin.isBaseClassOf(apiParameterListMixin)) {
|
|
@@ -770,7 +776,7 @@ class MarkdownDocumenter {
|
|
|
770
776
|
* We mostly assume that the input is an ApiDocumentedItem, but it's easier to perform this as a runtime
|
|
771
777
|
* check than to have each caller perform a type cast.
|
|
772
778
|
*/
|
|
773
|
-
_createDescriptionCell(apiItem) {
|
|
779
|
+
_createDescriptionCell(apiItem, isInherited = false) {
|
|
774
780
|
const configuration = this._tsdocConfiguration;
|
|
775
781
|
const section = new tsdoc_1.DocSection({ configuration });
|
|
776
782
|
if (api_extractor_model_1.ApiReleaseTagMixin.isBaseClassOf(apiItem)) {
|
|
@@ -796,6 +802,18 @@ class MarkdownDocumenter {
|
|
|
796
802
|
this._appendAndMergeSection(section, apiItem.tsdocComment.summarySection);
|
|
797
803
|
}
|
|
798
804
|
}
|
|
805
|
+
if (isInherited && apiItem.parent) {
|
|
806
|
+
section.appendNode(new tsdoc_1.DocParagraph({ configuration }, [
|
|
807
|
+
new tsdoc_1.DocPlainText({ configuration, text: '(Inherited from ' }),
|
|
808
|
+
new tsdoc_1.DocLinkTag({
|
|
809
|
+
configuration,
|
|
810
|
+
tagName: '@link',
|
|
811
|
+
linkText: apiItem.parent.displayName,
|
|
812
|
+
urlDestination: this._getLinkFilenameForApiItem(apiItem.parent)
|
|
813
|
+
}),
|
|
814
|
+
new tsdoc_1.DocPlainText({ configuration, text: ')' })
|
|
815
|
+
]));
|
|
816
|
+
}
|
|
799
817
|
return new DocTableCell_1.DocTableCell({ configuration }, section.nodes);
|
|
800
818
|
}
|
|
801
819
|
_createModifiersCell(apiItem) {
|
|
@@ -837,8 +855,9 @@ class MarkdownDocumenter {
|
|
|
837
855
|
return new DocTableCell_1.DocTableCell({ configuration }, section.nodes);
|
|
838
856
|
}
|
|
839
857
|
_writeBreadcrumb(output, apiItem) {
|
|
858
|
+
const configuration = this._tsdocConfiguration;
|
|
840
859
|
output.appendNodeInParagraph(new tsdoc_1.DocLinkTag({
|
|
841
|
-
configuration
|
|
860
|
+
configuration,
|
|
842
861
|
tagName: '@link',
|
|
843
862
|
linkText: 'Home',
|
|
844
863
|
urlDestination: this._getLinkFilenameForApiItem(this._apiModel)
|
|
@@ -854,11 +873,11 @@ class MarkdownDocumenter {
|
|
|
854
873
|
default:
|
|
855
874
|
output.appendNodesInParagraph([
|
|
856
875
|
new tsdoc_1.DocPlainText({
|
|
857
|
-
configuration
|
|
876
|
+
configuration,
|
|
858
877
|
text: ' > '
|
|
859
878
|
}),
|
|
860
879
|
new tsdoc_1.DocLinkTag({
|
|
861
|
-
configuration
|
|
880
|
+
configuration,
|
|
862
881
|
tagName: '@link',
|
|
863
882
|
linkText: hierarchyItem.displayName,
|
|
864
883
|
urlDestination: this._getLinkFilenameForApiItem(hierarchyItem)
|
|
@@ -894,6 +913,31 @@ class MarkdownDocumenter {
|
|
|
894
913
|
output.appendNode(node);
|
|
895
914
|
}
|
|
896
915
|
}
|
|
916
|
+
_getMembersAndWriteIncompleteWarning(apiClassOrInterface, output) {
|
|
917
|
+
var _a;
|
|
918
|
+
const configuration = this._tsdocConfiguration;
|
|
919
|
+
const showInheritedMembers = !!((_a = this._documenterConfig) === null || _a === void 0 ? void 0 : _a.configFile.showInheritedMembers);
|
|
920
|
+
if (!showInheritedMembers) {
|
|
921
|
+
return apiClassOrInterface.members;
|
|
922
|
+
}
|
|
923
|
+
const result = apiClassOrInterface.findMembersWithInheritance();
|
|
924
|
+
// If the result is potentially incomplete, write a short warning communicating this.
|
|
925
|
+
if (result.maybeIncompleteResult) {
|
|
926
|
+
output.appendNode(new tsdoc_1.DocParagraph({ configuration }, [
|
|
927
|
+
new DocEmphasisSpan_1.DocEmphasisSpan({ configuration, italic: true }, [
|
|
928
|
+
new tsdoc_1.DocPlainText({
|
|
929
|
+
configuration,
|
|
930
|
+
text: '(Some inherited members may not be shown because they are not represented in the documentation.)'
|
|
931
|
+
})
|
|
932
|
+
])
|
|
933
|
+
]));
|
|
934
|
+
}
|
|
935
|
+
// Log the messages for diagnostic purposes.
|
|
936
|
+
for (const message of result.messages) {
|
|
937
|
+
console.log(`Diagnostic message for findMembersWithInheritance: ${message.text}`);
|
|
938
|
+
}
|
|
939
|
+
return result.items;
|
|
940
|
+
}
|
|
897
941
|
_getFilenameForApiItem(apiItem) {
|
|
898
942
|
if (apiItem.kind === api_extractor_model_1.ApiItemKind.Model) {
|
|
899
943
|
return 'index.md';
|