state-trooper
Version:
Application State Manager
27 lines (24 loc) • 607 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function applyStateChange(state, _ref) {
var path = _ref.path;
var action = _ref.action;
var value = _ref.value;
switch (action) {
case "set":
return state.mergeIn(path, value);
case "add":
var list = state.getIn(path).push(value);
return state.setIn(path, list);
case "remove":
return state.removeIn(path);
case "replace":
return state.setIn(path, value);
default:
return state;
}
}
exports["default"] = applyStateChange;
module.exports = exports["default"];