UNPKG

nestjs-redis-plus

Version:
32 lines (31 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSocketIoRedisEmitter = exports.createSocketIoRedisAdapter = void 0; const redis_emitter_1 = require("@socket.io/redis-emitter"); const redis_adapter_1 = require("@socket.io/redis-adapter"); const redis_utils_1 = require("./common/redis.utils"); const socket_io_redis_utils_1 = require("./common/socket-io-redis.utils"); const createSocketIoRedisAdapter = (clientName, adapterOptions) => ({ provide: (0, socket_io_redis_utils_1.getAdapterToken)(clientName), useFactory: async (client) => { const pubClient = client.duplicate(); const subClient = client.duplicate(); if (pubClient.status !== "connecting") await pubClient.connect(); if (subClient.status !== "connecting") await subClient.connect(); const adapterConstructor = (0, redis_adapter_1.createAdapter)(pubClient, subClient, adapterOptions); return adapterConstructor; }, inject: [(0, redis_utils_1.getRedisToken)(clientName)], }); exports.createSocketIoRedisAdapter = createSocketIoRedisAdapter; const createSocketIoRedisEmitter = (clientName, emitterOptions, nsp) => ({ provide: (0, socket_io_redis_utils_1.getEmitterToken)(clientName), useFactory: (client) => { const emitter = new redis_emitter_1.Emitter(client, emitterOptions, nsp); return emitter; }, inject: [(0, redis_utils_1.getRedisToken)(clientName)], }); exports.createSocketIoRedisEmitter = createSocketIoRedisEmitter;