@elbwalker/destination-web-api
Version:
API web destination for walkerOS
1 lines • 2.46 kB
JavaScript
;var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,a={};((e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})})(a,{DestinationWebAPI:()=>f,default:()=>p,destinationWebAPI:()=>l}),module.exports=(e=a,((e,a,s,c)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let i of n(a))o.call(e,i)||i===s||t(e,i,{get:()=>a[i],enumerable:!(c=r(a,i))||c.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s={merge:!0,shallow:!0,extend:!0};function c(e){return void 0===e||"string"==typeof e?e:JSON.stringify(e)}function i(e={}){return function(e,t={},r={}){r={...s,...r};const n=Object.entries(t).reduce(((t,[n,o])=>{const a=e[n];return r.merge&&Array.isArray(a)&&Array.isArray(o)?t[n]=o.reduce(((e,t)=>e.includes(t)?e:[...e,t]),[...a]):(r.extend||n in e)&&(t[n]=o),t}),{});return r.shallow?{...e,...n}:(Object.assign(e,n),e)}({"Content-Type":"application/json; charset=utf-8"},e)}function u(e,t,r){return function(...n){try{return e(...n)}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}}function d(e,t,r={transport:"fetch"}){switch(r.transport||"fetch"){case"beacon":return function(e,t){const r=c(t),n=navigator.sendBeacon(e,r);return{ok:n,error:n?void 0:"Failed to send beacon"}}(e,t);case"xhr":return function(e,t,r={}){const n=i(r.headers),o=r.method||"POST",a=c(t);return u((()=>{const t=new XMLHttpRequest;t.open(o,e,!1);for(const e in n)t.setRequestHeader(e,n[e]);t.send(a);const r=t.status>=200&&t.status<300;return{ok:r,data:u(JSON.parse,(()=>t.response))(t.response),error:r?void 0:`${t.status} ${t.statusText}`}}),(e=>({ok:!1,error:e.message})))()}(e,t,r);default:return async function(e,t,r={}){const n=i(r.headers),o=c(t);return(a=async()=>{const t=await fetch(e,{method:r.method||"POST",headers:n,keepalive:!0,credentials:r.credentials||"same-origin",mode:r.noCors?"no-cors":"cors",body:o}),a=r.noCors?"":await t.text();return{ok:t.ok,data:a,error:t.ok?void 0:t.statusText}},s=e=>({ok:!1,error:e.message}),async function(...e){try{return await a(...e)}catch(e){if(!s)return;return await s(e)}finally{await(null==u?void 0:u())}})();var a,s,u}(e,t,r)}}var f={},l={type:"api",config:{},push(e,t,r,n={}){const{custom:o={},fn:a}=t,{url:s,headers:c,method:i,transform:u,transport:f="fetch"}=o;if(!s)return;const l=void 0!==n.data?n.data:e;(a||d)(s,u?u(l,t,r):JSON.stringify(l),{headers:c,method:i,transport:f})}},p=l;//# sourceMappingURL=index.js.map