UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

26 lines (25 loc) 551 B
/** * Abstract Observable implementation * @author Yuliya Adamskaya */ export class Observable { constructor() { this._listeners = new Set(); } addListener(listener) { this._listeners.add(listener); } removeListener(listener) { this._listeners.delete(listener); } fire(...args) { this._listeners.forEach((listener) => { try { listener.apply(this, args); } catch (e) { console.error(e); } }); } }