topsyde-utils 1.0.50 → 1.0.51
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.
@@ -38,7 +38,19 @@ class Channel {
|
|
38
38
|
this.members.delete(entity.id);
|
39
39
|
}
|
40
40
|
broadcast(message, exclude) {
|
41
|
-
|
41
|
+
// Get the instance directly
|
42
|
+
const websocketInstance = Websocket_1.default.GetInstance();
|
43
|
+
// Check if the server is set using getServer method
|
44
|
+
const server = websocketInstance.server;
|
45
|
+
if (!server) {
|
46
|
+
// If no server, send to individual clients instead
|
47
|
+
this.members.forEach(client => {
|
48
|
+
client.send(message);
|
49
|
+
});
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
// Use the server to publish
|
53
|
+
server.publish(this.id, JSON.stringify(message));
|
42
54
|
}
|
43
55
|
hasMember(client) { }
|
44
56
|
getMember(client) { }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Channel.ts"],"names":[],"mappings":";;;;;AAAA,4DAAoC;AAEpC,sDAA8B;AAE9B,MAAqB,OAAO;IAQ3B,YAAY,EAAU,EAAE,IAAY,EAAE,KAAc,EAAE,OAA6B,EAAE,QAAiC;QAP5G,cAAS,GAAU,IAAI,IAAI,EAAE,CAAC;QAQvC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,MAAyB;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAAE,OAAO;QACjC,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC;YACd,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE;aACxB;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAC,MAAyB;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAEM,SAAS,CAAC,OAAmC,EAAE,OAAwC;QAC7F,mBAAS,CAAC,
|
1
|
+
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Channel.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { Server, WebSocketHandler } from "bun";
|
2
2
|
import Singleton from "../../../singleton";
|
3
3
|
import type { I_WebsocketEntity, WebsocketChannel, WebsocketClientData, WebsocketStructuredMessage } from "./websocket.types";
|
4
|
-
export default
|
4
|
+
export default class Websocket extends Singleton {
|
5
5
|
protected channels: WebsocketChannel;
|
6
|
-
|
6
|
+
private _server;
|
7
7
|
protected constructor();
|
8
|
+
get server(): Server;
|
9
|
+
protected set server(value: Server);
|
8
10
|
set(server: Server): void;
|
9
11
|
static Server(): Server;
|
10
12
|
static Broadcast(channel: string, message: WebsocketStructuredMessage): void;
|
@@ -40,6 +40,12 @@ class Websocket extends singleton_1.default {
|
|
40
40
|
const global = new Channel_1.default("global", "Global Channel", 1000);
|
41
41
|
this.channels.set("global", global);
|
42
42
|
}
|
43
|
+
get server() {
|
44
|
+
return this._server;
|
45
|
+
}
|
46
|
+
set server(value) {
|
47
|
+
this._server = value;
|
48
|
+
}
|
43
49
|
set(server) {
|
44
50
|
this.server = server;
|
45
51
|
Console_1.Console.success("Websocket server set");
|
@@ -48,24 +54,25 @@ class Websocket extends singleton_1.default {
|
|
48
54
|
return this.GetInstance().server;
|
49
55
|
}
|
50
56
|
static Broadcast(channel, message) {
|
51
|
-
|
57
|
+
const instance = this.GetInstance();
|
58
|
+
if (!instance.server) {
|
52
59
|
utils_1.Lib.Warn("Websocket server not set");
|
53
60
|
return;
|
54
61
|
}
|
55
|
-
|
62
|
+
instance.server.publish(channel, JSON.stringify(message));
|
56
63
|
}
|
57
64
|
static Publish(message) {
|
58
|
-
const ws =
|
65
|
+
const ws = this.GetInstance();
|
59
66
|
ws.channels.forEach((channel) => {
|
60
67
|
channel.broadcast(message);
|
61
68
|
});
|
62
69
|
}
|
63
70
|
static Join(channel, entity) {
|
64
|
-
const ws =
|
71
|
+
const ws = this.GetInstance();
|
65
72
|
ws.channels.get(channel)?.addMember(entity);
|
66
73
|
}
|
67
74
|
static Leave(channel, entity) {
|
68
|
-
const ws =
|
75
|
+
const ws = this.GetInstance();
|
69
76
|
ws.channels.get(channel)?.removeMember(entity);
|
70
77
|
}
|
71
78
|
setup() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Websocket.ts"],"names":[],"mappings":";AAAA;;;;0FAI0F;;;;;AAG1F,mEAA2C;AAC3C,oDAAiD;AACjD,wDAAgC;AAEhC,0CAAqC;AAErC,
|
1
|
+
{"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Websocket.ts"],"names":[],"mappings":"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"}
|