UNPKG

@simplito/privmx-webendpoint

Version:

PrivMX Web Endpoint library

26 lines (25 loc) 785 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StateChangeDispatcher = void 0; class StateChangeDispatcher { listeners = new Set(); addOnStateChangeListener(filter, listener) { const entry = { filter, listener }; this.listeners.add(entry); } removeOnStateChangeListener(filter) { for (const value of this.listeners.values()) { if (value.filter === filter) { this.listeners.delete(value); } } } emit(event) { for (const { filter, listener } of this.listeners) { if (filter.streamHandle === event.streamHandle) { listener(event); } } } } exports.StateChangeDispatcher = StateChangeDispatcher;