@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
43 lines (33 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createSocketEpicContext = createSocketEpicContext;
var _eventBus = require("../eventBus");
var _operators = require("rxjs/operators");
var _whenCompleted = require("../whenCompleted");
function createSocketEpicContext(params) {
var _buildDeps;
const {
request,
commands,
binary,
logger,
buildDeps
} = params;
const closed = commands.pipe((0, _whenCompleted.whenCompleted)());
const takeUntilClosed = () => stream => (0, _operators.takeUntil)(closed)(stream);
const subscribe = () => (0, _eventBus.fromEventBus)().pipe(takeUntilClosed());
const publish = () => stream => stream.pipe((0, _eventBus.pushToEventBus)());
const deps = (_buildDeps = buildDeps === null || buildDeps === void 0 ? void 0 : buildDeps()) !== null && _buildDeps !== void 0 ? _buildDeps : {};
return { ...deps,
id: request.id,
request,
binary,
publish,
subscribe,
logger,
takeUntilClosed
};
}
//# sourceMappingURL=createSocketEpicContext.js.map