Cosmos-Server/client/src/api/wrap.js

24 lines
479 B
JavaScript
Raw Normal View History

2023-03-13 21:06:19 +00:00
let snackit;
export default function wrap(apicall) {
return apicall.then(async (response) => {
2023-03-25 20:15:00 +00:00
let rep;
try {
rep = await response.json();
} catch {
snackit('Server error');
throw new Error('Server error');
}
2023-03-13 21:06:19 +00:00
if (response.status == 200) {
return rep;
}
snackit(rep.message);
2023-03-29 20:38:50 +00:00
const e = new Error(rep.message);
e.status = response.status;
throw e;
2023-03-13 21:06:19 +00:00
});
}
export function setSnackit(snack) {
snackit = snack;
}