From 1712352d1c72628a045300fe922c82cd3214070a Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 31 Oct 2018 10:52:57 +0100 Subject: view: add simple input handlers --- src/util.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/util.ts') diff --git a/src/util.ts b/src/util.ts index 453966e..7129b2b 100644 --- a/src/util.ts +++ b/src/util.ts @@ -33,3 +33,15 @@ export function nextPowerOf2(n: number): number { return i; } + +export class Listenable { + private readonly listeners: Array<(...args: T) => void> = []; + + public addListener(listener: (...args: T) => void): void { + this.listeners.push(listener); + } + + protected runListeners(...args: T): void { + this.listeners.forEach((l) => l(...args)); + } +} -- cgit v1.2.3