UNPKG

@nodearch/socket.io-redis

Version:

nodearch socket.io redis adapter

42 lines 2.02 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { createAdapter, createShardedAdapter } from '@socket.io/redis-adapter'; import { AppContext, Service } from '@nodearch/core'; import { AdapterConfig } from './adapter.config.js'; let RedisAdapterProvider = class RedisAdapterProvider { constructor(appContext, adapterConfig) { this.appContext = appContext; this.adapterConfig = adapterConfig; } get() { const { redisClient } = this.adapterConfig; const redisProviderInstance = this.appContext .getContainer() .get(redisClient); if (!redisProviderInstance) { throw new Error('Redis provider is not found'); } const pubClient = redisProviderInstance.get(); const subClient = pubClient.duplicate(); if (this.adapterConfig.shardedOptions) { return createShardedAdapter(pubClient, subClient, this.adapterConfig.shardedOptions); } else { return createAdapter(pubClient, subClient, this.adapterConfig.options); } } }; RedisAdapterProvider = __decorate([ Service({ export: true }), __metadata("design:paramtypes", [AppContext, AdapterConfig]) ], RedisAdapterProvider); export { RedisAdapterProvider }; //# sourceMappingURL=adapter.js.map