@shopgate/pwa-common 7.21.3-beta.2 → 7.22.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import React from'react';import PropTypes from'prop-types';import Portal from'react-portal';import classNames from'classnames';import styles from"./style";/**
1
+ import React from'react';import PropTypes from'prop-types';import{ConnectedReactPortal}from'@shopgate/engage/components';import classNames from'classnames';import styles from"./style";/**
2
2
  * The Modal component.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX.Element}
5
- */var Modal=function Modal(_ref){var children=_ref.children,classes=_ref.classes;return React.createElement(Portal,{isOpened:true},React.createElement("div",{className:classNames(styles.container,classes===null||classes===void 0?void 0:classes.container,'common__modal')},React.createElement("div",{className:classNames(styles.layout,classes===null||classes===void 0?void 0:classes.layout)},React.createElement("div",{className:classNames(styles.content,classes===null||classes===void 0?void 0:classes.content)},children))));};Modal.defaultProps={children:null,classes:{container:'',layout:'',content:''}};export default Modal;
5
+ */var Modal=function Modal(_ref){var children=_ref.children,classes=_ref.classes;return React.createElement(ConnectedReactPortal,{isOpened:true},React.createElement("div",{className:classNames(styles.container,classes===null||classes===void 0?void 0:classes.container,'common__modal')},React.createElement("div",{className:classNames(styles.layout,classes===null||classes===void 0?void 0:classes.layout)},React.createElement("div",{className:classNames(styles.content,classes===null||classes===void 0?void 0:classes.content)},children))));};Modal.defaultProps={children:null,classes:{container:'',layout:'',content:''}};export default Modal;
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable no-unused-vars */import React from'react';import{mount}from'enzyme';import{Provider}from'react-redux';import{configureStore}from"../../store";import modalReducer from"../../reducers/modal";import showModal from"../../actions/modal/showModal";import ModalContainer from"./index";// const store = configureStore({ modal: modalReducer });
2
2
  // Replacement for commented out configureStore()
3
- var store={};jest.mock('react-portal',function(){return function(_ref){var isOpened=_ref.isOpened,children=_ref.children;return isOpened?children:null;};});jest.mock('redux-logger',function(){return{createLogger:function createLogger(){return function(){return function(next){return function(action){return next(action);};};};}};});global.requestAnimationFrame=function(fn){return fn();};/**
3
+ var store={};jest.mock('redux-logger',function(){return{createLogger:function createLogger(){return function(){return function(next){return function(action){return next(action);};};};}};});global.requestAnimationFrame=function(fn){return fn();};/**
4
4
  * Some mock modal component.
5
5
  * @param {func} onConfirm Confirm callback
6
6
  * @param {func} onDismiss Dismiss callback
7
7
  * @constructor
8
- */var MockModal=function MockModal(_ref2){var onConfirm=_ref2.onConfirm,onDismiss=_ref2.onDismiss;return React.createElement("div",{className:"modal"},React.createElement("button",{className:"confirmBtn",onClick:onConfirm,type:"button"}),React.createElement("button",{className:"dismissBtn",onClick:onDismiss,type:"button"}));};describe.skip('<ModalContainer />',function(){var renderedElement;var dispatch=store.dispatch,getState=store.getState;/**
8
+ */var MockModal=function MockModal(_ref){var onConfirm=_ref.onConfirm,onDismiss=_ref.onDismiss;return React.createElement("div",{className:"modal"},React.createElement("button",{className:"confirmBtn",onClick:onConfirm,type:"button"}),React.createElement("button",{className:"dismissBtn",onClick:onDismiss,type:"button"}));};describe.skip('<ModalContainer />',function(){var renderedElement;var dispatch=store.dispatch,getState=store.getState;/**
9
9
  * The rendered component.
10
10
  */var renderComponent=function renderComponent(){renderedElement=mount(React.createElement(Provider,{store:store},React.createElement("div",{id:"container"},React.createElement(ModalContainer,{component:MockModal}))));};beforeEach(function(){// Reset the modals state before each test.
11
11
  getState().modal=[];renderComponent();});describe('Given the component was mounted to the DOM',function(){it('should match snapshot',function(){expect(renderedElement).toMatchSnapshot();});it('should show no modal',function(){expect(renderedElement.find('.modal').length).toBe(0);});describe('Given a modal gets dispatched',function(){var modalPromise;beforeEach(function(){modalPromise=dispatch(showModal({title:'Title',message:'Message'}));renderedElement.update();});it('should contain a modal item in the state',function(){expect(getState().modal.length).toBe(1);});it('should show the modal',function(){expect(renderedElement.find('.modal').length).toBe(1);});describe('Given the modal gets confirmed',function(){beforeEach(function(){renderedElement.find('.confirmBtn').simulate('click');});it('should resolve the promise as confirmed',function(){modalPromise.then(function(confirmed){return expect(confirmed).toBe(true);});});it('should contain no modal item in the state',function(){expect(getState().modal.length).toBe(0);});it('should not show the modal anymore',function(){expect(renderedElement.find('.modal').length).toBe(0);});});describe('Given the modal gets dismissed',function(){beforeEach(function(){renderedElement.find('.dismissBtn').simulate('click');});it('should resolve the promise as dismissed',function(){modalPromise.then(function(confirmed){return expect(confirmed).toBe(false);});});});});});});/* eslint-enable no-unused-vars */
@@ -1,4 +1,4 @@
1
- function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}import React,{Component}from'react';import PropTypes from'prop-types';import Portal from'react-portal';import{withForwardedRef}from'@shopgate/engage/core';import PickerModal from"./components/Modal";import PickerButton from"./components/Button";import PickerList from"./components/List";/**
1
+ function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}import React,{Component}from'react';import PropTypes from'prop-types';import{ConnectedReactPortal}from'@shopgate/engage/components';import{withForwardedRef}from'@shopgate/engage/core';import PickerModal from"./components/Modal";import PickerButton from"./components/Button";import PickerList from"./components/List";/**
2
2
  * Converts an item of any type (e.g. string or number)
3
3
  * to an object representation containing value and label properties.
4
4
  * @param {*} item - An item of any type.
@@ -37,4 +37,4 @@ if(!this.selectedItem||nextProps.value!==this.selectedItem.value){this.setState(
37
37
  */},{key:"selectedItem",get:function get(){return normalizeItem(this.props.items[this.state.selectedIndex]);}},{key:"render",value:/**
38
38
  * Renders the component.
39
39
  * @returns {JSX}
40
- */function render(){var _this3=this;var hasSelection=!!this.selectedItem;var buttonValue=hasSelection?this.selectedItem.label:'';var buttonLabel=hasSelection?this.props.label:this.props.placeholder;var buttonProps=_extends({},this.props.buttonProps,{label:buttonLabel,value:buttonValue,disabled:this.props.disabled,openList:this.props.disabled?null:function(){_this3.toggleOpenState(true);}});var modalProps={isOpen:this.state.isOpen,duration:this.props.duration,onClose:function onClose(){return _this3.toggleOpenState(false);}};var listProps={items:this.props.items.map(normalizeItem),selectedIndex:this.state.selectedIndex,onSelect:this.handleItemSelect};return React.createElement("div",{role:"button",className:"".concat(this.props.className," common__picker"),ref:this.props.forwardedRef,tabIndex:0,"aria-haspopup":true},React.createElement(this.props.buttonComponent,buttonProps),React.createElement(Portal,{onClose:function onClose(){return _this3.toggleOpenState(false);},isOpened:true},React.createElement(this.props.modalComponent,modalProps,React.createElement(this.props.listComponent,listProps))));}}]);}(Component);_defineProperty(Picker,"defaultProps",{buttonComponent:PickerButton,buttonProps:{},duration:300,disabled:false,forwardedRef:null,label:'',listComponent:PickerList,modalComponent:PickerModal,className:'',isOpen:false,items:[],onChange:function onChange(){},onClose:function onClose(){},onSelect:function onSelect(){},placeholder:'Pick ...',value:null});export default withForwardedRef(Picker);
40
+ */function render(){var _this3=this;var hasSelection=!!this.selectedItem;var buttonValue=hasSelection?this.selectedItem.label:'';var buttonLabel=hasSelection?this.props.label:this.props.placeholder;var buttonProps=_extends({},this.props.buttonProps,{label:buttonLabel,value:buttonValue,disabled:this.props.disabled,openList:this.props.disabled?null:function(){_this3.toggleOpenState(true);}});var modalProps={isOpen:this.state.isOpen,duration:this.props.duration,onClose:function onClose(){return _this3.toggleOpenState(false);}};var listProps={items:this.props.items.map(normalizeItem),selectedIndex:this.state.selectedIndex,onSelect:this.handleItemSelect};return React.createElement("div",{role:"button",className:"".concat(this.props.className," common__picker"),ref:this.props.forwardedRef,tabIndex:0,"aria-haspopup":true},React.createElement(this.props.buttonComponent,buttonProps),React.createElement(ConnectedReactPortal,{onClose:function onClose(){return _this3.toggleOpenState(false);},isOpened:true},React.createElement(this.props.modalComponent,modalProps,React.createElement(this.props.listComponent,listProps))));}}]);}(Component);_defineProperty(Picker,"defaultProps",{buttonComponent:PickerButton,buttonProps:{},duration:300,disabled:false,forwardedRef:null,label:'',listComponent:PickerList,modalComponent:PickerModal,className:'',isOpen:false,items:[],onChange:function onChange(){},onClose:function onClose(){},onSelect:function onSelect(){},placeholder:'Pick ...',value:null});export default withForwardedRef(Picker);
@@ -1,4 +1,4 @@
1
- import React from'react';import{mount}from'enzyme';import Picker from"./index";import PickerList from"./components/List";jest.mock('react-portal',function(){return function(_ref){var isOpened=_ref.isOpened,children=_ref.children;return isOpened?children:null;};});jest.mock('@shopgate/engage/core');describe('<Picker />',function(){var renderedElement;var renderedInstance;var mockItems=['String only',{value:'Value only'},{value:'value',label:'Value and label'}];var mockOnChange=jest.fn();var mockOnSelect=jest.fn();/**
1
+ import React from'react';import{mount}from'enzyme';import Picker from"./index";import PickerList from"./components/List";jest.mock('@shopgate/engage/components');jest.mock('@shopgate/engage/core');describe('<Picker />',function(){var renderedElement;var renderedInstance;var mockItems=['String only',{value:'Value only'},{value:'value',label:'Value and label'}];var mockOnChange=jest.fn();var mockOnSelect=jest.fn();/**
2
2
  * The view component
3
3
  * @param {Object} props The component props.
4
4
  */var renderComponent=function renderComponent(props){renderedElement=mount(React.createElement(Picker,props));renderedInstance=renderedElement.find('Picker').instance();};beforeEach(function(){renderComponent({items:mockItems,onChange:mockOnChange,onSelect:mockOnSelect});renderedElement.update();});describe('Given the component was mounted to the DOM',function(){it('should match snapshot',function(){expect(renderedElement).toMatchSnapshot();});it('should have no selected value',function(){expect(renderedInstance.selectedItem).toBe(null);});describe('Given picker component gets opened',function(){beforeEach(function(){renderedInstance.toggleOpenState(true);renderedElement.update();});it('should have isOpen state',function(){expect(renderedInstance.state.isOpen).toBe(true);});it('should render the picker list',function(){expect(renderedElement.find(PickerList).length).toBe(1);});it('should render the picker items',function(){expect(renderedElement.find('li button').length).toBe(mockItems.length);});describe('Given a item gets selected',function(){jest.useFakeTimers();beforeEach(function(){jest.clearAllMocks();renderedElement.find('li button').first().simulate('click');jest.runAllTimers();});afterEach(function(){jest.clearAllTimers();});it('should trigger onChange when the value changed',function(){expect(mockOnChange).toHaveBeenCalledTimes(1);});it('should trigger onSelect when the value changed',function(){expect(mockOnSelect).toHaveBeenCalledTimes(1);});it('should not trigger onChange when the value did not change, but trigger onSelect',function(){renderedInstance.setState({selectedIndex:0});renderedInstance.toggleOpenState(true);renderedElement.find('li button').first().simulate('click');jest.runAllTimers();expect(mockOnChange).toHaveBeenCalledTimes(1);expect(mockOnSelect).toHaveBeenCalledTimes(2);});});});});});
@@ -1 +1 @@
1
- export var APP_PLATFORM=Symbol('APP_PLATFORM');export var RESET_APP_REDUCERS=Symbol('RESET_APP_REDUCERS');export var DEFAULT_PRODUCTS_FETCH_PARAMS=Symbol('DEFAULT_PRODUCTS_FETCH_PARAMS');export var TAB_BAR_PATTERNS_BLACK_LIST=Symbol('TAB_BAR_PATTERNS_BLACK_LIST');export var CONFIGURATION_COLLECTION_KEY_BASE_URL='CONFIGURATION_COLLECTION_KEY_BASE_URL';export var PIPELINES=Symbol('PIPELINES');export var IS_CONNECT_EXTENSION_ATTACHED=Symbol('IS_CONNECT_EXTENSION_ATTACHED');
1
+ export var APP_PLATFORM='APP_PLATFORM';export var RESET_APP_REDUCERS='RESET_APP_REDUCERS';export var DEFAULT_PRODUCTS_FETCH_PARAMS='DEFAULT_PRODUCTS_FETCH_PARAMS';export var TAB_BAR_PATTERNS_BLACK_LIST='TAB_BAR_PATTERNS_BLACK_LIST';export var CONFIGURATION_COLLECTION_KEY_BASE_URL='CONFIGURATION_COLLECTION_KEY_BASE_URL';export var PIPELINES='PIPELINES';export var IS_CONNECT_EXTENSION_ATTACHED='IS_CONNECT_EXTENSION_ATTACHED';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopgate/pwa-common",
3
- "version": "7.21.3-beta.2",
3
+ "version": "7.22.0-beta.1",
4
4
  "description": "Common library for the Shopgate Connect PWA.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Shopgate <support@shopgate.com>",
@@ -15,12 +15,13 @@
15
15
  "connect"
16
16
  ],
17
17
  "dependencies": {
18
+ "@redux-devtools/extension": "^3.3.0",
18
19
  "@sentry/browser": "6.0.1",
19
- "@shopgate/pwa-benchmark": "7.21.3-beta.2",
20
+ "@shopgate/pwa-benchmark": "7.22.0-beta.1",
20
21
  "@virtuous/conductor": "~2.5.0",
21
22
  "@virtuous/react-conductor": "~2.5.0",
22
23
  "@virtuous/redux-persister": "1.1.0-beta.7",
23
- "classnames": "2.3.3",
24
+ "classnames": "2.5.1",
24
25
  "crypto-js": "3.1.9-1",
25
26
  "glamor": "^2.20.40",
26
27
  "gsap": "^3.6.0",
@@ -33,21 +34,21 @@
33
34
  "react-id-swiper": "~2.3.1",
34
35
  "react-inline-transition-group": "^2.2.1",
35
36
  "react-portal": "^3.1.0",
36
- "react-redux": "^5.1.2",
37
- "redux": "^4.0.1",
38
- "redux-devtools-extension": "^2.13.2",
37
+ "react-redux": "^8.1.3",
38
+ "redux": "^4.2.1",
39
39
  "redux-logger": "^3.0.6",
40
- "redux-thunk": "^2.2.0",
41
- "reselect": "^3.0.1",
40
+ "redux-thunk": "^2.4.2",
41
+ "reselect": "^4.1.8",
42
42
  "rxjs": "~5.5.12",
43
43
  "swiper": "~4.5.0",
44
44
  "url-search-params": "^0.10.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@shopgate/pwa-core": "7.21.3-beta.2",
47
+ "@shopgate/pwa-core": "7.22.0-beta.1",
48
+ "@types/react-portal": "^3.0.9",
48
49
  "lodash": "^4.17.4",
49
- "prop-types": "~15.7.2",
50
- "react": "~16.12.0",
51
- "react-dom": "~16.12.0"
50
+ "prop-types": "~15.8.1",
51
+ "react": "~16.14.0",
52
+ "react-dom": "~16.14.0"
52
53
  }
53
54
  }
package/store/index.js CHANGED
@@ -1,8 +1,8 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}import{createStore,applyMiddleware,compose}from'redux';import thunk from'redux-thunk';import{persistState}from'@virtuous/redux-persister';import benchmarkMiddleware from'@shopgate/pwa-benchmark/profilers/redux';import benchmarkController from'@shopgate/pwa-benchmark';import persistedReducers from"../collections/PersistedReducers";import initSubscribers from"../subscriptions";import appConfig,{themeName,shopNumber}from"../helpers/config";import makeRootReducer from"../reducers";import streams from"./middelwares/streams";import logger from"./middelwares/logger";/**
1
+ import{createStore,applyMiddleware}from'redux';import thunk from'redux-thunk';import{composeWithDevTools}from'@redux-devtools/extension';import{persistState}from'@virtuous/redux-persister';import benchmarkMiddleware from'@shopgate/pwa-benchmark/profilers/redux';import benchmarkController from'@shopgate/pwa-benchmark';import persistedReducers from"../collections/PersistedReducers";import initSubscribers from"../subscriptions";import appConfig,{themeName,shopNumber}from"../helpers/config";import makeRootReducer from"../reducers";import streams from"./middelwares/streams";import logger from"./middelwares/logger";/**
2
2
  * The current version of the state created by this reducer.
3
3
  * @type {string}
4
4
  */var STATE_VERSION='v3';var storeKey="shopgate-connect_".concat(shopNumber,"-").concat(themeName,"_").concat(STATE_VERSION);/**
5
- * Returns a normalized initialState from the localstorage.
5
+ * Returns a normalized initialState from the local storage.
6
6
  * @returns {Object}
7
7
  */function getInitialState(){if(!window.localStorage){return undefined;}var storedState=window.localStorage.getItem(storeKey);if(!storedState){return undefined;}var normalizedState=storedState.replace(new RegExp('"isFetching":true','g'),'"isFetching":false');return JSON.parse(normalizedState);}/**
8
8
  * Configures the redux store with all it's middleware and enhancers.
@@ -10,7 +10,7 @@ function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="s
10
10
  * @param {Array} subscribers The subscribers to the streams middleware.
11
11
  * @return {Object} The redux store.
12
12
  */export function configureStore(reducers,subscribers){// Starts benchmark controller BEFORE adding the middleware.
13
- if(appConfig.benchmark){benchmarkController.startup();}var composeWithDevTools=(typeof window==="undefined"?"undefined":_typeof(window))==='object'&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:compose;var store=createStore(makeRootReducer(reducers),getInitialState(),composeWithDevTools(applyMiddleware.apply(void 0,[thunk].concat(appConfig.benchmark?[benchmarkMiddleware]:[],[streams,logger])),persistState({key:storeKey,paths:persistedReducers.getAll()})));initSubscribers(subscribers);if(window.Cypress){window.store=store;}return store;}/**
13
+ if(appConfig.benchmark){benchmarkController.startup();}var store=createStore(makeRootReducer(reducers),getInitialState(),composeWithDevTools(applyMiddleware.apply(void 0,[thunk].concat(appConfig.benchmark?[benchmarkMiddleware]:[],[streams,logger])),persistState({key:storeKey,paths:persistedReducers.getAll()})));initSubscribers(subscribers);if(window.Cypress){window.store=store;}return store;}/**
14
14
  * Configures a mocked store for tests.
15
15
  * @param {Function} reducers The reducers to use in the mock store.
16
16
  * @param {Array} subscribers Streams subscribers to initialize.