@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/cjs/index.cjs
CHANGED
|
@@ -1912,29 +1912,19 @@ var WebSocketClient = class extends import_events3.EventEmitter {
|
|
|
1912
1912
|
const key = `${app}:${instanceId}`;
|
|
1913
1913
|
if (this.scopedListeners.has(key)) {
|
|
1914
1914
|
console.warn(
|
|
1915
|
-
`Listener escopado para a inst\xE2ncia '${key}' j\xE1 existe. Ignorando.`
|
|
1915
|
+
`Listener escopado para a inst\xE2ncia '${key}' j\xE1 existe. Ignorando duplicata.`
|
|
1916
1916
|
);
|
|
1917
1917
|
return;
|
|
1918
1918
|
}
|
|
1919
1919
|
const scopedListener = (data) => {
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
console.log(
|
|
1923
|
-
`Listener escopado ativado para inst\xE2ncia '${instanceId}' no app '${app}'.`
|
|
1924
|
-
);
|
|
1925
|
-
callback(data);
|
|
1926
|
-
}
|
|
1927
|
-
} catch (error) {
|
|
1928
|
-
console.error(
|
|
1929
|
-
`Erro no listener escopado para inst\xE2ncia '${instanceId}' no app '${app}':`,
|
|
1930
|
-
error
|
|
1931
|
-
);
|
|
1920
|
+
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)) {
|
|
1921
|
+
callback(data);
|
|
1932
1922
|
}
|
|
1933
1923
|
};
|
|
1934
|
-
this.scopedListeners.set(key, scopedListener);
|
|
1935
1924
|
this.on("message", scopedListener);
|
|
1925
|
+
this.scopedListeners.set(key, scopedListener);
|
|
1936
1926
|
console.log(
|
|
1937
|
-
`Listener escopado adicionado para a inst\xE2ncia '${
|
|
1927
|
+
`Listener escopado adicionado para a inst\xE2ncia '${key}'. Total de listeners: ${this.listenerCount(
|
|
1938
1928
|
"message"
|
|
1939
1929
|
)}`
|
|
1940
1930
|
);
|
|
@@ -1946,29 +1936,23 @@ var WebSocketClient = class extends import_events3.EventEmitter {
|
|
|
1946
1936
|
*/
|
|
1947
1937
|
removeScopedMessageListeners(instanceId, app) {
|
|
1948
1938
|
const key = `${app}:${instanceId}`;
|
|
1949
|
-
|
|
1939
|
+
const scopedListener = this.scopedListeners.get(key);
|
|
1940
|
+
if (!scopedListener) {
|
|
1950
1941
|
console.warn(`Nenhum listener encontrado para a inst\xE2ncia '${key}'.`);
|
|
1951
1942
|
return;
|
|
1952
1943
|
}
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
this.off("message", scopedListener);
|
|
1957
|
-
console.log(`Listener removido para '${key}'.`);
|
|
1958
|
-
} else {
|
|
1959
|
-
console.warn(
|
|
1960
|
-
`Listener n\xE3o encontrado entre os registrados para '${key}'.`
|
|
1961
|
-
);
|
|
1962
|
-
}
|
|
1963
|
-
this.scopedListeners.delete(key);
|
|
1964
|
-
console.log(
|
|
1965
|
-
`Listeners escopados removidos para a inst\xE2ncia '${key}'. Total de listeners restantes: ${this.listenerCount(
|
|
1966
|
-
"message"
|
|
1967
|
-
)}`
|
|
1968
|
-
);
|
|
1944
|
+
if (this.listeners("message").includes(scopedListener)) {
|
|
1945
|
+
this.off("message", scopedListener);
|
|
1946
|
+
console.log(`Listener escopado removido para '${key}'.`);
|
|
1969
1947
|
} else {
|
|
1970
|
-
console.warn(`Listener j\xE1 foi removido para
|
|
1948
|
+
console.warn(`Listener j\xE1 foi removido para '${key}'.`);
|
|
1971
1949
|
}
|
|
1950
|
+
this.scopedListeners.delete(key);
|
|
1951
|
+
console.log(
|
|
1952
|
+
`Listeners escopados removidos para a inst\xE2ncia '${key}'. Total de listeners restantes: ${this.listenerCount(
|
|
1953
|
+
"message"
|
|
1954
|
+
)}`
|
|
1955
|
+
);
|
|
1972
1956
|
}
|
|
1973
1957
|
/**
|
|
1974
1958
|
* Handles incoming WebSocket messages.
|
|
@@ -2020,10 +2004,12 @@ var WebSocketClient = class extends import_events3.EventEmitter {
|
|
|
2020
2004
|
this.isClosedManually = true;
|
|
2021
2005
|
this.ws.close();
|
|
2022
2006
|
this.ws = null;
|
|
2007
|
+
console.log(this.scopedListeners);
|
|
2023
2008
|
this.scopedListeners.forEach((_listener, key) => {
|
|
2024
2009
|
console.log(`Removendo listener escopado para '${key}' ao fechar.`);
|
|
2025
2010
|
this.removeScopedMessageListeners(key.split(":")[1], key.split(":")[0]);
|
|
2026
2011
|
});
|
|
2012
|
+
this.scopedListeners.clear();
|
|
2027
2013
|
this.removeAllListeners("message");
|
|
2028
2014
|
console.log("WebSocket fechado manualmente e todos os listeners limpos.");
|
|
2029
2015
|
}
|