UNPKG

taro-sockjs-client

Version:
48 lines (42 loc) 1.25 kB
import debug from '../utils/debug' export default function (availableTransports) { return { filterToEnabled: function (transportsWhitelist, info) { let transports = { main: [], facade: [], } if (!transportsWhitelist) { transportsWhitelist = [] } else if (typeof transportsWhitelist === 'string') { transportsWhitelist = [transportsWhitelist] } availableTransports.forEach(function (trans) { if (!trans) { return } if (trans.transportName === 'websocket' && info.websocket === false) { debug('disabled from server', 'websocket') return } if ( transportsWhitelist.length && transportsWhitelist.indexOf(trans.transportName) === -1 ) { debug('not in whitelist', trans.transportName) return } if (trans.enabled(info)) { debug('enabled', trans.transportName) transports.main.push(trans) if (trans.facadeTransport) { transports.facade.push(trans.facadeTransport) } } else { debug('disabled', trans.transportName) } }) return transports }, } }