@fluojs/socket.io 1.0.0-beta.4 → 1.0.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/dist/adapter.d.ts +2 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +36 -4
- package/package.json +9 -9
package/dist/adapter.d.ts
CHANGED
|
@@ -83,11 +83,13 @@ export declare class SocketIoLifecycleService implements OnApplicationBootstrap,
|
|
|
83
83
|
private createBunSocketIoBinding;
|
|
84
84
|
private tryResolvePathname;
|
|
85
85
|
private matchesSocketIoEnginePath;
|
|
86
|
+
private ensureBunRealtimeBindingForRawServerAccess;
|
|
86
87
|
private assertNoServerBackedGatewayOptIn;
|
|
87
88
|
private prepareNamespaceAttachments;
|
|
88
89
|
private resolveNamespace;
|
|
89
90
|
private resolveContextNamespace;
|
|
90
91
|
private resolveRequiredNamespace;
|
|
92
|
+
private resolveRoomOperationTarget;
|
|
91
93
|
private resolveSocket;
|
|
92
94
|
private bindNamespaceHandlers;
|
|
93
95
|
private runConnectionGuard;
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAiC,MAAM,cAAc,CAAC;AAE1F,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,MAAM,EAAmD,MAAM,WAAW,CAAC;AAGpF,OAAO,KAAK,EAEV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AA2SpB;;;;;;GAMG;AACH,qBACa,wBACX,YAAW,sBAAsB,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB;IAW5F,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmC;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,KAAK,CAAS;gBAGH,gBAAgB,EAAE,SAAS,EAC3B,eAAe,EAAE,SAAS,cAAc,EAAE,EAC1C,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,sBAAsB,EAC/B,aAAa,EAAE,qBAAqB;IAGvD;;;;;OAKG;IACH,SAAS,IAAI,MAAM;IAyBnB;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter.js
CHANGED
|
@@ -212,6 +212,7 @@ class SocketIoLifecycleService {
|
|
|
212
212
|
}
|
|
213
213
|
const descriptors = this.discoverGatewayDescriptors();
|
|
214
214
|
if (descriptors.length === 0) {
|
|
215
|
+
this.ensureBunRealtimeBindingForRawServerAccess();
|
|
215
216
|
return;
|
|
216
217
|
}
|
|
217
218
|
this.assertNoServerBackedGatewayOptIn(descriptors);
|
|
@@ -246,12 +247,15 @@ class SocketIoLifecycleService {
|
|
|
246
247
|
* @param namespacePath Optional namespace path required when the helper runs outside gateway handler context.
|
|
247
248
|
*/
|
|
248
249
|
joinRoom(socketId, room, namespacePath) {
|
|
249
|
-
const
|
|
250
|
+
const {
|
|
251
|
+
namespace,
|
|
252
|
+
socket
|
|
253
|
+
} = this.resolveRoomOperationTarget(socketId, namespacePath);
|
|
250
254
|
if (socket) {
|
|
251
255
|
void socket.join(room);
|
|
252
256
|
return;
|
|
253
257
|
}
|
|
254
|
-
|
|
258
|
+
namespace.in(socketId).socketsJoin(room);
|
|
255
259
|
}
|
|
256
260
|
|
|
257
261
|
/**
|
|
@@ -262,12 +266,15 @@ class SocketIoLifecycleService {
|
|
|
262
266
|
* @param namespacePath Optional namespace path required when the helper runs outside gateway handler context.
|
|
263
267
|
*/
|
|
264
268
|
leaveRoom(socketId, room, namespacePath) {
|
|
265
|
-
const
|
|
269
|
+
const {
|
|
270
|
+
namespace,
|
|
271
|
+
socket
|
|
272
|
+
} = this.resolveRoomOperationTarget(socketId, namespacePath);
|
|
266
273
|
if (socket) {
|
|
267
274
|
void socket.leave(room);
|
|
268
275
|
return;
|
|
269
276
|
}
|
|
270
|
-
|
|
277
|
+
namespace.in(socketId).socketsLeave(room);
|
|
271
278
|
}
|
|
272
279
|
|
|
273
280
|
/**
|
|
@@ -367,6 +374,12 @@ class SocketIoLifecycleService {
|
|
|
367
374
|
matchesSocketIoEnginePath(pathname) {
|
|
368
375
|
return pathname === '/socket.io' || pathname === DEFAULT_SOCKETIO_ENGINE_PATH;
|
|
369
376
|
}
|
|
377
|
+
ensureBunRealtimeBindingForRawServerAccess() {
|
|
378
|
+
if (!hasBunRealtimeBindingHost(this.adapter)) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
this.getServer();
|
|
382
|
+
}
|
|
370
383
|
assertNoServerBackedGatewayOptIn(descriptors) {
|
|
371
384
|
const runtime = resolveSocketIoBootstrapRuntime(this.adapter);
|
|
372
385
|
if (runtime.kind !== 'bun') {
|
|
@@ -411,6 +424,25 @@ class SocketIoLifecycleService {
|
|
|
411
424
|
}
|
|
412
425
|
return namespace;
|
|
413
426
|
}
|
|
427
|
+
resolveRoomOperationTarget(socketId, namespacePath) {
|
|
428
|
+
const namespace = namespacePath ? this.resolveRequiredNamespace(namespacePath) : this.resolveContextNamespace();
|
|
429
|
+
if (namespace) {
|
|
430
|
+
return {
|
|
431
|
+
namespace,
|
|
432
|
+
socket: namespace.sockets.get(socketId)
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
const socket = this.resolveSocket(socketId);
|
|
436
|
+
if (socket) {
|
|
437
|
+
return {
|
|
438
|
+
namespace: socket.nsp,
|
|
439
|
+
socket
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
return {
|
|
443
|
+
namespace: this.resolveRequiredNamespace(namespacePath)
|
|
444
|
+
};
|
|
445
|
+
}
|
|
414
446
|
resolveSocket(socketId) {
|
|
415
447
|
const registered = this.socketRegistry.get(socketId);
|
|
416
448
|
if (registered) {
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"realtime",
|
|
10
10
|
"platform"
|
|
11
11
|
],
|
|
12
|
-
"version": "1.0.
|
|
12
|
+
"version": "1.0.1",
|
|
13
13
|
"private": false,
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"repository": {
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@socket.io/bun-engine": "^0.1.0",
|
|
40
|
-
"@fluojs/
|
|
41
|
-
"@fluojs/
|
|
42
|
-
"@fluojs/
|
|
43
|
-
"@fluojs/
|
|
44
|
-
"@fluojs/
|
|
40
|
+
"@fluojs/core": "^1.0.1",
|
|
41
|
+
"@fluojs/di": "^1.0.1",
|
|
42
|
+
"@fluojs/http": "^1.0.0",
|
|
43
|
+
"@fluojs/runtime": "^1.0.1",
|
|
44
|
+
"@fluojs/websockets": "^1.0.1"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"socket.io": "^4.0.0"
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
"socket.io": "^4.8.1",
|
|
51
51
|
"socket.io-client": "^4.8.1",
|
|
52
52
|
"vitest": "^3.2.4",
|
|
53
|
-
"@fluojs/platform-
|
|
54
|
-
"@fluojs/platform-
|
|
55
|
-
"@fluojs/platform-
|
|
53
|
+
"@fluojs/platform-express": "^1.0.1",
|
|
54
|
+
"@fluojs/platform-fastify": "^1.0.1",
|
|
55
|
+
"@fluojs/platform-nodejs": "^1.0.1"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"prebuild": "node ../../tooling/scripts/clean-dist.mjs",
|