UNPKG

@anam-ai/js-sdk

Version:

Client side JavaScript SDK for Anam AI

29 lines 873 B
import { sendErrorMetric } from '../lib/ClientError'; import { AnamEvent } from '../types'; export class PublicEventEmitter { constructor() { this.listeners = {}; } addListener(event, callback) { if (!this.listeners[event]) { this.listeners[event] = new Set(); } this.listeners[event].add(callback); } removeListener(event, callback) { if (!this.listeners[event]) return; this.listeners[event].delete(callback); } emit(event, ...args) { if (!this.listeners[event]) return; if (event === AnamEvent.CONNECTION_CLOSED) { sendErrorMetric('client_connection_closed', args[0]); } this.listeners[event].forEach((callback) => { callback(...args); }); } } //# sourceMappingURL=PublicEventEmitter.js.map