@reactoo/watchtogether-sdk-js 2.4.33 → 2.4.34

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.4.33
3
+ * @version 2.4.34
4
4
  */
5
5
  (function webpackUniversalModuleDefinition(root, factory) {
6
6
  if(typeof exports === 'object' && typeof module === 'object')
@@ -9181,7 +9181,7 @@ eval("module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProp
9181
9181
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9182
9182
 
9183
9183
  "use strict";
9184
- 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_iot2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/wt-iot2 */ \"./src/modules/wt-iot2.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_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./models/utils */ \"./src/models/utils.js\");\n/* harmony import */ var _models_iot2__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./models/iot2 */ \"./src/models/iot2.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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\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.isReady;\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.iot = _objectSpread({}, _models_iot2__WEBPACK_IMPORTED_MODULE_8__[\"default\"].call(this));\n this.utils = _models_utils__WEBPACK_IMPORTED_MODULE_7__[\"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 ? \"\" : _ref$storagePrefix;\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); // let iot = new Iot(debug);\n\n var iot = new _modules_wt_iot2__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?");
9184
+ 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_iot2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/wt-iot2 */ \"./src/modules/wt-iot2.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_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./models/utils */ \"./src/models/utils.js\");\n/* harmony import */ var _models_iot2__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./models/iot2 */ \"./src/models/iot2.js\");\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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\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.isReady;\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.iot = _objectSpread({}, _models_iot2__WEBPACK_IMPORTED_MODULE_8__[\"default\"].call(this));\n this.utils = _models_utils__WEBPACK_IMPORTED_MODULE_7__[\"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 ? \"\" : _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); // let iot = new Iot(debug);\n\n var iot = new _modules_wt_iot2__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?");
9185
9185
 
9186
9186
  /***/ }),
9187
9187
 
@@ -9433,7 +9433,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wt_
9433
9433
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9434
9434
 
9435
9435
  "use strict";
9436
- 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\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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); 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\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 = 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?");
9436
+ 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\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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); 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?");
9437
9437
 
9438
9438
  /***/ }),
9439
9439