UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

55 lines (54 loc) 5.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "reducer", { enumerable: true, get: function() { return reducer; } }); function reducer(state, action) { switch(action.type){ case 'REQUEST': { const newState = { ...state }; action.docs.forEach(({ relationTo, value })=>{ if (typeof newState[relationTo] !== 'object') { newState[relationTo] = {}; } newState[relationTo][value] = null; }); return newState; } case 'ADD_LOADED': { const newState = { ...state }; if (typeof newState[action.relationTo] !== 'object') { newState[action.relationTo] = {}; } const unreturnedIDs = [ ...action.idsToLoad ]; if (Array.isArray(action.docs)) { action.docs.forEach((doc)=>{ unreturnedIDs.splice(unreturnedIDs.indexOf(doc.id), 1); newState[action.relationTo][doc.id] = doc; }); } unreturnedIDs.forEach((id)=>{ newState[action.relationTo][id] = false; }); return newState; } default: { return state; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvUmVsYXRpb25zaGlwUHJvdmlkZXIvcmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50cyB9IGZyb20gJy4vaW5kZXgnXG5cbnR5cGUgUmVxdWVzdERvY3VtZW50cyA9IHtcbiAgZG9jczogeyByZWxhdGlvblRvOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfVtdXG4gIHR5cGU6ICdSRVFVRVNUJ1xufVxuXG50eXBlIEFkZExvYWRlZERvY3VtZW50cyA9IHtcbiAgZG9jczogVHlwZVdpdGhJRFtdXG4gIGlkc1RvTG9hZDogKG51bWJlciB8IHN0cmluZylbXVxuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgdHlwZTogJ0FERF9MT0FERUQnXG59XG5cbnR5cGUgQWN0aW9uID0gQWRkTG9hZGVkRG9jdW1lbnRzIHwgUmVxdWVzdERvY3VtZW50c1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogRG9jdW1lbnRzLCBhY3Rpb246IEFjdGlvbik6IERvY3VtZW50cyB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICBjYXNlICdSRVFVRVNUJzoge1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7IC4uLnN0YXRlIH1cblxuICAgICAgYWN0aW9uLmRvY3MuZm9yRWFjaCgoeyByZWxhdGlvblRvLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgbmV3U3RhdGVbcmVsYXRpb25Ub10gIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgbmV3U3RhdGVbcmVsYXRpb25Ub10gPSB7fVxuICAgICAgICB9XG4gICAgICAgIG5ld1N0YXRlW3JlbGF0aW9uVG9dW3ZhbHVlXSA9IG51bGxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBuZXdTdGF0ZVxuICAgIH1cblxuICAgIGNhc2UgJ0FERF9MT0FERUQnOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHsgLi4uc3RhdGUgfVxuICAgICAgaWYgKHR5cGVvZiBuZXdTdGF0ZVthY3Rpb24ucmVsYXRpb25Ub10gIT09ICdvYmplY3QnKSB7XG4gICAgICAgIG5ld1N0YXRlW2FjdGlvbi5yZWxhdGlvblRvXSA9IHt9XG4gICAgICB9XG4gICAgICBjb25zdCB1bnJldHVybmVkSURzID0gWy4uLmFjdGlvbi5pZHNUb0xvYWRdXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFjdGlvbi5kb2NzKSkge1xuICAgICAgICBhY3Rpb24uZG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgICB1bnJldHVybmVkSURzLnNwbGljZSh1bnJldHVybmVkSURzLmluZGV4T2YoZG9jLmlkKSwgMSlcbiAgICAgICAgICBuZXdTdGF0ZVthY3Rpb24ucmVsYXRpb25Ub11bZG9jLmlkXSA9IGRvY1xuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICB1bnJldHVybmVkSURzLmZvckVhY2goKGlkKSA9PiB7XG4gICAgICAgIG5ld1N0YXRlW2FjdGlvbi5yZWxhdGlvblRvXVtpZF0gPSBmYWxzZVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIG5ld1N0YXRlXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsicmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIm5ld1N0YXRlIiwiZG9jcyIsImZvckVhY2giLCJyZWxhdGlvblRvIiwidmFsdWUiLCJ1bnJldHVybmVkSURzIiwiaWRzVG9Mb2FkIiwiQXJyYXkiLCJpc0FycmF5IiwiZG9jIiwic3BsaWNlIiwiaW5kZXhPZiIsImlkIl0sIm1hcHBpbmdzIjoiOzs7OytCQWlCZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLFFBQVFDLEtBQWdCLEVBQUVDLE1BQWM7SUFDdEQsT0FBUUEsT0FBT0MsSUFBSTtRQUNqQixLQUFLO1lBQVc7Z0JBQ2QsTUFBTUMsV0FBVztvQkFBRSxHQUFHSCxLQUFLO2dCQUFDO2dCQUU1QkMsT0FBT0csSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxFQUFFQyxVQUFVLEVBQUVDLEtBQUssRUFBRTtvQkFDeEMsSUFBSSxPQUFPSixRQUFRLENBQUNHLFdBQVcsS0FBSyxVQUFVO3dCQUM1Q0gsUUFBUSxDQUFDRyxXQUFXLEdBQUcsQ0FBQztvQkFDMUI7b0JBQ0FILFFBQVEsQ0FBQ0csV0FBVyxDQUFDQyxNQUFNLEdBQUc7Z0JBQ2hDO2dCQUVBLE9BQU9KO1lBQ1Q7UUFFQSxLQUFLO1lBQWM7Z0JBQ2pCLE1BQU1BLFdBQVc7b0JBQUUsR0FBR0gsS0FBSztnQkFBQztnQkFDNUIsSUFBSSxPQUFPRyxRQUFRLENBQUNGLE9BQU9LLFVBQVUsQ0FBQyxLQUFLLFVBQVU7b0JBQ25ESCxRQUFRLENBQUNGLE9BQU9LLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2pDO2dCQUNBLE1BQU1FLGdCQUFnQjt1QkFBSVAsT0FBT1EsU0FBUztpQkFBQztnQkFFM0MsSUFBSUMsTUFBTUMsT0FBTyxDQUFDVixPQUFPRyxJQUFJLEdBQUc7b0JBQzlCSCxPQUFPRyxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDTzt3QkFDbkJKLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDRixJQUFJRyxFQUFFLEdBQUc7d0JBQ3BEWixRQUFRLENBQUNGLE9BQU9LLFVBQVUsQ0FBQyxDQUFDTSxJQUFJRyxFQUFFLENBQUMsR0FBR0g7b0JBQ3hDO2dCQUNGO2dCQUVBSixjQUFjSCxPQUFPLENBQUMsQ0FBQ1U7b0JBQ3JCWixRQUFRLENBQUNGLE9BQU9LLFVBQVUsQ0FBQyxDQUFDUyxHQUFHLEdBQUc7Z0JBQ3BDO2dCQUVBLE9BQU9aO1lBQ1Q7UUFFQTtZQUFTO2dCQUNQLE9BQU9IO1lBQ1Q7SUFDRjtBQUNGIn0=