@anvilco/anvil
Version:
Anvil API Client
47 lines (24 loc) • 924 B
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.looksLikeJsonError = looksLikeJsonError;exports.normalizeJsonErrors = normalizeJsonErrors;exports.normalizeNodeError = normalizeNodeError;
function looksLikeJsonError({ json }) {
return !!(json && (json.errors || json.message || json.name));
}
function normalizeJsonErrors({ json, statusText = 'Unknown Error' }) {
if (json) {
if (json.errors) {
return json.errors;
}
if (json.message || json.name) {
return [json];
}
}
return [{ name: statusText, message: statusText }];
}
function normalizeNodeError({ error, statusText = 'Unknown Error' }) {
if (error) {
return [pickError(error)];
}
return [{ name: statusText, message: statusText }];
}
function pickError(error) {
return (({ name, message, code, cause, stack }) => ({ name, message, code, cause, stack }))(error);
}