UNPKG

@spree/storefront-api-v2-sdk

Version:

Node module to easily integrate your JavaScript or TypeScript application with Spree API V2. You can create an entirely custom Storefront in JS/TS with this package including one page checkout, Single Page Apps, PWAs and so on

2 lines 3.8 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SpreeSDK=t():(e.SpreeSDK=e.SpreeSDK||{},e.SpreeSDK.createAxiosFetcher=t())}(global,(function(){return(()=>{"use strict";var e={306:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=o(r(527));class n extends s.default{constructor(e,t,r,o){super(o),Object.setPrototypeOf(this,n.prototype),this.name="FetchError",this.response=e,this.request=t,this.data=r}}t.default=n},527:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(e),Object.setPrototypeOf(this,r.prototype),this.name="SpreeSDKError"}}t.default=r},596:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=o(r(306)),n=r(327);t.default=e=>{let t;t=globalThis.axios?globalThis.axios:r(167).default;const o=t.create({baseURL:e.host,headers:{"Content-Type":"application/json"},paramsSerializer:e=>(0,n.objectToQuerystring)(e)});return{fetch:async e=>{try{const{url:t,params:r,method:s,headers:n,responseParsing:a}=e;let u,c;switch(s.toUpperCase()){case"PUT":case"POST":case"DELETE":case"PATCH":u={data:r};break;default:u={params:r}}const i=!1;switch(a){case"json":case"text":c=a;break;case"stream":c=i?"blob":"stream";break;default:c=void 0}const l=await o({url:t,method:s.toUpperCase(),headers:n,responseType:c,...u});return"stream"===a&&i?{data:l.data.stream()}:{data:l.data}}catch(e){if(t.isAxiosError(e)){const{response:t}=e;if(!t)throw new s.default(null,e.request,null,e.message);const r={...t};throw Object.defineProperties(r,{config:{enumerable:!1},data:{enumerable:!1},headers:{enumerable:!1},request:{enumerable:!1}}),new s.default(r,e.request,r.data,e.message)}throw new s.default(null,null,null,e.message)}}}}},327:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.objectToQuerystring=void 0;const r=(()=>{const e=[];for(let t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),o=(e,t)=>{if(0===e.length)return e;let o=e;if("symbol"==typeof e?o=Symbol.prototype.toString.call(e):"string"!=typeof e&&(o=String(e)),"iso-8859-1"===t)return escape(o).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));let s="";for(let e=0;e<o.length;++e){let t=o.charCodeAt(e);45===t||46===t||95===t||126===t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122?s+=o.charAt(e):t<128?s+=r[t]:t<2048?s+=r[192|t>>6]+r[128|63&t]:t<55296||t>=57344?s+=r[224|t>>12]+r[128|t>>6&63]+r[128|63&t]:(e+=1,t=65536+((1023&t)<<10|1023&o.charCodeAt(e)),s+=r[240|t>>18]+r[128|t>>12&63]+r[128|t>>6&63]+r[128|63&t])}return s},s=Array.isArray,n=Array.prototype.push,a=(e,t)=>{n.apply(e,s(t)?t:[t])},u=e=>String(e),c=(e,t)=>e+"[]",i="utf-8",l=(e,t)=>{var r,n;if(e instanceof Date&&(e=e.toISOString()),null===e&&(e=""),"string"==typeof(n=e)||"number"==typeof n||"boolean"==typeof n||"symbol"==typeof n||"bigint"==typeof n||(r=e)&&"object"==typeof r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer(r)){const r=o(t,i);return[u(r)+"="+u(o(e,i))]}const p=[];if(void 0===e)return p;const f=Object.keys(e);for(let r=0;r<f.length;++r){const o=f[r],n=e[o],u=s(e)?c(t):t+"["+o+"]";a(p,l(n,u))}return p};t.objectToQuerystring=e=>{const t=[],r=Object.keys(e);for(let o=0;o<r.length;++o){const s=r[o];a(t,l(e[s],s))}return t.join("&")}},167:e=>{e.exports=require("axios")}},t={};return function r(o){var s=t[o];if(void 0!==s)return s.exports;var n=t[o]={exports:{}};return e[o].call(n.exports,n,n.exports,r),n.exports}(596)})()})); //# sourceMappingURL=createAxiosFetcher.js.map