UNPKG

@nteract/myths

Version:

A redux-observable framework for better locality of dependencies

32 lines 1.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeRootReducer = exports.makeReducer = void 0; const immutable_1 = __importDefault(require("immutable")); exports.makeReducer = (reduce, appliesTo) => reduce === undefined ? (state, _action) => state : (state, action) => { if (appliesTo(action)) { return (reduce(state, action) || state); } else { return state; } }; exports.makeRootReducer = (myths, initialState) => (state = immutable_1.default.Record(initialState)(), action) => { const applicableMyths = Object .values(myths) .filter(myth => myth.appliesTo(action)); if (applicableMyths.length === 0) { return state; } else if (applicableMyths[0].reduce === undefined) { return state; } else { return applicableMyths[0].reduce(state, action); } }; //# sourceMappingURL=reducer.js.map