summaryrefslogtreecommitdiff
path: root/frontend/src/wsrouter.ts
diff options
context:
space:
mode:
authorAAGaming <aagaming@riseup.net>2024-02-21 01:08:25 -0500
committerAAGaming <aagaming@riseup.net>2024-02-21 01:08:25 -0500
commit6d2e9365c0fb1bea804743245d79a5b97e3af108 (patch)
treed34d09b7406d065edc79ff4a6c694f5caee923f0 /frontend/src/wsrouter.ts
parent61cf80f8a2d472e9cbc7d401c7cd24075d5bcf28 (diff)
downloaddecky-loader-6d2e9365c0fb1bea804743245d79a5b97e3af108.tar.gz
decky-loader-6d2e9365c0fb1bea804743245d79a5b97e3af108.zip
more major websocket progress
Diffstat (limited to 'frontend/src/wsrouter.ts')
-rw-r--r--frontend/src/wsrouter.ts24
1 files changed, 1 insertions, 23 deletions
diff --git a/frontend/src/wsrouter.ts b/frontend/src/wsrouter.ts
index 778c03bf..37df4262 100644
--- a/frontend/src/wsrouter.ts
+++ b/frontend/src/wsrouter.ts
@@ -50,7 +50,6 @@ interface PromiseResolver<T> {
}
export class WSRouter extends Logger {
- routes: Map<string, (...args: any) => any> = new Map();
runningCalls: Map<number, PromiseResolver<any>> = new Map();
eventListeners: Map<string, Set<(...args: any) => any>> = new Map();
ws?: WebSocket;
@@ -92,14 +91,6 @@ export class WSRouter extends Logger {
this.ws?.send(JSON.stringify(data));
}
- addRoute(name: string, route: (...args: any) => any) {
- this.routes.set(name, route);
- }
-
- removeRoute(name: string) {
- this.routes.delete(name);
- }
-
addEventListener(event: string, listener: (...args: any) => any) {
if (!this.eventListeners.has(event)) {
this.eventListeners.set(event, new Set([listener]));
@@ -123,20 +114,6 @@ export class WSRouter extends Logger {
try {
const data = JSON.parse(msg.data) as Message;
switch (data.type) {
- case MessageType.CALL:
- if (this.routes.has(data.route)) {
- try {
- const res = await this.routes.get(data.route)!(...data.args);
- this.write({ type: MessageType.REPLY, id: data.id, result: res });
- this.debug(`Started JS call ${data.route} ID ${data.id}`);
- } catch (e) {
- await this.write({ type: MessageType.ERROR, id: data.id, error: (e as Error)?.stack || e });
- }
- } else {
- await this.write({ type: MessageType.ERROR, id: data.id, error: `Route ${data.route} does not exist.` });
- }
- break;
-
case MessageType.REPLY:
if (this.runningCalls.has(data.id)) {
this.runningCalls.get(data.id)!.resolve(data.result);
@@ -154,6 +131,7 @@ export class WSRouter extends Logger {
break;
case MessageType.EVENT:
+ this.debug(`Recieved event ${data.event} with args`, data.args);
if (this.eventListeners.has(data.event)) {
for (const listener of this.eventListeners.get(data.event)!) {
(async () => {