{"version":3,"file":"base-ba04a514.js","sources":["../../../../firstmile.widgets/src/api/_base.ts"],"sourcesContent":["interface RequestParams {\n [name: string]: string | boolean | undefined;\n}\n\nenum Method {\n GET = 'GET',\n PATCH = 'PATCH',\n POST = 'POST',\n PUT = 'PUT',\n DELETE = 'DELETE',\n}\n\nconst baseApiUrl = import.meta.env.VITE_APP_API_URL ?? window.location.origin;\n\nconst getApiUrl = (remain: string, params?: RequestParams) => {\n const url = new URL(remain, baseApiUrl);\n if (params) {\n Object.keys(params).forEach((key) => {\n if (params[key] !== undefined) {\n url.searchParams.set(key, typeof params[key] === 'boolean' ? (params[key] as boolean).toString() : (params[key] as string));\n }\n });\n }\n\n return url.toString();\n};\n\nconst sendAsync = async (remain: string, method: Method, params?: RequestParams, body?: unknown, skipResponseBody?: boolean) => {\n try {\n const url = getApiUrl(remain, params);\n\n const requestInit: RequestInit = {\n method: method,\n };\n\n if (body) {\n requestInit.body = JSON.stringify(body);\n requestInit.headers = {\n 'Content-Type': 'application/json',\n };\n }\n\n const res = await fetch(url, requestInit);\n if (!res.ok) throw new Error();\n if (!skipResponseBody) return await res.json();\n } catch (error) {\n return Promise.reject({\n error: error,\n });\n }\n};\n\nexport const getAsync = async (remain: string, params?: RequestParams) => {\n return sendAsync(remain, Method.GET, params);\n};\n\nexport const postAsync = async (remain: string, params?: RequestParams, body?: any, skipResponseBody?: boolean) => {\n return sendAsync(remain, Method.POST, params, body, skipResponseBody);\n};\n\nexport const putAsync = async (remain: string, params?: RequestParams, body?: any, skipResponseBody?: boolean) => {\n return sendAsync(remain, Method.PUT, params, body, skipResponseBody);\n};\n\nexport const patchAsync = async (remain: string, params?: RequestParams, body?: any, skipResponseBody?: boolean) => {\n return sendAsync(remain, Method.PATCH, params, body, skipResponseBody);\n};\n\nexport const deleteAsync = async (remain: string, params?: RequestParams, body?: any, skipResponseBody?: boolean) => {\n return sendAsync(remain, Method.DELETE, params, body, skipResponseBody);\n};\n"],"names":["_a","baseApiUrl","getApiUrl","remain","params","url","key","sendAsync","method","body","skipResponseBody","requestInit","res","error","getAsync","postAsync","patchAsync","deleteAsync"],"mappings":"AAYA,IAAAA,EAAA,MAAMC,GAAaD,EAAA,CAAgB,mBAAA,aAAA,sBAAA,YAAA,uBAAA,aAAA,yBAAA,eAAA,uBAAA,oBAAA,4BAAA,kBAAA,0BAAA,gBAAA,SAAA,IAAA,KAAA,aAAA,IAAA,GAAA,KAAA,EAAA,EAAA,mBAAhB,KAAAA,EAAoC,OAAO,SAAS,OAEjEE,EAAY,CAACC,EAAgBC,IAA2B,CAC5D,MAAMC,EAAM,IAAI,IAAIF,EAAQF,CAAU,EACtC,OAAIG,GACF,OAAO,KAAKA,CAAM,EAAE,QAASE,GAAQ,CAC/BF,EAAOE,KAAS,QAClBD,EAAI,aAAa,IAAIC,EAAK,OAAOF,EAAOE,IAAS,UAAaF,EAAOE,GAAiB,SAAc,EAAAF,EAAOE,EAAe,CAC5H,CACD,EAGID,EAAI,UACb,EAEME,EAAY,MAAOJ,EAAgBK,EAAgBJ,EAAwBK,EAAgBC,IAA+B,CAC1H,GAAA,CACI,MAAAL,EAAMH,EAAUC,EAAQC,CAAM,EAE9BO,EAA2B,CAC/B,OAAAH,CAAA,EAGEC,IACUE,EAAA,KAAO,KAAK,UAAUF,CAAI,EACtCE,EAAY,QAAU,CACpB,eAAgB,kBAAA,GAIpB,MAAMC,EAAM,MAAM,MAAMP,EAAKM,CAAW,EACxC,GAAI,CAACC,EAAI,GAAI,MAAM,IAAI,MACvB,GAAI,CAACF,EAAyB,OAAA,MAAME,EAAI,aACjCC,GACP,OAAO,QAAQ,OAAO,CACpB,MAAAA,CAAA,CACD,CACH,CACF,EAEaC,EAAW,MAAOX,EAAgBC,IACtCG,EAAUJ,EAAQ,MAAYC,CAAM,EAGhCW,EAAY,MAAOZ,EAAgBC,EAAwBK,EAAYC,IAC3EH,EAAUJ,EAAQ,OAAaC,EAAQK,EAAMC,CAAgB,EAOzDM,EAAa,MAAOb,EAAgBC,EAAwBK,EAAYC,IAC5EH,EAAUJ,EAAQ,QAAcC,EAAQK,EAAMC,CAAgB,EAG1DO,EAAc,MAAOd,EAAgBC,EAAwBK,EAAYC,IAC7EH,EAAUJ,EAAQ,SAAeC,EAAQK,EAAMC,CAAgB"}