15 lines
452 B
TypeScript
15 lines
452 B
TypeScript
export type DJAPIEndpoint = "/rp-articles";
|
|
|
|
export interface DJAPIResultMap extends Record<DJAPIEndpoint, unknown> {
|
|
"/rp-articles": { slug: string; name: string }[];
|
|
}
|
|
|
|
export type DJAPIResult = DJAPIResultMap[DJAPIEndpoint];
|
|
|
|
export default async function getDJAPI<T extends DJAPIEndpoint>(
|
|
hostUrl: string,
|
|
endpoint: T,
|
|
): Promise<DJAPIResultMap[typeof endpoint]> {
|
|
return await (await fetch(`${hostUrl}/api${endpoint}`)).json();
|
|
}
|