diff options
author | metamuffin <metamuffin@disroot.org> | 2023-09-08 00:24:58 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-09-08 00:24:58 +0200 |
commit | 3f62287bc7052d81778a6c8b3a0b5682c18c4f62 (patch) | |
tree | e307bf9efeae3848242509ec3b97040aee8932a4 /client-web/source/helper.ts | |
parent | f5fa4f7d58344c2dc722d1f37c1d7a008f6ee9b3 (diff) | |
download | keks-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.ts | 7 |
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) } +} |