@ipcom/asterisk-ari 0.0.116 → 0.0.117

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.
@@ -1463,13 +1463,13 @@ var PlaybackInstance = class extends import_events2.EventEmitter {
1463
1463
  );
1464
1464
  }
1465
1465
  const scopedEvent = `${this.app}:Playback:${this.id}:${event}`;
1466
- console.log({ metheod: "on", event, scopedEvent });
1467
1466
  const existingListeners = wsClient.listeners(scopedEvent);
1468
1467
  if (existingListeners.some((listener) => listener === callback)) {
1469
1468
  console.warn(`Listener j\xE1 registrado para o evento '${scopedEvent}'.`);
1470
1469
  return this;
1471
1470
  }
1472
1471
  wsClient.on(scopedEvent, callback);
1472
+ console.log(`Listener registrado para '${scopedEvent}'.`);
1473
1473
  return this;
1474
1474
  }
1475
1475
  /**
@@ -1482,9 +1482,7 @@ var PlaybackInstance = class extends import_events2.EventEmitter {
1482
1482
  `Nenhum WebSocket conectado dispon\xEDvel para '${this.app}'.`
1483
1483
  );
1484
1484
  }
1485
- wsClient.removeWildcardListeners(this.id, event, "Playback");
1486
1485
  const scopedEvent = `${this.app}:Playback:${this.id}:${event}`;
1487
- console.log({ metheod: "once", event, scopedEvent });
1488
1486
  const existingListeners = wsClient.listeners(scopedEvent);
1489
1487
  if (existingListeners.some((listener2) => listener2 === callback)) {
1490
1488
  console.warn(`Listener j\xE1 registrado para o evento '${scopedEvent}'.`);
@@ -1493,9 +1491,10 @@ var PlaybackInstance = class extends import_events2.EventEmitter {
1493
1491
  const listener = (data) => {
1494
1492
  callback(data);
1495
1493
  wsClient.off(scopedEvent, listener);
1496
- wsClient.removeWildcardListeners(this.id, event, "Playback");
1494
+ console.log(`Listener removido ap\xF3s execu\xE7\xE3o para '${scopedEvent}'.`);
1497
1495
  };
1498
1496
  wsClient.on(scopedEvent, listener);
1497
+ console.log(`Listener registrado para '${scopedEvent}' (apenas uma vez).`);
1499
1498
  return this;
1500
1499
  }
1501
1500
  /**
@@ -1509,7 +1508,15 @@ var PlaybackInstance = class extends import_events2.EventEmitter {
1509
1508
  );
1510
1509
  }
1511
1510
  const scopedEvent = `${this.app}:Playback:${this.id}:${event}`;
1511
+ const existingListeners = wsClient.listeners(scopedEvent);
1512
+ if (!existingListeners.some((listener) => listener === callback)) {
1513
+ console.warn(
1514
+ `Nenhum listener registrado para '${scopedEvent}' que corresponda.`
1515
+ );
1516
+ return this;
1517
+ }
1512
1518
  wsClient.off(scopedEvent, callback);
1519
+ console.log(`Listener removido para '${scopedEvent}'.`);
1513
1520
  return this;
1514
1521
  }
1515
1522
  /**
@@ -1767,6 +1774,7 @@ var WebSocketClient = class extends import_events3.EventEmitter {
1767
1774
  async connect() {
1768
1775
  if (this.isReconnecting) return;
1769
1776
  return new Promise((resolve, reject) => {
1777
+ this.removeAllListeners();
1770
1778
  this.ws = new import_ws.default(this.url);
1771
1779
  this.ws.on("open", () => {
1772
1780
  console.log("WebSocket conectado.");
@@ -1805,6 +1813,7 @@ var WebSocketClient = class extends import_events3.EventEmitter {
1805
1813
  if (!this.messageListeners.includes(callback)) {
1806
1814
  this.messageListeners.push(callback);
1807
1815
  this.on("message", callback);
1816
+ console.log("Listener registrado para 'message'.");
1808
1817
  } else {
1809
1818
  console.warn("Tentativa de registrar listener duplicado para 'message'.");
1810
1819
  }
@@ -1943,10 +1952,17 @@ var WebSocketClient = class extends import_events3.EventEmitter {
1943
1952
  }
1944
1953
  const scopedListener = this.scopedListeners.get(key);
1945
1954
  if (scopedListener) {
1946
- this.off("message", scopedListener);
1955
+ if (this.listeners("message").includes(scopedListener)) {
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
+ }
1947
1963
  this.scopedListeners.delete(key);
1948
1964
  console.log(
1949
- `Listeners removidos para a inst\xE2ncia '${key}'. Total de listeners restantes: ${this.listenerCount(
1965
+ `Listeners escopados removidos para a inst\xE2ncia '${key}'. Total de listeners restantes: ${this.listenerCount(
1950
1966
  "message"
1951
1967
  )}`
1952
1968
  );
@@ -2004,10 +2020,12 @@ var WebSocketClient = class extends import_events3.EventEmitter {
2004
2020
  this.isClosedManually = true;
2005
2021
  this.ws.close();
2006
2022
  this.ws = null;
2023
+ this.scopedListeners.forEach((_listener, key) => {
2024
+ console.log(`Removendo listener escopado para '${key}' ao fechar.`);
2025
+ this.removeScopedMessageListeners(key.split(":")[1], key.split(":")[0]);
2026
+ });
2007
2027
  this.removeAllListeners("message");
2008
- console.log(
2009
- "WebSocket fechado manualmente e listeners para 'message' limpos."
2010
- );
2028
+ console.log("WebSocket fechado manualmente e todos os listeners limpos.");
2011
2029
  }
2012
2030
  }
2013
2031
  };