UNPKG

rb-sdk

Version:

rb client sdk

113 lines (79 loc) 3.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.detect = exports.SignalType = exports.rbEventDispatcher = exports.rbDebugger = exports.RBEvent = exports.Configuration = undefined; exports.default = createRBClient; var _ToCRBClient = require('./ToCRBClient'); var _ToCRBClient2 = _interopRequireDefault(_ToCRBClient); var _SeatRBClient = require('./SeatRBClient'); var _SeatRBClient2 = _interopRequireDefault(_SeatRBClient); var _Configuration = require('./Configuration'); var _Configuration2 = _interopRequireDefault(_Configuration); var _SignalType = require('./SignalType'); var _SignalType2 = _interopRequireDefault(_SignalType); var _RBDebugger = require('./RBDebugger'); var _RBDebugger2 = _interopRequireDefault(_RBDebugger); var _EventDispatcher = require('./EventDispatcher'); var _EventDispatcher2 = _interopRequireDefault(_EventDispatcher); var _RBEvent = require('./RBEvent'); var _RBEvent2 = _interopRequireDefault(_RBEvent); var _Detector = require('./Detector'); var _Detector2 = _interopRequireDefault(_Detector); var _uuidJs = require('uuid-js'); var _uuidJs2 = _interopRequireDefault(_uuidJs); var _store = require('store'); var _store2 = _interopRequireDefault(_store); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function detectBrowser(failureCallback) { var browser = _Detector2.default.browser; var WEBRTC_CONSTANTS = ['RTCPeerConnection', 'webkitRTCPeerConnection', 'mozRTCPeerConnection', 'RTCIceGatherer']; var isWebRTCSupported = WEBRTC_CONSTANTS.find(function (item) { return item in window; }); var isGetUserMediaSupported = navigator && (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.mediaDevices && navigator.mediaDevices.getUserMedia); if (!isWebRTCSupported || !isGetUserMediaSupported) { var message = 'The rb client unsupport this browser' + JSON.stringify(browser); _RBDebugger2.default.error(message); failureCallback && failureCallback(browser); return false; } return true; } function createRBClient(config, failureCallback) { generateUUID(); if (!(config instanceof _Configuration2.default)) { var message = 'The config is not instance of Configuration'; _RBDebugger2.default.error(message); throw new Error(message); } var clientType = config.clientType; if (!clientType || 'CLIENT_SEAT' !== clientType && 'CLIENT_2C' !== clientType) { var _message = 'The configuration clientType:[' + clientType + '] is not supported. please check configuration.'; _RBDebugger2.default.error(_message); throw new Error(_message); } if (!detectBrowser(failureCallback)) { return null; } return 'CLIENT_SEAT' === clientType ? new _SeatRBClient2.default(config) : new _ToCRBClient2.default(config); } function generateUUID() { var mac = _store2.default.get('_rbdid'); if (mac) { return; } var uuid4 = _uuidJs2.default.create(); mac = uuid4.toString(); mac = mac.replace(/-/g, ''); console.log("生成UUID=======" + mac); _store2.default.set('_rbdid', mac); } window.rbEventDispatcher = window.rbEventDispatcher || _EventDispatcher2.default; window.rbDebugger = window.rbDebugger || _RBDebugger2.default; exports.Configuration = _Configuration2.default; exports.RBEvent = _RBEvent2.default; exports.rbDebugger = _RBDebugger2.default; exports.rbEventDispatcher = _EventDispatcher2.default; exports.SignalType = _SignalType2.default; exports.detect = _Detector2.default;