Agent extension api (#5281)
Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
export async function safeJsonParse<T>(
|
||||
response: Response,
|
||||
errorMessage: string = 'Failed to parse server response'
|
||||
): Promise<T> {
|
||||
try {
|
||||
return (await response.json()) as T;
|
||||
} catch (error) {
|
||||
if (error instanceof SyntaxError) {
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
export function errorMessage(err: Error | unknown, default_value?: string) {
|
||||
if (err instanceof Error) {
|
||||
return err.message;
|
||||
} else if (typeof err === 'object' && err !== null && 'message' in err) {
|
||||
return String(err.message);
|
||||
} else {
|
||||
return default_value || String(err);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user