@nestjs-redis/socket.io-adapter 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestjs-redis/socket.io-adapter",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "license": "MIT",
5
5
  "author": "Saba Pochkhua <saba.pochkhua@gmail.com> (https://github.com/CSenshi)",
6
6
  "description": "Redis-powered Socket.IO adapter for NestJS enabling scalable WebSocket connections",
@@ -1,11 +1,9 @@
1
- import { IoAdapter } from '@nestjs/platform-socket.io';
1
+ import type { INestApplication, WebSocketAdapter } from '@nestjs/common';
2
2
  import type { RedisClientType } from 'redis';
3
- export declare class RedisIoAdapter extends IoAdapter {
4
- private pubClient;
5
- private subClient;
6
- private adapterConstructor;
3
+ export interface RedisIoAdapterInstance extends WebSocketAdapter {
7
4
  connectToRedis(redisClient: RedisClientType): Promise<void>;
8
- createIOServer(port: number, options?: Parameters<IoAdapter['createIOServer']>[1]): ReturnType<IoAdapter['createIOServer']>;
9
- close(server: Parameters<IoAdapter['close']>[0]): Promise<void>;
5
+ createIOServer(port: number, options?: unknown): unknown;
10
6
  }
7
+ export type RedisIoAdapterConstructor = new (app: INestApplication) => RedisIoAdapterInstance;
8
+ export declare function getIoAdapterCls(): Promise<RedisIoAdapterConstructor>;
11
9
  //# sourceMappingURL=redis-io.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-io.adapter.d.ts","sourceRoot":"","sources":["../../../../../packages/socket.io-adapter/src/lib/redis-io.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,kBAAkB,CAA+C;IAEnE,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,cAAc,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GACnD,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAM3B,KAAK,CAClB,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC;CAOjB"}
1
+ {"version":3,"file":"redis-io.adapter.d.ts","sourceRoot":"","sources":["../../../../../packages/socket.io-adapter/src/lib/redis-io.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1D;AAED,MAAM,MAAM,yBAAyB,GAAG,KACtC,GAAG,EAAE,gBAAgB,KAClB,sBAAsB,CAAC;AAE5B,wBAAsB,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAmC1E"}
@@ -1,25 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RedisIoAdapter = void 0;
4
- const platform_socket_io_1 = require("@nestjs/platform-socket.io");
5
- const redis_adapter_1 = require("@socket.io/redis-adapter");
6
- class RedisIoAdapter extends platform_socket_io_1.IoAdapter {
7
- async connectToRedis(redisClient) {
8
- this.pubClient = redisClient;
9
- this.subClient = this.pubClient.duplicate();
10
- await this.subClient.connect();
11
- this.adapterConstructor = (0, redis_adapter_1.createAdapter)(this.pubClient, this.subClient);
12
- }
13
- createIOServer(port, options) {
14
- const server = super.createIOServer(port, options);
15
- server.adapter(this.adapterConstructor);
16
- return server;
17
- }
18
- async close(server) {
19
- super.close(server);
20
- if (this.subClient) {
21
- await this.subClient.quit();
3
+ exports.getIoAdapterCls = getIoAdapterCls;
4
+ async function getIoAdapterCls() {
5
+ const { IoAdapter } = await import('@nestjs/platform-socket.io');
6
+ const { createAdapter } = await import('@socket.io/redis-adapter');
7
+ class RedisIoAdapter extends IoAdapter {
8
+ async connectToRedis(redisClient) {
9
+ this.pubClient = redisClient;
10
+ this.subClient = this.pubClient.duplicate();
11
+ await this.subClient.connect();
12
+ this.adapterConstructor = createAdapter(this.pubClient, this.subClient);
13
+ }
14
+ createIOServer(port, options) {
15
+ const server = super.createIOServer(port, options);
16
+ server.adapter(this.adapterConstructor);
17
+ return server;
18
+ }
19
+ async close(server) {
20
+ super.close(server);
21
+ if (this.subClient) {
22
+ await this.subClient.quit();
23
+ }
22
24
  }
23
25
  }
26
+ return RedisIoAdapter;
24
27
  }
25
- exports.RedisIoAdapter = RedisIoAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-redis-adapter.d.ts","sourceRoot":"","sources":["../../../../../packages/socket.io-adapter/src/lib/setup-redis-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWvD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsBf"}
1
+ {"version":3,"file":"setup-redis-adapter.d.ts","sourceRoot":"","sources":["../../../../../packages/socket.io-adapter/src/lib/setup-redis-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWvD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -19,7 +19,8 @@ async function setupRedisAdapter(app, redisToken) {
19
19
  throw new exceptions_2.RedisAdapterAlreadySetUpException();
20
20
  }
21
21
  appSet.add(app);
22
- const redisIoAdapter = new redis_io_adapter_1.RedisIoAdapter(app);
22
+ const cls = await (0, redis_io_adapter_1.getIoAdapterCls)();
23
+ const redisIoAdapter = new cls(app);
23
24
  try {
24
25
  const moduleRef = app.get(core_1.ModuleRef);
25
26
  const redisClient = moduleRef.get(RedisToken(redisToken), {