@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/cjs/index.cjs
CHANGED
|
@@ -591,7 +591,7 @@ __export(src_exports, {
|
|
|
591
591
|
module.exports = __toCommonJS(src_exports);
|
|
592
592
|
|
|
593
593
|
// src/ari-client/ariClient.ts
|
|
594
|
-
var
|
|
594
|
+
var import_events4 = require("events");
|
|
595
595
|
var import_exponential_backoff = __toESM(require_backoff(), 1);
|
|
596
596
|
|
|
597
597
|
// src/ari-client/baseClient.ts
|
|
@@ -856,16 +856,66 @@ var Bridges = class {
|
|
|
856
856
|
};
|
|
857
857
|
|
|
858
858
|
// src/ari-client/resources/channels.ts
|
|
859
|
+
var import_events = require("events");
|
|
859
860
|
function toQueryParams2(options) {
|
|
860
861
|
return new URLSearchParams(
|
|
861
862
|
Object.entries(options).filter(([, value]) => value !== void 0).map(([key, value]) => [key, value])
|
|
862
863
|
// Garante que value é string
|
|
863
864
|
).toString();
|
|
864
865
|
}
|
|
865
|
-
var Channels = class {
|
|
866
|
+
var Channels = class extends import_events.EventEmitter {
|
|
866
867
|
constructor(client) {
|
|
868
|
+
super();
|
|
867
869
|
this.client = client;
|
|
868
870
|
}
|
|
871
|
+
/**
|
|
872
|
+
* Emits a specific channel-related event.
|
|
873
|
+
*
|
|
874
|
+
* This method is called by the WebSocket client to notify about channel-related events.
|
|
875
|
+
* It will emit events like "ChannelDtmfReceived" to registered listeners.
|
|
876
|
+
*
|
|
877
|
+
* @param eventType - The type of WebSocket event to emit.
|
|
878
|
+
* @param data - The data associated with the event.
|
|
879
|
+
*/
|
|
880
|
+
emitChannelEvent(eventType, data) {
|
|
881
|
+
if ("channel" in data) {
|
|
882
|
+
const channelId = data.channel?.id;
|
|
883
|
+
if (channelId) {
|
|
884
|
+
this.emit(`${eventType}:${channelId}`, data);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
this.emit(eventType, data);
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Registers a listener for a specific channel-related event.
|
|
891
|
+
*
|
|
892
|
+
* @param eventType - The type of WebSocket event to listen for.
|
|
893
|
+
* @param channelId - The ID of the channel to listen for.
|
|
894
|
+
* @param callback - The callback function to execute when the event occurs.
|
|
895
|
+
*/
|
|
896
|
+
registerChannelListener(eventType, channelId, callback) {
|
|
897
|
+
this.on(`${eventType}:${channelId}`, callback);
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Unregisters a listener for a specific channel-related event.
|
|
901
|
+
*
|
|
902
|
+
* @param eventType - The type of WebSocket event to stop listening for.
|
|
903
|
+
* @param channelId - The ID of the channel to stop listening for.
|
|
904
|
+
* @param callback - The callback function to remove.
|
|
905
|
+
*/
|
|
906
|
+
unregisterChannelListener(eventType, channelId, callback) {
|
|
907
|
+
this.off(`${eventType}:${channelId}`, callback);
|
|
908
|
+
}
|
|
909
|
+
/**
|
|
910
|
+
* Checks if a listener is already registered for a specific channel event.
|
|
911
|
+
*
|
|
912
|
+
* @param eventType - The type of event to check.
|
|
913
|
+
* @param channelId - The channel ID associated with the listener.
|
|
914
|
+
* @returns True if a listener is already registered, false otherwise.
|
|
915
|
+
*/
|
|
916
|
+
isChannelListenerRegistered(eventType, channelId) {
|
|
917
|
+
return this.listenerCount(`${eventType}:${channelId}`) > 0;
|
|
918
|
+
}
|
|
869
919
|
/**
|
|
870
920
|
* Lists all active channels.
|
|
871
921
|
*/
|
|
@@ -1202,8 +1252,8 @@ var Endpoints = class {
|
|
|
1202
1252
|
};
|
|
1203
1253
|
|
|
1204
1254
|
// src/ari-client/resources/playbacks.ts
|
|
1205
|
-
var
|
|
1206
|
-
var Playbacks = class extends
|
|
1255
|
+
var import_events2 = require("events");
|
|
1256
|
+
var Playbacks = class extends import_events2.EventEmitter {
|
|
1207
1257
|
constructor(client) {
|
|
1208
1258
|
super();
|
|
1209
1259
|
this.client = client;
|
|
@@ -1322,9 +1372,9 @@ var Sounds = class {
|
|
|
1322
1372
|
};
|
|
1323
1373
|
|
|
1324
1374
|
// src/ari-client/websocketClient.ts
|
|
1325
|
-
var
|
|
1375
|
+
var import_events3 = require("events");
|
|
1326
1376
|
var import_ws = __toESM(require("ws"), 1);
|
|
1327
|
-
var WebSocketClient = class extends
|
|
1377
|
+
var WebSocketClient = class extends import_events3.EventEmitter {
|
|
1328
1378
|
/**
|
|
1329
1379
|
* Creates a new WebSocketClient instance.
|
|
1330
1380
|
* @param url - The WebSocket server URL to connect to.
|
|
@@ -1463,7 +1513,7 @@ var AriClient = class {
|
|
|
1463
1513
|
wsClient = null;
|
|
1464
1514
|
baseClient;
|
|
1465
1515
|
isReconnecting = false;
|
|
1466
|
-
eventEmitter = new
|
|
1516
|
+
eventEmitter = new import_events4.EventEmitter();
|
|
1467
1517
|
channels;
|
|
1468
1518
|
endpoints;
|
|
1469
1519
|
applications;
|
|
@@ -1565,6 +1615,7 @@ var AriClient = class {
|
|
|
1565
1615
|
ChannelDtmfReceived: (data) => {
|
|
1566
1616
|
if ("channel" in data) {
|
|
1567
1617
|
console.log("DTMF recebido no canal:", data.channel);
|
|
1618
|
+
this.channels.emitChannelEvent("ChannelDtmfReceived", data);
|
|
1568
1619
|
}
|
|
1569
1620
|
this.emitGlobalEvent(data);
|
|
1570
1621
|
}
|