UNPKG

@chec/commerce.js

Version:

Easy to use JavaScript SDK for managing carts and selling products from your Chec store

2 lines (1 loc) 25.1 kB
var _objectWithoutProperties=require("@babel/runtime/helpers/objectWithoutProperties"),_toConsumableArray=require("@babel/runtime/helpers/toConsumableArray"),_typeof=require("@babel/runtime/helpers/typeof"),_defineProperty=require("@babel/runtime/helpers/defineProperty"),_classCallCheck=require("@babel/runtime/helpers/classCallCheck"),_createClass=require("@babel/runtime/helpers/createClass"),_regeneratorRuntime=require("@babel/runtime/regenerator"),_asyncToGenerator=require("@babel/runtime/helpers/asyncToGenerator"),axios=require("axios");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var _objectWithoutProperties__default=_interopDefaultLegacy(_objectWithoutProperties),_toConsumableArray__default=_interopDefaultLegacy(_toConsumableArray),_typeof__default=_interopDefaultLegacy(_typeof),_defineProperty__default=_interopDefaultLegacy(_defineProperty),_classCallCheck__default=_interopDefaultLegacy(_classCallCheck),_createClass__default=_interopDefaultLegacy(_createClass),_regeneratorRuntime__default=_interopDefaultLegacy(_regeneratorRuntime),_asyncToGenerator__default=_interopDefaultLegacy(_asyncToGenerator),axios__default=_interopDefaultLegacy(axios),Storage=function(){function Storage(commerce){_classCallCheck__default.default(this,Storage),this.commerce=commerce}return _createClass__default.default(Storage,[{key:"set",value:function(key,value,days){if("undefined"==typeof document||this.commerce.options.disableStorage)return null;var path,expires="";if(path=this.commerce.options.config&&void 0!==this.commerce.options.config.cookie_path?this.commerce.options.config.cookie_path:"/",days){var date=new Date;date.setTime(date.getTime()+24*days*60*60*1e3),expires="; expires="+date.toUTCString()}return document.cookie=key+"="+value+expires+"; path="+path}},{key:"get",value:function(key){if("undefined"==typeof document||this.commerce.options.disableStorage)return null;key+="=";for(var _i=0,_Array$from=Array.from(document.cookie.split(";"));_i<_Array$from.length;_i++){for(var c=_Array$from[_i];" "===c.charAt(0);)c=c.substring(1,c.length);if(0===c.indexOf(key))return c.substring(key.length,c.length)}return null}},{key:"remove",value:function(key){return this.set(key,"",-1)}}]),Storage}();function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(source,!0).forEach((function(key){_defineProperty__default.default(target,key,source[key])})):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(source).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}return target}var Cart=function(){function Cart(commerce){_classCallCheck__default.default(this,Cart),this.commerce=commerce,this.cartId=null}var _request;return _createClass__default.default(Cart,[{key:"refresh",value:function(){var _this=this;return this.commerce.request("carts").then((function(cart){var id=cart.id;return _this.commerce.storage.set("commercejs_cart_id",id,_this.commerce.options.cartLifetime),_this.cartId=id,cart}))}},{key:"id",value:function(){if(null!==this.cartId)return this.cartId;var storedCartId=this.commerce.storage.get("commercejs_cart_id");return"string"==typeof storedCartId&&storedCartId.length?storedCartId:null}},{key:"request",value:(_request=_asyncToGenerator__default.default(_regeneratorRuntime__default.default.mark((function _callee(){var endpoint,method,data,returnFullRequest,suffix,_this2=this,_args=arguments;return _regeneratorRuntime__default.default.wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:if(endpoint=_args.length>0&&void 0!==_args[0]?_args[0]:"",method=_args.length>1&&void 0!==_args[1]?_args[1]:"get",data=_args.length>2&&void 0!==_args[2]?_args[2]:null,returnFullRequest=_args.length>3&&void 0!==_args[3]&&_args[3],suffix="string"==typeof endpoint&&endpoint.length?"/".concat(endpoint):"",this.id()){_context.next=8;break}return _context.next=8,this.refresh();case 8:return _context.abrupt("return",this.commerce.request("carts/".concat(this.id()).concat(suffix),method,data,returnFullRequest).catch((function(error){if(error.statusCode&&404===error.statusCode)return _this2.refresh().then((function(){return _this2.commerce.request("carts/".concat(_this2.id()).concat(suffix),method,data,returnFullRequest)}));throw error})));case 9:case"end":return _context.stop()}}),_callee,this)}))),function(){return _request.apply(this,arguments)})},{key:"add",value:function(productId){var quantity=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,variantData=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,validatedVariant={};if("string"==typeof variantData&&variantData.startsWith("vrnt"))validatedVariant.variant_id=variantData;else if(variantData&&"object"===_typeof__default.default(variantData)){var validKeys=Object.keys(variantData).every((function(key){return key.startsWith("vgrp")})),validValues=Object.values(variantData).every((function(key){return key.startsWith("optn")}));if(!validKeys||!validValues)throw new Error("The variant options provided to cart.add do not appear to be a valid map of group IDs to option IDs");validatedVariant.options=variantData}else if(variantData)throw new Error("Variant data provided to cart.add must be a variant ID, or a map of group IDs to option IDs");var data=_objectSpread({id:"object"===_typeof__default.default(productId)?productId.id:productId,quantity:quantity},validatedVariant);return this.request("","post",data)}},{key:"retrieve",value:function(){var _this3=this,cartId=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return cartId&&(this.cartId=cartId),this.request().then((function(cart){return _this3.cartId=cart&&cart.id||null,cart}))}},{key:"checkQuantity",value:function(productId,quantity){return this.commerce.request("products/".concat(productId)).then((function(response){return quantity<=response.quantity}))}},{key:"remove",value:function(lineId){return this.request("items/".concat(lineId),"delete")}},{key:"delete",value:function(){return this.request("","delete")}},{key:"update",value:function(lineId,data){return this.request("items/".concat(lineId),"put",data)}},{key:"contents",value:function(){return this.request("items")}},{key:"empty",value:function(){return this.request("items","delete")}}]),Cart}(),Categories=function(){function Categories(commerce){_classCallCheck__default.default(this,Categories),this.commerce=commerce}return _createClass__default.default(Categories,[{key:"list",value:function(){var params=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return"function"==typeof params?this.commerce.request("categories"):this.commerce.request("categories","get",params)}},{key:"retrieve",value:function(id){var data=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.commerce.request("categories/".concat(id),"get",data)}}]),Categories}(),Checkout=function(){function Checkout(commerce){_classCallCheck__default.default(this,Checkout),this.commerce=commerce}return _createClass__default.default(Checkout,[{key:"protect",value:function protect(token){return this.commerce.request("checkouts/".concat(token,"/protect")).then((function(data){return eval(data.sift_js)}))}},{key:"generateToken",value:function(identifier,data){return this.commerce.request("checkouts/".concat(identifier),"get",data)}},{key:"generateTokenFrom",value:function(type,identifier){if(!["product_id","cart","permalink"].includes(type))throw new Error('Cannot generate a token with unknown "'.concat(type,'" type'));return this.generateToken(identifier,{type:type})}},{key:"capture",value:function(token,data){var _this=this;return this.commerce.request("checkouts/".concat(token),"post",data).then((function(response){return _this.commerce.cart.refresh(),response}))}},{key:"receipt",value:function(token){return this.commerce.request("checkouts/".concat(token,"/receipt"))}},{key:"checkPayWhatYouWant",value:function(token,data){return this.commerce.request("checkouts/".concat(token,"/check/pay_what_you_want"),"get",data)}},{key:"fields",value:function(identifier){return this.commerce.request("checkouts/".concat(identifier,"/fields"))}},{key:"setTaxZone",value:function(identifier,data){return this.commerce.request("checkouts/".concat(identifier,"/helper/set_tax_zone"),"get",data)}},{key:"getLocationFromIP",value:function(token){var ipAddress=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",urlSuffix=ipAddress&&ipAddress.length?"?ip_address=".concat(ipAddress):"";return this.commerce.request("checkouts/".concat(token,"/helper/location_from_ip").concat(urlSuffix))}},{key:"isFree",value:function(token){return this.commerce.request("checkouts/".concat(token,"/check/is_free"))}},{key:"checkVariant",value:function(token,lineItemId,data){return this.commerce.request("checkouts/".concat(token,"/check/").concat(lineItemId,"/variant"),"get",data)}},{key:"checkDiscount",value:function(token,data){return this.commerce.request("checkouts/".concat(token,"/check/discount"),"get",data)}},{key:"checkShippingOption",value:function(token,data){return this.commerce.request("checkouts/".concat(token,"/check/shipping"),"get",data)}},{key:"getShippingOptions",value:function(token,data){return this.commerce.request("checkouts/".concat(token,"/helper/shipping_options"),"get",data)}},{key:"checkQuantity",value:function(token,lineItem,data){return this.commerce.request("checkouts/".concat(token,"/check/").concat(lineItem,"/quantity"),"get",data)}},{key:"helperValidation",value:function(token){return this.commerce.request("checkouts/".concat(token,"/helper/validation"))}},{key:"getLive",value:function(token){return this.commerce.request("checkouts/".concat(token,"/live"))}},{key:"getToken",value:function(token){return this.commerce.request("checkouts/tokens/".concat(token))}},{key:"checkGiftcard",value:function(token,data){return this.commerce.request("checkouts/".concat(token,"/check/giftcard"),"get",data)}}]),Checkout}();function ownKeys$1(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread$1(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$1(source,!0).forEach((function(key){_defineProperty__default.default(target,key,source[key])})):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$1(source).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}return target}var Customer=function(){function Customer(commerce){_classCallCheck__default.default(this,Customer),this.commerce=commerce,this.data={}}return _createClass__default.default(Customer,[{key:"login",value:function(email,baseUrl){return this.commerce.request("customers/email-token","post",{email:email,base_url:baseUrl})}},{key:"getToken",value:function(token){var _this=this,save=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.commerce.request("customers/exchange-token","post",{token:token}).then((function(result){return save&&(result.customer_id||result.jwt)&&(_this.data={id:result.customer_id||null,token:result.jwt||null},window.localStorage.setItem("commercejs_customer_id",_this.data.id),window.localStorage.setItem("commercejs_customer_token",_this.data.token)),result}))}},{key:"update",value:function(){var data=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},customerId=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,token=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this._assertArgsProvided(customerId,token),this._request("customers/".concat(customerId||this.id()),"PUT",data,{},token)}},{key:"getOrders",value:function(){var customerId=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,token=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,params=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._assertArgsProvided(customerId,token);var requestParams=_objectSpread$1({sortBy:"created_at",sortDirection:"desc"},params);return this._request("customers/".concat(customerId||this.id(),"/orders"),"get",requestParams,{},token)}},{key:"getOrder",value:function(orderId){var customerId=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,token=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this._assertArgsProvided(customerId,token),this._request("customers/".concat(customerId||this.id(),"/orders/").concat(orderId),"get",{},{},token)}},{key:"about",value:function(){return this._request("customers/".concat(this.id()))}},{key:"id",value:function(){return this._fromStorage("id")}},{key:"token",value:function(){return this._fromStorage("token")}},{key:"isLoggedIn",value:function(){return null!==this.id()&&null!==this.token()}},{key:"logout",value:function(){this.data={},window.localStorage.removeItem("commercejs_customer_id"),window.localStorage.removeItem("commercejs_customer_token")}},{key:"_fromStorage",value:function(key){if(this.data[key]&&this.data[key].length)return this.data[key];var storedValue=window.localStorage.getItem("commercejs_customer_".concat(key));return"string"==typeof storedValue&&storedValue.length?storedValue:null}},{key:"_request",value:function(endpoint){var method=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"get",data=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,extraHeaders=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},token=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,authToken=token||this.token();return this.commerce.request(endpoint,method,data,_objectSpread$1({"X-Authorization":void 0,Authorization:"Bearer ".concat(authToken)},extraHeaders))}},{key:"_assertArgsProvided",value:function(){var customerId=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,token=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===customerId&&!this.id())throw new Error("A customer ID must be provided when customer is not logged in");if(null===token&&!this.token())throw new Error("A customer access token must be provided when customer is not logged in")}}]),Customer}(),Merchants=function(){function Merchants(commerce){_classCallCheck__default.default(this,Merchants),this.commerce=commerce}return _createClass__default.default(Merchants,[{key:"about",value:function(){return this.commerce.request("merchants")}}]),Merchants}(),Products=function(){function Products(commerce){_classCallCheck__default.default(this,Products),this.commerce=commerce}return _createClass__default.default(Products,[{key:"list",value:function(){var params=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.commerce.request("products","get",params)}},{key:"retrieve",value:function(id){var data=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.commerce.request("products/".concat(id),"get",data)}},{key:"getVariants",value:function(productId){var params=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.commerce.request("products/".concat(productId,"/variants"),"get",params)}},{key:"getVariant",value:function(productId,variantId){return this.commerce.request("products/".concat(productId,"/variants/").concat(variantId),"get")}}]),Products}(),Services=function(){function Services(commerce){_classCallCheck__default.default(this,Services),this.commerce=commerce}return _createClass__default.default(Services,[{key:"localeListCountries",value:function(){return this.commerce.request("services/locale/countries")}},{key:"localeListShippingCountries",value:function(token){return this.commerce.request("services/locale/".concat(token,"/countries"))}},{key:"localeListShippingSubdivisions",value:function(token,countryCode){return this.commerce.request("services/locale/".concat(token,"/countries/").concat(countryCode,"/subdivisions"))}},{key:"localeListSubdivisions",value:function(countryCode){return this.commerce.request("services/locale/".concat(countryCode,"/subdivisions"))}}]),Services}(),Features={Cart:Cart,Categories:Categories,Checkout:Checkout,Customer:Customer,Merchants:Merchants,Products:Products,Services:Services},consoleHelper=function(){var emoji,messages,color=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"black",a=arguments.length>1?arguments[1]:void 0,b=arguments.length>2?arguments[2]:void 0,c=arguments.length>3?arguments[3]:void 0,isError=!1;switch(color){case"success":color="#488f5a",emoji="✅ ";break;case"info":color="DodgerBlue",emoji="";break;case"error":color="rgba(244, 67, 54, 1)","validation"===c.error.type||"unprocessable_entity"===c.error.type?(emoji="🚫 Validation/missing fields",a=""):emoji="❌ HTTP ERROR ",isError=!0;break;case"warning":color="rgba(208, 154, 35, 1)",emoji="⚠️ "}return!0===isError?(console.log("%c"+emoji+a,"color:"+color+";display:block; width: 100%;padding:2px 2px 2px 0px;font-family: Open Sans, Helvetica, Sans-serif;font-weight:bold;background-color:rgba(244, 67, 54, 0.15);"),"object"===_typeof__default.default(c.error.errors)?(messages=c.error.errors,void Object.keys(messages).forEach((function(key,index){Object.values(messages[key]).forEach((function(value){console.log("%c"+key+": %c"+value,"color:#515D6D;font-family: Open Sans, Helvetica, Sans-serif;font-weight:800;","color:#515D6D;font-family: Open Sans, Helvetica, Sans-serif;font-weight:400;")}))}))):console.log("%c"+c.error.message,"color:#515D6D;font-family: Open Sans, Helvetica, Sans-serif;font-weight:400;")):"object"===_typeof__default.default(color)?(console.log("%c"+a,"color: PowderBlue;font-weight:bold;font-family: Open Sans, Helvetica, Sans-serif; background-color: RoyalBlue;"),void console.log(color)):(console.log("%c"+emoji+a,"color:"+color+";display:block;font-family: Open Sans, Helvetica, Sans-serif;line-height:28px; width: 100%;padding:2px 2px 2px 0px;font-weight:bold;"),void(b&&console.log("%c"+b,"color:#515D6D;line-height:22px;font-weight:400; font-family: Open Sans, Helvetica, Sans-serif;")))},debuggerOnNotice=function(){if("undefined"!=typeof window){console.log("%c\r\n \r\n Che EcC\r\n c....c2 2c....:C\r\n c........c2 2c.....:C\r\n c............c2 2c.....:C\r\n c................c2 2c.....:C\r\n c....................c2 2c.....:C\r\n c........................c2 2c.....:C\r\n c............................c2 2c.....:C\r\n c.......:E2 2c..................c2 2c.....:C\r\n c........h $$ 2c..................c2 2c.....:C\r\n c.........:C $cc$ E....................c2 2c.....:C\r\n c............h $$ c......................c2 2c.....:C\r\n c...............:E E:.........................c2 2c.....:C\r\n E............................:C c..................h2 2c...:C\r\n E........................:C c..................h2 2hC\r\n E....................:C c..................h2\r\n E................:C c................:C\r\n E............:C c............:C\r\n E........:C c........:C\r\n E....:C c....:C\r\n EcC EcC\r\n \r\n \r\n \r\n","font-family: Courier New, Courier, monospace; color: #788ba4; font-weight:bold; font-size: 11px;"),console.log("%cCommerce.js console debugger is on! 🎉","text-align:center; display:block; font-family: Open Sans, Helvetica, Sans-serif; color: #488f5a; line-height:28px; font-size: 14px"),console.log("%c💬 Need some help? Join our Slack channel - http://slack.commercejs.com \r\n","text-align:center; display:block; font-family: Open Sans, Helvetica, Sans-serif; color: #515D6D; line-height:20px; font-size: 12px")}};function ownKeys$2(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread$2(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys$2(source,!0).forEach((function(key){_defineProperty__default.default(target,key,source[key])})):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys$2(source).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}return target}var defaultEventCallback=function(e){var _e=new CustomEvent("Commercejs.".concat(e),{bubbles:!1,cancelable:!1});return window.dispatchEvent(_e)},Commerce=function(){function Commerce(apiKey){var debug=arguments.length>1&&void 0!==arguments[1]&&arguments[1],config=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(_classCallCheck__default.default(this,Commerce),this.options=_objectSpread$2(_objectSpread$2({version:"v1",url:"https://api.chec.io/",eventCallback:defaultEventCallback,disableStorage:!1,cartLifetime:30,allowSecretKey:!1},config),{},{apiKey:apiKey,debug:debug}),"string"!=typeof apiKey||0===apiKey.length)throw new Error("⚠️ Invalid public key given to Commerce.js client");if(!config.allowSecretKey&&"sk_"===apiKey.toLowerCase().substring(0,3))throw new Error("Secret key provided. You must use a public key with Commerce.js, or use `allowSecretKey` in the config object.");if(this.options.cartLifetime<=0||this.options.cartLifetime>30)throw new Error("cartLifetime configuration option must be between 1 and 30 days");this.storage=new Storage(this),this.cart=new Features.Cart(this),this.checkout=new Features.Checkout(this),this.customer=new Features.Customer(this),this.products=new Features.Products(this),this.services=new Features.Services(this),this.categories=new Features.Categories(this),this.merchants=new Features.Merchants(this),debug&&(this.consoleHelper=consoleHelper,debuggerOnNotice())}return _createClass__default.default(Commerce,[{key:"error",value:function(response){if(this.consoleHelper&&this.options.debug){var innerResponse=response.response,type="[".concat(innerResponse.status,"] Type: ").concat(innerResponse.statusText),msg="string"==typeof innerResponse.data?innerResponse.data:innerResponse.statusText;return this.consoleHelper("error",type,msg,innerResponse.data)}}},{key:"request",value:function(endpoint){var _this=this,method=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"get",data=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,extraHeaders=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},returnFullResponse=arguments.length>4&&void 0!==arguments[4]&&arguments[4],headers={"X-Authorization":this.options.apiKey,"X-Chec-Agent":"commerce.js/v2","Content-Type":"application/json"},params="get"===method?data:null,requestBody="get"===method?null:data,timeout=this.options.timeoutMs||6e4,axiosConfig=this.options.axiosConfig||{},baseUrl=this.options.url;"/"!==baseUrl.substring(baseUrl.length-1)&&(baseUrl+="/");var promise=axios__default.default(_objectSpread$2(_objectSpread$2({url:endpoint,method:method,baseURL:"".concat(baseUrl).concat(this.options.version,"/"),params:params,data:requestBody,timeout:timeout},axiosConfig),{},{headers:_objectSpread$2(_objectSpread$2(_objectSpread$2({},headers),axiosConfig.headers),extraHeaders)}));if(returnFullResponse)return promise;var eventCallback=this.options.eventCallback;return promise.then((function(response){if(_this.consoleHelper&&_this.options.debug&&"object"===_typeof__default.default(response.data._console)&&_this.consoleHelper.apply(_this,_toConsumableArray__default.default(response.data._console)),"object"!==_typeof__default.default(response.data)||Array.isArray(response.data))return response.data;var _response$data=response.data,_event=_response$data._event,otherData=_objectWithoutProperties__default.default(_response$data,["_event"]);return"string"==typeof _event&&"function"==typeof eventCallback&&eventCallback(_event),otherData})).catch((function(error){if(_this.error(error),!error.response)throw error;throw{message:"Unsuccessful response (".concat(error.response.status,": ").concat(error.response.statusText,") received"),statusCode:error.response.status,statusText:error.response.statusText,data:error.response.data,originalError:error}}))}}]),Commerce}();module.exports=Commerce;