@ipcom/asterisk-ari 0.0.122 → 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
@@ -1824,9 +1824,18 @@ var WebSocketClient = class extends EventEmitter3 {
1824
1824
  "message"
1825
1825
  )} listener(s).`
1826
1826
  );
1827
+ this.listListeners("message");
1827
1828
  }
1828
1829
  return this;
1829
1830
  }
1831
+ listListeners(event) {
1832
+ const listeners = this.listeners(event);
1833
+ console.log(`=== Listagem de Listeners para '${event}' ===`);
1834
+ listeners.forEach((listener, index) => {
1835
+ console.log(`Listener #${index + 1}:`, listener.toString());
1836
+ });
1837
+ console.log(`Total de listeners para '${event}': ${listeners.length}`);
1838
+ }
1830
1839
  /**
1831
1840
  * Removes a specific listener from a WebSocket event.
1832
1841
  * @param event - The event type to remove the listener from.
@@ -1888,12 +1897,14 @@ var WebSocketClient = class extends EventEmitter3 {
1888
1897
  */
1889
1898
  addScopedMessageListener(instanceId, app, callback) {
1890
1899
  const key = `${app}:${instanceId}`;
1891
- if (this.scopedListeners.has(key)) {
1892
- console.warn(
1893
- `Listener escopado para a inst\xE2ncia '${key}' j\xE1 existe. Ignorando duplicata.`
1894
- );
1900
+ if (key.includes("removeListener")) {
1901
+ console.warn(`Evento interno ignorado: '${key}'.`);
1895
1902
  return;
1896
1903
  }
1904
+ if (this.scopedListeners.has(key)) {
1905
+ console.warn(`Listener escopado j\xE1 existe para '${key}'. Substituindo.`);
1906
+ this.removeScopedMessageListeners(instanceId, app);
1907
+ }
1897
1908
  const scopedListener = (data) => {
1898
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)) {
1899
1910
  callback(data);
@@ -1902,10 +1913,11 @@ var WebSocketClient = class extends EventEmitter3 {
1902
1913
  this.on("message", scopedListener);
1903
1914
  this.scopedListeners.set(key, scopedListener);
1904
1915
  console.log(
1905
- `Listener escopado adicionado para a inst\xE2ncia '${key}'. Total de listeners: ${this.listenerCount(
1916
+ `Listener escopado adicionado para '${key}'. Total de listeners: ${this.listenerCount(
1906
1917
  "message"
1907
1918
  )}`
1908
1919
  );
1920
+ this.listListeners("message");
1909
1921
  }
1910
1922
  /**
1911
1923
  * Remove todos os listeners associados a uma instância específica.
@@ -1920,10 +1932,11 @@ var WebSocketClient = class extends EventEmitter3 {
1920
1932
  return;
1921
1933
  }
1922
1934
  if (this.listeners("message").includes(scopedListener)) {
1935
+ console.log(`Removendo listener escopado para '${key}'.`);
1923
1936
  this.off("message", scopedListener);
1924
- console.log(`Listener escopado removido para '${key}'.`);
1937
+ console.log(`Listener removido com sucesso para '${key}'.`);
1925
1938
  } else {
1926
- console.warn(`Listener j\xE1 foi removido para '${key}'.`);
1939
+ console.warn(`Listener j\xE1 foi removido ou n\xE3o encontrado para '${key}'.`);
1927
1940
  }
1928
1941
  this.scopedListeners.delete(key);
1929
1942
  console.log(
@@ -1931,6 +1944,8 @@ var WebSocketClient = class extends EventEmitter3 {
1931
1944
  "message"
1932
1945
  )}`
1933
1946
  );
1947
+ console.log("Depois de remover listeners:");
1948
+ this.listListeners("message");
1934
1949
  }
1935
1950
  /**
1936
1951
  * Handles incoming WebSocket messages.