@anam-ai/js-sdk
Version:
Client side JavaScript SDK for Anam AI
33 lines • 1.05 kB
JavaScript
;
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