aboutsummaryrefslogtreecommitdiff
path: root/client-web/source/helper.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-09-08 00:24:58 +0200
committermetamuffin <metamuffin@disroot.org>2023-09-08 00:24:58 +0200
commit3f62287bc7052d81778a6c8b3a0b5682c18c4f62 (patch)
treee307bf9efeae3848242509ec3b97040aee8932a4 /client-web/source/helper.ts
parentf5fa4f7d58344c2dc722d1f37c1d7a008f6ee9b3 (diff)
downloadkeks-meet-3f62287bc7052d81778a6c8b3a0b5682c18c4f62.tar
keks-meet-3f62287bc7052d81778a6c8b3a0b5682c18c4f62.tar.bz2
keks-meet-3f62287bc7052d81778a6c8b3a0b5682c18c4f62.tar.zst
room watches
Diffstat (limited to 'client-web/source/helper.ts')
-rw-r--r--client-web/source/helper.ts7
1 files changed, 7 insertions, 0 deletions
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<E> {
+ 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) }
+}