diff --git a/apps/website/src/components/UnionMember.tsx b/apps/website/src/components/UnionMember.tsx
index ce30e01ff6cc..161af976c21c 100644
--- a/apps/website/src/components/UnionMember.tsx
+++ b/apps/website/src/components/UnionMember.tsx
@@ -3,7 +3,7 @@ import { ExcerptNode } from './ExcerptNode';
export async function UnionMember({ node, version }: { readonly node: any; readonly version: string }) {
return (
-
Union Members
+ {node.length > 1 ? Union Members
: null}
diff --git a/packages/scripts/src/generateSplitDocumentation.ts b/packages/scripts/src/generateSplitDocumentation.ts
index 7f76fd92e491..703d24116edd 100644
--- a/packages/scripts/src/generateSplitDocumentation.ts
+++ b/packages/scripts/src/generateSplitDocumentation.ts
@@ -903,13 +903,13 @@ function itemInterface(item: ApiInterface) {
};
}
-function itemUnion(item: ApiTypeAlias) {
+function itemUnion(item: Excerpt) {
const union: ExcerptToken[][] = [];
let currentUnionMember: ExcerptToken[] = [];
let depth = 0;
- for (const token of item.typeExcerpt.spannedTokens) {
+ for (const token of item.spannedTokens) {
if (token.text.includes('?')) {
- return [item.typeExcerpt.spannedTokens];
+ return [item.spannedTokens];
}
depth += token.text.split('<').length - token.text.split('>').length;
@@ -948,7 +948,7 @@ function itemTypeAlias(item: ApiTypeAlias) {
return {
...itemInfo(item),
typeParameters: itemTypeParameters(item),
- unionMembers: itemUnion(item).map((member) =>
+ unionMembers: itemUnion(item.typeExcerpt).map((member) =>
itemExcerptText(
new Excerpt(member, { startIndex: 0, endIndex: member.length }),
item.getAssociatedPackage()!,
@@ -961,6 +961,13 @@ function itemTypeAlias(item: ApiTypeAlias) {
function itemVariable(item: ApiVariable) {
return {
...itemInfo(item),
+ unionMembers: itemUnion(item.variableTypeExcerpt).map((member) =>
+ itemExcerptText(
+ new Excerpt(member, { startIndex: 0, endIndex: member.length }),
+ item.getAssociatedPackage()!,
+ item.getHierarchy().find(ApiTypeParameterListMixin.isBaseClassOf),
+ ),
+ ),
};
}