UNPKG

@r3l/app

Version:
60 lines (46 loc) 1.66 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = configureStore; var _redux = require("redux"); var _reduxThunk = _interopRequireDefault(require("redux-thunk")); var _reduxSocket = _interopRequireDefault(require("redux-socket.io")); var _reducers = _interopRequireDefault(require("../reducers")); var _env = require("../../utils/env"); window.navigator.userAgent = 'react-native'; var io = require('socket.io-client/dist/socket.io'); var socket = io(_env.API_URL, { transports: ['websocket', 'polling'], jsonp: false }); socket.on('pingKeepAlive', function () { socket.emit('pingResponse'); }); socket.on('reconnect_attempt', function () { socket.io.opts.transports = ['websocket', 'polling']; }); var store; function configureStore() { var socketIoMiddleware = (0, _reduxSocket.default)(socket, 'server/'); store = (0, _redux.applyMiddleware)(_reduxThunk.default, socketIoMiddleware)(_redux.createStore)(_reducers.default // window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() ); socket.on('connect', function () { var s = store.getState(); if (s.auth && s.auth.user) { socket.emit('action', { type: 'server/storeUser', payload: s.auth.user._id }); } }); // if (module.hot) { // module.hot.accept(() => { // const nextRootReducer = require('core/reducers/index').default; // store.replaceReducer(nextRootReducer); // }); // } return store; } exports.STORE = store; //# sourceMappingURL=configureStore.js.map