@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/cjs/index.cjs
CHANGED
|
@@ -1811,34 +1811,31 @@ var AriClient = class {
|
|
|
1811
1811
|
`WebSocket client para o app '${app}' n\xE3o est\xE1 conectado.`
|
|
1812
1812
|
);
|
|
1813
1813
|
}
|
|
1814
|
-
console.log(`[${app}] Registrando eventos do WebSocket...`);
|
|
1815
1814
|
const eventHandlers = {
|
|
1816
|
-
|
|
1815
|
+
PlaybackStarted: (data) => {
|
|
1817
1816
|
if ("playbackId" in data) {
|
|
1818
|
-
|
|
1817
|
+
console.log(`[${app}] PlaybackStarted:`, data);
|
|
1819
1818
|
}
|
|
1820
|
-
console.log(`[${app}] PlaybackFinished:`, data);
|
|
1821
|
-
this.emitGlobalEvent(data);
|
|
1822
1819
|
},
|
|
1823
|
-
|
|
1824
|
-
if ("
|
|
1825
|
-
console.log(`[${app}]
|
|
1826
|
-
this.channels.emitChannelEvent("ChannelStateChange", data);
|
|
1820
|
+
PlaybackFinished: (data) => {
|
|
1821
|
+
if ("playbackId" in data) {
|
|
1822
|
+
console.log(`[${app}] PlaybackFinished:`, data);
|
|
1827
1823
|
}
|
|
1828
|
-
this.emitGlobalEvent(data);
|
|
1829
1824
|
},
|
|
1830
|
-
|
|
1831
|
-
if ("
|
|
1832
|
-
console.log(`[${app}]
|
|
1825
|
+
ChannelDtmfReceived: (data) => {
|
|
1826
|
+
if (data.type === "ChannelDtmfReceived" && "digit" in data) {
|
|
1827
|
+
console.log(`[${app}] DTMF recebido: ${data.digit}`);
|
|
1828
|
+
} else {
|
|
1829
|
+
console.warn(
|
|
1830
|
+
`[${app}] Evento inesperado em ChannelDtmfReceived`,
|
|
1831
|
+
data
|
|
1832
|
+
);
|
|
1833
1833
|
}
|
|
1834
|
-
this.emitGlobalEvent(data);
|
|
1835
1834
|
},
|
|
1836
|
-
|
|
1835
|
+
ChannelStateChange: (data) => {
|
|
1837
1836
|
if ("channel" in data) {
|
|
1838
|
-
console.log(`[${app}]
|
|
1839
|
-
this.channels.emitChannelEvent("ChannelDtmfReceived", data);
|
|
1837
|
+
console.log(`[${app}] Estado do canal alterado:`, data.channel);
|
|
1840
1838
|
}
|
|
1841
|
-
this.emitGlobalEvent(data);
|
|
1842
1839
|
}
|
|
1843
1840
|
};
|
|
1844
1841
|
for (const [eventType, handler] of Object.entries(eventHandlers)) {
|
|
@@ -1882,6 +1879,17 @@ var AriClient = class {
|
|
|
1882
1879
|
unregisterPlaybackListener(eventType, playbackId, callback) {
|
|
1883
1880
|
this.playbacks.unregisterListener(eventType, playbackId, callback);
|
|
1884
1881
|
}
|
|
1882
|
+
registerListener(eventType, condition, callback) {
|
|
1883
|
+
if (!this.isWebSocketConnected()) {
|
|
1884
|
+
throw new Error("WebSocket n\xE3o est\xE1 conectado.");
|
|
1885
|
+
}
|
|
1886
|
+
const handler = (eventData) => {
|
|
1887
|
+
if (eventData.type === eventType && condition(eventData)) {
|
|
1888
|
+
callback(eventData);
|
|
1889
|
+
}
|
|
1890
|
+
};
|
|
1891
|
+
this.wsClient?.on(eventType, handler);
|
|
1892
|
+
}
|
|
1885
1893
|
/**
|
|
1886
1894
|
* Registers a listener for playback events.
|
|
1887
1895
|
* The listener is triggered for events such as "PlaybackFinished".
|
|
@@ -1891,7 +1899,34 @@ var AriClient = class {
|
|
|
1891
1899
|
* @param callback - The callback function to execute when the event occurs.
|
|
1892
1900
|
*/
|
|
1893
1901
|
registerPlaybackListener(eventType, playbackId, callback) {
|
|
1894
|
-
this.
|
|
1902
|
+
if (!this.isWebSocketConnected()) {
|
|
1903
|
+
throw new Error("WebSocket n\xE3o est\xE1 conectado.");
|
|
1904
|
+
}
|
|
1905
|
+
console.log(
|
|
1906
|
+
`Registrando listener para evento ${eventType} com playbackId ${playbackId}`
|
|
1907
|
+
);
|
|
1908
|
+
const handler = (eventData) => {
|
|
1909
|
+
if ("playbackId" in eventData && eventData.playbackId === playbackId) {
|
|
1910
|
+
callback(eventData);
|
|
1911
|
+
}
|
|
1912
|
+
};
|
|
1913
|
+
this.wsClient?.on(eventType, handler);
|
|
1914
|
+
}
|
|
1915
|
+
registerChannelListener(eventType, channelId, callback) {
|
|
1916
|
+
if (!this.isWebSocketConnected()) {
|
|
1917
|
+
throw new Error("WebSocket n\xE3o est\xE1 conectado.");
|
|
1918
|
+
}
|
|
1919
|
+
console.log(
|
|
1920
|
+
`Registrando listener para evento ${eventType} com channelId ${channelId}`
|
|
1921
|
+
);
|
|
1922
|
+
const handler = (eventData) => {
|
|
1923
|
+
if (eventData.type === eventType && "channel" in eventData && eventData.channel?.id === channelId) {
|
|
1924
|
+
callback(
|
|
1925
|
+
eventData
|
|
1926
|
+
);
|
|
1927
|
+
}
|
|
1928
|
+
};
|
|
1929
|
+
this.wsClient?.on(eventType, handler);
|
|
1895
1930
|
}
|
|
1896
1931
|
/**
|
|
1897
1932
|
* Checks if a listener is already registered for a specific event and playback.
|