fix: don't redirect to the first item

This commit is contained in:
iCrawl
2022-08-22 21:02:15 +02:00
parent d297fb0b69
commit c076b0d8cb
3 changed files with 10 additions and 6 deletions

View File

@@ -69,7 +69,7 @@ export const getStaticPaths: GetStaticPaths = async () => {
...versions.map((version) => ({ params: { slug: ['packages', packageName, version] } })), ...versions.map((version) => ({ params: { slug: ['packages', packageName, version] } })),
...pkgs ...pkgs
.map((pkg, idx) => .map((pkg, idx) =>
getMembers(pkg) getMembers(pkg, versions[idx]!)
// Filtering out enum `RESTEvents` because of interface with similar name `RestEvents` // Filtering out enum `RESTEvents` because of interface with similar name `RestEvents`
// causing next.js export to error // causing next.js export to error
.filter((member) => member.name !== 'RESTEvents') .filter((member) => member.name !== 'RESTEvents')
@@ -94,7 +94,7 @@ export const getStaticPaths: GetStaticPaths = async () => {
return [ return [
{ params: { slug: ['packages', packageName, 'main'] } }, { params: { slug: ['packages', packageName, 'main'] } },
...getMembers(pkg!) ...getMembers(pkg!, 'main')
// Filtering out enum `RESTEvents` because of interface with similar name `RestEvents` // Filtering out enum `RESTEvents` because of interface with similar name `RestEvents`
// causing next.js export to error // causing next.js export to error
.filter((member) => member.name !== 'RESTEvents') .filter((member) => member.name !== 'RESTEvents')
@@ -124,9 +124,9 @@ export const getStaticPaths: GetStaticPaths = async () => {
}; };
export const getStaticProps: GetStaticProps = async ({ params }) => { export const getStaticProps: GetStaticProps = async ({ params }) => {
const [, packageName = 'builders', branchName = 'main', member = 'ActionRowBuilder'] = params!.slug as string[]; const [, packageName = 'builders', branchName = 'main', member] = params!.slug as string[];
const [memberName, overloadIndex] = member.split(':') as [string, string | undefined]; const [memberName, overloadIndex] = member?.split(':') ?? [];
try { try {
const readme = await readFile(join(__dirname, '..', '..', '..', '..', '..', packageName, 'README.md'), 'utf-8'); const readme = await readFile(join(__dirname, '..', '..', '..', '..', '..', packageName, 'README.md'), 'utf-8');

View File

@@ -16,9 +16,13 @@ export function findMemberByKey(model: ApiModel, packageName: string, containerK
export function findMember( export function findMember(
model: ApiModel, model: ApiModel,
packageName: string, packageName: string,
memberName: string, memberName: string | undefined,
version: string, version: string,
): ReturnType<typeof ApiNodeJSONEncoder['encode']> | undefined { ): ReturnType<typeof ApiNodeJSONEncoder['encode']> | undefined {
if (!memberName) {
return undefined;
}
const pkg = findPackage(model, packageName)!; const pkg = findPackage(model, packageName)!;
const member = (pkg.members[0] as ApiEntryPoint).findMembersByName(memberName)[0]; const member = (pkg.members[0] as ApiEntryPoint).findMembersByName(memberName)[0];

View File

@@ -212,7 +212,7 @@ export function genParameter(model: ApiModel, param: Parameter, version: string)
}; };
} }
export function getMembers(pkg: ApiPackage, version = 'main') { export function getMembers(pkg: ApiPackage, version: string) {
return pkg.members[0]!.members.map((member) => ({ return pkg.members[0]!.members.map((member) => ({
name: member.displayName, name: member.displayName,
kind: member.kind as string, kind: member.kind as string,