@ipcom/asterisk-ari 0.0.107 → 0.0.108

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
@@ -975,6 +975,7 @@ var ChannelInstance = class extends EventEmitter2 {
975
975
  `Nenhum WebSocket conectado dispon\xEDvel para '${this.app}'.`
976
976
  );
977
977
  }
978
+ wsClient.removeWildcardListeners(this.id, event, "Channel");
978
979
  const scopedEvent = `${this.app}:Channel:${this.id}:${event}`;
979
980
  console.log({ scopedEvent });
980
981
  const listener = (data) => {
@@ -1495,8 +1496,8 @@ var PlaybackInstance = class extends EventEmitter3 {
1495
1496
  `Nenhum WebSocket conectado dispon\xEDvel para '${this.app}'.`
1496
1497
  );
1497
1498
  }
1499
+ wsClient.removeWildcardListeners(this.id, event, "Playback");
1498
1500
  const scopedEvent = `${this.app}:Playback:${this.id}:${event}`;
1499
- console.log({ scopedEvent });
1500
1501
  const listener = (data) => {
1501
1502
  callback(data);
1502
1503
  wsClient.off(scopedEvent, listener);
@@ -1836,6 +1837,20 @@ var WebSocketClient = class extends EventEmitter4 {
1836
1837
  super.off(event, callback);
1837
1838
  return this;
1838
1839
  }
1840
+ removeWildcardListeners(id, event, type) {
1841
+ console.log(
1842
+ `Removendo listeners para '${type}:${id}:${event}' com wildcard no app`
1843
+ );
1844
+ for (const eventName of this.eventNames()) {
1845
+ if (typeof eventName === "string") {
1846
+ const eventString = String(eventName);
1847
+ if (eventString.includes(`:${type}:${id}:${event}`)) {
1848
+ console.log(`Removendo listener para o evento: ${eventString}`);
1849
+ this.removeAllListeners(eventName);
1850
+ }
1851
+ }
1852
+ }
1853
+ }
1839
1854
  /**
1840
1855
  * Removes all listeners for a specific event, or all events if no event is specified.
1841
1856
  * @param event - Optional. The event to remove all listeners from.