{"version":3,"file":"base.0x5e799550.js","sources":["../../../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\nexport const getApiUrl = (remain: string, params?: RequestParams) => {\n const baseApiUrl = import.meta.env.VITE_APP_API_URL ? import.meta.env.VITE_APP_API_URL : window.location.origin;\n const url = new URL(remain, baseApiUrl);\n if (params) {\n Object.keys(params).forEach((key) => {\n if (params[key] !== undefined) {\n url.searchParams.append(key, typeof params[key] === 'boolean' ? (params[key] as boolean).toString() : (params[key] as string));\n }\n });\n }\n\n return url;\n};\n\nconst sendAsync = async (\n remain: string,\n method: Method,\n params?: RequestParams,\n body?: any,\n skipResponseBody?: boolean,\n plainTextRequestBody?: boolean,\n hideLoader = false\n) => {\n !hideLoader && window.dispatchEvent(new CustomEvent('showLoader'));\n const url = getApiUrl(remain, params); \n const requestVerificationToken = document?.querySelector('#RequestVerificationToken');\n const requestVerificationTokenValue = requestVerificationToken && requestVerificationToken.value;\n const requestInit: RequestInit = {\n method: method,\n };\n interface MyHeader {\n 'Content-Type'?: string;\n [key: string]: any;\n }\n let requestHeader: MyHeader = {};\n requestHeader['Content-Type'] = 'application/json';\n\n requestVerificationTokenValue && method == Method.POST && (requestHeader['RequestVerificationToken'] = requestVerificationTokenValue);\n\n if (body) {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else if (body instanceof Object) {\n requestInit.body = JSON.stringify(body);\n requestInit.headers = requestHeader;\n } else {\n requestInit.body = body;\n if (!plainTextRequestBody) {\n requestInit.headers = requestHeader;\n }\n }\n }\n\n return skipResponseBody\n ? fetch(url, requestInit).finally(() => {\n window.dispatchEvent(new CustomEvent('removeLoader'));\n })\n : fetch(url, requestInit)\n .then(async (res) => {\n if (!res.headers.get('content-type')) {\n return res?.status ? res?.status : null;\n } else if (\n res.headers.get('content-type')?.includes('text/xml') ||\n res.headers.get('content-type')?.includes('text/plain') ||\n res.headers.get('content-type')?.includes('text/html')\n ) {\n return res.text();\n }\n return res.json();\n })\n .finally(() => {\n window.dispatchEvent(new CustomEvent('removeLoader'));\n });\n};\n\nexport const getAsync = async (remain: string, params?: RequestParams, hideLoader?: boolean) => {\n return sendAsync(remain, Method.GET, params, undefined, undefined, undefined, hideLoader);\n};\n\nexport const postAsync = async (\n remain: string,\n params?: RequestParams,\n body?: any,\n skipResponseBody?: boolean,\n plainTextRequestBody?: boolean,\n hideLoader?: boolean\n) => {\n return sendAsync(remain, Method.POST, params, body, skipResponseBody, plainTextRequestBody, hideLoader);\n};\n\nexport const putAsync = async (\n remain: string,\n params?: RequestParams,\n body?: any,\n skipResponseBody?: boolean,\n plainTextRequestBody?: boolean,\n hideLoader?: boolean\n) => {\n return sendAsync(remain, Method.PUT, params, body, skipResponseBody, plainTextRequestBody, hideLoader);\n};\n\nexport const patchAsync = async (\n remain: string,\n params?: RequestParams,\n body?: any,\n skipResponseBody?: boolean,\n plainTextRequestBody?: boolean,\n hideLoader?: boolean\n) => {\n return sendAsync(remain, Method.PATCH, params, body, skipResponseBody, plainTextRequestBody, hideLoader);\n};\n\nexport const deleteAsync = async (\n remain: string,\n params?: RequestParams,\n body?: any,\n skipResponseBody?: boolean,\n plainTextRequestBody?: boolean,\n hideLoader?: boolean\n) => {\n return sendAsync(remain, Method.DELETE, params, body, skipResponseBody, plainTextRequestBody, hideLoader);\n};\n"],"names":["getApiUrl","remain","params","baseApiUrl","url","key","sendAsync","method","body","skipResponseBody","plainTextRequestBody","hideLoader","requestVerificationToken","requestVerificationTokenValue","requestInit","requestHeader","res","_a","_b","_c","getAsync","postAsync","putAsync"],"mappings":"AAYa,MAAAA,EAAY,CAACC,EAAgBC,IAA2B,CAC7D,MAAAC,EAAa,CAAA,EAAgB,iBAAmB,CAAA,EAAgB,iBAAmB,OAAO,SAAS,OACnGC,EAAM,IAAI,IAAIH,EAAQE,CAAU,EACtC,OAAID,GACF,OAAO,KAAKA,CAAM,EAAE,QAASG,GAAQ,CAC/BH,EAAOG,CAAG,IAAM,QAClBD,EAAI,aAAa,OAAOC,EAAK,OAAOH,EAAOG,CAAG,GAAM,UAAaH,EAAOG,CAAG,EAAc,SAAc,EAAAH,EAAOG,CAAG,CAAY,CAC/H,CACD,EAGID,CACT,EAEME,EAAY,MAChBL,EACAM,EACAL,EACAM,EACAC,EACAC,EACAC,EAAa,KACV,CACH,CAACA,GAAc,OAAO,cAAc,IAAI,YAAY,YAAY,CAAC,EAC3D,MAAAP,EAAMJ,EAAUC,EAAQC,CAAM,EAC9BU,EAA2B,+BAAU,cAAgC,6BACrEC,EAAgCD,GAA4BA,EAAyB,MACrFE,EAA2B,CAC/B,OAAAP,CAAA,EAMF,IAAIQ,EAA0B,CAAA,EAC9B,OAAAA,EAAc,cAAc,EAAI,mBAEhCF,GAAiCN,GAAU,SAAgBQ,EAAc,yBAA8BF,GAEnGL,IACEA,aAAgB,SAClBM,EAAY,KAAON,EACVA,aAAgB,QACbM,EAAA,KAAO,KAAK,UAAUN,CAAI,EACtCM,EAAY,QAAUC,IAEtBD,EAAY,KAAON,EACdE,IACHI,EAAY,QAAUC,KAKrBN,EACH,MAAML,EAAKU,CAAW,EAAE,QAAQ,IAAM,CACpC,OAAO,cAAc,IAAI,YAAY,cAAc,CAAC,CAAA,CACrD,EACD,MAAMV,EAAKU,CAAW,EACnB,KAAK,MAAOE,GAAQ,CA1DhB,IAAAC,EAAAC,EAAAC,EA2DH,GAAKH,EAAI,QAAQ,IAAI,cAAc,GAEnC,IACEC,EAAAD,EAAI,QAAQ,IAAI,cAAc,IAA9B,MAAAC,EAAiC,SAAS,cAC1CC,EAAAF,EAAI,QAAQ,IAAI,cAAc,IAA9B,MAAAE,EAAiC,SAAS,gBAC1CC,EAAAH,EAAI,QAAQ,IAAI,cAAc,IAA9B,MAAAG,EAAiC,SAAS,aAE1C,OAAOH,EAAI,WANJ,QAAAA,GAAA,MAAAA,EAAK,OAASA,GAAA,YAAAA,EAAK,OAAS,KAQrC,OAAOA,EAAI,MAAK,CACjB,EACA,QAAQ,IAAM,CACb,OAAO,cAAc,IAAI,YAAY,cAAc,CAAC,CAAA,CACrD,CACT,EAEaI,EAAW,MAAOnB,EAAgBC,EAAwBS,IAC9DL,EAAUL,EAAQ,MAAYC,EAAQ,OAAW,OAAW,OAAWS,CAAU,EAG7EU,EAAY,MACvBpB,EACAC,EACAM,EACAC,EACAC,EACAC,IAEOL,EAAUL,EAAQ,OAAaC,EAAQM,EAAMC,EAAkBC,EAAsBC,CAAU,EAG3FW,EAAW,MACtBrB,EACAC,EACAM,EACAC,EACAC,EACAC,IAEOL,EAAUL,EAAQ,MAAYC,EAAQM,EAAMC,EAAkBC,EAAsBC,CAAU"}