fix: add inherited properties to search index (#10257)

This commit is contained in:
Qjuh
2024-05-06 19:30:06 +02:00
committed by GitHub
parent 776880d06b
commit e673b3c129

View File

@@ -12,6 +12,7 @@ import {
import { generatePath } from '@discordjs/api-extractor-utils';
import { DocNodeKind } from '@microsoft/tsdoc';
import type { DocLinkTag, DocCodeSpan, DocNode, DocParagraph, DocPlainText } from '@microsoft/tsdoc';
import { resolveMembers } from './generateSplitDocumentation.js';
import { PACKAGES, fetchVersionDocs, fetchVersions } from './shared.js';
export interface MemberJSON {
@@ -117,25 +118,21 @@ export enum SearchOrderType {
export function visitNodes(item: ApiItem, tag: string) {
const members: (MemberJSON & { id: number })[] = [];
for (const member of item.members) {
if (!(member instanceof ApiDeclaredItem)) {
continue;
}
for (const { item: member, inherited } of ApiItemContainerMixin.isBaseClassOf(item)
? resolveMembers(item, (child): child is ApiDeclaredItem => child instanceof ApiDeclaredItem)
: []) {
if (member.kind === ApiItemKind.Constructor || member.kind === ApiItemKind.Namespace) {
continue;
}
if (ApiItemContainerMixin.isBaseClassOf(member)) {
members.push(...visitNodes(member, tag));
}
members.push(...visitNodes(member, tag));
members.push({
id: idx++,
name: member.displayName,
kind: member.kind,
summary: tryResolveSummaryText(member) ?? '',
path: generatePath(member.getHierarchy(), tag),
path: generatePath(inherited ? [...item.getHierarchy(), member] : member.getHierarchy(), tag),
type: SearchOrderType[member.kind as keyof typeof SearchOrderType],
});
}