import { ErrorProps } from "../types"; import { deleteToken } from "./session"; const formatApiErrorResponse = (error: any): ErrorProps => { if (!navigator.onLine) { return { isNetworkError: true, code: "XXX", message: "Error, Please make sure you are connected to the internet", }; } if (!error?.error) { return { is500: true, message: "Internal Server Error" }; } const { status, data } = error.error; const errorMap: Record = { 400: "is400", 401: "is401", 403: "is403", 404: "is404", }; if (status === 401) { deleteToken(); } return { [errorMap[status] || "is500"]: true, ...data, ...(status === 401 || status === 403 ? { meta: error.error } : {}), }; }; export default formatApiErrorResponse;