@rxx/core
Version:
React MVI micro framework.
17 lines (16 loc) • 632 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var flatscan_1 = require("./observable/flatscan");
var SystemEvent;
(function (SystemEvent) {
SystemEvent["REPLACE_STATE"] = "@System::replace-state";
})(SystemEvent = exports.SystemEvent || (exports.SystemEvent = {}));
function reducer(source, handler, initial, options) {
return source.pipe(flatscan_1.flatScan(function (state, payload) {
if (payload.type === SystemEvent.REPLACE_STATE) {
return payload.payload.state;
}
return handler(state, payload);
}, initial, options));
}
exports.reducer = reducer;