UNPKG

pusher-js

Version:

Pusher Channels JavaScript library for browsers, React Native, NodeJS and web workers

32 lines (26 loc) 857 B
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); } }); } }