diff options
| author | bobzel <zzzman@gmail.com> | 2024-05-19 02:08:43 -0400 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2024-05-19 02:08:43 -0400 |
| commit | 6841dc0fd2aecf31eda2102e660c58905d1e6f44 (patch) | |
| tree | 821b79178aa07001274759c716badb2a8a170056 /src/client/util/TypedEvent.ts | |
| parent | 2fc1fb7d322ab0950afb0d334c17aa93bd16f6c0 (diff) | |
| parent | 13dc6de0e0099f699ad0d2bb54401e6a0aa25018 (diff) | |
merged with soon-to-be-master
Diffstat (limited to 'src/client/util/TypedEvent.ts')
| -rw-r--r-- | src/client/util/TypedEvent.ts | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/client/util/TypedEvent.ts b/src/client/util/TypedEvent.ts index 90fd299c1..9ef2aa8d7 100644 --- a/src/client/util/TypedEvent.ts +++ b/src/client/util/TypedEvent.ts @@ -14,27 +14,27 @@ export class TypedEvent<T> { on = (listener: Listener<T>): Disposable => { this.listeners.push(listener); return { - dispose: () => this.off(listener) + dispose: () => this.off(listener), }; - } + }; once = (listener: Listener<T>): void => { this.listenersOncer.push(listener); - } + }; off = (listener: Listener<T>) => { const callbackIndex = this.listeners.indexOf(listener); if (callbackIndex > -1) this.listeners.splice(callbackIndex, 1); - } + }; emit = (event: T) => { /** Update any general listeners */ - this.listeners.forEach((listener) => listener(event)); + this.listeners.forEach(listener => listener(event)); /** Clear the `once` queue */ - this.listenersOncer.forEach((listener) => listener(event)); + this.listenersOncer.forEach(listener => listener(event)); this.listenersOncer = []; - } + }; - pipe = (te: TypedEvent<T>): Disposable => this.on((e) => te.emit(e)); -}
\ No newline at end of file + pipe = (te: TypedEvent<T>): Disposable => this.on(e => te.emit(e)); +} |
