"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.createStoreProvider = createStoreProvider;
var _react = _interopRequireDefault(require("react"));
var _reactRedux = require("react-redux");
var _Store = _interopRequireDefault(require("../../App/Store"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
 * Creates a StoreProvider react component with the complete redux store (as in production)
 * Returns the StoreProvider and the store object to make possible to interact with it
 * (eg. dispatch actions, or read the state)
 * @return {{StoreProvider: (function(*): *), store: Store<any, AnyAction> & Store<S & {}, A> & {dispatch: any}}}
 */
function createStoreProvider() {
  return {
    StoreProvider: function StoreProvider(props) {
      return /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, _extends({
        store: _Store["default"]
      }, props));
    },
    store: _Store["default"]
  };
}