@typetron/framework 0.5.40 → 0.5.41
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/Router/Readme.md +4 -0
- package/build/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
- package/build/Framework/Providers/WebsocketsProvider.js +1 -0
- package/build/Framework/Providers/WebsocketsProvider.js.map +1 -1
- package/build/Router/Websockets/WebSocketServer.d.ts +12 -0
- package/build/Router/Websockets/WebSocketServer.d.ts.map +1 -0
- package/build/Router/Websockets/WebSocketServer.js +25 -0
- package/build/Router/Websockets/WebSocketServer.js.map +1 -0
- package/build/Router/Websockets/index.d.ts +1 -0
- package/build/Router/Websockets/index.d.ts.map +1 -1
- package/build/Router/Websockets/index.js +1 -0
- package/build/Router/Websockets/index.js.map +1 -1
- package/package.json +1 -1
package/Router/Readme.md
CHANGED
|
@@ -136,6 +136,10 @@ Messages sent or published through the injected `WebSocket` while handling an ac
|
|
|
136
136
|
clients to correlate every streamed message with the action that initiated it, including when multiple actions run concurrently on one
|
|
137
137
|
connection. Messages initiated outside an action may omit `$id`.
|
|
138
138
|
|
|
139
|
+
To publish from work that may outlive its connection, inject `WebSocketServer`. Unlike `WebSocket.publish`, which skips the sending
|
|
140
|
+
connection and needs that connection to be open, `WebSocketServer.publish(topic, action, body)` reaches every subscriber. Its messages have
|
|
141
|
+
no `$id`.
|
|
142
|
+
|
|
139
143
|
## Loading Controllers and Starting Servers
|
|
140
144
|
|
|
141
145
|
`Router.loadControllers(directory)` imports TypeScript controller files recursively. Importing decorated classes registers their routes and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAuB,OAAO,
|
|
1
|
+
{"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAuB,OAAO,EAA8B,MAAM,yBAAyB,CAAA;AASlG,qBAAa,kBAAmB,SAAQ,QAAQ;IAG5C,SAAS,EAAE,SAAS,CAAA;IAGpB,OAAO,EAAE,OAAO,CAAA;IAGhB,YAAY,EAAE,qBAAqB,CAAA;IAEnC,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAuIlB,YAAY;CAS7B"}
|
|
@@ -147,6 +147,7 @@ class WebsocketsProvider extends Provider_1.Provider {
|
|
|
147
147
|
console.info(`Websocket server started on port ${port}`);
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
+
this.app.set(Websockets_1.WebSocketServer, new Websockets_1.WebSocketServer(app));
|
|
150
151
|
}
|
|
151
152
|
async handleAction(container, { action, message, '$id': id }) {
|
|
152
153
|
const request = new Request_1.Request(action, message?.body, id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsC;AACtC,+CAAmD;AACnD,sCAAqC;AACrC,mDAA6D;AAC7D,+BAAkC;AAClC,4CAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TemplatedApp } from 'uWebSockets.js';
|
|
2
|
+
/**
|
|
3
|
+
* Publishes to a topic without going through a connection, so work that outlives
|
|
4
|
+
* the connection that started it can still reach subscribers. Every subscriber
|
|
5
|
+
* receives the message.
|
|
6
|
+
*/
|
|
7
|
+
export declare class WebSocketServer {
|
|
8
|
+
private readonly app;
|
|
9
|
+
constructor(app: TemplatedApp);
|
|
10
|
+
publish(topic: string, action: string, body?: unknown): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=WebSocketServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocketServer.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/WebSocketServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C;;;;GAIG;AACH,qBAAa,eAAe;IAEZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAE9C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAQxD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebSocketServer = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
/**
|
|
6
|
+
* Publishes to a topic without going through a connection, so work that outlives
|
|
7
|
+
* the connection that started it can still reach subscribers. Every subscriber
|
|
8
|
+
* receives the message.
|
|
9
|
+
*/
|
|
10
|
+
class WebSocketServer {
|
|
11
|
+
app;
|
|
12
|
+
constructor(app) {
|
|
13
|
+
this.app = app;
|
|
14
|
+
}
|
|
15
|
+
publish(topic, action, body) {
|
|
16
|
+
const sentResponse = {
|
|
17
|
+
action,
|
|
18
|
+
message: body,
|
|
19
|
+
status: types_1.WebsocketMessageStatus.OK,
|
|
20
|
+
};
|
|
21
|
+
this.app.publish(topic, JSON.stringify(sentResponse), false, true);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.WebSocketServer = WebSocketServer;
|
|
25
|
+
//# sourceMappingURL=WebSocketServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocketServer.js","sourceRoot":"","sources":["../../../Router/Websockets/WebSocketServer.ts"],"names":[],"mappings":";;;AACA,mCAAgE;AAEhE;;;;GAIG;AACH,MAAa,eAAe;IAEK;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,OAAO,CAAC,KAAa,EAAE,MAAc,EAAE,IAAc;QACjD,MAAM,YAAY,GAA4B;YAC1C,MAAM;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,8BAAsB,CAAC,EAAE;SACpC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtE,CAAC;CACJ;AAZD,0CAYC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./Handler"), exports);
|
|
18
18
|
__exportStar(require("./types"), exports);
|
|
19
19
|
__exportStar(require("./WebSocket"), exports);
|
|
20
|
+
__exportStar(require("./WebSocketServer"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,0CAAuB;AACvB,8CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,0CAAuB;AACvB,8CAA2B;AAC3B,oDAAiC"}
|