typedux
Version:
Slightly adjusted Redux (awesome by default) for TS
25 lines • 1.2 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMockRootReducer = void 0;
const index_1 = require("../../util/index");
const DumbReducer_1 = __importDefault(require("../../reducers/DumbReducer"));
const index_2 = require("../../reducers/index");
const guard_1 = require("@3fv/guard");
/**
* Make root reducer
*
* @param store
* @param leafReducersOrStates
* @param store
* @param leafReducersOrStates
*/
function createMockRootReducer(store, ...leafReducersOrStates) {
let leafReducers = leafReducersOrStates.filter(it => index_1.isFunction(guard_1.getValue(() => it.leaf))), leafStates = leafReducersOrStates.filter(it => !index_1.isFunction(guard_1.getValue(() => it.leaf)) && index_1.isString(guard_1.getValue(() => it.type)));
leafReducers = [...leafReducers, ...leafStates.map(state => new DumbReducer_1.default(state))];
return new index_2.RootReducer(store, null, ...leafReducers);
}
exports.createMockRootReducer = createMockRootReducer;
//# sourceMappingURL=createMockRootReducer.js.map
;