@ipcom/asterisk-ari 0.0.109 → 0.0.111
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/cjs/index.cjs +57 -8
- package/dist/cjs/index.cjs.map +3 -3
- package/dist/esm/index.js +57 -8
- package/dist/esm/index.js.map +3 -3
- package/dist/types/ari-client/resources/channels.d.ts.map +1 -1
- package/dist/types/ari-client/resources/playbacks.d.ts.map +1 -1
- package/dist/types/ari-client/websocketClient.d.ts +6 -0
- package/dist/types/ari-client/websocketClient.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -984,6 +984,12 @@ var ChannelInstance = class extends import_events2.EventEmitter {
|
|
|
984
984
|
);
|
|
985
985
|
}
|
|
986
986
|
const scopedEvent = `${this.app}:Channel:${this.id}:${event}`;
|
|
987
|
+
console.log({ metheod: "on", event, scopedEvent });
|
|
988
|
+
const existingListeners = wsClient.listeners(scopedEvent);
|
|
989
|
+
if (existingListeners.includes(callback)) {
|
|
990
|
+
console.warn(`Listener j\xE1 registrado para o evento '${scopedEvent}'.`);
|
|
991
|
+
return this;
|
|
992
|
+
}
|
|
987
993
|
wsClient.on(scopedEvent, callback);
|
|
988
994
|
return this;
|
|
989
995
|
}
|
|
@@ -999,7 +1005,12 @@ var ChannelInstance = class extends import_events2.EventEmitter {
|
|
|
999
1005
|
}
|
|
1000
1006
|
wsClient.removeWildcardListeners(this.id, event, "Channel");
|
|
1001
1007
|
const scopedEvent = `${this.app}:Channel:${this.id}:${event}`;
|
|
1002
|
-
console.log({ scopedEvent });
|
|
1008
|
+
console.log({ metheod: "once", event, scopedEvent });
|
|
1009
|
+
const existingListeners = wsClient.listeners(scopedEvent);
|
|
1010
|
+
if (existingListeners.some((listener2) => listener2 === callback)) {
|
|
1011
|
+
console.warn(`Listener j\xE1 registrado para o evento '${scopedEvent}'.`);
|
|
1012
|
+
return this;
|
|
1013
|
+
}
|
|
1003
1014
|
const listener = (data) => {
|
|
1004
1015
|
callback(data);
|
|
1005
1016
|
wsClient.off(scopedEvent, listener);
|
|
@@ -1506,6 +1517,12 @@ var PlaybackInstance = class extends import_events3.EventEmitter {
|
|
|
1506
1517
|
);
|
|
1507
1518
|
}
|
|
1508
1519
|
const scopedEvent = `${this.app}:Playback:${this.id}:${event}`;
|
|
1520
|
+
console.log({ metheod: "on", event, scopedEvent });
|
|
1521
|
+
const existingListeners = wsClient.listeners(scopedEvent);
|
|
1522
|
+
if (existingListeners.some((listener) => listener === callback)) {
|
|
1523
|
+
console.warn(`Listener j\xE1 registrado para o evento '${scopedEvent}'.`);
|
|
1524
|
+
return this;
|
|
1525
|
+
}
|
|
1509
1526
|
wsClient.on(scopedEvent, callback);
|
|
1510
1527
|
return this;
|
|
1511
1528
|
}
|
|
@@ -1521,6 +1538,12 @@ var PlaybackInstance = class extends import_events3.EventEmitter {
|
|
|
1521
1538
|
}
|
|
1522
1539
|
wsClient.removeWildcardListeners(this.id, event, "Playback");
|
|
1523
1540
|
const scopedEvent = `${this.app}:Playback:${this.id}:${event}`;
|
|
1541
|
+
console.log({ metheod: "once", event, scopedEvent });
|
|
1542
|
+
const existingListeners = wsClient.listeners(scopedEvent);
|
|
1543
|
+
if (existingListeners.some((listener2) => listener2 === callback)) {
|
|
1544
|
+
console.warn(`Listener j\xE1 registrado para o evento '${scopedEvent}'.`);
|
|
1545
|
+
return this;
|
|
1546
|
+
}
|
|
1524
1547
|
const listener = (data) => {
|
|
1525
1548
|
callback(data);
|
|
1526
1549
|
wsClient.off(scopedEvent, listener);
|
|
@@ -1847,10 +1870,29 @@ var WebSocketClient = class extends import_events4.EventEmitter {
|
|
|
1847
1870
|
* @returns The WebSocketClient instance for chaining.
|
|
1848
1871
|
*/
|
|
1849
1872
|
on(event, callback) {
|
|
1850
|
-
|
|
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
|
+
);
|
|
1851
1884
|
super.on(event, callback);
|
|
1885
|
+
console.log(
|
|
1886
|
+
`Depois: ${this.listenerCount(event)} listener(s) para o evento '${event}'.`
|
|
1887
|
+
);
|
|
1852
1888
|
return this;
|
|
1853
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
|
+
*/
|
|
1854
1896
|
/**
|
|
1855
1897
|
* Removes a specific listener from a WebSocket event.
|
|
1856
1898
|
* @param event - The event type to remove the listener from.
|
|
@@ -1858,7 +1900,19 @@ var WebSocketClient = class extends import_events4.EventEmitter {
|
|
|
1858
1900
|
* @returns The WebSocketClient instance for chaining.
|
|
1859
1901
|
*/
|
|
1860
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
|
+
}
|
|
1861
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
|
+
);
|
|
1862
1916
|
return this;
|
|
1863
1917
|
}
|
|
1864
1918
|
removeWildcardListeners(id, event, type) {
|
|
@@ -1956,11 +2010,9 @@ var WebSocketClient = class extends import_events4.EventEmitter {
|
|
|
1956
2010
|
const scopedEvent = `${decodedData.application}:${decodedData.type}`;
|
|
1957
2011
|
if ("channel" in decodedData && decodedData.channel?.id) {
|
|
1958
2012
|
const channelScopedEvent = `${decodedData.application}:Channel:${decodedData.channel.id}:${decodedData.type}`;
|
|
1959
|
-
console.log({ handleMessage: decodedData });
|
|
1960
2013
|
this.emit(channelScopedEvent, decodedData);
|
|
1961
2014
|
} else if ("playback" in decodedData && decodedData.playback?.id) {
|
|
1962
2015
|
const playbackScopedEvent = `${decodedData.application}:Playback:${decodedData.playback.id}:${decodedData.type}`;
|
|
1963
|
-
console.log({ handleMessage: decodedData });
|
|
1964
2016
|
this.emit(playbackScopedEvent, decodedData);
|
|
1965
2017
|
}
|
|
1966
2018
|
this.emit(scopedEvent, decodedData);
|
|
@@ -1997,10 +2049,7 @@ var WebSocketClient = class extends import_events4.EventEmitter {
|
|
|
1997
2049
|
this.isClosedManually = true;
|
|
1998
2050
|
this.ws.close();
|
|
1999
2051
|
this.ws = null;
|
|
2000
|
-
this.
|
|
2001
|
-
(callback) => this.off("message", callback)
|
|
2002
|
-
);
|
|
2003
|
-
this.messageListeners = [];
|
|
2052
|
+
this.removeAllListeners("message");
|
|
2004
2053
|
console.log(
|
|
2005
2054
|
"WebSocket fechado manualmente e listeners para 'message' limpos."
|
|
2006
2055
|
);
|