react-application-core
Version:
A react-based application core for the business applications.
74 lines • 3.6 kB
JavaScript
;
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