Skip to content

Commit e673b3c

Browse files
authored
fix: add inherited properties to search index (discordjs#10257)
1 parent 776880d commit e673b3c

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

packages/scripts/src/generateIndex.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
import { generatePath } from '@discordjs/api-extractor-utils';
1313
import { DocNodeKind } from '@microsoft/tsdoc';
1414
import type { DocLinkTag, DocCodeSpan, DocNode, DocParagraph, DocPlainText } from '@microsoft/tsdoc';
15+
import { resolveMembers } from './generateSplitDocumentation.js';
1516
import { PACKAGES, fetchVersionDocs, fetchVersions } from './shared.js';
1617

1718
export interface MemberJSON {
@@ -117,25 +118,21 @@ export enum SearchOrderType {
117118
export function visitNodes(item: ApiItem, tag: string) {
118119
const members: (MemberJSON & { id: number })[] = [];
119120

120-
for (const member of item.members) {
121-
if (!(member instanceof ApiDeclaredItem)) {
122-
continue;
123-
}
124-
121+
for (const { item: member, inherited } of ApiItemContainerMixin.isBaseClassOf(item)
122+
? resolveMembers(item, (child): child is ApiDeclaredItem => child instanceof ApiDeclaredItem)
123+
: []) {
125124
if (member.kind === ApiItemKind.Constructor || member.kind === ApiItemKind.Namespace) {
126125
continue;
127126
}
128127

129-
if (ApiItemContainerMixin.isBaseClassOf(member)) {
130-
members.push(...visitNodes(member, tag));
131-
}
128+
members.push(...visitNodes(member, tag));
132129

133130
members.push({
134131
id: idx++,
135132
name: member.displayName,
136133
kind: member.kind,
137134
summary: tryResolveSummaryText(member) ?? '',
138-
path: generatePath(member.getHierarchy(), tag),
135+
path: generatePath(inherited ? [...item.getHierarchy(), member] : member.getHierarchy(), tag),
139136
type: SearchOrderType[member.kind as keyof typeof SearchOrderType],
140137
});
141138
}

0 commit comments

Comments
 (0)