import formatApiErrorResponse from "../utils/errorHandler"; const api = async ({ endpoint, method, payload, headers = {}, }: { endpoint: string; method: "GET" | "POST" | "PUT" | "DELETE"; payload?: any; headers: HeadersInit; }) => { try { const response = await fetch(endpoint, { method, headers: { ...headers, "Content-Type": "application/json" }, body: payload ? JSON.stringify(payload) : undefined, }); if (!response.ok) { const errorData = await response.json(); console.warn(errorData?.error); throw formatApiErrorResponse(errorData); } return response.json() as Promise; } catch (error) { console.warn(error); // throw formatApiErrorResponse(error); } }; export default api;