UNPKG

react-application-core

Version:

A react-based application core for the business applications.

51 lines 2.49 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.channelReducer = void 0; var definition_1 = require("../definition"); var util_1 = require("../util"); /** * @stable [06.11.2020] * @param state * @param action */ exports.channelReducer = function (state, action) { var _a, _b, _c, _d; if (state === void 0) { state = definition_1.INITIAL_REDUX_CHANNELS_ENTITY; } var message = util_1.Selectors.payloadFromAction(action); switch (action.type) { case definition_1.$CHANNEL_REPLACE_MESSAGES_ACTION_TYPE: return __assign(__assign({}, state), (_a = {}, _a[message.ip] = __assign(__assign({}, state[message.ip]), { messages: message.messages }), _a)); case definition_1.$CHANNEL_RECEIVE_MESSAGE_ACTION_TYPE: switch (message.name) { case definition_1.CHANNEL_CONNECT_EVENT: return __assign(__assign({}, state), (_b = {}, _b[message.ip] = __assign(__assign({}, definition_1.INITIAL_REDUX_CHANNELS_ENTITY), { connected: true }), _b)); case definition_1.CHANNEL_DISCONNECT_EVENT: return __assign(__assign({}, state), (_c = {}, _c[message.ip] = __assign(__assign({}, definition_1.INITIAL_REDUX_CHANNELS_ENTITY), { connected: false }), _c)); default: var previousState = state[message.ip] || {}; return __assign(__assign({}, state), (_d = {}, _d[message.ip] = __assign(__assign({}, previousState), { messages: __spreadArrays((previousState.messages || []), [ message ]) }), _d)); } } return state; }; //# sourceMappingURL=channel.reducer.js.map