UNPKG

audio2wave

Version:

draw wave in canvas from audio element source

28 lines (21 loc) 640 B
import { MutiMap } from '../Map/index'; type Fn = (...args: Array<any>) => void; export class Emitor { private map = new MutiMap<string, Fn>(); addListener(eventName: string, listener: Fn) { this.map.add(eventName, listener); } removeListener(eventName: string, listener: Fn) { this.map.deleteItem(eventName, listener); } emit(eventName: string, ...args: any[]) { const listeners = this.map.get(eventName); try { listeners.forEach(listener => { listener(...args); }); } catch (e) { console.error(e); } } }