UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

45 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var lodash_1 = require("lodash"); var Actions = require("../actions"); var initialState = { byId: {}, byJob: {}, }; exports.consolidationApiReducer = function (state, action) { if (state === void 0) { state = initialState; } switch (action.type) { case Actions.SET_CONSOLIDATIONS: { return setConsolidations(state, action); } case Actions.SET_CONSOLIDATION_BY_ID: { return setConsolidationById(state, action); } default: { return state; } } }; var setConsolidations = function (state, action) { var updates = action.consolidations .reduce(function (acc, curr) { lodash_1.set(acc, ['byId', curr.id], curr); // naming issue here with backend var jobs = curr.jobs || curr.Jobs; jobs.forEach(function (job) { lodash_1.set(acc, ['byJob', job.refId], curr.id); }); return acc; }, tslib_1.__assign({}, initialState)); return (tslib_1.__assign({}, state, { byId: tslib_1.__assign({}, state.byId, updates.byId), byJob: tslib_1.__assign({}, state.byJob, updates.byJob) })); }; var setConsolidationById = function (state, action) { var byJob = action.consolidation.jobs.reduce(function (acc, curr) { lodash_1.set(acc, curr.refId, action.consolidation.id); return acc; }, {}); return (tslib_1.__assign({}, state, { byId: tslib_1.__assign({}, state.byId, (_a = {}, _a[action.consolidation.id] = action.consolidation, _a)), byJob: tslib_1.__assign({}, state.byJob, byJob) })); var _a; }; //# sourceMappingURL=data.js.map