From 5da5be2bc97076c5082d75924aa5632af41c5cde Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Fri, 17 Nov 2023 23:38:49 +0100 Subject: [PATCH] fix(route): Conditionally prefix package names (#9975) fix(route): conditionally prefix package names --- apps/website/src/app/api/dynamic-open-graph.png/route.tsx | 5 +++-- apps/website/src/util/model.ts | 5 +++-- apps/website/src/util/resolvePackageName.ts | 3 +++ 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 apps/website/src/util/resolvePackageName.ts diff --git a/apps/website/src/app/api/dynamic-open-graph.png/route.tsx b/apps/website/src/app/api/dynamic-open-graph.png/route.tsx index 2f3d6c539..5b9208f44 100644 --- a/apps/website/src/app/api/dynamic-open-graph.png/route.tsx +++ b/apps/website/src/app/api/dynamic-open-graph.png/route.tsx @@ -3,6 +3,7 @@ import type { ApiItemKind } from '@discordjs/api-extractor-model'; import { ImageResponse } from '@vercel/og'; import type { NextRequest } from 'next/server'; +import { resolvePackageName } from '~/util/resolvePackageName'; export const runtime = 'edge'; @@ -87,7 +88,7 @@ export async function GET(request: NextRequest) { const hasMethods = searchParams.has('methods'); const hasProps = searchParams.has('props'); const hasMembers = searchParams.has('members'); - const pkg = hasPkg ? searchParams.get('pkg') : ''; + const pkg = hasPkg ? resolvePackageName(searchParams.get('pkg')!) : ''; const kind = hasKind ? searchParams.get('kind')! : 'Method'; const name = hasName ? searchParams.get('name')!.slice(0, 100) : 'My default name which is super long to overflow'; const methods = hasMethods ? searchParams.get('methods') : ''; @@ -103,7 +104,7 @@ export async function GET(request: NextRequest) { tw="flex flex-row bg-[#181818] h-full w-full p-24" >
-
@discordjs/{pkg}
+
{pkg}
{resolveIcon(kind as keyof typeof ApiItemKind)} diff --git a/apps/website/src/util/model.ts b/apps/website/src/util/model.ts index 597b875cf..4ed914192 100644 --- a/apps/website/src/util/model.ts +++ b/apps/website/src/util/model.ts @@ -6,9 +6,10 @@ import type { Excerpt, } from '@discordjs/api-extractor-model'; import type { DocSection } from '@microsoft/tsdoc'; +import { resolvePackageName } from './resolvePackageName'; export const findMemberByKey = (model: ApiModel, packageName: string, containerKey: string) => { - const pkg = model.tryGetPackageByName(packageName === 'discord.js' ? packageName : `@discordjs/${packageName}`)!; + const pkg = model.tryGetPackageByName(resolvePackageName(packageName))!; return (pkg.members[0] as ApiEntryPoint).tryGetMemberByKey(containerKey); }; @@ -17,7 +18,7 @@ export const findMember = (model: ApiModel, packageName: string, memberName: str return undefined; } - const pkg = model.tryGetPackageByName(packageName === 'discord.js' ? packageName : `@discordjs/${packageName}`)!; + const pkg = model.tryGetPackageByName(resolvePackageName(packageName))!; return pkg.entryPoints[0]?.findMembersByName(memberName)[0]; }; diff --git a/apps/website/src/util/resolvePackageName.ts b/apps/website/src/util/resolvePackageName.ts new file mode 100644 index 000000000..0ff06e711 --- /dev/null +++ b/apps/website/src/util/resolvePackageName.ts @@ -0,0 +1,3 @@ +export function resolvePackageName(packageName: string) { + return packageName === 'discord.js' ? packageName : `@discordjs/${packageName}`; +}