Files
30-seconds-of-code/node_modules/gatsby/dist/redux/reducers/status.js
2019-08-20 15:52:05 +02:00

38 lines
954 B
JavaScript

"use strict";
const _ = require(`lodash`);
module.exports = (state = {
plugins: {}
}, action) => {
switch (action.type) {
case `DELETE_CACHE`:
return {
plugins: {}
};
case `UPDATE_PLUGINS_HASH`:
return Object.assign({}, state, {
PLUGINS_HASH: action.payload
});
case `SET_PLUGIN_STATUS`:
if (!action.plugin && !action.plugin.name) {
throw new Error(`You can't set plugin status without a plugin`);
}
if (!_.isObject(action.payload)) {
throw new Error(`You must pass an object into setPluginStatus. What was passed in was ${JSON.stringify(action.payload, null, 4)}`);
}
return Object.assign({}, state, {
plugins: Object.assign({}, state.plugins, {
[action.plugin.name]: _.merge({}, state.plugins[action.plugin.name], action.payload)
})
});
default:
return state;
}
};
//# sourceMappingURL=status.js.map