(no title)
dimaaan | 3 years ago
async fetchApi<TResult = void>(request: Request): Promise<TResult> {
type SuccessfulApiResponse = { Succeeded: true; Result: TResult }
type FailedApiResponse = { Succeeded: false; Error: string | null | undefined }
type ApiResponse = SuccessfulApiResponse | FailedApiResponse;
const response = await fetch(request);
ensureStatusOK(response);
const result = await response.json() as ApiResponse
if (!result.Succeeded) throw new Error(result.Error || 'Unknown API error');
return result.Result
}
No comments yet.