UNPKG

nestjs-io-client

Version:
51 lines 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createProviderName = exports.createAsyncOptionsProvider = exports.createIOAsyncProvider = exports.createIOProvider = void 0; const rxjs_1 = require("rxjs"); const socket_io_client_1 = require("socket.io-client"); const io_client_constants_1 = require("./io-client.constants"); const io_client_utils_1 = require("./io-client.utils"); async function createIOClient(_options) { const { uri, options } = _options; const client = (0, socket_io_client_1.io)(uri, options !== null && options !== void 0 ? options : {}); if (!(options === null || options === void 0 ? void 0 : options.autoConnect)) { return client; } client.connect(); return client; } function createIOProvider(options) { return { provide: (0, io_client_utils_1.getIoClientToken)(), useFactory: async () => { return await (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => createIOClient(options))); }, }; } exports.createIOProvider = createIOProvider; function createIOAsyncProvider() { return { provide: (0, io_client_utils_1.getIoClientToken)(), useFactory: async (options) => { return (0, rxjs_1.lastValueFrom)((0, rxjs_1.defer)(() => createIOClient(options))); }, inject: [io_client_constants_1.IOCLIENT_MODULE_OPTIONS], }; } exports.createIOAsyncProvider = createIOAsyncProvider; function createAsyncOptionsProvider(options) { return { provide: io_client_constants_1.IOCLIENT_MODULE_OPTIONS, useFactory: options.useFactory, inject: options.inject || [], }; } exports.createAsyncOptionsProvider = createAsyncOptionsProvider; function createProviderName() { return { provide: io_client_constants_1.IOCLIENT_PROVIDER_NAME, useValue: (0, io_client_utils_1.getIoClientToken)(), }; } exports.createProviderName = createProviderName; //# sourceMappingURL=io-client.provider.js.map