From 3f62287bc7052d81778a6c8b3a0b5682c18c4f62 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 8 Sep 2023 00:24:58 +0200 Subject: room watches --- client-web/source/helper.ts | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'client-web/source/helper.ts') diff --git a/client-web/source/helper.ts b/client-web/source/helper.ts index ecfdf95..49c36fa 100644 --- a/client-web/source/helper.ts +++ b/client-web/source/helper.ts @@ -77,3 +77,10 @@ export function display_filesize(n: number): string { if (n > 1000) return (n / 1000).toFixed(1) + "kB" return n.toString() + "B" } + +export class EventEmitter { + private handlers: Set<(e: E) => unknown> = new Set() + public dispatch(e: E) { this.handlers.forEach(h => h(e)) } + public add_listener(listener: (e: E) => unknown) { this.handlers.add(listener) } + public remove_listener(listener: (e: E) => unknown) { this.handlers.delete(listener) } +} -- cgit v1.2.3-70-g09d2