@ipcom/asterisk-ari 0.0.110 → 0.0.112

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.
@@ -1870,10 +1870,29 @@ var WebSocketClient = class extends import_events4.EventEmitter {
1870
1870
  * @returns The WebSocketClient instance for chaining.
1871
1871
  */
1872
1872
  on(event, callback) {
1873
- console.log({ eventoChamante: event });
1873
+ const existingListeners = this.listeners(event);
1874
+ if (existingListeners.includes(callback)) {
1875
+ console.warn(
1876
+ `Listener duplicado detectado para o evento '${event}'. Ignorando.`
1877
+ );
1878
+ return this;
1879
+ }
1880
+ console.log(`Registrando listener para o evento '${event}'.`);
1881
+ console.log(
1882
+ `Antes: ${this.listenerCount(event)} listener(s) para o evento '${event}'.`
1883
+ );
1874
1884
  super.on(event, callback);
1885
+ console.log(
1886
+ `Depois: ${this.listenerCount(event)} listener(s) para o evento '${event}'.`
1887
+ );
1875
1888
  return this;
1876
1889
  }
1890
+ /**
1891
+ * Removes a specific listener from a WebSocket event.
1892
+ * @param event - The event type to remove the listener from.
1893
+ * @param callback - The function to remove from the event listeners.
1894
+ * @returns The WebSocketClient instance for chaining.
1895
+ */
1877
1896
  /**
1878
1897
  * Removes a specific listener from a WebSocket event.
1879
1898
  * @param event - The event type to remove the listener from.
@@ -1881,7 +1900,19 @@ var WebSocketClient = class extends import_events4.EventEmitter {
1881
1900
  * @returns The WebSocketClient instance for chaining.
1882
1901
  */
1883
1902
  off(event, callback) {
1903
+ const existingListeners = this.listeners(event);
1904
+ if (existingListeners.length > 0) {
1905
+ console.log(
1906
+ `Removendo listener para o evento '${event}'. Total antes: ${existingListeners.length}`
1907
+ );
1908
+ } else {
1909
+ console.warn(`Nenhum listener encontrado para o evento '${event}'`);
1910
+ }
1884
1911
  super.off(event, callback);
1912
+ const remainingListeners = this.listeners(event);
1913
+ console.log(
1914
+ `Listener para o evento '${event}' removido. Total agora: ${remainingListeners.length}`
1915
+ );
1885
1916
  return this;
1886
1917
  }
1887
1918
  removeWildcardListeners(id, event, type) {
@@ -2018,10 +2049,7 @@ var WebSocketClient = class extends import_events4.EventEmitter {
2018
2049
  this.isClosedManually = true;
2019
2050
  this.ws.close();
2020
2051
  this.ws = null;
2021
- this.messageListeners.forEach(
2022
- (callback) => this.off("message", callback)
2023
- );
2024
- this.messageListeners = [];
2052
+ this.removeAllListeners("message");
2025
2053
  console.log(
2026
2054
  "WebSocket fechado manualmente e listeners para 'message' limpos."
2027
2055
  );