redux-dynamic-modules-beacon
Version:
redux-beacon integration for redux dynamic modules.
31 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventsManager = void 0;
var tslib_1 = require("tslib");
var array_flatten_1 = tslib_1.__importDefault(require("array-flatten"));
var EventsManager = /** @class */ (function () {
function EventsManager() {
var _this = this;
this.eventsMaps = [];
this.getEventsMap = function (action) {
return array_flatten_1.default(_this.getEventsMaps().map(function (mapper) { return mapper(action); }));
};
}
EventsManager.prototype.getEventsMaps = function () {
return this.eventsMaps.map(function (eventMapOrMapper) {
if (typeof eventMapOrMapper === 'function') {
return eventMapOrMapper;
}
return function (action) { return eventMapOrMapper[action.type]; };
});
};
EventsManager.prototype.addEventsMap = function (eventMap) {
this.eventsMaps.push(eventMap);
};
EventsManager.prototype.removeEventsMap = function (eventMap) {
this.eventsMaps = this.eventsMaps.filter(function (map) { return map !== eventMap; });
};
return EventsManager;
}());
exports.EventsManager = EventsManager;
//# sourceMappingURL=EventsManager.js.map