@ipcom/asterisk-ari 0.0.41 → 0.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +27 -2
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/esm/index.js +27 -2
- package/dist/esm/index.js.map +2 -2
- package/dist/types/ari-client/ariClient.d.ts +8 -2
- package/dist/types/ari-client/ariClient.d.ts.map +1 -1
- package/dist/types/ari-client/interfaces/events.types.d.ts +6 -0
- package/dist/types/ari-client/interfaces/events.types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -1869,10 +1869,11 @@ var AriClient = class {
|
|
|
1869
1869
|
}
|
|
1870
1870
|
/**
|
|
1871
1871
|
* Registra um listener para eventos globais.
|
|
1872
|
+
* @param eventType
|
|
1872
1873
|
* @param callback - A função a ser executada quando um evento global for recebido.
|
|
1873
1874
|
*/
|
|
1874
|
-
onGlobalEvent(callback) {
|
|
1875
|
-
this.eventEmitter.on(
|
|
1875
|
+
onGlobalEvent(eventType, callback) {
|
|
1876
|
+
this.eventEmitter.on(eventType, callback);
|
|
1876
1877
|
}
|
|
1877
1878
|
/**
|
|
1878
1879
|
* Remove um listener para eventos globais.
|
|
@@ -2078,6 +2079,27 @@ var AriClient = class {
|
|
|
2078
2079
|
}
|
|
2079
2080
|
return this.channelEmitters.get(channel.id);
|
|
2080
2081
|
}
|
|
2082
|
+
handleChannelEvent(event) {
|
|
2083
|
+
if ("channel" in event && event.channel) {
|
|
2084
|
+
const channelEmitter = this.channelEmitters.get(event.channel.id);
|
|
2085
|
+
if (channelEmitter) {
|
|
2086
|
+
channelEmitter.emit(event.type, event);
|
|
2087
|
+
} else {
|
|
2088
|
+
console.warn(
|
|
2089
|
+
`Nenhum listener registrado para o canal ${event.channel.id}`
|
|
2090
|
+
);
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
}
|
|
2094
|
+
registerGlobalWebSocketListener() {
|
|
2095
|
+
this.wsClient?.on("message", (event) => {
|
|
2096
|
+
if ("channel" in event && event.channel) {
|
|
2097
|
+
this.handleChannelEvent(event);
|
|
2098
|
+
} else {
|
|
2099
|
+
this.eventEmitter.emit(event.type, event);
|
|
2100
|
+
}
|
|
2101
|
+
});
|
|
2102
|
+
}
|
|
2081
2103
|
/**
|
|
2082
2104
|
* Adiciona um listener para um evento específico de canal.
|
|
2083
2105
|
*/
|
|
@@ -2087,6 +2109,9 @@ var AriClient = class {
|
|
|
2087
2109
|
throw new Error(`Canal com ID ${channelId} n\xE3o encontrado.`);
|
|
2088
2110
|
}
|
|
2089
2111
|
channelEmitter.on(eventType, callback);
|
|
2112
|
+
console.log(
|
|
2113
|
+
`Listener registrado para o canal ${channelId} e evento ${eventType}`
|
|
2114
|
+
);
|
|
2090
2115
|
}
|
|
2091
2116
|
removeChannel(channelId) {
|
|
2092
2117
|
const channelEmitter = this.channelEmitters.get(channelId);
|