UNPKG

pusher-js

Version:

Pusher JavaScript library for browser, React Native, NodeJS and web workers

33 lines (27 loc) 734 B
import Strategy from "./strategy"; import StrategyRunner from "./strategy_runner"; /** Launches the substrategy and terminates on the first open connection. * * @param {Strategy} strategy */ export default class FirstConnectedStrategy implements Strategy { strategy : Strategy; constructor(strategy : Strategy) { this.strategy = strategy; } isSupported() : boolean { return this.strategy.isSupported(); } connect(minPriority : number, callback : Function) : StrategyRunner { var runner = this.strategy.connect( minPriority, function(error, handshake) { if (handshake) { runner.abort(); } callback(error, handshake); } ); return runner; } }