UNPKG

@aimee-blue/ab-service-kit

Version:
43 lines (34 loc) 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupBackground = setupBackground; var _shared = require("../shared"); var _teardown = require("../shared/teardown"); var _epics = require("../shared/epics"); var _eventBus = require("../shared/eventBus"); async function setupBackground(config, deps) { var _config$shouldUseDefa; const useDefault = (_config$shouldUseDefa = config.shouldUseDefaultBackgroundOperations) !== null && _config$shouldUseDefa !== void 0 ? _config$shouldUseDefa : true; if (config.background || useDefault) { var _config$background, _config$background2; const backgroundEpics = await ((_config$background = (_config$background2 = config.background) === null || _config$background2 === void 0 ? void 0 : _config$background2.call(config, deps)) !== null && _config$background !== void 0 ? _config$background : Promise.resolve([])); const logger = (0, _shared.createTaggedLogger)([], deps.logger); const epic = useDefault ? (0, _shared.mergeBackgroundEpics)(...backgroundEpics, ..._epics.defaultBackground) : (0, _shared.mergeBackgroundEpics)(...backgroundEpics); const result = epic((0, _eventBus.fromEventBus)(), { logger }).pipe((0, _eventBus.pushToEventBus)()); const subscription = result.subscribe({ error: err => { (0, _shared.registerError)(err); logger.error(`💥 CRITICAL! Background operations has failed`, err); } }); return async () => { subscription.unsubscribe(); }; } else { return _teardown.noop; } } //# sourceMappingURL=background.js.map