@ipcom/asterisk-ari 0.0.39 → 0.0.40
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 +54 -19
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/esm/index.js +54 -19
- package/dist/esm/index.js.map +2 -2
- package/dist/types/ari-client/ariClient.d.ts +9 -2
- package/dist/types/ari-client/ariClient.d.ts.map +1 -1
- package/dist/types/ari-client/interfaces/events.types.d.ts +6 -0
- package/dist/types/ari-client/interfaces/events.types.d.ts.map +1 -1
- package/dist/types/ari-client/interfaces/index.d.ts +1 -1
- package/dist/types/ari-client/interfaces/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -1789,34 +1789,31 @@ var AriClient = class {
|
|
|
1789
1789
|
`WebSocket client para o app '${app}' n\xE3o est\xE1 conectado.`
|
|
1790
1790
|
);
|
|
1791
1791
|
}
|
|
1792
|
-
console.log(`[${app}] Registrando eventos do WebSocket...`);
|
|
1793
1792
|
const eventHandlers = {
|
|
1794
|
-
|
|
1793
|
+
PlaybackStarted: (data) => {
|
|
1795
1794
|
if ("playbackId" in data) {
|
|
1796
|
-
|
|
1795
|
+
console.log(`[${app}] PlaybackStarted:`, data);
|
|
1797
1796
|
}
|
|
1798
|
-
console.log(`[${app}] PlaybackFinished:`, data);
|
|
1799
|
-
this.emitGlobalEvent(data);
|
|
1800
1797
|
},
|
|
1801
|
-
|
|
1802
|
-
if ("
|
|
1803
|
-
console.log(`[${app}]
|
|
1804
|
-
this.channels.emitChannelEvent("ChannelStateChange", data);
|
|
1798
|
+
PlaybackFinished: (data) => {
|
|
1799
|
+
if ("playbackId" in data) {
|
|
1800
|
+
console.log(`[${app}] PlaybackFinished:`, data);
|
|
1805
1801
|
}
|
|
1806
|
-
this.emitGlobalEvent(data);
|
|
1807
1802
|
},
|
|
1808
|
-
|
|
1809
|
-
if ("
|
|
1810
|
-
console.log(`[${app}]
|
|
1803
|
+
ChannelDtmfReceived: (data) => {
|
|
1804
|
+
if (data.type === "ChannelDtmfReceived" && "digit" in data) {
|
|
1805
|
+
console.log(`[${app}] DTMF recebido: ${data.digit}`);
|
|
1806
|
+
} else {
|
|
1807
|
+
console.warn(
|
|
1808
|
+
`[${app}] Evento inesperado em ChannelDtmfReceived`,
|
|
1809
|
+
data
|
|
1810
|
+
);
|
|
1811
1811
|
}
|
|
1812
|
-
this.emitGlobalEvent(data);
|
|
1813
1812
|
},
|
|
1814
|
-
|
|
1813
|
+
ChannelStateChange: (data) => {
|
|
1815
1814
|
if ("channel" in data) {
|
|
1816
|
-
console.log(`[${app}]
|
|
1817
|
-
this.channels.emitChannelEvent("ChannelDtmfReceived", data);
|
|
1815
|
+
console.log(`[${app}] Estado do canal alterado:`, data.channel);
|
|
1818
1816
|
}
|
|
1819
|
-
this.emitGlobalEvent(data);
|
|
1820
1817
|
}
|
|
1821
1818
|
};
|
|
1822
1819
|
for (const [eventType, handler] of Object.entries(eventHandlers)) {
|
|
@@ -1860,6 +1857,17 @@ var AriClient = class {
|
|
|
1860
1857
|
unregisterPlaybackListener(eventType, playbackId, callback) {
|
|
1861
1858
|
this.playbacks.unregisterListener(eventType, playbackId, callback);
|
|
1862
1859
|
}
|
|
1860
|
+
registerListener(eventType, condition, callback) {
|
|
1861
|
+
if (!this.isWebSocketConnected()) {
|
|
1862
|
+
throw new Error("WebSocket n\xE3o est\xE1 conectado.");
|
|
1863
|
+
}
|
|
1864
|
+
const handler = (eventData) => {
|
|
1865
|
+
if (eventData.type === eventType && condition(eventData)) {
|
|
1866
|
+
callback(eventData);
|
|
1867
|
+
}
|
|
1868
|
+
};
|
|
1869
|
+
this.wsClient?.on(eventType, handler);
|
|
1870
|
+
}
|
|
1863
1871
|
/**
|
|
1864
1872
|
* Registers a listener for playback events.
|
|
1865
1873
|
* The listener is triggered for events such as "PlaybackFinished".
|
|
@@ -1869,7 +1877,34 @@ var AriClient = class {
|
|
|
1869
1877
|
* @param callback - The callback function to execute when the event occurs.
|
|
1870
1878
|
*/
|
|
1871
1879
|
registerPlaybackListener(eventType, playbackId, callback) {
|
|
1872
|
-
this.
|
|
1880
|
+
if (!this.isWebSocketConnected()) {
|
|
1881
|
+
throw new Error("WebSocket n\xE3o est\xE1 conectado.");
|
|
1882
|
+
}
|
|
1883
|
+
console.log(
|
|
1884
|
+
`Registrando listener para evento ${eventType} com playbackId ${playbackId}`
|
|
1885
|
+
);
|
|
1886
|
+
const handler = (eventData) => {
|
|
1887
|
+
if ("playbackId" in eventData && eventData.playbackId === playbackId) {
|
|
1888
|
+
callback(eventData);
|
|
1889
|
+
}
|
|
1890
|
+
};
|
|
1891
|
+
this.wsClient?.on(eventType, handler);
|
|
1892
|
+
}
|
|
1893
|
+
registerChannelListener(eventType, channelId, callback) {
|
|
1894
|
+
if (!this.isWebSocketConnected()) {
|
|
1895
|
+
throw new Error("WebSocket n\xE3o est\xE1 conectado.");
|
|
1896
|
+
}
|
|
1897
|
+
console.log(
|
|
1898
|
+
`Registrando listener para evento ${eventType} com channelId ${channelId}`
|
|
1899
|
+
);
|
|
1900
|
+
const handler = (eventData) => {
|
|
1901
|
+
if (eventData.type === eventType && "channel" in eventData && eventData.channel?.id === channelId) {
|
|
1902
|
+
callback(
|
|
1903
|
+
eventData
|
|
1904
|
+
);
|
|
1905
|
+
}
|
|
1906
|
+
};
|
|
1907
|
+
this.wsClient?.on(eventType, handler);
|
|
1873
1908
|
}
|
|
1874
1909
|
/**
|
|
1875
1910
|
* Checks if a listener is already registered for a specific event and playback.
|