UNPKG

@anam-ai/js-sdk

Version:

Client side JavaScript SDK for Anam AI

33 lines 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PublicEventEmitter = void 0; const ClientError_1 = require("../lib/ClientError"); const types_1 = require("../types"); 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 === types_1.AnamEvent.CONNECTION_CLOSED) { (0, ClientError_1.sendErrorMetric)('client_connection_closed', args[0]); } this.listeners[event].forEach((callback) => { callback(...args); }); } } exports.PublicEventEmitter = PublicEventEmitter; //# sourceMappingURL=PublicEventEmitter.js.map