HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/dmstechonline/whatsapp.dmstech.online/node_modules/pusher-js/src/core/watchlist.ts
import Logger from './logger';
import Pusher from './pusher';
import EventsDispatcher from './events/dispatcher';

export default class WatchlistFacade extends EventsDispatcher {
  private pusher: Pusher;

  public constructor(pusher: Pusher) {
    super(function(eventName, data) {
      Logger.debug(`No callbacks on watchlist events for ${eventName}`);
    });

    this.pusher = pusher;
    this.bindWatchlistInternalEvent();
  }

  handleEvent(pusherEvent) {
    pusherEvent.data.events.forEach(watchlistEvent => {
      this.emit(watchlistEvent.name, watchlistEvent);
    });
  }

  private bindWatchlistInternalEvent() {
    this.pusher.connection.bind('message', pusherEvent => {
      var eventName = pusherEvent.event;
      if (eventName === 'pusher_internal:watchlist_events') {
        this.handleEvent(pusherEvent);
      }
    });
  }
}