UNPKG

react-application-core

Version:

A react-based application core for the business applications.

73 lines 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActionUtils = void 0; var redux_effects_promise_1 = require("redux-effects-promise"); /** * @stable [16.12.2020] * @param config */ var makeEntityActionBuilderFactory = function (config) { return Reflect.construct(/** @class */ (function () { function class_1() { } /** * @stable [16.12.2020] * @param replaced */ class_1.prototype.buildReplaceAction = function (replaced) { var payloadWrapper = { replaced: replaced }; return redux_effects_promise_1.EffectsAction.create(config.replace, payloadWrapper); }; /** * @stable [16.12.2020] */ class_1.prototype.buildDestroyAction = function () { var plainAction = this.buildDestroyPlainAction(); return redux_effects_promise_1.EffectsAction.create(plainAction.type); }; /** * @stable [16.12.2020] * @param updated */ class_1.prototype.buildUpdateAction = function (updated) { var payloadWrapper = { updated: updated }; return redux_effects_promise_1.EffectsAction.create(config.update, payloadWrapper); }; /** * @stable [16.12.2020] * @param selected */ class_1.prototype.buildSelectAction = function (selected) { var plainAction = this.buildSelectPlainAction(selected); return redux_effects_promise_1.EffectsAction.create(plainAction.type, plainAction.data); }; /** * @stable [16.12.2020] * @param selected */ class_1.prototype.buildSelectPlainAction = function (selected) { var payloadWrapper = { selected: selected }; return { type: config.select, data: payloadWrapper }; }; /** * @stable [16.12.2020] */ class_1.prototype.buildDestroyPlainAction = function () { return { type: config.destroy }; }; return class_1; }()), []); }; /** * @stable [16.12.2020] */ // tslint:disable:max-classes-per-file var ActionUtils = /** @class */ (function () { function ActionUtils() { } ActionUtils.entityActionBuilderFactory = makeEntityActionBuilderFactory; return ActionUtils; }()); exports.ActionUtils = ActionUtils; // tslint:enable:max-classes-per-file //# sourceMappingURL=action.js.map