UNPKG

video-auth-js-sdk

Version:

A SDK to authenticate users with camera through a realtime stream

106 lines (104 loc) 4.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _utility = _interopRequireDefault(require("./utility/utility")); var _podasyncWsOnly = _interopRequireDefault(require("podasync-ws-only")); var _errorHandler = require("./errorHandler"); var AsyncManager = /*#__PURE__*/function () { function AsyncManager(app) { (0, _classCallCheck2["default"])(this, AsyncManager); this._app = app; var asyncParams = { appId: app.params.appId, protocol: 'websocket', socketAddress: app.params.socketAddress, serverName: app.params.serverName, deviceId: app.params.deviceId, wsConnectionWaitTime: 10000, reconnectOnClose: false, // asyncLogging: app.sdkParams.asyncLogging, // logLevel: (app.sdkParams.consoleLogging ? 3 : 1), // retryStepTimerTime: protocolManager.getRetryStepTimerTime(), // onStartWithRetryStepGreaterThanZero: onAsyncStateChange, // msgLogCallback: app.publicCallbacks.onDebug || null, // asyncLogCallback: asyncLogCallback || null, onDeviceId: this._onDeviceId.bind(this) }; this._asyncClient = new _podasyncWsOnly["default"](asyncParams); this._bindListeneres(); // this._requestsList = {} } return (0, _createClass2["default"])(AsyncManager, [{ key: "send", value: function send(message) { this._asyncClient.send(message); } }, { key: "_onDeviceId", value: function _onDeviceId(deviceId) { if (!this._localDeviceId) { this._localDeviceId = deviceId; } this._asyncClient.registerDevice(this._localDeviceId); } }, { key: "_bindListeneres", value: function _bindListeneres() { this._asyncClient.on('asyncReady', function () { this._app.events.emit(this._app.events.eventsList.ASYNC_READY); }.bind(this)); // this._asyncClient.on('stateChange', this._onAsyncMessage); this._asyncClient.on('message', this._onAsyncMessage.bind(this)); this._asyncClient.on('error', function (error) { console.error(error); this._app.publicCallbacks.onError({ code: _errorHandler.errorList.CONNECT_TO_SOCKET_FAILED.code, message: _errorHandler.errorList.CONNECT_TO_SOCKET_FAILED.message }); }.bind(this)); } }, { key: "_onAsyncMessage", value: function _onAsyncMessage(data, ack) { var jsonMessage = typeof data.content === 'string' && _utility["default"].isValidJson(data.content) ? JSON.parse(data.content) : data.content; if (data.senderName) { if (data.senderName == this._app.events.eventsList.AI_MESSAGE) { this._app.events.emit(this._app.events.eventsList.AI_MESSAGE, jsonMessage); } } if (jsonMessage && jsonMessage.chatId && jsonMessage.chatId == this._app.authSessionInfo.callId) { this._app.events.emit(this._app.events.eventsList.CALL_MESSAGE, jsonMessage); } this._app.messenger.processResponse(data); ack && ack(); } }, { key: "destroy", value: function () { var _destroy = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return this._asyncClient.logout(); case 2: case "end": return _context.stop(); } }, _callee, this); })); function destroy() { return _destroy.apply(this, arguments); } return destroy; }() }]); }(); var _default = exports["default"] = AsyncManager;