@ipcom/asterisk-ari 0.0.26 → 0.0.27
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 +58 -7
- package/dist/cjs/index.cjs.map +3 -3
- package/dist/esm/index.js +58 -7
- package/dist/esm/index.js.map +3 -3
- package/dist/types/ari-client/ariClient.d.ts.map +1 -1
- package/dist/types/ari-client/resources/channels.d.ts +43 -2
- package/dist/types/ari-client/resources/channels.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -572,7 +572,7 @@ var require_backoff = __commonJS({
|
|
|
572
572
|
|
|
573
573
|
// src/ari-client/ariClient.ts
|
|
574
574
|
var import_exponential_backoff = __toESM(require_backoff(), 1);
|
|
575
|
-
import { EventEmitter as
|
|
575
|
+
import { EventEmitter as EventEmitter4 } from "events";
|
|
576
576
|
|
|
577
577
|
// src/ari-client/baseClient.ts
|
|
578
578
|
import axios from "axios";
|
|
@@ -836,16 +836,66 @@ var Bridges = class {
|
|
|
836
836
|
};
|
|
837
837
|
|
|
838
838
|
// src/ari-client/resources/channels.ts
|
|
839
|
+
import { EventEmitter } from "events";
|
|
839
840
|
function toQueryParams2(options) {
|
|
840
841
|
return new URLSearchParams(
|
|
841
842
|
Object.entries(options).filter(([, value]) => value !== void 0).map(([key, value]) => [key, value])
|
|
842
843
|
// Garante que value é string
|
|
843
844
|
).toString();
|
|
844
845
|
}
|
|
845
|
-
var Channels = class {
|
|
846
|
+
var Channels = class extends EventEmitter {
|
|
846
847
|
constructor(client) {
|
|
848
|
+
super();
|
|
847
849
|
this.client = client;
|
|
848
850
|
}
|
|
851
|
+
/**
|
|
852
|
+
* Emits a specific channel-related event.
|
|
853
|
+
*
|
|
854
|
+
* This method is called by the WebSocket client to notify about channel-related events.
|
|
855
|
+
* It will emit events like "ChannelDtmfReceived" to registered listeners.
|
|
856
|
+
*
|
|
857
|
+
* @param eventType - The type of WebSocket event to emit.
|
|
858
|
+
* @param data - The data associated with the event.
|
|
859
|
+
*/
|
|
860
|
+
emitChannelEvent(eventType, data) {
|
|
861
|
+
if ("channel" in data) {
|
|
862
|
+
const channelId = data.channel?.id;
|
|
863
|
+
if (channelId) {
|
|
864
|
+
this.emit(`${eventType}:${channelId}`, data);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
this.emit(eventType, data);
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* Registers a listener for a specific channel-related event.
|
|
871
|
+
*
|
|
872
|
+
* @param eventType - The type of WebSocket event to listen for.
|
|
873
|
+
* @param channelId - The ID of the channel to listen for.
|
|
874
|
+
* @param callback - The callback function to execute when the event occurs.
|
|
875
|
+
*/
|
|
876
|
+
registerChannelListener(eventType, channelId, callback) {
|
|
877
|
+
this.on(`${eventType}:${channelId}`, callback);
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Unregisters a listener for a specific channel-related event.
|
|
881
|
+
*
|
|
882
|
+
* @param eventType - The type of WebSocket event to stop listening for.
|
|
883
|
+
* @param channelId - The ID of the channel to stop listening for.
|
|
884
|
+
* @param callback - The callback function to remove.
|
|
885
|
+
*/
|
|
886
|
+
unregisterChannelListener(eventType, channelId, callback) {
|
|
887
|
+
this.off(`${eventType}:${channelId}`, callback);
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Checks if a listener is already registered for a specific channel event.
|
|
891
|
+
*
|
|
892
|
+
* @param eventType - The type of event to check.
|
|
893
|
+
* @param channelId - The channel ID associated with the listener.
|
|
894
|
+
* @returns True if a listener is already registered, false otherwise.
|
|
895
|
+
*/
|
|
896
|
+
isChannelListenerRegistered(eventType, channelId) {
|
|
897
|
+
return this.listenerCount(`${eventType}:${channelId}`) > 0;
|
|
898
|
+
}
|
|
849
899
|
/**
|
|
850
900
|
* Lists all active channels.
|
|
851
901
|
*/
|
|
@@ -1182,8 +1232,8 @@ var Endpoints = class {
|
|
|
1182
1232
|
};
|
|
1183
1233
|
|
|
1184
1234
|
// src/ari-client/resources/playbacks.ts
|
|
1185
|
-
import { EventEmitter } from "events";
|
|
1186
|
-
var Playbacks = class extends
|
|
1235
|
+
import { EventEmitter as EventEmitter2 } from "events";
|
|
1236
|
+
var Playbacks = class extends EventEmitter2 {
|
|
1187
1237
|
constructor(client) {
|
|
1188
1238
|
super();
|
|
1189
1239
|
this.client = client;
|
|
@@ -1302,9 +1352,9 @@ var Sounds = class {
|
|
|
1302
1352
|
};
|
|
1303
1353
|
|
|
1304
1354
|
// src/ari-client/websocketClient.ts
|
|
1305
|
-
import { EventEmitter as
|
|
1355
|
+
import { EventEmitter as EventEmitter3 } from "events";
|
|
1306
1356
|
import WebSocket from "ws";
|
|
1307
|
-
var WebSocketClient = class extends
|
|
1357
|
+
var WebSocketClient = class extends EventEmitter3 {
|
|
1308
1358
|
/**
|
|
1309
1359
|
* Creates a new WebSocketClient instance.
|
|
1310
1360
|
* @param url - The WebSocket server URL to connect to.
|
|
@@ -1443,7 +1493,7 @@ var AriClient = class {
|
|
|
1443
1493
|
wsClient = null;
|
|
1444
1494
|
baseClient;
|
|
1445
1495
|
isReconnecting = false;
|
|
1446
|
-
eventEmitter = new
|
|
1496
|
+
eventEmitter = new EventEmitter4();
|
|
1447
1497
|
channels;
|
|
1448
1498
|
endpoints;
|
|
1449
1499
|
applications;
|
|
@@ -1545,6 +1595,7 @@ var AriClient = class {
|
|
|
1545
1595
|
ChannelDtmfReceived: (data) => {
|
|
1546
1596
|
if ("channel" in data) {
|
|
1547
1597
|
console.log("DTMF recebido no canal:", data.channel);
|
|
1598
|
+
this.channels.emitChannelEvent("ChannelDtmfReceived", data);
|
|
1548
1599
|
}
|
|
1549
1600
|
this.emitGlobalEvent(data);
|
|
1550
1601
|
}
|