dash-renderer
Version:
render dash components in react
31 lines (30 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = loading;
var _ramda = require("ramda");
function loading() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var action = arguments.length > 1 ? arguments[1] : undefined;
switch (action.type) {
case 'LOADED':
return action.payload.reduce((acc, load) => {
var loadPath = [JSON.stringify(load.path)];
var prev = (0, _ramda.pathOr)([], loadPath, acc);
return (0, _ramda.assocPath)(loadPath, prev.filter(loading => loading.property !== load.property), acc);
}, state);
case 'LOADING':
return action.payload.reduce((acc, load) => {
var loadPath = [JSON.stringify(load.path)];
var prev = (0, _ramda.pathOr)([], loadPath, acc);
if (!(0, _ramda.includes)(load, prev)) {
// duplicate outputs
prev.push(load);
}
return (0, _ramda.assocPath)(loadPath, prev, acc);
}, state);
default:
return state;
}
}