@reactoo/watchtogether-sdk-js 2.5.13 → 2.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @reactoo/watchtogether-sdk-js
3
- * @version 2.5.13
3
+ * @version 2.5.14
4
4
  */
5
5
  (function webpackUniversalModuleDefinition(root, factory) {
6
6
  if(typeof exports === 'object' && typeof module === 'object')
@@ -8258,7 +8258,7 @@ eval("module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProp
8258
8258
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8259
8259
 
8260
8260
  "use strict";
8261
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _modules_wt_room__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/wt-room */ \"./src/modules/wt-room.js\");\n/* harmony import */ var _modules_wt_auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/wt-auth */ \"./src/modules/wt-auth.js\");\n/* harmony import */ var _modules_wt_iot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/wt-iot */ \"./src/modules/wt-iot.js\");\n/* harmony import */ var _models_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./models/auth */ \"./src/models/auth.js\");\n/* harmony import */ var _models_room__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./models/room */ \"./src/models/room.js\");\n/* harmony import */ var _models_user__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./models/user */ \"./src/models/user.js\");\n/* harmony import */ var _models_asset__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./models/asset */ \"./src/models/asset.js\");\n/* harmony import */ var _models_system__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./models/system */ \"./src/models/system.js\");\n/* harmony import */ var _models_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./models/utils */ \"./src/models/utils.js\");\n/* harmony import */ var _models_iot__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./models/iot */ \"./src/models/iot.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\nfunction WatchTogether() {\n var _this = this;\n\n var modules = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var instanceType = arguments.length > 1 ? arguments[1] : undefined;\n var debug = arguments.length > 2 ? arguments[2] : undefined;\n var playerFactory = arguments.length > 3 ? arguments[3] : undefined;\n var providerAuth = arguments.length > 4 ? arguments[4] : undefined;\n this.username = null;\n this.userId = null;\n this.__instanceType = instanceType;\n this.__debug = debug;\n this.__privates = {\n playerFactory: playerFactory,\n providerAuth: providerAuth,\n room: modules.room,\n auth: modules.auth,\n iot: modules.iot\n };\n\n this.setInstanceType = function (newInstanceType) {\n return _this.__instanceType = newInstanceType;\n };\n\n this.isReady = modules.room.whenInitialized;\n this.browser = modules.room.browser;\n this.browserDetails = modules.room.browserDetails;\n this.auth = _objectSpread({}, _models_auth__WEBPACK_IMPORTED_MODULE_3__[\"default\"].call(this));\n this.user = _objectSpread({}, _models_user__WEBPACK_IMPORTED_MODULE_5__[\"default\"].call(this));\n this.room = _objectSpread({}, _models_room__WEBPACK_IMPORTED_MODULE_4__[\"default\"].call(this));\n this.asset = _objectSpread({}, _models_asset__WEBPACK_IMPORTED_MODULE_6__[\"default\"].call(this));\n this.system = _objectSpread({}, _models_system__WEBPACK_IMPORTED_MODULE_7__[\"default\"].call(this));\n this.iot = _objectSpread({}, _models_iot__WEBPACK_IMPORTED_MODULE_9__[\"default\"].call(this));\n this.utils = _models_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n}\n\nvar watchTogether = function watchTogether() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$debug = _ref.debug,\n debug = _ref$debug === void 0 ? true : _ref$debug,\n _ref$isProduction = _ref.isProduction,\n isProduction = _ref$isProduction === void 0 ? true : _ref$isProduction,\n _ref$language = _ref.language,\n language = _ref$language === void 0 ? 'en-GB' : _ref$language,\n _ref$storagePrefix = _ref.storagePrefix,\n storagePrefix = _ref$storagePrefix === void 0 ? \"reactoo_\" : _ref$storagePrefix,\n _ref$apiUrl = _ref.apiUrl,\n apiUrl = _ref$apiUrl === void 0 ? null : _ref$apiUrl;\n\n var room = new _modules_wt_room__WEBPACK_IMPORTED_MODULE_0__[\"default\"](debug);\n var auth = new _modules_wt_auth__WEBPACK_IMPORTED_MODULE_1__[\"default\"](debug, isProduction, language, storagePrefix, apiUrl);\n var iot = new _modules_wt_iot__WEBPACK_IMPORTED_MODULE_2__[\"default\"](debug);\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$instanceType = _ref2.instanceType,\n instanceType = _ref2$instanceType === void 0 ? 'reactooDemo' : _ref2$instanceType,\n _ref2$playerFactory = _ref2.playerFactory,\n playerFactory = _ref2$playerFactory === void 0 ? null : _ref2$playerFactory,\n _ref2$providerAuth = _ref2.providerAuth,\n providerAuth = _ref2$providerAuth === void 0 ? null : _ref2$providerAuth;\n\n return new WatchTogether({\n room: room,\n auth: auth,\n iot: iot\n }, instanceType, debug, playerFactory, providerAuth);\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (watchTogether);\n\n//# sourceURL=webpack://WatchTogetherSDK/./src/index.js?");
8261
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _modules_wt_room__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/wt-room */ \"./src/modules/wt-room.js\");\n/* harmony import */ var _modules_wt_auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/wt-auth */ \"./src/modules/wt-auth.js\");\n/* harmony import */ var _modules_wt_iot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/wt-iot */ \"./src/modules/wt-iot.js\");\n/* harmony import */ var _models_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./models/auth */ \"./src/models/auth.js\");\n/* harmony import */ var _models_room__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./models/room */ \"./src/models/room.js\");\n/* harmony import */ var _models_user__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./models/user */ \"./src/models/user.js\");\n/* harmony import */ var _models_asset__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./models/asset */ \"./src/models/asset.js\");\n/* harmony import */ var _models_system__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./models/system */ \"./src/models/system.js\");\n/* harmony import */ var _models_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./models/utils */ \"./src/models/utils.js\");\n/* harmony import */ var _models_iot__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./models/iot */ \"./src/models/iot.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\nfunction WatchTogether() {\n var _this = this;\n\n var modules = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var instanceType = arguments.length > 1 ? arguments[1] : undefined;\n var debug = arguments.length > 2 ? arguments[2] : undefined;\n var playerFactory = arguments.length > 3 ? arguments[3] : undefined;\n var providerAuth = arguments.length > 4 ? arguments[4] : undefined;\n this.username = null;\n this.userId = null;\n this.__instanceType = instanceType;\n this.__debug = debug;\n this.__privates = {\n playerFactory: playerFactory,\n providerAuth: providerAuth,\n room: modules.room,\n auth: modules.auth,\n iot: modules.iot\n };\n\n this.setInstanceType = function (newInstanceType) {\n return _this.__instanceType = newInstanceType;\n };\n\n this.isReady = modules.room.whenInitialized;\n this.browser = modules.room.browser;\n this.browserDetails = modules.room.browserDetails;\n this.auth = _objectSpread({}, _models_auth__WEBPACK_IMPORTED_MODULE_3__[\"default\"].call(this));\n this.user = _objectSpread({}, _models_user__WEBPACK_IMPORTED_MODULE_5__[\"default\"].call(this));\n this.room = _objectSpread({}, _models_room__WEBPACK_IMPORTED_MODULE_4__[\"default\"].call(this));\n this.asset = _objectSpread({}, _models_asset__WEBPACK_IMPORTED_MODULE_6__[\"default\"].call(this));\n this.system = _objectSpread({}, _models_system__WEBPACK_IMPORTED_MODULE_7__[\"default\"].call(this));\n this.iot = _objectSpread({}, _models_iot__WEBPACK_IMPORTED_MODULE_9__[\"default\"].call(this));\n this.utils = _models_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n}\n\nvar watchTogether = function watchTogether() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$debug = _ref.debug,\n debug = _ref$debug === void 0 ? true : _ref$debug,\n _ref$language = _ref.language,\n language = _ref$language === void 0 ? 'en-GB' : _ref$language,\n _ref$storagePrefix = _ref.storagePrefix,\n storagePrefix = _ref$storagePrefix === void 0 ? \"reactoo_\" : _ref$storagePrefix,\n _ref$apiUrl = _ref.apiUrl,\n apiUrl = _ref$apiUrl === void 0 ? null : _ref$apiUrl;\n\n var room = new _modules_wt_room__WEBPACK_IMPORTED_MODULE_0__[\"default\"](debug);\n var auth = new _modules_wt_auth__WEBPACK_IMPORTED_MODULE_1__[\"default\"](debug, language, storagePrefix, apiUrl);\n var iot = new _modules_wt_iot__WEBPACK_IMPORTED_MODULE_2__[\"default\"](debug);\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$instanceType = _ref2.instanceType,\n instanceType = _ref2$instanceType === void 0 ? 'reactooDemo' : _ref2$instanceType,\n _ref2$playerFactory = _ref2.playerFactory,\n playerFactory = _ref2$playerFactory === void 0 ? null : _ref2$playerFactory,\n _ref2$providerAuth = _ref2.providerAuth,\n providerAuth = _ref2$providerAuth === void 0 ? null : _ref2$providerAuth;\n\n return new WatchTogether({\n room: room,\n auth: auth,\n iot: iot\n }, instanceType, debug, playerFactory, providerAuth);\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (watchTogether);\n\n//# sourceURL=webpack://WatchTogetherSDK/./src/index.js?");
8262
8262
 
8263
8263
  /***/ }),
8264
8264
 
@@ -8522,7 +8522,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wt_
8522
8522
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8523
8523
 
8524
8524
  "use strict";
8525
- eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony import */ var swagger_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swagger-client */ \"./node_modules/swagger-client/es/index.js\");\n/* harmony import */ var _wt_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wt-config */ \"./src/modules/wt-config.js\");\n/* harmony import */ var _wt_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./wt-emitter */ \"./src/modules/wt-emitter.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar Auth = /*#__PURE__*/function () {\n function Auth(enableDebugFlag) {\n var isProduction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var language = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en-GB';\n var storagePrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n var apiUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n _classCallCheck(this, Auth);\n\n this.ID_TOKEN = \"\".concat(storagePrefix !== \"\" ? storagePrefix + '_' : '', \"rwt_idToken\");\n this.ACCESS_TOKEN = \"\".concat(storagePrefix !== \"\" ? storagePrefix + '_' : '', \"rwt_accessToken\");\n this.REFRESH_TOKEN = \"\".concat(storagePrefix !== \"\" ? storagePrefix + '_' : '', \"rwt_refreshToken\");\n Object.assign(this, Object(_wt_emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])());\n this.__log = Auth.noop;\n\n if (enableDebugFlag) {\n this._enableDebug();\n }\n\n this.__language = language;\n this.__refreshTokenPromise = null;\n this.__isRefreshing = false;\n this.__isLogged = null;\n this.__parsedJwt = null;\n this.__specUrl = apiUrl ? apiUrl : isProduction === true ? _wt_config__WEBPACK_IMPORTED_MODULE_1__[\"default\"].apiUrl : _wt_config__WEBPACK_IMPORTED_MODULE_1__[\"default\"].devApiUrl;\n this.__client = this.initialize(true);\n }\n\n _createClass(Auth, [{\n key: \"_enableDebug\",\n value: function _enableDebug() {\n this.__log = console.log.bind(console);\n }\n }, {\n key: \"_requestInterceptor\",\n value: function _requestInterceptor(req) {\n if (!req.headers) {\n req.headers = {};\n }\n\n req.headers['Accept-Language'] = this.__language;\n return req;\n }\n }, {\n key: \"_responseInterceptor\",\n value: function _responseInterceptor(res, req) {\n var _this = this;\n\n if (res.status === 401) {\n if (this.__isLogged) {\n var rt = localStorage.getItem(this.REFRESH_TOKEN);\n this.__refreshTokenPromise = this.__isRefreshing ? this.__refreshTokenPromise : this.__client.then(function (client) {\n _this.__isRefreshing = true;\n return client.apis.auth.refreshToken({}, {\n requestBody: {\n refreshToken: localStorage.getItem(_this.REFRESH_TOKEN)\n }\n });\n }).then(function (r) {\n _this.__isRefreshing = false;\n return _this.login(r.data.idToken, r.data.accessToken, rt, true);\n }).catch(function (e) {\n _this.__isRefreshing = false;\n\n _this.logout();\n\n return Promise.reject(e);\n });\n return this.__refreshTokenPromise.then(function () {\n return swagger_client__WEBPACK_IMPORTED_MODULE_0__[\"default\"].http(_objectSpread(_objectSpread({}, req), {}, {\n headers: _objectSpread(_objectSpread({}, req.headers), {}, {\n Authorization: 'Bearer ' + localStorage.getItem(_this.ID_TOKEN)\n })\n }));\n }).then(function (res) {\n if (_typeof(res.obj) === 'object' && res.obj !== null) {\n res.data = res.obj;\n }\n\n return res;\n });\n }\n }\n\n if (_typeof(res.obj) === 'object' && res.obj !== null) {\n res.data = res.obj;\n }\n\n return res;\n }\n }, {\n key: \"initialize\",\n value: function initialize() {\n var _this2 = this;\n\n var isInitialEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var isReauth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var idToken = localStorage.getItem(this.ID_TOKEN);\n var authorizations = {};\n\n if (idToken) {\n authorizations['bearer'] = '' + idToken;\n }\n\n this.__isLogged = !!idToken;\n\n var _that = this;\n\n return new swagger_client__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.__specUrl, {\n authorizations: authorizations,\n requestInterceptor: this._requestInterceptor.bind(this),\n responseInterceptor: function responseInterceptor(res) {\n return _that._responseInterceptor(res, this);\n }\n }).then(function (client) {\n _this2.__isLogged = !!idToken;\n _this2.__parsedJwt = _this2.parseJwt(idToken);\n\n _this2.emit(_this2.__isLogged ? 'login' : 'logout', {\n client: client,\n isInitialEvent: isInitialEvent,\n isLoggedInAsDevice: _this2.isLoggedInAs(_this2.__parsedJwt, 'device'),\n isLoggedInAsObserver: _this2.isLoggedInAs(_this2.__parsedJwt, 'observer'),\n isLoggedInAsInstanceAdmin: _this2.isLoggedInAs(_this2.__parsedJwt, 'instanceAdmin'),\n isLoggedInAsAdmin: _this2.isLoggedInAs(_this2.__parsedJwt, 'admin'),\n domain: _this2.getDomain(_this2.__parsedJwt),\n isReauth: isReauth\n });\n\n return client;\n }).catch(function (e) {\n _this2.__isLogged = false;\n\n _this2.emit('logout', {\n client: null,\n isInitialEvent: isInitialEvent,\n isLoggedInAsDevice: false,\n isLoggedInAsObserver: false,\n isLoggedInAsInstanceAdmin: false,\n isLoggedInAsAdmin: false,\n isReauth: isReauth\n });\n\n return Promise.reject(e);\n });\n }\n }, {\n key: \"login\",\n value: function login(idToken, accessToken, refreshToken) {\n var isReauth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n localStorage.setItem(this.ID_TOKEN, idToken);\n localStorage.setItem(this.ACCESS_TOKEN, accessToken);\n localStorage.setItem(this.REFRESH_TOKEN, refreshToken);\n return this.__client = this.initialize(false, isReauth);\n }\n }, {\n key: \"logout\",\n value: function logout() {\n localStorage.removeItem(this.ID_TOKEN);\n localStorage.removeItem(this.ACCESS_TOKEN);\n localStorage.removeItem(this.REFRESH_TOKEN);\n return this.__client = this.initialize();\n }\n }, {\n key: \"isLoggedIn\",\n value: function isLoggedIn() {\n return this.__isLogged;\n }\n }, {\n key: \"isLoggedInAs\",\n value: function isLoggedInAs(parsedJwt) {\n var as = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'device';\n parsedJwt = parsedJwt || this.__parsedJwt;\n return !!(parsedJwt && parsedJwt['cognito:groups'] && parsedJwt['cognito:groups'].includes(as));\n }\n }, {\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.__language = language;\n return this.__language;\n }\n }, {\n key: \"getDomain\",\n value: function getDomain(parsedJwt) {\n parsedJwt = parsedJwt || this.__parsedJwt;\n return parsedJwt['custom:domain'];\n }\n }, {\n key: \"parseJwt\",\n value: function parseJwt(jwt) {\n if (!jwt || typeof jwt !== \"string\") return false;\n var match = jwt.match(/^(([0-9a-zA-Z]*)\\.){2}[\\w-]*$/);\n if (!match || !match[2]) return false;\n\n try {\n match = new Buffer(match[2], 'base64').toString('binary');\n return JSON.parse(match);\n } catch (e) {\n return false;\n }\n }\n }], [{\n key: \"noop\",\n value: function noop() {}\n }]);\n\n return Auth;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Auth);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/node-libs-browser/node_modules/buffer/index.js */ \"./node_modules/node-libs-browser/node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://WatchTogetherSDK/./src/modules/wt-auth.js?");
8525
+ eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony import */ var swagger_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swagger-client */ \"./node_modules/swagger-client/es/index.js\");\n/* harmony import */ var _wt_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wt-config */ \"./src/modules/wt-config.js\");\n/* harmony import */ var _wt_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./wt-emitter */ \"./src/modules/wt-emitter.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\n\n\n\nvar Auth = /*#__PURE__*/function () {\n function Auth(enableDebugFlag) {\n var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-GB';\n var storagePrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n var apiUrl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n _classCallCheck(this, Auth);\n\n this.ID_TOKEN = \"\".concat(storagePrefix !== \"\" ? storagePrefix + '_' : '', \"rwt_idToken\");\n this.ACCESS_TOKEN = \"\".concat(storagePrefix !== \"\" ? storagePrefix + '_' : '', \"rwt_accessToken\");\n this.REFRESH_TOKEN = \"\".concat(storagePrefix !== \"\" ? storagePrefix + '_' : '', \"rwt_refreshToken\");\n Object.assign(this, Object(_wt_emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])());\n this.__log = Auth.noop;\n\n if (enableDebugFlag) {\n this._enableDebug();\n }\n\n this.__language = language;\n this.__refreshTokenPromise = null;\n this.__isRefreshing = false;\n this.__isLogged = null;\n this.__parsedJwt = null;\n this.__specUrl = apiUrl ? apiUrl : _wt_config__WEBPACK_IMPORTED_MODULE_1__[\"default\"].apiUrl;\n this.__client = this.initialize(true);\n }\n\n _createClass(Auth, [{\n key: \"_enableDebug\",\n value: function _enableDebug() {\n this.__log = console.log.bind(console);\n }\n }, {\n key: \"_requestInterceptor\",\n value: function _requestInterceptor(req) {\n if (!req.headers) {\n req.headers = {};\n }\n\n req.headers['Accept-Language'] = this.__language;\n return req;\n }\n }, {\n key: \"_responseInterceptor\",\n value: function _responseInterceptor(res, req) {\n var _this = this;\n\n if (res.status === 401) {\n if (this.__isLogged) {\n var rt = localStorage.getItem(this.REFRESH_TOKEN);\n this.__refreshTokenPromise = this.__isRefreshing ? this.__refreshTokenPromise : this.__client.then(function (client) {\n _this.__isRefreshing = true;\n return client.apis.auth.refreshToken({}, {\n requestBody: {\n refreshToken: localStorage.getItem(_this.REFRESH_TOKEN)\n }\n });\n }).then(function (r) {\n _this.__isRefreshing = false;\n return _this.login(r.data.idToken, r.data.accessToken, rt, true);\n }).catch(function (e) {\n _this.__isRefreshing = false;\n\n _this.logout();\n\n return Promise.reject(e);\n });\n return this.__refreshTokenPromise.then(function () {\n return swagger_client__WEBPACK_IMPORTED_MODULE_0__[\"default\"].http(_objectSpread(_objectSpread({}, req), {}, {\n headers: _objectSpread(_objectSpread({}, req.headers), {}, {\n Authorization: 'Bearer ' + localStorage.getItem(_this.ID_TOKEN)\n })\n }));\n }).then(function (res) {\n if (_typeof(res.obj) === 'object' && res.obj !== null) {\n res.data = res.obj;\n }\n\n return res;\n });\n }\n }\n\n if (_typeof(res.obj) === 'object' && res.obj !== null) {\n res.data = res.obj;\n }\n\n return res;\n }\n }, {\n key: \"initialize\",\n value: function initialize() {\n var _this2 = this;\n\n var isInitialEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var isReauth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var idToken = localStorage.getItem(this.ID_TOKEN);\n var authorizations = {};\n\n if (idToken) {\n authorizations['bearer'] = '' + idToken;\n }\n\n this.__isLogged = !!idToken;\n\n var _that = this;\n\n return new swagger_client__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.__specUrl, {\n authorizations: authorizations,\n requestInterceptor: this._requestInterceptor.bind(this),\n responseInterceptor: function responseInterceptor(res) {\n return _that._responseInterceptor(res, this);\n }\n }).then(function (client) {\n _this2.__isLogged = !!idToken;\n _this2.__parsedJwt = _this2.parseJwt(idToken);\n\n _this2.emit(_this2.__isLogged ? 'login' : 'logout', {\n client: client,\n isInitialEvent: isInitialEvent,\n isLoggedInAsDevice: _this2.isLoggedInAs(_this2.__parsedJwt, 'device'),\n isLoggedInAsObserver: _this2.isLoggedInAs(_this2.__parsedJwt, 'observer'),\n isLoggedInAsInstanceAdmin: _this2.isLoggedInAs(_this2.__parsedJwt, 'instanceAdmin'),\n isLoggedInAsAdmin: _this2.isLoggedInAs(_this2.__parsedJwt, 'admin'),\n domain: _this2.getDomain(_this2.__parsedJwt),\n isReauth: isReauth\n });\n\n return client;\n }).catch(function (e) {\n _this2.__isLogged = false;\n\n _this2.emit('logout', {\n client: null,\n isInitialEvent: isInitialEvent,\n isLoggedInAsDevice: false,\n isLoggedInAsObserver: false,\n isLoggedInAsInstanceAdmin: false,\n isLoggedInAsAdmin: false,\n isReauth: isReauth\n });\n\n return Promise.reject(e);\n });\n }\n }, {\n key: \"login\",\n value: function login(idToken, accessToken, refreshToken) {\n var isReauth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n localStorage.setItem(this.ID_TOKEN, idToken);\n localStorage.setItem(this.ACCESS_TOKEN, accessToken);\n localStorage.setItem(this.REFRESH_TOKEN, refreshToken);\n return this.__client = this.initialize(false, isReauth);\n }\n }, {\n key: \"logout\",\n value: function logout() {\n localStorage.removeItem(this.ID_TOKEN);\n localStorage.removeItem(this.ACCESS_TOKEN);\n localStorage.removeItem(this.REFRESH_TOKEN);\n return this.__client = this.initialize();\n }\n }, {\n key: \"isLoggedIn\",\n value: function isLoggedIn() {\n return this.__isLogged;\n }\n }, {\n key: \"isLoggedInAs\",\n value: function isLoggedInAs(parsedJwt) {\n var as = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'device';\n parsedJwt = parsedJwt || this.__parsedJwt;\n return !!(parsedJwt && parsedJwt['cognito:groups'] && parsedJwt['cognito:groups'].includes(as));\n }\n }, {\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.__language = language;\n return this.__language;\n }\n }, {\n key: \"getDomain\",\n value: function getDomain(parsedJwt) {\n parsedJwt = parsedJwt || this.__parsedJwt;\n return parsedJwt['custom:domain'];\n }\n }, {\n key: \"parseJwt\",\n value: function parseJwt(jwt) {\n if (!jwt || typeof jwt !== \"string\") return false;\n var match = jwt.match(/^(([0-9a-zA-Z]*)\\.){2}[\\w-]*$/);\n if (!match || !match[2]) return false;\n\n try {\n match = new Buffer(match[2], 'base64').toString('binary');\n return JSON.parse(match);\n } catch (e) {\n return false;\n }\n }\n }], [{\n key: \"noop\",\n value: function noop() {}\n }]);\n\n return Auth;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Auth);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/node-libs-browser/node_modules/buffer/index.js */ \"./node_modules/node-libs-browser/node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://WatchTogetherSDK/./src/modules/wt-auth.js?");
8526
8526
 
8527
8527
  /***/ }),
8528
8528