UNPKG

lml-main

Version:

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

43 lines 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var Actions = require("../actions"); var ts_utils_1 = require("@lml/ts-utils"); exports.BOOKING_API_REDUCER_KEY = 'bookings'; exports.initialBookingState = { byId: {}, byStatus: {}, searchResults: [], }; exports.bookingApiReducer = function (state, action) { if (state === void 0) { state = exports.initialBookingState; } switch (action.type) { case Actions.SET_BOOKING_BY_ID: { return setBookingById(state, action); } case Actions.SET_BOOKINGS_BY_ID_BATCH: { return setBookingsByIdBatch(state, action); } case Actions.SET_BOOKING_STATUS: { return setBookingStatus(state, action); } case Actions.SET_BOOKING_STATUS_BATCH: { return setBookingStatusBatch(state, action); } default: { return state; } } }; var setBookingById = function (state, action) { return (tslib_1.__assign({}, state, { byId: tslib_1.__assign({}, state.byId, (_a = {}, _a[action.booking.id] = action.booking, _a)) })); var _a; }; var setBookingsByIdBatch = function (state, action) { return (tslib_1.__assign({}, state, { byId: tslib_1.__assign({}, state.byId, ts_utils_1.arrayToMap(action.bookings, 'id')) })); }; var setBookingStatus = function (state, action) { return (tslib_1.__assign({}, state, { byStatus: tslib_1.__assign({}, state.byStatus, (_a = {}, _a[action.status.id] = action.status, _a)) })); var _a; }; var setBookingStatusBatch = function (state, action) { return (tslib_1.__assign({}, state, { byStatus: tslib_1.__assign({}, state.byStatus, ts_utils_1.arrayToMap(action.statuses, 'id')) })); }; var setBookingsSearch = function (state, action) { return (tslib_1.__assign({}, state, { searchResults: action.bookings.map(function (o) { return o.id; }) })); }; //# sourceMappingURL=data.js.map