Release 202505311113
This commit is contained in:
@@ -114,7 +114,13 @@ export class ErrorBanners {
|
||||
return result
|
||||
} catch (error) {
|
||||
this.handler(uiMessage)(error)
|
||||
return fallback as F
|
||||
return fallback as F extends never[]
|
||||
? T extends [infer _First, ...infer _Rest]
|
||||
? []
|
||||
: T extends unknown[]
|
||||
? T[number][]
|
||||
: F
|
||||
: F
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
27
web/src/lib/makeAdminApiCallInfo.ts
Normal file
27
web/src/lib/makeAdminApiCallInfo.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import type { Misc } from 'ts-toolbelt'
|
||||
|
||||
export async function makeAdminApiCallInfo<T extends Misc.JSON.Object>({
|
||||
method,
|
||||
path,
|
||||
input,
|
||||
baseUrl,
|
||||
}: {
|
||||
method: 'POST' | 'QUERY'
|
||||
path: `/${string}`
|
||||
input: T
|
||||
baseUrl: URL | string
|
||||
}) {
|
||||
const fullPath = new URL(`/api/v1${path}`, baseUrl).href
|
||||
|
||||
return {
|
||||
method,
|
||||
path,
|
||||
fullPath,
|
||||
input,
|
||||
output: await fetch(fullPath, {
|
||||
method,
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(input),
|
||||
}).then((res) => res.json() as Promise<Misc.JSON.Value>),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user