INNER CODE UNIT · TypeScript
request
entropy-cloud/nop-entropy · tools/mission-driver/web/src/api/index.ts:57
async function request<T>(url: string): Promise<T> {
const res = await fetch(url)
if (!res.ok) {
const text = `${res.status} ${res.statusText || ''}`.trim()
throw new Error(text || `HTTP ${res.status}`)
}
return (await res.json()) as T
}
/** Build a query string from a record, omitting undefined/null/empty values. */
function qs(params: Record<string, string | number | undefined | null>): string {
const sp = new URLSearchParams()
for (const [k, v] of Object.entries(params)) {
if (v === undefined || v === null || v === '') continue
sp.set(k, String(v))
}
const s = sp.toString()
return s ? `?${s}` : ''