@ipcom/asterisk-ari 0.0.123 → 0.0.124

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
@@ -1897,12 +1897,14 @@ var WebSocketClient = class extends EventEmitter3 {
1897
1897
  */
1898
1898
  addScopedMessageListener(instanceId, app, callback) {
1899
1899
  const key = `${app}:${instanceId}`;
1900
- if (this.scopedListeners.has(key)) {
1901
- console.warn(
1902
- `Listener escopado para a inst\xE2ncia '${key}' j\xE1 existe. Ignorando duplicata.`
1903
- );
1900
+ if (key.includes("removeListener")) {
1901
+ console.warn(`Evento interno ignorado: '${key}'.`);
1904
1902
  return;
1905
1903
  }
1904
+ if (this.scopedListeners.has(key)) {
1905
+ console.warn(`Listener escopado j\xE1 existe para '${key}'. Substituindo.`);
1906
+ this.removeScopedMessageListeners(instanceId, app);
1907
+ }
1906
1908
  const scopedListener = (data) => {
1907
1909
  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)) {
1908
1910
  callback(data);
@@ -1911,7 +1913,7 @@ var WebSocketClient = class extends EventEmitter3 {
1911
1913
  this.on("message", scopedListener);
1912
1914
  this.scopedListeners.set(key, scopedListener);
1913
1915
  console.log(
1914
- `Listener escopado adicionado para a inst\xE2ncia '${key}'. Total de listeners: ${this.listenerCount(
1916
+ `Listener escopado adicionado para '${key}'. Total de listeners: ${this.listenerCount(
1915
1917
  "message"
1916
1918
  )}`
1917
1919
  );
@@ -1930,10 +1932,11 @@ var WebSocketClient = class extends EventEmitter3 {
1930
1932
  return;
1931
1933
  }
1932
1934
  if (this.listeners("message").includes(scopedListener)) {
1935
+ console.log(`Removendo listener escopado para '${key}'.`);
1933
1936
  this.off("message", scopedListener);
1934
- console.log(`Listener escopado removido para '${key}'.`);
1937
+ console.log(`Listener removido com sucesso para '${key}'.`);
1935
1938
  } else {
1936
- console.warn(`Listener j\xE1 foi removido para '${key}'.`);
1939
+ console.warn(`Listener j\xE1 foi removido ou n\xE3o encontrado para '${key}'.`);
1937
1940
  }
1938
1941
  this.scopedListeners.delete(key);
1939
1942
  console.log(
@@ -1941,6 +1944,8 @@ var WebSocketClient = class extends EventEmitter3 {
1941
1944
  "message"
1942
1945
  )}`
1943
1946
  );
1947
+ console.log("Depois de remover listeners:");
1948
+ this.listListeners("message");
1944
1949
  }
1945
1950
  /**
1946
1951
  * Handles incoming WebSocket messages.