UNPKG

1.97 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4exports.__esModule = true;
5exports.statusReducer = void 0;
6var _merge2 = _interopRequireDefault(require("lodash/merge"));
7var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
8var _gatsbyCoreUtils = require("gatsby-core-utils");
9const defaultState = {
10 PLUGINS_HASH: ``,
11 LAST_NODE_COUNTER: 0,
12 plugins: {},
13 cdnObfuscatedPrefix: ``
14};
15const statusReducer = (state = defaultState, action) => {
16 var _state$cdnObfuscatedP, _action$plugin;
17 switch (action.type) {
18 case `DELETE_CACHE`:
19 return {
20 ...defaultState,
21 cdnObfuscatedPrefix: (_state$cdnObfuscatedP = state.cdnObfuscatedPrefix) !== null && _state$cdnObfuscatedP !== void 0 ? _state$cdnObfuscatedP : ``
22 };
23 case `INIT`:
24 {
25 if (!state.cdnObfuscatedPrefix) {
26 state.cdnObfuscatedPrefix = _gatsbyCoreUtils.uuid.v4();
27 }
28 return state;
29 }
30 case `UPDATE_PLUGINS_HASH`:
31 return {
32 ...state,
33 PLUGINS_HASH: action.payload
34 };
35 case `SET_PLUGIN_STATUS`:
36 if (!action.plugin || !((_action$plugin = action.plugin) !== null && _action$plugin !== void 0 && _action$plugin.name)) {
37 throw new Error(`You can't set plugin status without a plugin`);
38 }
39 if (!(0, _isObject2.default)(action.payload)) {
40 throw new Error(`You must pass an object into setPluginStatus. What was passed in was ${JSON.stringify(action.payload, null, 4)}`);
41 }
42 return {
43 ...state,
44 plugins: {
45 ...state.plugins,
46 [action.plugin.name]: (0, _merge2.default)({}, state.plugins[action.plugin.name], action.payload)
47 }
48 };
49 case `CREATE_NODE`:
50 state.LAST_NODE_COUNTER = action.payload.internal.counter;
51 return state;
52 default:
53 return state;
54 }
55};
56exports.statusReducer = statusReducer;
57//# sourceMappingURL=status.js.map
\No newline at end of file