@ipcom/asterisk-ari 0.0.74 → 0.0.76

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.
@@ -332,12 +332,21 @@ function toQueryParams2(options) {
332
332
  Object.entries(options).filter(([, value]) => value !== void 0).map(([key, value]) => [key, value])
333
333
  ).toString();
334
334
  }
335
- function isChannelEvent(event) {
336
- return event.channel?.id !== void 0;
335
+ function isChannelEvent(event, channelId) {
336
+ const hasChannel = "channel" in event && event.channel?.id !== void 0;
337
+ const matchesChannelId = hasChannel && (!channelId || event.channel?.id === channelId);
338
+ if (!hasChannel || channelId && !matchesChannelId) {
339
+ console.log(
340
+ `Evento ignorado no isChannelEvent: tipo=${event.type}, canal esperado=${channelId}, evento recebido=`,
341
+ event
342
+ );
343
+ }
344
+ return matchesChannelId;
337
345
  }
338
346
 
339
347
  // src/ari-client/resources/channels.ts
340
348
  var ChannelInstance = class extends import_events2.EventEmitter {
349
+ // ID do canal
341
350
  constructor(client, baseClient, channelId = `channel-${Date.now()}`) {
342
351
  super();
343
352
  this.client = client;
@@ -350,11 +359,11 @@ var ChannelInstance = class extends import_events2.EventEmitter {
350
359
  );
351
360
  if (!wsClient) {
352
361
  throw new Error(
353
- `Nenhum WebSocket conectado dispon\xEDvel para o canal: ${this.channelId}`
362
+ `Nenhum WebSocket conectado dispon\xEDvel para o canal: ${this.id}`
354
363
  );
355
364
  }
356
365
  wsClient.on("message", (event) => {
357
- if (this.isChannelEvent(event)) {
366
+ if (isChannelEvent(event, this.id)) {
358
367
  console.log(`Evento recebido no ChannelInstance: ${event.type}`, event);
359
368
  this.emit(event.type, event);
360
369
  }
@@ -362,18 +371,6 @@ var ChannelInstance = class extends import_events2.EventEmitter {
362
371
  }
363
372
  channelData = null;
364
373
  id;
365
- // ID do canal
366
- /**
367
- * Verifica se o evento possui a propriedade `channel`.
368
- * @param event Evento recebido.
369
- */
370
- isChannelEvent(event) {
371
- const isChannelEvent2 = event && typeof event === "object" && "channel" in event && event.channel?.id === this.channelId;
372
- if (!isChannelEvent2) {
373
- console.log(`Evento ignorado no ChannelInstance: ${event.type}`, event);
374
- }
375
- return isChannelEvent2;
376
- }
377
374
  /**
378
375
  * Adiciona um listener para eventos de canal.
379
376
  */
@@ -1118,6 +1115,7 @@ var WebSocketClient = class extends import_events4.EventEmitter {
1118
1115
  const decodedData = JSON.parse(rawData.toString());
1119
1116
  if (decodedData?.type) {
1120
1117
  this.emit(decodedData.type, decodedData);
1118
+ this.emit("message", decodedData);
1121
1119
  } else {
1122
1120
  console.warn("Mensagem recebida sem tipo:", decodedData);
1123
1121
  }
@@ -1235,6 +1233,7 @@ var AriClient = class {
1235
1233
  this.channelInstances.set(channelId, channelInstance);
1236
1234
  }
1237
1235
  event.instanceChannel = this.channelInstances.get(channelId);
1236
+ event.instanceChannel?.emit(event.type, event);
1238
1237
  }
1239
1238
  }
1240
1239
  callback(event);