@eleven-am/pondsocket-nest 0.0.118 → 0.0.119
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/index.d.ts +24 -14
- package/modules/pondSocket.js +22 -1
- package/package.json +2 -2
- package/services/pondSocket.js +3 -1
package/index.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
Channel as PondChannel,
|
|
3
|
+
ConnectionContext,
|
|
4
|
+
EventContext,
|
|
5
|
+
IDistributedBackend,
|
|
6
|
+
JoinContext,
|
|
7
|
+
JoinParams,
|
|
8
|
+
LeaveEvent,
|
|
9
|
+
Params,
|
|
10
|
+
PondAssigns,
|
|
11
|
+
PondEvent,
|
|
12
|
+
PondEventMap,
|
|
13
|
+
PondMessage,
|
|
14
|
+
PondPresence,
|
|
15
|
+
UserData,
|
|
15
16
|
} from '@eleven-am/pondsocket/types';
|
|
16
|
-
import type {
|
|
17
|
+
import type {DynamicModule, ModuleMetadata, PipeTransform} from '@nestjs/common';
|
|
17
18
|
|
|
18
19
|
type Constructor<T> = new (...args: any[]) => T;
|
|
19
20
|
|
|
@@ -35,6 +36,13 @@ interface Metadata extends Omit<ModuleMetadata, 'controllers'> {
|
|
|
35
36
|
isGlobal?: boolean;
|
|
36
37
|
}
|
|
37
38
|
|
|
39
|
+
interface AsyncMetadata extends Omit<Metadata, 'backend'> {
|
|
40
|
+
isGlobal?: boolean;
|
|
41
|
+
inject?: any[];
|
|
42
|
+
imports?: any[];
|
|
43
|
+
useFactory: (...args: any[]) => Promise<IDistributedBackend> | IDistributedBackend;
|
|
44
|
+
}
|
|
45
|
+
|
|
38
46
|
type NestFuncType<Event extends string, Payload extends PondMessage, Presence extends PondPresence, Assigns extends PondAssigns = PondAssigns> = {
|
|
39
47
|
event?: Event;
|
|
40
48
|
broadcast?: Event;
|
|
@@ -273,5 +281,7 @@ declare function createParamDecorator<Input, ParamType> (callback: ParamDecorato
|
|
|
273
281
|
|
|
274
282
|
declare class PondSocketModule {
|
|
275
283
|
static forRoot({ guards, providers, imports, exports, isGlobal }: Metadata): DynamicModule;
|
|
284
|
+
|
|
285
|
+
static forRootAsync({ guards, providers, imports, exports, isGlobal, inject, useFactory }: AsyncMetadata): DynamicModule;
|
|
276
286
|
}
|
|
277
287
|
|
package/modules/pondSocket.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.PondSocketModule = void 0;
|
|
4
13
|
const nestjs_discovery_1 = require("@golevelup/nestjs-discovery");
|
|
@@ -13,12 +22,24 @@ class PondSocketModule {
|
|
|
13
22
|
provide: pondSocket_1.PondSocketService,
|
|
14
23
|
useFactory: (moduleRef, adapterHost, discovery) => {
|
|
15
24
|
var _a, _b, _c;
|
|
16
|
-
return new pondSocket_1.PondSocketService(moduleRef, discovery, adapterHost, (_a = metadata.guards) !== null && _a !== void 0 ? _a : [], (_b = metadata.pipes) !== null && _b !== void 0 ? _b : [], (_c = metadata.isExclusiveSocketServer) !== null && _c !== void 0 ? _c : false);
|
|
25
|
+
return new pondSocket_1.PondSocketService(moduleRef, discovery, adapterHost, (_a = metadata.guards) !== null && _a !== void 0 ? _a : [], (_b = metadata.pipes) !== null && _b !== void 0 ? _b : [], (_c = metadata.isExclusiveSocketServer) !== null && _c !== void 0 ? _c : false, metadata.backend);
|
|
17
26
|
},
|
|
18
27
|
inject: [core_1.ModuleRef, core_1.HttpAdapterHost, nestjs_discovery_1.DiscoveryService],
|
|
19
28
|
};
|
|
20
29
|
return this.buildModule(pondSocketProvider, metadata);
|
|
21
30
|
}
|
|
31
|
+
static forRootAsync(metadata) {
|
|
32
|
+
const pondSocketProvider = {
|
|
33
|
+
provide: pondSocket_1.PondSocketService,
|
|
34
|
+
useFactory: (moduleRef, adapterHost, discovery, ...args) => __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
var _a, _b, _c;
|
|
36
|
+
const resolvedMetadata = yield metadata.useFactory(...args);
|
|
37
|
+
return new pondSocket_1.PondSocketService(moduleRef, discovery, adapterHost, (_a = metadata.guards) !== null && _a !== void 0 ? _a : [], (_b = metadata.pipes) !== null && _b !== void 0 ? _b : [], (_c = metadata.isExclusiveSocketServer) !== null && _c !== void 0 ? _c : false, resolvedMetadata);
|
|
38
|
+
}),
|
|
39
|
+
inject: [core_1.ModuleRef, nestjs_discovery_1.DiscoveryService, core_1.HttpAdapterHost, ...(metadata.inject || [])],
|
|
40
|
+
};
|
|
41
|
+
return this.buildModule(pondSocketProvider, metadata);
|
|
42
|
+
}
|
|
22
43
|
static buildModule(provider, { guards = [], pipes = [], providers = [], imports = [], exports = [], isGlobal = false, }) {
|
|
23
44
|
const localGuards = (0, guards_1.getLocalGuards)();
|
|
24
45
|
const localPipes = (0, pipes_1.getLocalPipes)();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eleven-am/pondsocket-nest",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.119",
|
|
4
4
|
"description": "PondSocket is a fast simple socket server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"socket",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"pipeline": "npm run build && npm run push"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@eleven-am/pondsocket": "^0.1.
|
|
31
|
+
"@eleven-am/pondsocket": "^0.1.202",
|
|
32
32
|
"@golevelup/nestjs-discovery": "^5.0.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
package/services/pondSocket.js
CHANGED
|
@@ -26,13 +26,14 @@ const event_1 = require("../managers/event");
|
|
|
26
26
|
const join_1 = require("../managers/join");
|
|
27
27
|
const leave_1 = require("../managers/leave");
|
|
28
28
|
class PondSocketService {
|
|
29
|
-
constructor(moduleRef, discovery, adapterHost, globalGuards, globalPipes, isExclusiveSocketServer) {
|
|
29
|
+
constructor(moduleRef, discovery, adapterHost, globalGuards, globalPipes, isExclusiveSocketServer, distributedBackend) {
|
|
30
30
|
this.moduleRef = moduleRef;
|
|
31
31
|
this.discovery = discovery;
|
|
32
32
|
this.adapterHost = adapterHost;
|
|
33
33
|
this.globalGuards = globalGuards;
|
|
34
34
|
this.globalPipes = globalPipes;
|
|
35
35
|
this.isExclusiveSocketServer = isExclusiveSocketServer;
|
|
36
|
+
this.distributedBackend = distributedBackend;
|
|
36
37
|
this.logger = new common_1.Logger(PondSocketService.name);
|
|
37
38
|
}
|
|
38
39
|
onModuleInit() {
|
|
@@ -41,6 +42,7 @@ class PondSocketService {
|
|
|
41
42
|
const socket = new pondsocket_1.default({
|
|
42
43
|
server: this.adapterHost.httpAdapter.getHttpServer(),
|
|
43
44
|
exclusiveServer: this.isExclusiveSocketServer,
|
|
45
|
+
distributedBackend: this.distributedBackend,
|
|
44
46
|
});
|
|
45
47
|
instances.forEach((instance) => this.manageEndpoint(socket, instance));
|
|
46
48
|
});
|