topsyde-utils 1.0.71 → 1.0.73
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/index.d.ts +1 -1
- package/dist/server/bun/websocket/Channel.d.ts +10 -10
- package/dist/server/bun/websocket/Channel.js +1 -3
- package/dist/server/bun/websocket/Channel.js.map +1 -1
- package/dist/server/bun/websocket/Websocket.d.ts +1 -1
- package/dist/server/bun/websocket/Websocket.js +2 -2
- package/dist/server/bun/websocket/Websocket.js.map +1 -1
- package/dist/server/bun/websocket/websocket.types.d.ts +10 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
@@ -39,4 +39,4 @@ export { ClassConstructor, NonNullableType, ObjectKeys, KVObj, I_ApplicationResp
|
|
39
39
|
export { E_IS, E_ENVIRONMENTS } from "./enums";
|
40
40
|
export { ControllerResponse, ControllerAction, ControllerMap, ControllerOptions } from "./server/controller";
|
41
41
|
export { Routes } from "./server/bun/router/routes";
|
42
|
-
export { WebsocketMessage, WebsocketChannel, WebsocketStructuredMessage, WebsocketClientData, I_WebsocketEntity, I_WebsocketClient, I_WebsocketInterface, } from "./server/bun/websocket/websocket.types";
|
42
|
+
export { WebsocketMessage, WebsocketChannel, WebsocketStructuredMessage, WebsocketClientData, I_WebsocketEntity, I_WebsocketClient, I_WebsocketChannel, I_WebsocketInterface, } from "./server/bun/websocket/websocket.types";
|
@@ -1,21 +1,21 @@
|
|
1
1
|
import Client from "./Client";
|
2
|
-
import type { I_WebsocketClient, I_WebsocketEntity,
|
3
|
-
export default class Channel {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
import type { I_WebsocketChannel, I_WebsocketClient, I_WebsocketEntity, WebsocketStructuredMessage } from "./websocket.types";
|
3
|
+
export default class Channel implements I_WebsocketChannel {
|
4
|
+
createdAt: Date;
|
5
|
+
id: string;
|
6
|
+
name: string;
|
7
|
+
limit: number;
|
8
|
+
members: Map<string, Client>;
|
9
|
+
metadata: Record<string, string>;
|
10
10
|
constructor(id: string, name: string, limit?: number, members?: Map<string, Client>, metadata?: Record<string, string>);
|
11
11
|
addMember(entity: I_WebsocketEntity): false | Client;
|
12
12
|
removeMember(entity: I_WebsocketEntity): false | Client;
|
13
|
-
broadcast(message: WebsocketStructuredMessage
|
13
|
+
broadcast(message: WebsocketStructuredMessage): void;
|
14
14
|
hasMember(client: I_WebsocketEntity | string): boolean;
|
15
15
|
getMember(client: I_WebsocketEntity | string): Client | undefined;
|
16
16
|
getMembers(): I_WebsocketClient[];
|
17
17
|
getMetadata(): Record<string, string>;
|
18
|
-
getCreatedAt(): Date
|
18
|
+
getCreatedAt(): Date;
|
19
19
|
getId(): string;
|
20
20
|
getName(): string;
|
21
21
|
getLimit(): number;
|
@@ -32,9 +32,7 @@ class Channel {
|
|
32
32
|
this.members.delete(entity.id);
|
33
33
|
return client;
|
34
34
|
}
|
35
|
-
broadcast(message
|
36
|
-
if (source)
|
37
|
-
message.content.client = source;
|
35
|
+
broadcast(message) {
|
38
36
|
Websocket_1.default.Broadcast(this.id, message);
|
39
37
|
}
|
40
38
|
hasMember(client) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Channel.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,4DAAoC;AAGpC,MAAqB,OAAO;IAQ3B,YAAY,EAAU,EAAE,IAAY,EAAE,KAAc,EAAE,OAA6B,EAAE,QAAiC;
|
1
|
+
{"version":3,"file":"Channel.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Channel.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,4DAAoC;AAGpC,MAAqB,OAAO;IAQ3B,YAAY,EAAU,EAAE,IAAY,EAAE,KAAc,EAAE,OAA6B,EAAE,QAAiC;QAP/G,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAQnC,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,KAAK,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,YAAY,CAAC,MAAyB;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,SAAS,CAAC,OAAmC;QACnD,mBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS,CAAC,MAAkC;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,SAAS,CAAC,MAAkC;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,UAAU;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,WAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAEM,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;IAEO,YAAY;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CACD;AA/ED,0BA+EC"}
|
@@ -7,7 +7,7 @@ export default class Websocket extends Singleton {
|
|
7
7
|
protected _channels: WebsocketChannel;
|
8
8
|
protected _clients: Map<string, I_WebsocketClient>;
|
9
9
|
private _server;
|
10
|
-
protected constructor(ws_interface?: I_WebsocketInterface | undefined);
|
10
|
+
protected constructor(ws_interface?: I_WebsocketInterface | undefined, channels?: WebsocketChannel);
|
11
11
|
private set server(value);
|
12
12
|
get server(): Server;
|
13
13
|
set(server: Server): void;
|
@@ -8,10 +8,9 @@ const utils_1 = require("../../../utils");
|
|
8
8
|
const Console_1 = require("../../../utils/Console");
|
9
9
|
const Channel_1 = __importDefault(require("./Channel"));
|
10
10
|
class Websocket extends singleton_1.default {
|
11
|
-
constructor(ws_interface) {
|
11
|
+
constructor(ws_interface, channels) {
|
12
12
|
super();
|
13
13
|
this.ws_interface = ws_interface;
|
14
|
-
this._channels = new Map();
|
15
14
|
this._clients = new Map();
|
16
15
|
this.clientMessageReceived = (ws, message) => {
|
17
16
|
if (Websocket.Heartbeat(ws, message))
|
@@ -47,6 +46,7 @@ class Websocket extends singleton_1.default {
|
|
47
46
|
});
|
48
47
|
this._clients.delete(ws.data.id);
|
49
48
|
};
|
49
|
+
this._channels = channels ?? new Map();
|
50
50
|
const global = new Channel_1.default("global", "Global Channel", 1000);
|
51
51
|
this._channels.set("global", global);
|
52
52
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Websocket.ts"],"names":[],"mappings":";;;;;AACA,mEAA2C;AAC3C,0CAAqC;AACrC,oDAAiD;AACjD,wDAAgC;AAWhC,MAAqB,SAAU,SAAQ,mBAAS;IAK/C,YAAgC,YAAmC;
|
1
|
+
{"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Websocket.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ServerWebSocket, WebSocketHandler } from "bun";
|
2
2
|
import Channel from "./Channel";
|
3
3
|
export type WebsocketMessage = string | Buffer<ArrayBufferLike>;
|
4
|
-
export type WebsocketChannel<T extends
|
4
|
+
export type WebsocketChannel<T extends I_WebsocketChannel = Channel> = Map<string, T>;
|
5
5
|
export type WebsocketStructuredMessage = {
|
6
6
|
type: string;
|
7
7
|
content: any;
|
@@ -24,6 +24,15 @@ export interface I_WebsocketClient extends I_WebsocketEntity {
|
|
24
24
|
unsubscribe(channel: string): void;
|
25
25
|
whoami(): WebsocketClientData;
|
26
26
|
}
|
27
|
+
export interface I_WebsocketChannel {
|
28
|
+
id: string;
|
29
|
+
name: string;
|
30
|
+
limit: number;
|
31
|
+
members: Map<string, I_WebsocketClient>;
|
32
|
+
metadata: Record<string, string>;
|
33
|
+
createdAt: Date;
|
34
|
+
broadcast(message: WebsocketStructuredMessage): void;
|
35
|
+
}
|
27
36
|
export interface I_WebsocketInterface {
|
28
37
|
setup: (channels: WebsocketChannel) => Partial<WebSocketHandler<WebsocketClientData>>;
|
29
38
|
}
|