UNPKG

@shopgate/engage

Version:
1 lines 1.98 kB
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{getGeolocation,shouldFetchData}from'@shopgate/engage/core';import{setUserGeolocation}from"../action-creators";import{getUserGeolocation}from"../selectors";export default(function(){var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref$silent=_ref.silent,silent=_ref$silent===void 0?false:_ref$silent,_ref$useFallback=_ref.useFallback,useFallback=_ref$useFallback===void 0?false:_ref$useFallback;return(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(dispatch,getState){var geolocation;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:geolocation=getUserGeolocation(getState());if(shouldFetchData(geolocation)){_context.next=3;break;}return _context.abrupt("return",Promise.resolve(geolocation));case 3:_context.prev=3;_context.next=6;return dispatch(getGeolocation({useSettingsModal:!silent,requestPermissions:!useFallback}));case 6:geolocation=_context.sent;dispatch(setUserGeolocation(geolocation,silent));return _context.abrupt("return",geolocation);case 11:_context.prev=11;_context.t0=_context["catch"](3);return _context.abrupt("return",null);case 14:case"end":return _context.stop();}},_callee,null,[[3,11]]);}));return function(_x,_x2){return _ref2.apply(this,arguments);};}());});