@rxx/worker
Version:
React MVI micro framework.
21 lines • 1.49 kB
JavaScript
;
/**
* @fileoverview
* @author Taketoshi Aono
*/
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;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBR0gsa0RBSStCO0FBUS9CLElBQVksV0FFWDtBQUZELFdBQVksV0FBVztJQUNyQix1REFBd0MsQ0FBQTtBQUMxQyxDQUFDLEVBRlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFFdEI7QUFJRCxTQUFnQixPQUFPLENBQ3JCLE1BQXFCLEVBQ3JCLE9BR3lELEVBQ3pELE9BQXdDLEVBQ3hDLE9BQTJCO0lBRTNCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsbUJBQVEsQ0FDTixVQUFDLEtBQUssRUFBRSxPQUFPO1FBQ2IsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDOUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUM5QjtRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDLEVBQ0QsT0FBTyxFQUNQLE9BQU8sQ0FDUixDQUNGLENBQUM7QUFDSixDQUFDO0FBckJELDBCQXFCQyJ9