@shopgate/engage
Version:
Shopgate's ENGAGE library.
10 lines • 2.28 kB
JavaScript
import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}import{PipelineRequest,EUNAUTHORIZED,EAUTHENTICATION,ENOTFOUND}from'@shopgate/engage/core';import{SHOPGATE_ORDER_GET_ORDER_DETAILS}from"../constants";import{requestOrderDetails,receiveOrderDetails,errorOrderDetails}from"../action-creators";/**
* Fetches details of an order.
* @param {Object} params Params
* @param {number} [params.orderId] Order Id
* @param {string} [params.orderNumber] Order Number
* @param {string} [params.email] Email
* @param {string} [params.phone] Phone Number
* @param {string} [params.token] Request params
* @returns {Function} A redux thunk.
*/var fetchOrderDetails=function fetchOrderDetails(){var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(dispatch){var request,response;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:dispatch(requestOrderDetails(params));request=new PipelineRequest(SHOPGATE_ORDER_GET_ORDER_DETAILS).setInput(params).setErrorBlacklist([EUNAUTHORIZED,EAUTHENTICATION,ENOTFOUND]).dispatch();_context.prev=2;_context.next=5;return request;case 5:response=_context.sent;dispatch(receiveOrderDetails(params,response.order));return _context.abrupt("return",response.order);case 10:_context.prev=10;_context.t0=_context["catch"](2);dispatch(errorOrderDetails(_context.t0,params));return _context.abrupt("return",null);case 14:case"end":return _context.stop();}},_callee,null,[[2,10]]);}));return function(_x){return _ref.apply(this,arguments);};}());};export default fetchOrderDetails;