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

29 lines
525 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;
2023-05-07 16:47:20 +00:00
e.code = rep.code;
2023-03-29 20:38:50 +00:00
throw e;
2023-03-13 21:06:19 +00:00
});
}
export function setSnackit(snack) {
snackit = snack;
2023-04-28 18:28:01 +00:00
}
export {
snackit
};