1
0
Fork 0
traefik/webui/src/libs/fetchMany.ts

16 lines
484 B
TypeScript

import { Key } from 'swr'
import { BASE_PATH } from './utils'
export default async function <JSON>(key: Key): Promise<JSON[] | undefined> {
const [baseUrl, params, init] = key as Array<string | string[] | RequestInit>
if (!params || !Array.isArray(params)) return
const requests = params.map((param) => {
const apiUrl = `${BASE_PATH}${baseUrl}${param}`
return fetch(apiUrl, init as RequestInit).then((res) => res.json())
})
return await Promise.all(requests)
}