UNPKG

typedux

Version:

Slightly adjusted Redux (awesome by default) for TS

81 lines 3.57 kB
var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "redux", "../../store/ObservableStore", "../../util"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.configureMockStoreFactory = void 0; var redux_1 = require("redux"); var ObservableStore_1 = require("../../store/ObservableStore"); var util_1 = require("../../util"); var Noop = (function () { }); /** * Create a new factory with the provided middlewares * to generate stores * * @param middlewares to install in the mock store * @returns {MockStoreFactory} */ function mockStoreFactory(middlewares, stateArgs, actionFactories) { if (middlewares === void 0) { middlewares = []; } if (stateArgs === void 0) { stateArgs = []; } if (actionFactories === void 0) { actionFactories = []; } return function (fromState, storeReducer, onStateChange, storeMixins) { if (storeReducer === void 0) { storeReducer = null; } if (onStateChange === void 0) { onStateChange = Noop; } if (storeMixins === void 0) { storeMixins = null; } // First calculate the store state if a function was provided var storeState = (util_1.isFunction(fromState)) ? fromState() : fromState; function makeStore() { var store = new ObservableStore_1.ObservableStore(ObservableStore_1.ObservableStore.makeSimpleReducers.apply(ObservableStore_1.ObservableStore, __spread(stateArgs)), null, null, storeState); if (storeMixins) Object.assign(store, storeMixins); actionFactories.forEach(function (factory) { return factory.setStore(store); }); store.subscribe(onStateChange); return store; } if (middlewares.length) { var addMiddleware = redux_1.applyMiddleware.apply(void 0, __spread(middlewares))(makeStore); return addMiddleware(storeReducer, fromState); } else { return makeStore(); } }; } function configureMockStoreFactory(middlewares, stateArgs, actionFactories) { if (middlewares === void 0) { middlewares = []; } if (stateArgs === void 0) { stateArgs = []; } if (actionFactories === void 0) { actionFactories = []; } return mockStoreFactory(middlewares, stateArgs, actionFactories); } exports.configureMockStoreFactory = configureMockStoreFactory; }); //# sourceMappingURL=MockStore.js.map