djledda.de main
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

api.ts 470 B

2ヶ月前
2ヶ月前
2ヶ月前
1234567891011121314
  1. export type DJAPIEndpoint = "/rp-articles";
  2. export interface DJAPIResultMap extends Record<DJAPIEndpoint, unknown> {
  3. "/rp-articles": { slug: string; title: string, tags?: string[] }[];
  4. }
  5. export type DJAPIResult = DJAPIResultMap[DJAPIEndpoint];
  6. export default async function getDJAPI<T extends DJAPIEndpoint>(
  7. hostUrl: string,
  8. endpoint: T,
  9. ): Promise<DJAPIResultMap[typeof endpoint]> {
  10. return await (await fetch(`${hostUrl}/api${endpoint}`)).json();
  11. }