@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
31 lines (27 loc) • 997 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setupSockets = setupSockets;
var _epics = require("../shared/epics");
var _sockets = require("../shared/sockets");
async function setupSockets(server, config, sharedDeps, deps = {
getRegistry: _sockets.getRegistry
}) {
const defaultPipelines = typeof config.shouldUseDefaultEndpoints !== 'boolean' || config.shouldUseDefaultEndpoints ? (0, _epics.defaultSocketsMap)() : {};
const configPipelines = await (config.sockets ? config.sockets(sharedDeps) : Promise.resolve({}));
const pipelines = { ...defaultPipelines,
...configPipelines
};
const epicsByPath = new Map(Object.entries(pipelines));
const registry = deps.getRegistry(server, epicsByPath, sharedDeps.logger);
registry.initialize(epicsByPath);
return async mode => {
if (mode === 'destroy') {
await registry.destroy();
} else {
await registry.deinitialize();
}
};
}
//# sourceMappingURL=sockets.js.map