🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

@fluentui/api-docs

Package Overview
Dependencies
Maintainers
10
Versions
109
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fluentui/api-docs - npm Package Compare versions

Comparing version
8.2.26
to
8.2.27
+11
-2
CHANGELOG.md
# Change Log - @fluentui/api-docs
This log was last generated on Wed, 12 Feb 2025 07:20:29 GMT and should not be manually modified.
This log was last generated on Thu, 14 Aug 2025 07:19:29 GMT and should not be manually modified.
<!-- Start content -->
## [8.2.27](https://github.com/microsoft/fluentui/tree/@fluentui/api-docs_v8.2.27)
Thu, 14 Aug 2025 07:19:29 GMT
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/api-docs_v8.2.26..@fluentui/api-docs_v8.2.27)
### Patches
- chore: update microsoft/api-doc to 15.1 ([PR #33498](https://github.com/microsoft/fluentui/pull/33498) by vgenaev@gmail.com)
## [8.2.26](https://github.com/microsoft/fluentui/tree/@fluentui/api-docs_v8.2.26)
Wed, 12 Feb 2025 07:20:29 GMT
Wed, 12 Feb 2025 07:20:51 GMT
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/api-docs_v8.2.25..@fluentui/api-docs_v8.2.26)

@@ -11,0 +20,0 @@

+1
-2
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generatePageJsonFiles = void 0;
exports.generatePageJsonFiles = generatePageJsonFiles;
var tslib_1 = require("tslib");

@@ -105,3 +105,2 @@ var fse = require("fs-extra");

}
exports.generatePageJsonFiles = generatePageJsonFiles;
//# sourceMappingURL=generatePageJsonFiles.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"generatePageJsonFiles.js","sourceRoot":"../src/","sources":["generatePageJsonFiles.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fse from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { ApiModel } from '@microsoft/api-extractor-model';\nimport { IPageJsonOptions } from './types';\nimport { generatePageJson } from './pageJson';\n\nconst tmpFile = path.join(os.tmpdir(), 'compat.api.json');\n\n/**\n * Main entry point to create API \\*.page.json files.\n */\nexport function generatePageJsonFiles(options: IPageJsonOptions): void {\n const { pageGroups = {}, fallbackGroup, outputRoot, apiJsonPaths, min } = options;\n\n // Create and/or empty output folders\n fse.emptyDirSync(outputRoot);\n for (const group of Object.keys(pageGroups)) {\n fse.emptyDirSync(path.join(outputRoot, group));\n }\n if (fallbackGroup) {\n fse.emptyDirSync(path.join(outputRoot, fallbackGroup));\n }\n\n // Load api-extractor output from packages into a model\n const apiModel = new ApiModel();\n for (const apiJsonPath of apiJsonPaths) {\n // eslint-disable-next-line no-console\n console.log('Loading ' + apiJsonPath);\n\n // If the file belongs to the compat layer.\n if (apiJsonPath.indexOf('compat') !== -1) {\n // Get the json info and change the package name.\n const jsonObject = require(apiJsonPath);\n jsonObject.name = jsonObject.name + '-compat';\n\n // Write the info into a temporary file.\n fse.writeJSONSync(tmpFile, jsonObject);\n\n // Load the package info into the API model.\n apiModel.loadPackage(tmpFile);\n\n // Delete the temporary file.\n fse.unlinkSync(tmpFile);\n } else {\n apiModel.loadPackage(apiJsonPath);\n }\n }\n\n // Generate the page data\n const pageJsonByName = generatePageJson(apiModel, pageGroups, fallbackGroup);\n\n // Warn if any requested page names didn't correspond to a docCategory found in the API info\n const requestedPages = ([] as string[]).concat(...Object.values(pageGroups));\n for (const pageName of requestedPages) {\n if (!pageJsonByName.has(pageName)) {\n // eslint-disable-next-line no-console\n console.warn('Warning: no API items found for expected @docCategory ' + pageName);\n }\n }\n\n // Write the files\n for (const [pageName, pageJson] of pageJsonByName.entries()) {\n const pageJsonPath = path.join(outputRoot, pageJson.group || '', pageName + '.page.json');\n\n // eslint-disable-next-line no-console\n console.log('Writing ' + pageJsonPath);\n const json = min ? JSON.stringify(pageJson) : JSON.stringify(pageJson, null, 2);\n fse.writeFileSync(pageJsonPath, json);\n }\n}\n"]}
{"version":3,"file":"generatePageJsonFiles.js","sourceRoot":"../src/","sources":["generatePageJsonFiles.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fse from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { ApiModel } from '@microsoft/api-extractor-model';\nimport { IPageJsonOptions } from './types';\nimport { generatePageJson } from './pageJson';\n\nconst tmpFile = path.join(os.tmpdir(), 'compat.api.json');\n\n/**\n * Main entry point to create API \\*.page.json files.\n */\nexport function generatePageJsonFiles(options: IPageJsonOptions): void {\n const { pageGroups = {}, fallbackGroup, outputRoot, apiJsonPaths, min } = options;\n\n // Create and/or empty output folders\n fse.emptyDirSync(outputRoot);\n for (const group of Object.keys(pageGroups)) {\n fse.emptyDirSync(path.join(outputRoot, group));\n }\n if (fallbackGroup) {\n fse.emptyDirSync(path.join(outputRoot, fallbackGroup));\n }\n\n // Load api-extractor output from packages into a model\n const apiModel = new ApiModel();\n for (const apiJsonPath of apiJsonPaths) {\n // eslint-disable-next-line no-console\n console.log('Loading ' + apiJsonPath);\n\n // If the file belongs to the compat layer.\n if (apiJsonPath.indexOf('compat') !== -1) {\n // Get the json info and change the package name.\n const jsonObject = require(apiJsonPath);\n jsonObject.name = jsonObject.name + '-compat';\n\n // Write the info into a temporary file.\n fse.writeJSONSync(tmpFile, jsonObject);\n\n // Load the package info into the API model.\n apiModel.loadPackage(tmpFile);\n\n // Delete the temporary file.\n fse.unlinkSync(tmpFile);\n } else {\n apiModel.loadPackage(apiJsonPath);\n }\n }\n\n // Generate the page data\n const pageJsonByName = generatePageJson(apiModel, pageGroups, fallbackGroup);\n\n // Warn if any requested page names didn't correspond to a docCategory found in the API info\n const requestedPages = ([] as string[]).concat(...Object.values(pageGroups));\n for (const pageName of requestedPages) {\n if (!pageJsonByName.has(pageName)) {\n // eslint-disable-next-line no-console\n console.warn('Warning: no API items found for expected @docCategory ' + pageName);\n }\n }\n\n // Write the files\n for (const [pageName, pageJson] of pageJsonByName.entries()) {\n const pageJsonPath = path.join(outputRoot, pageJson.group || '', pageName + '.page.json');\n\n // eslint-disable-next-line no-console\n console.log('Writing ' + pageJsonPath);\n const json = min ? JSON.stringify(pageJson) : JSON.stringify(pageJson, null, 2);\n fse.writeFileSync(pageJsonPath, json);\n }\n}\n"]}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generatePageJson = void 0;
exports.generatePageJson = generatePageJson;
var tslib_1 = require("tslib");

@@ -39,3 +39,2 @@ var api_extractor_model_1 = require("@microsoft/api-extractor-model");

}
exports.generatePageJson = generatePageJson;
/**

@@ -42,0 +41,0 @@ * Walk all the APIs from `apiModel.packages` and generate an empty page data object for each

@@ -1,1 +0,1 @@

{"version":3,"file":"pageJson.js","sourceRoot":"../src/","sources":["pageJson.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiItem, ApiDocumentedItem, ApiModel, ApiItemKind } from '@microsoft/api-extractor-model';\nimport { findInlineTagByName } from './rendering';\nimport { ICollectedData } from './types-private';\nimport { ITableJson, IPageJson, PageGroups } from './types';\nimport { createTableJson } from './tableJson';\n\nconst supportedApiItems = [ApiItemKind.Interface, ApiItemKind.Enum, ApiItemKind.Class, ApiItemKind.TypeAlias];\n\n/**\n * Given `apiModel` with API package info already loaded into it, generate page data for each\n * `docCategory` tag (page name) and the APIs within it.\n */\nexport function generatePageJson(\n apiModel: ApiModel,\n pageGroups: PageGroups = {},\n fallbackGroup?: string,\n): Map<string, IPageJson> {\n const collectedData = initPageData(apiModel, pageGroups, fallbackGroup);\n\n const result = new Map<string, IPageJson>();\n for (const [pageName, pageData] of collectedData.pagesByName.entries()) {\n result.set(pageName, {\n tables: pageData.apiItems\n .map((apiItem: ApiItem) => createTableJson(collectedData, apiItem))\n .filter((table: ITableJson | undefined) => !!table) as ITableJson[],\n name: pageName,\n group: pageData.group,\n });\n }\n\n return result;\n}\n\n/**\n * Walk all the APIs from `apiModel.packages` and generate an empty page data object for each\n * `docCategory` tag (page name) encountered. The returned object contains a mapping from page name\n * (`docCategory`) to page data (`pagesByName`), and from API name to page data (`pagesByApi`).\n * The page data objects referenced in both maps are the same.\n */\nfunction initPageData(apiModel: ApiModel, pageGroups: PageGroups, fallbackGroup?: string): ICollectedData {\n // Map the pages to groups all at once for convenience later\n const groupsByPage: { [pageName: string]: string } = {};\n for (const [group, pageNames] of Object.entries(pageGroups)) {\n for (const pageName of pageNames) {\n groupsByPage[pageName] = group;\n }\n }\n\n const collectedData: ICollectedData = { apiModel, pagesByName: new Map(), pagesByApi: new Map() };\n\n // Generate empty page data objects for each docCategory\n for (const apiPackage of collectedData.apiModel.packages) {\n for (const entryPoint of apiPackage.entryPoints) {\n initPageDataForItem(collectedData, entryPoint, groupsByPage, fallbackGroup);\n }\n }\n return collectedData;\n}\n\n/**\n * Walk this API item and its members, adding an empty page data object to `collectedData.pagesByName`\n * for each new `docCategory` tag (page name) encountered. Also update `collectedData.pagesByApi` with\n * mappings for every API item encountered.\n */\nfunction initPageDataForItem(\n collectedData: ICollectedData,\n apiItem: ApiItem,\n groupsByPage: { [pageName: string]: string },\n fallbackGroup?: string,\n): void {\n if (\n supportedApiItems.includes(apiItem.kind as unknown as ApiItemKind) &&\n apiItem instanceof ApiDocumentedItem &&\n apiItem.tsdocComment\n ) {\n const docCategoryTag = findInlineTagByName('@docCategory', apiItem.tsdocComment);\n\n if (docCategoryTag) {\n const pageName = docCategoryTag.tagContent.trim();\n let pageData = collectedData.pagesByName.get(pageName);\n\n if (!pageData) {\n pageData = {\n name: pageName,\n apiItems: [],\n group: groupsByPage[pageName] || fallbackGroup,\n };\n collectedData.pagesByName.set(pageName, pageData);\n }\n collectedData.pagesByApi.set(apiItem.displayName, pageData);\n\n pageData.apiItems.push(apiItem);\n }\n }\n\n for (const memberApiItem of apiItem.members) {\n initPageDataForItem(collectedData, memberApiItem, groupsByPage, fallbackGroup);\n }\n}\n"]}
{"version":3,"file":"pageJson.js","sourceRoot":"../src/","sources":["pageJson.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiItem, ApiDocumentedItem, ApiModel, ApiItemKind } from '@microsoft/api-extractor-model';\nimport { findInlineTagByName } from './rendering';\nimport { ICollectedData } from './types-private';\nimport { ITableJson, IPageJson, PageGroups } from './types';\nimport { createTableJson } from './tableJson';\n\nconst supportedApiItems = [ApiItemKind.Interface, ApiItemKind.Enum, ApiItemKind.Class, ApiItemKind.TypeAlias];\n\n/**\n * Given `apiModel` with API package info already loaded into it, generate page data for each\n * `docCategory` tag (page name) and the APIs within it.\n */\nexport function generatePageJson(\n apiModel: ApiModel,\n pageGroups: PageGroups = {},\n fallbackGroup?: string,\n): Map<string, IPageJson> {\n const collectedData = initPageData(apiModel, pageGroups, fallbackGroup);\n\n const result = new Map<string, IPageJson>();\n for (const [pageName, pageData] of collectedData.pagesByName.entries()) {\n result.set(pageName, {\n tables: pageData.apiItems\n .map((apiItem: ApiItem) => createTableJson(collectedData, apiItem))\n .filter((table: ITableJson | undefined) => !!table) as ITableJson[],\n name: pageName,\n group: pageData.group,\n });\n }\n\n return result;\n}\n\n/**\n * Walk all the APIs from `apiModel.packages` and generate an empty page data object for each\n * `docCategory` tag (page name) encountered. The returned object contains a mapping from page name\n * (`docCategory`) to page data (`pagesByName`), and from API name to page data (`pagesByApi`).\n * The page data objects referenced in both maps are the same.\n */\nfunction initPageData(apiModel: ApiModel, pageGroups: PageGroups, fallbackGroup?: string): ICollectedData {\n // Map the pages to groups all at once for convenience later\n const groupsByPage: { [pageName: string]: string } = {};\n for (const [group, pageNames] of Object.entries(pageGroups)) {\n for (const pageName of pageNames) {\n groupsByPage[pageName] = group;\n }\n }\n\n const collectedData: ICollectedData = { apiModel, pagesByName: new Map(), pagesByApi: new Map() };\n\n // Generate empty page data objects for each docCategory\n for (const apiPackage of collectedData.apiModel.packages) {\n for (const entryPoint of apiPackage.entryPoints) {\n initPageDataForItem(collectedData, entryPoint, groupsByPage, fallbackGroup);\n }\n }\n return collectedData;\n}\n\n/**\n * Walk this API item and its members, adding an empty page data object to `collectedData.pagesByName`\n * for each new `docCategory` tag (page name) encountered. Also update `collectedData.pagesByApi` with\n * mappings for every API item encountered.\n */\nfunction initPageDataForItem(\n collectedData: ICollectedData,\n apiItem: ApiItem,\n groupsByPage: { [pageName: string]: string },\n fallbackGroup?: string,\n): void {\n if (\n supportedApiItems.includes(apiItem.kind as unknown as ApiItemKind) &&\n apiItem instanceof ApiDocumentedItem &&\n apiItem.tsdocComment\n ) {\n const docCategoryTag = findInlineTagByName('@docCategory', apiItem.tsdocComment);\n\n if (docCategoryTag) {\n const pageName = docCategoryTag.tagContent.trim();\n let pageData = collectedData.pagesByName.get(pageName);\n\n if (!pageData) {\n pageData = {\n name: pageName,\n apiItems: [],\n group: groupsByPage[pageName] || fallbackGroup,\n };\n collectedData.pagesByName.set(pageName, pageData);\n }\n collectedData.pagesByApi.set(apiItem.displayName, pageData);\n\n pageData.apiItems.push(apiItem);\n }\n }\n\n for (const memberApiItem of apiItem.members) {\n initPageDataForItem(collectedData, memberApiItem, groupsByPage, fallbackGroup);\n }\n}\n"]}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.renderTokens = exports.getBlockTagByName = exports.findInlineTagByName = exports.renderDocNodeWithoutInlineTag = exports.getTokenHyperlinks = exports.renderNodes = void 0;
exports.renderNodes = renderNodes;
exports.getTokenHyperlinks = getTokenHyperlinks;
exports.renderDocNodeWithoutInlineTag = renderDocNodeWithoutInlineTag;
exports.findInlineTagByName = findInlineTagByName;
exports.getBlockTagByName = getBlockTagByName;
exports.renderTokens = renderTokens;
var tslib_1 = require("tslib");

@@ -15,3 +20,2 @@ var tsdoc_1 = require("@microsoft/tsdoc");

}
exports.renderNodes = renderNodes;
/**

@@ -111,3 +115,2 @@ * Extracts text from a doc node

}
exports.getTokenHyperlinks = getTokenHyperlinks;
/**

@@ -142,3 +145,2 @@ * Renders the doc node (likely a DocComment's DocSection) without the inline tag

}
exports.renderDocNodeWithoutInlineTag = renderDocNodeWithoutInlineTag;
/**

@@ -170,3 +172,2 @@ * Finds an inline tag by name from the provided doc comment

}
exports.findInlineTagByName = findInlineTagByName;
/**

@@ -179,3 +180,2 @@ * Gets the block tag by name

}
exports.getBlockTagByName = getBlockTagByName;
/**

@@ -189,3 +189,2 @@ * Convert a range of tokens to a string.

}
exports.renderTokens = renderTokens;
function getTokensInRange(excerptTokens, excerptTokenRange) {

@@ -192,0 +191,0 @@ return excerptTokens.slice(excerptTokenRange.startIndex, excerptTokenRange.endIndex);

@@ -1,1 +0,1 @@

{"version":3,"file":"rendering.js","sourceRoot":"../src/","sources":["rendering.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DocExcerpt,\n DocInlineTag,\n DocSection,\n DocComment,\n DocPlainText,\n DocParagraph,\n DocNode,\n DocNodeTransforms,\n DocLinkTag,\n DocNodeContainer,\n DocCodeSpan,\n DocBlock,\n DocNodeKind,\n} from '@microsoft/tsdoc';\nimport { ApiItem, ApiModel, ExcerptToken, IExcerptTokenRange } from '@microsoft/api-extractor-model';\nimport { ILinkToken } from './types';\nimport { ICollectedData } from './types-private';\n\n/**\n * Render nodes from `section` (which is part of `apiItem`) into text.\n */\nexport function renderNodes(apiModel: ApiModel, apiItem: ApiItem, section: DocNodeContainer): string {\n return section.nodes\n .map((node: DocNode) => renderNode(apiModel, apiItem, node))\n .join('')\n .trim();\n}\n\n/**\n * Extracts text from a doc node\n *\n * @param apiModel - Model containing all API info\n * @param apiItem - API item the node came from\n * @param node - Node from which to extract text\n */\nfunction renderNode(apiModel: ApiModel, apiItem: ApiItem, node: DocNode): string {\n switch (node.kind) {\n case 'Paragraph':\n const transformedParagraph: DocParagraph = DocNodeTransforms.trimSpacesInParagraph(node as DocParagraph);\n return renderNodes(apiModel, apiItem, transformedParagraph);\n case 'LinkTag':\n return renderLinkTag(apiModel, apiItem, node as DocLinkTag);\n case 'CodeSpan':\n return '`' + (node as DocCodeSpan).code + '`';\n case 'PlainText':\n return (node as DocPlainText).text;\n case 'SoftBreak':\n return ' ';\n default:\n return '';\n }\n}\n\n/**\n * Render a link into text. For now we just extract the text or the code item name\n * (rather than returning an actual link).\n */\nfunction renderLinkTag(apiModel: ApiModel, apiItem: ApiItem, link: DocLinkTag): string {\n if (link.linkText) {\n return link.linkText;\n } else if (link.codeDestination) {\n const result = apiModel.resolveDeclarationReference(link.codeDestination, apiItem);\n if (result.resolvedApiItem) {\n return result.resolvedApiItem.getScopedNameWithinPackage();\n }\n }\n return '';\n}\n\n/**\n * Loops through excerpt tokens and returns a token array with hyperlink data.\n * In cases where multiple consecutive original tokens don't contain a link, they will be combined\n * to decrease file size and client processing time.\n * @param collectedData - Used to create links from reference tokens\n * @param excerptTokens - Token list containing the relevant info\n * @param excerptTokenRange - Specific relevant range within `excerptTokens`\n * @param isTypeAlias - If true, remove the \"export declare\" part from the result and don't make\n * a link from the type name (since it will be a self-link).\n */\nexport function getTokenHyperlinks(\n collectedData: ICollectedData,\n excerptTokens: ReadonlyArray<ExcerptToken>,\n excerptTokenRange: Readonly<IExcerptTokenRange>,\n isTypeAlias?: boolean,\n): ILinkToken[] {\n const initialTokens = getTokensInRange(excerptTokens, excerptTokenRange).map((token: ExcerptToken) => {\n const result: ILinkToken = { text: token.text };\n if (token.kind === 'Reference') {\n const page = collectedData.pagesByApi.get(token.text);\n if (page) {\n result.linkedPage = page.name;\n result.linkedPageGroup = page.group;\n }\n }\n return result;\n });\n\n const conciseTokens: ILinkToken[] = [];\n for (const token of initialTokens) {\n const prevToken = conciseTokens.slice(-1)[0];\n if (prevToken && !prevToken.linkedPage && !token.linkedPage) {\n prevToken.text += token.text;\n } else {\n conciseTokens.push(token);\n }\n }\n\n if (isTypeAlias && conciseTokens.length >= 2) {\n const [firstToken, secondToken] = conciseTokens;\n // The \"export declare\" part for a type alias (from firstToken) isn't very helpful,\n // and neither is a self-link for the type name (secondToken). Get rid of them.\n if (firstToken.text === 'export declare type ' && secondToken.linkedPage) {\n firstToken.text = firstToken.text.replace('export declare ', '') + secondToken.text;\n conciseTokens.splice(1, 1);\n }\n }\n\n return conciseTokens;\n}\n\n/**\n * Renders the doc node (likely a DocComment's DocSection) without the inline tag\n */\nexport function renderDocNodeWithoutInlineTag(docSection?: DocSection): string {\n let result = '';\n if (docSection) {\n if (docSection.kind === DocNodeKind.InlineTag) {\n return result.trim();\n } else if (docSection instanceof DocExcerpt) {\n result += docSection.content.toString();\n }\n for (const childNode of docSection.getChildNodes()) {\n result += renderDocNodeWithoutInlineTag(childNode as DocSection);\n }\n }\n return result;\n}\n\n/**\n * Finds an inline tag by name from the provided doc comment\n */\nexport function findInlineTagByName(tagName: string, docComment: DocComment): DocInlineTag | undefined {\n if (docComment instanceof DocInlineTag && docComment.tagName === tagName) {\n return docComment;\n }\n for (const childNode of docComment.getChildNodes()) {\n const result: DocInlineTag | undefined = findInlineTagByName(tagName, childNode as DocComment);\n if (result) {\n return result;\n }\n }\n return undefined;\n}\n\n/**\n * Gets the block tag by name\n */\nexport function getBlockTagByName(tagName: string, docComment: DocComment): DocSection | undefined {\n const tag = docComment.customBlocks.find(\n (customBlock: DocBlock) => customBlock.blockTag.tagName === tagName.toLowerCase(),\n );\n return tag && tag.content;\n}\n\n/**\n * Convert a range of tokens to a string.\n */\nexport function renderTokens(\n excerptTokens: ReadonlyArray<ExcerptToken>,\n excerptTokenRange: Readonly<IExcerptTokenRange>,\n): string {\n return getTokensInRange(excerptTokens, excerptTokenRange)\n .map((token: ExcerptToken) => token.text)\n .join('');\n}\n\nfunction getTokensInRange(\n excerptTokens: ReadonlyArray<ExcerptToken>,\n excerptTokenRange: Readonly<IExcerptTokenRange>,\n): ReadonlyArray<ExcerptToken> {\n return excerptTokens.slice(excerptTokenRange.startIndex, excerptTokenRange.endIndex);\n}\n"]}
{"version":3,"file":"rendering.js","sourceRoot":"../src/","sources":["rendering.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DocExcerpt,\n DocInlineTag,\n DocSection,\n DocComment,\n DocPlainText,\n DocParagraph,\n DocNode,\n DocNodeTransforms,\n DocLinkTag,\n DocNodeContainer,\n DocCodeSpan,\n DocBlock,\n DocNodeKind,\n} from '@microsoft/tsdoc';\nimport { ApiItem, ApiModel, ExcerptToken, IExcerptTokenRange } from '@microsoft/api-extractor-model';\nimport { ILinkToken } from './types';\nimport { ICollectedData } from './types-private';\n\n/**\n * Render nodes from `section` (which is part of `apiItem`) into text.\n */\nexport function renderNodes(apiModel: ApiModel, apiItem: ApiItem, section: DocNodeContainer): string {\n return section.nodes\n .map((node: DocNode) => renderNode(apiModel, apiItem, node))\n .join('')\n .trim();\n}\n\n/**\n * Extracts text from a doc node\n *\n * @param apiModel - Model containing all API info\n * @param apiItem - API item the node came from\n * @param node - Node from which to extract text\n */\nfunction renderNode(apiModel: ApiModel, apiItem: ApiItem, node: DocNode): string {\n switch (node.kind) {\n case 'Paragraph':\n const transformedParagraph: DocParagraph = DocNodeTransforms.trimSpacesInParagraph(node as DocParagraph);\n return renderNodes(apiModel, apiItem, transformedParagraph);\n case 'LinkTag':\n return renderLinkTag(apiModel, apiItem, node as DocLinkTag);\n case 'CodeSpan':\n return '`' + (node as DocCodeSpan).code + '`';\n case 'PlainText':\n return (node as DocPlainText).text;\n case 'SoftBreak':\n return ' ';\n default:\n return '';\n }\n}\n\n/**\n * Render a link into text. For now we just extract the text or the code item name\n * (rather than returning an actual link).\n */\nfunction renderLinkTag(apiModel: ApiModel, apiItem: ApiItem, link: DocLinkTag): string {\n if (link.linkText) {\n return link.linkText;\n } else if (link.codeDestination) {\n const result = apiModel.resolveDeclarationReference(link.codeDestination, apiItem);\n if (result.resolvedApiItem) {\n return result.resolvedApiItem.getScopedNameWithinPackage();\n }\n }\n return '';\n}\n\n/**\n * Loops through excerpt tokens and returns a token array with hyperlink data.\n * In cases where multiple consecutive original tokens don't contain a link, they will be combined\n * to decrease file size and client processing time.\n * @param collectedData - Used to create links from reference tokens\n * @param excerptTokens - Token list containing the relevant info\n * @param excerptTokenRange - Specific relevant range within `excerptTokens`\n * @param isTypeAlias - If true, remove the \"export declare\" part from the result and don't make\n * a link from the type name (since it will be a self-link).\n */\nexport function getTokenHyperlinks(\n collectedData: ICollectedData,\n excerptTokens: ReadonlyArray<ExcerptToken>,\n excerptTokenRange: Readonly<IExcerptTokenRange>,\n isTypeAlias?: boolean,\n): ILinkToken[] {\n const initialTokens = getTokensInRange(excerptTokens, excerptTokenRange).map((token: ExcerptToken) => {\n const result: ILinkToken = { text: token.text };\n if (token.kind === 'Reference') {\n const page = collectedData.pagesByApi.get(token.text);\n if (page) {\n result.linkedPage = page.name;\n result.linkedPageGroup = page.group;\n }\n }\n return result;\n });\n\n const conciseTokens: ILinkToken[] = [];\n for (const token of initialTokens) {\n const prevToken = conciseTokens.slice(-1)[0];\n if (prevToken && !prevToken.linkedPage && !token.linkedPage) {\n prevToken.text += token.text;\n } else {\n conciseTokens.push(token);\n }\n }\n\n if (isTypeAlias && conciseTokens.length >= 2) {\n const [firstToken, secondToken] = conciseTokens;\n // The \"export declare\" part for a type alias (from firstToken) isn't very helpful,\n // and neither is a self-link for the type name (secondToken). Get rid of them.\n if (firstToken.text === 'export declare type ' && secondToken.linkedPage) {\n firstToken.text = firstToken.text.replace('export declare ', '') + secondToken.text;\n conciseTokens.splice(1, 1);\n }\n }\n\n return conciseTokens;\n}\n\n/**\n * Renders the doc node (likely a DocComment's DocSection) without the inline tag\n */\nexport function renderDocNodeWithoutInlineTag(docSection?: DocSection): string {\n let result = '';\n if (docSection) {\n if (docSection.kind === DocNodeKind.InlineTag) {\n return result.trim();\n } else if (docSection instanceof DocExcerpt) {\n result += docSection.content.toString();\n }\n for (const childNode of docSection.getChildNodes()) {\n result += renderDocNodeWithoutInlineTag(childNode as DocSection);\n }\n }\n return result;\n}\n\n/**\n * Finds an inline tag by name from the provided doc comment\n */\nexport function findInlineTagByName(tagName: string, docComment: DocComment): DocInlineTag | undefined {\n if (docComment instanceof DocInlineTag && docComment.tagName === tagName) {\n return docComment;\n }\n for (const childNode of docComment.getChildNodes()) {\n const result: DocInlineTag | undefined = findInlineTagByName(tagName, childNode as DocComment);\n if (result) {\n return result;\n }\n }\n return undefined;\n}\n\n/**\n * Gets the block tag by name\n */\nexport function getBlockTagByName(tagName: string, docComment: DocComment): DocSection | undefined {\n const tag = docComment.customBlocks.find(\n (customBlock: DocBlock) => customBlock.blockTag.tagName === tagName.toLowerCase(),\n );\n return tag && tag.content;\n}\n\n/**\n * Convert a range of tokens to a string.\n */\nexport function renderTokens(\n excerptTokens: ReadonlyArray<ExcerptToken>,\n excerptTokenRange: Readonly<IExcerptTokenRange>,\n): string {\n return getTokensInRange(excerptTokens, excerptTokenRange)\n .map((token: ExcerptToken) => token.text)\n .join('');\n}\n\nfunction getTokensInRange(\n excerptTokens: ReadonlyArray<ExcerptToken>,\n excerptTokenRange: Readonly<IExcerptTokenRange>,\n): ReadonlyArray<ExcerptToken> {\n return excerptTokens.slice(excerptTokenRange.startIndex, excerptTokenRange.endIndex);\n}\n"]}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTableJson = void 0;
exports.createTableJson = createTableJson;
var tslib_1 = require("tslib");

@@ -25,3 +25,2 @@ var api_extractor_model_1 = require("@microsoft/api-extractor-model");

}
exports.createTableJson = createTableJson;
/**

@@ -28,0 +27,0 @@ * Generate an ITableJson for a top-level API item (interface, class, enum, type alias)

@@ -1,1 +0,1 @@

{"version":3,"file":"tableJson.js","sourceRoot":"../src/","sources":["tableJson.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ApiClass,\n ApiEnum,\n ApiEnumMember,\n ApiInterface,\n ApiTypeAlias,\n ApiDeclaredItem,\n HeritageType,\n ApiItem,\n ApiItemKind,\n} from '@microsoft/api-extractor-model';\nimport { ITableJson, ITableRowJson } from './types';\nimport { renderDocNodeWithoutInlineTag, getTokenHyperlinks, renderNodes } from './rendering';\nimport { ICollectedData } from './types-private';\nimport { createTableRowJson, createEnumTableRowJson } from './tableRowJson';\n\nexport function createTableJson(collectedData: ICollectedData, apiItem: ApiItem): ITableJson | undefined {\n switch (apiItem.kind as unknown as ApiItemKind) {\n case ApiItemKind.Interface: {\n return createInterfacePageJson(collectedData, apiItem as ApiInterface);\n }\n case ApiItemKind.Enum: {\n return createEnumPageJson(collectedData, apiItem as ApiEnum);\n }\n case ApiItemKind.Class: {\n return createClassPageJson(collectedData, apiItem as ApiClass);\n }\n case ApiItemKind.TypeAlias: {\n return createTypeAliasPageJson(collectedData, apiItem as ApiTypeAlias);\n }\n }\n return undefined;\n}\n\n/**\n * Generate an ITableJson for a top-level API item (interface, class, enum, type alias)\n * with the name, description, deprecated message, and optionally extends tokens pre-filled.\n */\nfunction createBasicTableJson(\n collectedData: ICollectedData,\n apiItem: ApiDeclaredItem,\n kind: ITableJson['kind'],\n extendsTypes?: HeritageType | readonly HeritageType[],\n): ITableJson {\n const { tsdocComment } = apiItem;\n const tableJson: ITableJson = {\n kind,\n name: apiItem.displayName,\n description: (tsdocComment && renderDocNodeWithoutInlineTag(tsdocComment.summarySection)) || undefined,\n };\n\n const extendsArr: HeritageType[] | undefined =\n !extendsTypes || Array.isArray(extendsTypes) ? extendsTypes : [extendsTypes as HeritageType];\n if (extendsArr && extendsArr.length) {\n tableJson.extendsTokens = [];\n for (const extendsType of extendsArr) {\n if (tableJson.extendsTokens.length) {\n // if there are multiple extends types, we should separate them with a comma\n tableJson.extendsTokens.push({ text: ', ' });\n }\n tableJson.extendsTokens.push(\n ...getTokenHyperlinks(collectedData, extendsType.excerpt.tokens, extendsType.excerpt.tokenRange),\n );\n }\n }\n\n if (tsdocComment && tsdocComment.deprecatedBlock) {\n tableJson.deprecated = true;\n tableJson.deprecatedMessage = renderNodes(collectedData.apiModel, apiItem, tsdocComment.deprecatedBlock.content);\n }\n\n return tableJson;\n}\n\nfunction createInterfacePageJson(collectedData: ICollectedData, interfaceItem: ApiInterface): ITableJson {\n const tableJson = createBasicTableJson(collectedData, interfaceItem, 'interface', interfaceItem.extendsTypes);\n\n tableJson.members = interfaceItem.members\n .map((member: ApiItem) => createTableRowJson(collectedData, member))\n .filter((row: ITableRowJson | undefined): row is ITableRowJson => !!row);\n\n return tableJson;\n}\n\nfunction createEnumPageJson(collectedData: ICollectedData, enumItem: ApiEnum): ITableJson {\n const tableJson = createBasicTableJson(collectedData, enumItem, 'enum');\n\n tableJson.members = enumItem.members.map((member: ApiEnumMember) => createEnumTableRowJson(collectedData, member));\n\n return tableJson;\n}\n\nfunction createClassPageJson(collectedData: ICollectedData, classItem: ApiClass): ITableJson {\n const tableJson = createBasicTableJson(collectedData, classItem, 'class', classItem.extendsType);\n\n tableJson.members = classItem.members\n .map((member: ApiItem) => createTableRowJson(collectedData, member))\n .filter((row: ITableRowJson | undefined): row is ITableRowJson => !!row)\n // Constructor goes first\n .sort((a: ITableRowJson, b: ITableRowJson) => (a.name === 'constructor' ? -1 : 0));\n\n return tableJson;\n}\n\nfunction createTypeAliasPageJson(collectedData: ICollectedData, typeAliasItem: ApiTypeAlias): ITableJson {\n const tableJson = createBasicTableJson(collectedData, typeAliasItem, 'typeAlias');\n\n tableJson.extendsTokens = getTokenHyperlinks(\n collectedData,\n typeAliasItem.excerptTokens,\n typeAliasItem.excerpt.tokenRange,\n true,\n );\n\n return tableJson;\n}\n"]}
{"version":3,"file":"tableJson.js","sourceRoot":"../src/","sources":["tableJson.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ApiClass,\n ApiEnum,\n ApiEnumMember,\n ApiInterface,\n ApiTypeAlias,\n ApiDeclaredItem,\n HeritageType,\n ApiItem,\n ApiItemKind,\n} from '@microsoft/api-extractor-model';\nimport { ITableJson, ITableRowJson } from './types';\nimport { renderDocNodeWithoutInlineTag, getTokenHyperlinks, renderNodes } from './rendering';\nimport { ICollectedData } from './types-private';\nimport { createTableRowJson, createEnumTableRowJson } from './tableRowJson';\n\nexport function createTableJson(collectedData: ICollectedData, apiItem: ApiItem): ITableJson | undefined {\n switch (apiItem.kind as unknown as ApiItemKind) {\n case ApiItemKind.Interface: {\n return createInterfacePageJson(collectedData, apiItem as ApiInterface);\n }\n case ApiItemKind.Enum: {\n return createEnumPageJson(collectedData, apiItem as ApiEnum);\n }\n case ApiItemKind.Class: {\n return createClassPageJson(collectedData, apiItem as ApiClass);\n }\n case ApiItemKind.TypeAlias: {\n return createTypeAliasPageJson(collectedData, apiItem as ApiTypeAlias);\n }\n }\n return undefined;\n}\n\n/**\n * Generate an ITableJson for a top-level API item (interface, class, enum, type alias)\n * with the name, description, deprecated message, and optionally extends tokens pre-filled.\n */\nfunction createBasicTableJson(\n collectedData: ICollectedData,\n apiItem: ApiDeclaredItem,\n kind: ITableJson['kind'],\n extendsTypes?: HeritageType | readonly HeritageType[],\n): ITableJson {\n const { tsdocComment } = apiItem;\n const tableJson: ITableJson = {\n kind,\n name: apiItem.displayName,\n description: (tsdocComment && renderDocNodeWithoutInlineTag(tsdocComment.summarySection)) || undefined,\n };\n\n const extendsArr: HeritageType[] | undefined =\n !extendsTypes || Array.isArray(extendsTypes) ? extendsTypes : [extendsTypes as HeritageType];\n if (extendsArr && extendsArr.length) {\n tableJson.extendsTokens = [];\n for (const extendsType of extendsArr) {\n if (tableJson.extendsTokens.length) {\n // if there are multiple extends types, we should separate them with a comma\n tableJson.extendsTokens.push({ text: ', ' });\n }\n tableJson.extendsTokens.push(\n ...getTokenHyperlinks(collectedData, extendsType.excerpt.tokens, extendsType.excerpt.tokenRange),\n );\n }\n }\n\n if (tsdocComment && tsdocComment.deprecatedBlock) {\n tableJson.deprecated = true;\n tableJson.deprecatedMessage = renderNodes(collectedData.apiModel, apiItem, tsdocComment.deprecatedBlock.content);\n }\n\n return tableJson;\n}\n\nfunction createInterfacePageJson(collectedData: ICollectedData, interfaceItem: ApiInterface): ITableJson {\n const tableJson = createBasicTableJson(collectedData, interfaceItem, 'interface', interfaceItem.extendsTypes);\n\n tableJson.members = interfaceItem.members\n .map((member: ApiItem) => createTableRowJson(collectedData, member))\n .filter((row: ITableRowJson | undefined): row is ITableRowJson => !!row);\n\n return tableJson;\n}\n\nfunction createEnumPageJson(collectedData: ICollectedData, enumItem: ApiEnum): ITableJson {\n const tableJson = createBasicTableJson(collectedData, enumItem, 'enum');\n\n tableJson.members = enumItem.members.map((member: ApiEnumMember) => createEnumTableRowJson(collectedData, member));\n\n return tableJson;\n}\n\nfunction createClassPageJson(collectedData: ICollectedData, classItem: ApiClass): ITableJson {\n const tableJson = createBasicTableJson(collectedData, classItem, 'class', classItem.extendsType);\n\n tableJson.members = classItem.members\n .map((member: ApiItem) => createTableRowJson(collectedData, member))\n .filter((row: ITableRowJson | undefined): row is ITableRowJson => !!row)\n // Constructor goes first\n .sort((a: ITableRowJson, b: ITableRowJson) => (a.name === 'constructor' ? -1 : 0));\n\n return tableJson;\n}\n\nfunction createTypeAliasPageJson(collectedData: ICollectedData, typeAliasItem: ApiTypeAlias): ITableJson {\n const tableJson = createBasicTableJson(collectedData, typeAliasItem, 'typeAlias');\n\n tableJson.extendsTokens = getTokenHyperlinks(\n collectedData,\n typeAliasItem.excerptTokens,\n typeAliasItem.excerpt.tokenRange,\n true,\n );\n\n return tableJson;\n}\n"]}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createEnumTableRowJson = exports.createTableRowJson = void 0;
exports.createTableRowJson = createTableRowJson;
exports.createEnumTableRowJson = createEnumTableRowJson;
var api_extractor_model_1 = require("@microsoft/api-extractor-model");

@@ -41,3 +42,2 @@ var rendering_1 = require("./rendering");

}
exports.createTableRowJson = createTableRowJson;
function createEnumTableRowJson(collectedData, apiItem) {

@@ -54,3 +54,2 @@ var apiEnumMember = apiItem;

}
exports.createEnumTableRowJson = createEnumTableRowJson;
/**

@@ -57,0 +56,0 @@ * Generate an ITableRowJson for a class/interface/enum member with the name, description,

@@ -1,1 +0,1 @@

{"version":3,"file":"tableRowJson.js","sourceRoot":"../src/","sources":["tableRowJson.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ApiDeclaredItem,\n ExcerptToken,\n IExcerptTokenRange,\n ApiPropertySignature,\n ApiMethodSignature,\n ApiEnumMember,\n ApiItem,\n ApiProperty,\n ApiConstructor,\n ApiMethod,\n ApiItemKind,\n} from '@microsoft/api-extractor-model';\nimport { ICollectedData } from './types-private';\nimport { ITableRowJson, IEnumTableRowJson } from './types';\nimport {\n renderDocNodeWithoutInlineTag,\n getBlockTagByName,\n renderNodes,\n getTokenHyperlinks,\n renderTokens,\n} from './rendering';\n\nexport function createTableRowJson(collectedData: ICollectedData, apiItem: ApiItem): ITableRowJson | undefined {\n let tableRowJson: ITableRowJson | undefined;\n const apiKind = apiItem.kind as unknown as ApiItemKind;\n\n switch (apiKind) {\n case ApiItemKind.Property:\n case ApiItemKind.PropertySignature: {\n const apiProperty = apiItem as ApiPropertySignature | ApiProperty;\n tableRowJson = createBasicTableRowJson(\n collectedData,\n apiProperty,\n 'property',\n apiProperty.excerptTokens,\n apiProperty.propertyTypeExcerpt.tokenRange,\n );\n break;\n }\n\n case ApiItemKind.Constructor:\n case ApiItemKind.Method:\n case ApiItemKind.MethodSignature: {\n const apiMethod = apiItem as ApiMethod | ApiMethodSignature | ApiConstructor;\n tableRowJson = createBasicTableRowJson(\n collectedData,\n apiMethod,\n 'method',\n apiMethod.excerptTokens,\n apiMethod.excerpt.tokenRange,\n );\n\n if ((apiMethod.kind as unknown as ApiItemKind) === ApiItemKind.Constructor) {\n // The constructor is similar to a method, but we have to manually add the name.\n tableRowJson.name = 'constructor';\n }\n break;\n }\n\n case ApiItemKind.Function:\n break;\n case ApiItemKind.Class:\n break;\n }\n\n // For property or method signatures, check if it's required based on the text of the declaration\n // (item.excerpt.text). It's required if there's no ? after the name.\n if (\n tableRowJson &&\n (apiKind === ApiItemKind.PropertySignature || apiKind === ApiItemKind.MethodSignature) &&\n /^\\w+[:(]/.test((apiItem as ApiDeclaredItem).excerpt.text)\n ) {\n tableRowJson.required = true;\n }\n\n return tableRowJson;\n}\n\nexport function createEnumTableRowJson(\n collectedData: ICollectedData,\n apiItem: ApiDeclaredItem & { name?: string },\n): IEnumTableRowJson {\n const apiEnumMember = apiItem as ApiEnumMember;\n\n const { name, description, deprecated, deprecatedMessage } = createBasicTableRowJson(collectedData, apiEnumMember);\n\n return {\n name,\n description,\n deprecated,\n deprecatedMessage,\n value: renderTokens(apiEnumMember.excerptTokens, apiEnumMember.excerpt.tokenRange),\n };\n}\n\n/**\n * Generate an ITableRowJson for a class/interface/enum member with the name, description,\n * deprecated message, default value, and (optionally) type tokens pre-filled.\n * @param typeTokens - Optional list of tokens which includes the item type info.\n * @param typeTokenRange - Specific location of the item type within `typeTokens`.\n */\nfunction createBasicTableRowJson(\n collectedData: ICollectedData,\n apiItem: ApiDeclaredItem & { name?: string },\n kind?: ITableRowJson['kind'],\n typeTokens?: readonly ExcerptToken[],\n typeTokenRange?: Readonly<IExcerptTokenRange>,\n): ITableRowJson {\n const { tsdocComment } = apiItem;\n\n const tableRowJson: ITableRowJson = {\n name: apiItem.name || '',\n typeTokens: [],\n kind,\n description: (tsdocComment && renderDocNodeWithoutInlineTag(tsdocComment.summarySection)) || undefined,\n };\n\n if (tsdocComment) {\n const defaultValue =\n getBlockTagByName('@defaultValue', tsdocComment) ||\n getBlockTagByName('@defaultvalue', tsdocComment) ||\n getBlockTagByName('@default', tsdocComment);\n if (defaultValue) {\n tableRowJson.defaultValue = renderNodes(collectedData.apiModel, apiItem, defaultValue);\n }\n\n if (tsdocComment.deprecatedBlock) {\n tableRowJson.deprecated = true;\n tableRowJson.deprecatedMessage = renderNodes(\n collectedData.apiModel,\n apiItem,\n tsdocComment.deprecatedBlock.content,\n );\n }\n }\n\n if (typeTokens && typeTokenRange) {\n tableRowJson.typeTokens = getTokenHyperlinks(collectedData, typeTokens, typeTokenRange);\n }\n\n return tableRowJson;\n}\n"]}
{"version":3,"file":"tableRowJson.js","sourceRoot":"../src/","sources":["tableRowJson.ts"],"names":[],"mappings":";;AAuBA,gDAsDC;AAED,wDAeC;AA9FD,sEAYwC;AAGxC,yCAMqB;AAErB,SAAgB,kBAAkB,CAAC,aAA6B,EAAE,OAAgB;IAChF,IAAI,YAAuC,CAAC;IAC5C,IAAM,OAAO,GAAG,OAAO,CAAC,IAA8B,CAAC;IAEvD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,iCAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,iCAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACnC,IAAM,WAAW,GAAG,OAA6C,CAAC;YAClE,YAAY,GAAG,uBAAuB,CACpC,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,CAAC,aAAa,EACzB,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAC3C,CAAC;YACF,MAAM;QACR,CAAC;QAED,KAAK,iCAAW,CAAC,WAAW,CAAC;QAC7B,KAAK,iCAAW,CAAC,MAAM,CAAC;QACxB,KAAK,iCAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YACjC,IAAM,SAAS,GAAG,OAA0D,CAAC;YAC7E,YAAY,GAAG,uBAAuB,CACpC,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,OAAO,CAAC,UAAU,CAC7B,CAAC;YAEF,IAAK,SAAS,CAAC,IAA+B,KAAK,iCAAW,CAAC,WAAW,EAAE,CAAC;gBAC3E,gFAAgF;gBAChF,YAAY,CAAC,IAAI,GAAG,aAAa,CAAC;YACpC,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,iCAAW,CAAC,QAAQ;YACvB,MAAM;QACR,KAAK,iCAAW,CAAC,KAAK;YACpB,MAAM;IACV,CAAC;IAED,iGAAiG;IACjG,qEAAqE;IACrE,IACE,YAAY;QACZ,CAAC,OAAO,KAAK,iCAAW,CAAC,iBAAiB,IAAI,OAAO,KAAK,iCAAW,CAAC,eAAe,CAAC;QACtF,UAAU,CAAC,IAAI,CAAE,OAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,EAC1D,CAAC;QACD,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,sBAAsB,CACpC,aAA6B,EAC7B,OAA4C;IAE5C,IAAM,aAAa,GAAG,OAAwB,CAAC;IAEzC,IAAA,KAAuD,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,EAA1G,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,UAAU,gBAAA,EAAE,iBAAiB,uBAA0D,CAAC;IAEnH,OAAO;QACL,IAAI,MAAA;QACJ,WAAW,aAAA;QACX,UAAU,YAAA;QACV,iBAAiB,mBAAA;QACjB,KAAK,EAAE,IAAA,wBAAY,EAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;KACnF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,aAA6B,EAC7B,OAA4C,EAC5C,IAA4B,EAC5B,UAAoC,EACpC,cAA6C;IAErC,IAAA,YAAY,GAAK,OAAO,aAAZ,CAAa;IAEjC,IAAM,YAAY,GAAkB;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;QACxB,UAAU,EAAE,EAAE;QACd,IAAI,MAAA;QACJ,WAAW,EAAE,CAAC,YAAY,IAAI,IAAA,yCAA6B,EAAC,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,SAAS;KACvG,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,IAAM,YAAY,GAChB,IAAA,6BAAiB,EAAC,eAAe,EAAE,YAAY,CAAC;YAChD,IAAA,6BAAiB,EAAC,eAAe,EAAE,YAAY,CAAC;YAChD,IAAA,6BAAiB,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,YAAY,GAAG,IAAA,uBAAW,EAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;YACjC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;YAC/B,YAAY,CAAC,iBAAiB,GAAG,IAAA,uBAAW,EAC1C,aAAa,CAAC,QAAQ,EACtB,OAAO,EACP,YAAY,CAAC,eAAe,CAAC,OAAO,CACrC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACjC,YAAY,CAAC,UAAU,GAAG,IAAA,8BAAkB,EAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import {\n ApiDeclaredItem,\n ExcerptToken,\n IExcerptTokenRange,\n ApiPropertySignature,\n ApiMethodSignature,\n ApiEnumMember,\n ApiItem,\n ApiProperty,\n ApiConstructor,\n ApiMethod,\n ApiItemKind,\n} from '@microsoft/api-extractor-model';\nimport { ICollectedData } from './types-private';\nimport { ITableRowJson, IEnumTableRowJson } from './types';\nimport {\n renderDocNodeWithoutInlineTag,\n getBlockTagByName,\n renderNodes,\n getTokenHyperlinks,\n renderTokens,\n} from './rendering';\n\nexport function createTableRowJson(collectedData: ICollectedData, apiItem: ApiItem): ITableRowJson | undefined {\n let tableRowJson: ITableRowJson | undefined;\n const apiKind = apiItem.kind as unknown as ApiItemKind;\n\n switch (apiKind) {\n case ApiItemKind.Property:\n case ApiItemKind.PropertySignature: {\n const apiProperty = apiItem as ApiPropertySignature | ApiProperty;\n tableRowJson = createBasicTableRowJson(\n collectedData,\n apiProperty,\n 'property',\n apiProperty.excerptTokens,\n apiProperty.propertyTypeExcerpt.tokenRange,\n );\n break;\n }\n\n case ApiItemKind.Constructor:\n case ApiItemKind.Method:\n case ApiItemKind.MethodSignature: {\n const apiMethod = apiItem as ApiMethod | ApiMethodSignature | ApiConstructor;\n tableRowJson = createBasicTableRowJson(\n collectedData,\n apiMethod,\n 'method',\n apiMethod.excerptTokens,\n apiMethod.excerpt.tokenRange,\n );\n\n if ((apiMethod.kind as unknown as ApiItemKind) === ApiItemKind.Constructor) {\n // The constructor is similar to a method, but we have to manually add the name.\n tableRowJson.name = 'constructor';\n }\n break;\n }\n\n case ApiItemKind.Function:\n break;\n case ApiItemKind.Class:\n break;\n }\n\n // For property or method signatures, check if it's required based on the text of the declaration\n // (item.excerpt.text). It's required if there's no ? after the name.\n if (\n tableRowJson &&\n (apiKind === ApiItemKind.PropertySignature || apiKind === ApiItemKind.MethodSignature) &&\n /^\\w+[:(]/.test((apiItem as ApiDeclaredItem).excerpt.text)\n ) {\n tableRowJson.required = true;\n }\n\n return tableRowJson;\n}\n\nexport function createEnumTableRowJson(\n collectedData: ICollectedData,\n apiItem: ApiDeclaredItem & { name?: string },\n): IEnumTableRowJson {\n const apiEnumMember = apiItem as ApiEnumMember;\n\n const { name, description, deprecated, deprecatedMessage } = createBasicTableRowJson(collectedData, apiEnumMember);\n\n return {\n name,\n description,\n deprecated,\n deprecatedMessage,\n value: renderTokens(apiEnumMember.excerptTokens, apiEnumMember.excerpt.tokenRange),\n };\n}\n\n/**\n * Generate an ITableRowJson for a class/interface/enum member with the name, description,\n * deprecated message, default value, and (optionally) type tokens pre-filled.\n * @param typeTokens - Optional list of tokens which includes the item type info.\n * @param typeTokenRange - Specific location of the item type within `typeTokens`.\n */\nfunction createBasicTableRowJson(\n collectedData: ICollectedData,\n apiItem: ApiDeclaredItem & { name?: string },\n kind?: ITableRowJson['kind'],\n typeTokens?: readonly ExcerptToken[],\n typeTokenRange?: Readonly<IExcerptTokenRange>,\n): ITableRowJson {\n const { tsdocComment } = apiItem;\n\n const tableRowJson: ITableRowJson = {\n name: apiItem.name || '',\n typeTokens: [],\n kind,\n description: (tsdocComment && renderDocNodeWithoutInlineTag(tsdocComment.summarySection)) || undefined,\n };\n\n if (tsdocComment) {\n const defaultValue =\n getBlockTagByName('@defaultValue', tsdocComment) ||\n getBlockTagByName('@defaultvalue', tsdocComment) ||\n getBlockTagByName('@default', tsdocComment);\n if (defaultValue) {\n tableRowJson.defaultValue = renderNodes(collectedData.apiModel, apiItem, defaultValue);\n }\n\n if (tsdocComment.deprecatedBlock) {\n tableRowJson.deprecated = true;\n tableRowJson.deprecatedMessage = renderNodes(\n collectedData.apiModel,\n apiItem,\n tsdocComment.deprecatedBlock.content,\n );\n }\n }\n\n if (typeTokens && typeTokenRange) {\n tableRowJson.typeTokens = getTokenHyperlinks(collectedData, typeTokens, typeTokenRange);\n }\n\n return tableRowJson;\n}\n"]}
{
"name": "@fluentui/api-docs",
"version": "8.2.26",
"version": "8.2.27",
"description": "Transforms API Extractor .api.json files into .page.json files",

@@ -5,0 +5,0 @@ "repository": {

Sorry, the diff of this file is too big to display