/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/cxm-capacitor-http@1.4.1/dist/plugin.cjs.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@capacitor/core");const Http=core.registerPlugin("Http",{web:()=>Promise.resolve().then((function(){return web})).then((e=>new e.HttpWeb)),electron:()=>Promise.resolve().then((function(){return web})).then((e=>new e.HttpWeb))}),readBlobAsBase64=async e=>new Promise(((t,o)=>{const s=new FileReader;s.onload=()=>{const e=s.result,o=e.substr(e.indexOf(",")+1);t(o)},s.onerror=e=>o(e),s.readAsDataURL(e)})),encode=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),decode=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent),setCookie=(e,t,o={})=>{const s=encode(e),n=encode(t),a=`; expires=${(o.expires||"").replace("expires=","")}`,r=(o.path||"/").replace("path=","");document.cookie=`${s}=${n||""}${a}; path=${r}`},getCookies=()=>{const e=[],t={};if(!document.cookie)return e;const o=document.cookie.split(";")||[];for(const e of o){let[o,s]=e.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");o=decode(o).trim(),s=decode(s).trim(),t[o]=s}const s=Object.entries(t);for(const[t,o]of s)e.push({key:t,value:o});return e},getCookie=e=>{const t=getCookies();for(const o of t)if(o.key===e)return o;return{key:e,value:""}},deleteCookie=e=>{document.cookie=`${e}=; Max-Age=0`},clearCookies=()=>{const e=document.cookie.split(";")||[];for(const t of e)document.cookie=t.replace(/^ +/,"").replace(/=.*/,`=;expires=${(new Date).toUTCString()};path=/`)},normalizeHttpHeaders=(e={})=>{const t=Object.keys(e);return Object.keys(e).map((e=>e.toLocaleLowerCase())).reduce(((o,s,n)=>(o[s]=e[t[n]],o)),{})},buildUrlParams=(e,t=!0)=>{if(!e)return null;return Object.entries(e).reduce(((e,o)=>{const[s,n]=o;let a,r;return Array.isArray(n)?(r="",n.forEach((e=>{a=t?encodeURIComponent(e):e,r+=`${s}=${a}&`})),r.slice(0,-1)):(a=t?encodeURIComponent(n):n,r=`${s}=${a}`),`${e}&${r}`}),"").substr(1)},buildRequestInit=(e,t={})=>{const o=Object.assign({method:e.method||"GET",headers:e.headers},t),s=normalizeHttpHeaders(e.headers)["content-type"]||"";if("string"==typeof e.data)o.body=e.data;else if(s.includes("application/x-www-form-urlencoded")){const t=new URLSearchParams;for(const[o,s]of Object.entries(e.data||{}))t.set(o,s);o.body=t.toString()}else if(s.includes("multipart/form-data")){const t=new FormData;if(e.data instanceof FormData)e.data.forEach(((e,o)=>{t.append(o,e)}));else for(let o of Object.keys(e.data))t.append(o,e.data[o]);o.body=t;const s=new Headers(o.headers);s.delete("content-type"),o.headers=s}else(s.includes("application/json")||"object"==typeof e.data)&&(o.body=JSON.stringify(e.data));return o},request=async e=>{const t=buildRequestInit(e,e.webFetchExtra),o=buildUrlParams(e.params,e.shouldEncodeUrlParams),s=o?`${e.url}?${o}`:e.url,n=await fetch(s,t),a=n.headers.get("content-type")||"";let r,{responseType:c="text"}=n.ok?e:{};switch(a.includes("application/json")&&(c="json"),c){case"arraybuffer":case"blob":const e=await n.blob();r=await readBlobAsBase64(e);break;case"json":r=await n.json();break;default:r=await n.text()}const i={};return n.headers.forEach(((e,t)=>{i[t]=e})),{data:r,headers:i,status:n.status,url:n.url}},get=async e=>request(Object.assign(Object.assign({},e),{method:"GET"})),post=async e=>request(Object.assign(Object.assign({},e),{method:"POST"})),put=async e=>request(Object.assign(Object.assign({},e),{method:"PUT"})),patch=async e=>request(Object.assign(Object.assign({},e),{method:"PATCH"})),del=async e=>request(Object.assign(Object.assign({},e),{method:"DELETE"}));class HttpWeb extends core.WebPlugin{constructor(){super(),this.request=async e=>request(e),this.get=async e=>get(e),this.post=async e=>post(e),this.put=async e=>put(e),this.patch=async e=>patch(e),this.del=async e=>del(e),this.getCookiesMap=async e=>{const t=getCookies(),o={};for(const e of t)o[e.key]=e.value;return o},this.getCookies=async e=>({cookies:getCookies()}),this.setCookie=async e=>{const{key:t,value:o,expires:s="",path:n=""}=e;setCookie(t,o,{expires:s,path:n})},this.getCookie=async e=>getCookie(e.key),this.deleteCookie=async e=>deleteCookie(e.key),this.clearCookies=async e=>clearCookies(),this.clearAllCookies=async()=>clearCookies(),this.uploadFile=async e=>{const t=new FormData;t.append(e.name,e.blob||"undefined");const o=Object.assign(Object.assign({},e),{body:t,method:"POST"});return this.post(o)},this.downloadFile=async e=>{const t=buildRequestInit(e,e.webFetchExtra),o=await fetch(e.url,t);let s;if(null==e?void 0:e.progress)if(null==o?void 0:o.body){const t=o.body.getReader();let n=0,a=[];const r=o.headers.get("content-type"),c=parseInt(o.headers.get("content-length")||"0",10);for(;;){const{done:o,value:s}=await t.read();if(o)break;a.push(s),n+=(null==s?void 0:s.length)||0;const r={type:"DOWNLOAD",url:e.url,bytes:n,contentLength:c};this.notifyListeners("progress",r)}let i=new Uint8Array(n),d=0;for(const e of a)void 0!==e&&(i.set(e,d),d+=e.length);s=new Blob([i.buffer],{type:r||void 0})}else s=new Blob;else s=await o.blob();return{blob:s}}}}var web=Object.freeze({__proto__:null,HttpWeb:HttpWeb});exports.Http=Http;
//# sourceMappingURL=/sm/cfd9ecc601de7c5ed8e9916f160dff71275af362fa1faaa1f98f68e5b71783a9.map