@ipcom/asterisk-ari 0.0.117 → 0.0.118
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/esm/index.js
CHANGED
|
@@ -1890,29 +1890,19 @@ var WebSocketClient = class extends EventEmitter3 {
|
|
|
1890
1890
|
const key = `${app}:${instanceId}`;
|
|
1891
1891
|
if (this.scopedListeners.has(key)) {
|
|
1892
1892
|
console.warn(
|
|
1893
|
-
`Listener escopado para a inst\xE2ncia '${key}' j\xE1 existe. Ignorando.`
|
|
1893
|
+
`Listener escopado para a inst\xE2ncia '${key}' j\xE1 existe. Ignorando duplicata.`
|
|
1894
1894
|
);
|
|
1895
1895
|
return;
|
|
1896
1896
|
}
|
|
1897
1897
|
const scopedListener = (data) => {
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
console.log(
|
|
1901
|
-
`Listener escopado ativado para inst\xE2ncia '${instanceId}' no app '${app}'.`
|
|
1902
|
-
);
|
|
1903
|
-
callback(data);
|
|
1904
|
-
}
|
|
1905
|
-
} catch (error) {
|
|
1906
|
-
console.error(
|
|
1907
|
-
`Erro no listener escopado para inst\xE2ncia '${instanceId}' no app '${app}':`,
|
|
1908
|
-
error
|
|
1909
|
-
);
|
|
1898
|
+
if (data.application === app && (data.type.startsWith("Channel") && "channel" in data && data.channel?.id === instanceId || data.type.startsWith("Playback") && "playbackId" in data && data.playbackId === instanceId)) {
|
|
1899
|
+
callback(data);
|
|
1910
1900
|
}
|
|
1911
1901
|
};
|
|
1912
|
-
this.scopedListeners.set(key, scopedListener);
|
|
1913
1902
|
this.on("message", scopedListener);
|
|
1903
|
+
this.scopedListeners.set(key, scopedListener);
|
|
1914
1904
|
console.log(
|
|
1915
|
-
`Listener escopado adicionado para a inst\xE2ncia '${
|
|
1905
|
+
`Listener escopado adicionado para a inst\xE2ncia '${key}'. Total de listeners: ${this.listenerCount(
|
|
1916
1906
|
"message"
|
|
1917
1907
|
)}`
|
|
1918
1908
|
);
|
|
@@ -1924,29 +1914,23 @@ var WebSocketClient = class extends EventEmitter3 {
|
|
|
1924
1914
|
*/
|
|
1925
1915
|
removeScopedMessageListeners(instanceId, app) {
|
|
1926
1916
|
const key = `${app}:${instanceId}`;
|
|
1927
|
-
|
|
1917
|
+
const scopedListener = this.scopedListeners.get(key);
|
|
1918
|
+
if (!scopedListener) {
|
|
1928
1919
|
console.warn(`Nenhum listener encontrado para a inst\xE2ncia '${key}'.`);
|
|
1929
1920
|
return;
|
|
1930
1921
|
}
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
this.off("message", scopedListener);
|
|
1935
|
-
console.log(`Listener removido para '${key}'.`);
|
|
1936
|
-
} else {
|
|
1937
|
-
console.warn(
|
|
1938
|
-
`Listener n\xE3o encontrado entre os registrados para '${key}'.`
|
|
1939
|
-
);
|
|
1940
|
-
}
|
|
1941
|
-
this.scopedListeners.delete(key);
|
|
1942
|
-
console.log(
|
|
1943
|
-
`Listeners escopados removidos para a inst\xE2ncia '${key}'. Total de listeners restantes: ${this.listenerCount(
|
|
1944
|
-
"message"
|
|
1945
|
-
)}`
|
|
1946
|
-
);
|
|
1922
|
+
if (this.listeners("message").includes(scopedListener)) {
|
|
1923
|
+
this.off("message", scopedListener);
|
|
1924
|
+
console.log(`Listener escopado removido para '${key}'.`);
|
|
1947
1925
|
} else {
|
|
1948
|
-
console.warn(`Listener j\xE1 foi removido para
|
|
1926
|
+
console.warn(`Listener j\xE1 foi removido para '${key}'.`);
|
|
1949
1927
|
}
|
|
1928
|
+
this.scopedListeners.delete(key);
|
|
1929
|
+
console.log(
|
|
1930
|
+
`Listeners escopados removidos para a inst\xE2ncia '${key}'. Total de listeners restantes: ${this.listenerCount(
|
|
1931
|
+
"message"
|
|
1932
|
+
)}`
|
|
1933
|
+
);
|
|
1950
1934
|
}
|
|
1951
1935
|
/**
|
|
1952
1936
|
* Handles incoming WebSocket messages.
|
|
@@ -1998,10 +1982,12 @@ var WebSocketClient = class extends EventEmitter3 {
|
|
|
1998
1982
|
this.isClosedManually = true;
|
|
1999
1983
|
this.ws.close();
|
|
2000
1984
|
this.ws = null;
|
|
1985
|
+
console.log(this.scopedListeners);
|
|
2001
1986
|
this.scopedListeners.forEach((_listener, key) => {
|
|
2002
1987
|
console.log(`Removendo listener escopado para '${key}' ao fechar.`);
|
|
2003
1988
|
this.removeScopedMessageListeners(key.split(":")[1], key.split(":")[0]);
|
|
2004
1989
|
});
|
|
1990
|
+
this.scopedListeners.clear();
|
|
2005
1991
|
this.removeAllListeners("message");
|
|
2006
1992
|
console.log("WebSocket fechado manualmente e todos os listeners limpos.");
|
|
2007
1993
|
}
|