UNPKG

react-application-core

Version:

A react-based application core for the business applications.

74 lines 3.6 kB
"use strict"; 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.ChannelActionBuilder = void 0; var redux_effects_promise_1 = require("redux-effects-promise"); var definition_1 = require("../definition"); var channel_1 = require("../channel"); var util_1 = require("../util"); var notification_action_builder_1 = require("./notification-action.builder"); var di_1 = require("../di"); var ChannelActionBuilder = /** @class */ (function () { function ChannelActionBuilder() { } /** * @stable [06.11.2020] * @param payload */ ChannelActionBuilder.buildReceiveMessagePlainAction = function (payload) { var data = { payload: payload }; return { type: definition_1.$CHANNEL_RECEIVE_MESSAGE_ACTION_TYPE, data: data }; }; /** * @stable [06.11.2020] * @param payload */ ChannelActionBuilder.buildReceiveMessageAction = function (payload) { var plainAction = this.buildReceiveMessagePlainAction(payload); return redux_effects_promise_1.EffectsAction.create(plainAction.type, plainAction.data); }; /** * @stable [06.11.2020] * @param payload */ ChannelActionBuilder.buildReplaceMessagesPlainAction = function (payload) { var data = { payload: payload }; return { type: definition_1.$CHANNEL_REPLACE_MESSAGES_ACTION_TYPE, data: data }; }; /** * @stable [06.11.2020] * @param payload */ ChannelActionBuilder.buildReplaceMessagesAction = function (payload) { var plainAction = this.buildReplaceMessagesPlainAction(payload); return redux_effects_promise_1.EffectsAction.create(plainAction.type, plainAction.data); }; /** * @stable [06.11.2020] * @param payload * @param wrapper * @param errorHandler */ ChannelActionBuilder.buildFilteredCommandResultMessagesAction = function (payload, wrapper, errorHandler) { var ip = payload.ip; var messages = util_1.Selectors.channelMessagesByIp(wrapper, ip) || []; var currentCommandResult = new channel_1.PayloadWrapper(payload.data).getCommandResult(); return __spreadArrays([ this.buildReplaceMessagesAction({ ip: ip, messages: messages.filter(function (message) { return util_1.ConditionUtils.ifNotNilThanValue(new channel_1.PayloadWrapper(message.data).getCommandResult(), function (commandResult) { return commandResult.getUuid() !== currentCommandResult.getUuid(); }, true); }), }) ], util_1.ConditionUtils.ifNotNilThanValue(currentCommandResult.getData(), function (resultData) { return util_1.TypeUtils.isFn(errorHandler) ? util_1.ConditionUtils.ifNotNilThanValue(errorHandler(resultData), function (errorMessage) { return [notification_action_builder_1.NotificationActionBuilder.buildErrorAction(errorMessage)]; }, []) : [notification_action_builder_1.NotificationActionBuilder.buildErrorAction(di_1.DiServices.settings().messages.HARDWARE_ERROR)]; }, [])); }; return ChannelActionBuilder; }()); exports.ChannelActionBuilder = ChannelActionBuilder; //# sourceMappingURL=channel-action.builder.js.map