fix(website): add type to variables (#10779)

* fix(website): add type to variables

* chore: apply suggestion

* chore: lint
This commit is contained in:
Qjuh
2025-04-10 22:44:35 +02:00
committed by GitHub
parent 53ba3b6016
commit 74110b3e7d
2 changed files with 12 additions and 5 deletions

View File

@@ -3,7 +3,7 @@ import { ExcerptNode } from './ExcerptNode';
export async function UnionMember({ node, version }: { readonly node: any; readonly version: string }) { export async function UnionMember({ node, version }: { readonly node: any; readonly version: string }) {
return ( return (
<div className="flex flex-col gap-4"> <div className="flex flex-col gap-4">
<h2 className="flex place-items-center gap-2 p-2 text-xl font-bold">Union Members</h2> {node.length > 1 ? <h2 className="flex place-items-center gap-2 p-2 text-xl font-bold">Union Members</h2> : null}
<span className="flex flex-col gap-4 px-2 font-mono text-sm break-words"> <span className="flex flex-col gap-4 px-2 font-mono text-sm break-words">
<ExcerptNode node={node} version={version} /> <ExcerptNode node={node} version={version} />

View File

@@ -903,13 +903,13 @@ function itemInterface(item: ApiInterface) {
}; };
} }
function itemUnion(item: ApiTypeAlias) { function itemUnion(item: Excerpt) {
const union: ExcerptToken[][] = []; const union: ExcerptToken[][] = [];
let currentUnionMember: ExcerptToken[] = []; let currentUnionMember: ExcerptToken[] = [];
let depth = 0; let depth = 0;
for (const token of item.typeExcerpt.spannedTokens) { for (const token of item.spannedTokens) {
if (token.text.includes('?')) { if (token.text.includes('?')) {
return [item.typeExcerpt.spannedTokens]; return [item.spannedTokens];
} }
depth += token.text.split('<').length - token.text.split('>').length; depth += token.text.split('<').length - token.text.split('>').length;
@@ -948,7 +948,7 @@ function itemTypeAlias(item: ApiTypeAlias) {
return { return {
...itemInfo(item), ...itemInfo(item),
typeParameters: itemTypeParameters(item), typeParameters: itemTypeParameters(item),
unionMembers: itemUnion(item).map((member) => unionMembers: itemUnion(item.typeExcerpt).map((member) =>
itemExcerptText( itemExcerptText(
new Excerpt(member, { startIndex: 0, endIndex: member.length }), new Excerpt(member, { startIndex: 0, endIndex: member.length }),
item.getAssociatedPackage()!, item.getAssociatedPackage()!,
@@ -961,6 +961,13 @@ function itemTypeAlias(item: ApiTypeAlias) {
function itemVariable(item: ApiVariable) { function itemVariable(item: ApiVariable) {
return { return {
...itemInfo(item), ...itemInfo(item),
unionMembers: itemUnion(item.variableTypeExcerpt).map((member) =>
itemExcerptText(
new Excerpt(member, { startIndex: 0, endIndex: member.length }),
item.getAssociatedPackage()!,
item.getHierarchy().find(ApiTypeParameterListMixin.isBaseClassOf),
),
),
}; };
} }