UNPKG

@aimee-blue/ab-service-kit

Version:
50 lines (40 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeBackgroundEpics = mergeBackgroundEpics; exports.mergeEpics = mergeEpics; exports.mergeActionEpics = void 0; var _rxjs = require("rxjs"); var _retryWithBackoff = require("./retryWithBackoff"); var _abShared = require("@aimee-blue/ab-shared"); function mergeBackgroundEpics(...epics) { return (...[events, ctx, ...rest]) => { return (0, _rxjs.merge)(...epics.map(epic => (0, _rxjs.defer)(() => { var _epic$buildDeps, _epic$buildDeps2; return epic(events, { ...((_epic$buildDeps = (_epic$buildDeps2 = epic.buildDeps) === null || _epic$buildDeps2 === void 0 ? void 0 : _epic$buildDeps2.call(epic)) !== null && _epic$buildDeps !== void 0 ? _epic$buildDeps : {}), ...ctx }, ...rest); }).pipe((0, _retryWithBackoff.retryWithBackoff)({ sourceDescription: `${epic.name} epic`, logger: ctx.logger })))); }; } function mergeEpics(name, ...epics) { const mergedEpic = _abShared.Utils.setFunctionName(name, (...[commands, ctx, ...rest]) => { return (0, _rxjs.merge)(...epics.map(epic => (0, _rxjs.defer)(() => { var _epic$buildDeps3, _epic$buildDeps4; return epic(commands, { ...((_epic$buildDeps3 = (_epic$buildDeps4 = epic.buildDeps) === null || _epic$buildDeps4 === void 0 ? void 0 : _epic$buildDeps4.call(epic)) !== null && _epic$buildDeps3 !== void 0 ? _epic$buildDeps3 : {}), ...ctx }, ...rest); }).pipe((0, _retryWithBackoff.retryWithBackoff)({ sourceDescription: `${epic.name} epic`, logger: ctx.logger })))); }); return mergedEpic; } const mergeActionEpics = mergeEpics; exports.mergeActionEpics = mergeActionEpics; //# sourceMappingURL=mergeEpics.js.map