@cloudcare/browser-core 3.2.39 → 3.2.41

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.
Files changed (51) hide show
  1. package/cjs/browser/addEventListener.js +45 -5
  2. package/cjs/browser/addEventListener.js.map +1 -1
  3. package/cjs/browser/xhrObservable.js +13 -0
  4. package/cjs/browser/xhrObservable.js.map +1 -1
  5. package/cjs/configuration/remoteConfiguration.js +7 -2
  6. package/cjs/configuration/remoteConfiguration.js.map +1 -1
  7. package/cjs/dataMap.js +2 -0
  8. package/cjs/dataMap.js.map +1 -1
  9. package/cjs/helper/deviceInfo.js +2 -1
  10. package/cjs/helper/deviceInfo.js.map +1 -1
  11. package/cjs/index.js +7 -0
  12. package/cjs/index.js.map +1 -1
  13. package/cjs/session/sessionConstants.js +2 -1
  14. package/cjs/session/sessionConstants.js.map +1 -1
  15. package/cjs/session/sessionManagement.js +13 -3
  16. package/cjs/session/sessionManagement.js.map +1 -1
  17. package/cjs/session/sessionStore.js +1 -1
  18. package/cjs/session/sessionStore.js.map +1 -1
  19. package/cjs/transport/flushController.js +2 -2
  20. package/cjs/transport/flushController.js.map +1 -1
  21. package/esm/browser/addEventListener.js +45 -5
  22. package/esm/browser/addEventListener.js.map +1 -1
  23. package/esm/browser/xhrObservable.js +13 -0
  24. package/esm/browser/xhrObservable.js.map +1 -1
  25. package/esm/configuration/remoteConfiguration.js +6 -2
  26. package/esm/configuration/remoteConfiguration.js.map +1 -1
  27. package/esm/dataMap.js +2 -0
  28. package/esm/dataMap.js.map +1 -1
  29. package/esm/helper/deviceInfo.js +2 -1
  30. package/esm/helper/deviceInfo.js.map +1 -1
  31. package/esm/index.js +1 -1
  32. package/esm/index.js.map +1 -1
  33. package/esm/session/sessionConstants.js +1 -0
  34. package/esm/session/sessionConstants.js.map +1 -1
  35. package/esm/session/sessionManagement.js +14 -4
  36. package/esm/session/sessionManagement.js.map +1 -1
  37. package/esm/session/sessionStore.js +1 -1
  38. package/esm/session/sessionStore.js.map +1 -1
  39. package/esm/transport/flushController.js +2 -2
  40. package/esm/transport/flushController.js.map +1 -1
  41. package/package.json +3 -3
  42. package/src/browser/addEventListener.js +60 -8
  43. package/src/browser/xhrObservable.js +17 -2
  44. package/src/configuration/remoteConfiguration.js +13 -2
  45. package/src/dataMap.js +2 -0
  46. package/src/helper/deviceInfo.js +2 -1
  47. package/src/index.js +2 -1
  48. package/src/session/sessionConstants.js +1 -0
  49. package/src/session/sessionManagement.js +14 -4
  50. package/src/session/sessionStore.js +1 -1
  51. package/src/transport/flushController.js +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"deviceInfo.js","names":["display","monitor","VariableLibrary","navigator","window","infoMap","engine","browser","os","device","MethodLibrary","getMatchMap","u","Trident","indexOf","Presto","WebKit","Gecko","Safari","Chrome","IE","Edge","Firefox","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi","Windows","Linux","Android","Ubuntu","FreeBSD","Debian","BlackBerry","MeeGo","Symbian","iOS","WebOS","Mobile","Tablet","iPad","matchInfoMap","_this","userAgent","match","s","i","length","value","getOS","getOSVersion","osVersion","osMajor","v","replace","oldWindowsVersionMap","Windows_Phone","Mac_OS","split","version","getDeviceType","getNetwork","connection","mozConnection","webkitConnection","result","type","effectiveType","getLanguage","language","browserLanguage","arr","toUpperCase","join","getTimeZone","intl","Intl","DateTimeFormat","resolvedOptions","timeZone","_unused","undefined","getBrowserInfo","_mime","option","mimeTypes","key","is360","chrome","chrome_version","showModalDialog","navigator_top","screenTop","screenY","browerVersionMap","Firefox_Focus","Coc_Coc","_","SE","hash","EE","Explorer","WechatWork","browserVersion","browserMajor","parseInt","getGeoPostion","callback","geolocation","getCurrentPosition","position","error","warn","_deviceInfo","osVersionMajor","browserVersionMajor","screenSize","screen","width","height","networkType","deviceInfo"],"sources":["../../src/helper/deviceInfo.js"],"sourcesContent":["import { display } from '../helper/display'\nimport { monitor } from '../helper/monitor'\nvar VariableLibrary = {\n navigator:\n typeof window !== 'undefined' && typeof window.navigator != 'undefined'\n ? window.navigator\n : {},\n infoMap: {\n engine: ['WebKit', 'Trident', 'Gecko', 'Presto'],\n browser: [\n 'Safari',\n 'Chrome',\n 'Edge',\n 'IE',\n 'IE 11',\n 'IE 10',\n 'IE 9',\n 'IE 8',\n 'IE 7',\n 'Firefox',\n 'Firefox Focus',\n 'Chromium',\n 'Opera',\n 'Vivaldi',\n 'Yandex',\n 'Arora',\n 'Lunascape',\n 'QupZilla',\n 'Coc Coc',\n 'Kindle',\n 'Iceweasel',\n 'Konqueror',\n 'Iceape',\n 'SeaMonkey',\n 'Epiphany',\n '360',\n '360SE',\n '360EE',\n 'UC',\n 'QQBrowser',\n 'QQ',\n 'Baidu',\n 'Maxthon',\n 'Sogou',\n 'LBBROWSER',\n '2345Explorer',\n 'TheWorld',\n 'XiaoMi',\n 'Quark',\n 'Qiyu',\n 'Wechat',\n ,\n 'WechatWork',\n 'Taobao',\n 'Alipay',\n 'Weibo',\n 'Douban',\n 'Suning',\n 'iQiYi'\n ],\n os: [\n 'Windows',\n 'Linux',\n 'Mac OS',\n 'Android',\n 'Ubuntu',\n 'FreeBSD',\n 'Debian',\n 'iOS',\n 'Windows Phone',\n 'BlackBerry',\n 'MeeGo',\n 'Symbian',\n 'Chrome OS',\n 'WebOS'\n ],\n device: ['Mobile', 'Tablet', 'iPad']\n }\n}\nvar MethodLibrary = {\n getMatchMap: monitor(function (u) {\n return {\n Trident: u.indexOf('Trident') > -1 || u.indexOf('NET CLR') > -1,\n Presto: u.indexOf('Presto') > -1,\n WebKit: u.indexOf('AppleWebKit') > -1,\n Gecko: u.indexOf('Gecko/') > -1,\n Safari: u.indexOf('Safari') > -1,\n Chrome: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1,\n IE: u.indexOf('MSIE') > -1 || u.indexOf('Trident') > -1,\n Edge: u.indexOf('Edge') > -1 || u.indexOf('Edg') > -1,\n Firefox: u.indexOf('Firefox') > -1 || u.indexOf('FxiOS') > -1,\n 'Firefox Focus': u.indexOf('Focus') > -1,\n Chromium: u.indexOf('Chromium') > -1,\n Opera: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1,\n Vivaldi: u.indexOf('Vivaldi') > -1,\n Yandex: u.indexOf('YaBrowser') > -1,\n Arora: u.indexOf('Arora') > -1,\n Lunascape: u.indexOf('Lunascape') > -1,\n QupZilla: u.indexOf('QupZilla') > -1,\n 'Coc Coc': u.indexOf('coc_coc_browser') > -1,\n Kindle: u.indexOf('Kindle') > -1 || u.indexOf('Silk/') > -1,\n Iceweasel: u.indexOf('Iceweasel') > -1,\n Konqueror: u.indexOf('Konqueror') > -1,\n Iceape: u.indexOf('Iceape') > -1,\n SeaMonkey: u.indexOf('SeaMonkey') > -1,\n Epiphany: u.indexOf('Epiphany') > -1,\n 360: u.indexOf('QihooBrowser') > -1 || u.indexOf('QHBrowser') > -1,\n '360EE': u.indexOf('360EE') > -1,\n '360SE': u.indexOf('360SE') > -1,\n UC: u.indexOf('UC') > -1 || u.indexOf(' UBrowser') > -1,\n QQBrowser: u.indexOf('QQBrowser') > -1,\n QQ: u.indexOf('QQ/') > -1,\n Baidu: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1,\n Maxthon: u.indexOf('Maxthon') > -1,\n Sogou: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1,\n LBBROWSER: u.indexOf('LBBROWSER') > -1,\n '2345Explorer': u.indexOf('2345Explorer') > -1,\n TheWorld: u.indexOf('TheWorld') > -1,\n XiaoMi: u.indexOf('MiuiBrowser') > -1,\n Quark: u.indexOf('Quark') > -1,\n Qiyu: u.indexOf('Qiyu') > -1,\n Wechat: u.indexOf('MicroMessenger') > -1,\n Taobao: u.indexOf('AliApp(TB') > -1,\n Alipay: u.indexOf('AliApp(AP') > -1,\n Weibo: u.indexOf('Weibo') > -1,\n Douban: u.indexOf('com.douban.frodo') > -1,\n Suning: u.indexOf('SNEBUY-APP') > -1,\n iQiYi: u.indexOf('IqiyiApp') > -1,\n Windows: u.indexOf('Windows') > -1,\n Linux: u.indexOf('Linux') > -1 || u.indexOf('X11') > -1,\n 'Mac OS': u.indexOf('Macintosh') > -1,\n Android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,\n Ubuntu: u.indexOf('Ubuntu') > -1,\n FreeBSD: u.indexOf('FreeBSD') > -1,\n Debian: u.indexOf('Debian') > -1,\n 'Windows Phone':\n u.indexOf('IEMobile') > -1 || u.indexOf('Windows Phone') > -1,\n BlackBerry: u.indexOf('BlackBerry') > -1 || u.indexOf('RIM') > -1,\n MeeGo: u.indexOf('MeeGo') > -1,\n Symbian: u.indexOf('Symbian') > -1,\n iOS: u.indexOf('like Mac OS X') > -1,\n 'Chrome OS': u.indexOf('CrOS') > -1,\n WebOS: u.indexOf('hpwOS') > -1,\n Mobile:\n u.indexOf('Mobi') > -1 ||\n u.indexOf('iPh') > -1 ||\n u.indexOf('480') > -1,\n Tablet: u.indexOf('Tablet') > -1 || u.indexOf('Nexus 7') > -1,\n iPad: u.indexOf('iPad') > -1\n }\n }),\n matchInfoMap: monitor(function (_this) {\n var u = VariableLibrary.navigator.userAgent || ''\n var match = MethodLibrary.getMatchMap(u)\n for (var s in VariableLibrary.infoMap) {\n for (var i = 0; i < VariableLibrary.infoMap[s].length; i++) {\n var value = VariableLibrary.infoMap[s][i]\n if (match[value]) {\n _this[s] = value\n }\n }\n }\n }),\n getOS: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n return _this.os || 'Unknown'\n }),\n getOSVersion: monitor(function () {\n var _this = this\n var u = VariableLibrary.navigator.userAgent || ''\n _this.osVersion = ''\n _this.osMajor = ''\n var osVersion = {\n Windows: function () {\n var v = u.replace(/^.*Windows NT ([\\d.]+);.*$/, '$1')\n var oldWindowsVersionMap = {\n 6.4: '10',\n 6.3: '8.1',\n 6.2: '8',\n 6.1: '7',\n '6.0': 'Vista',\n 5.2: 'XP',\n 5.1: 'XP',\n '5.0': '2000'\n }\n return oldWindowsVersionMap[v] || v\n },\n Android: function () {\n return u.replace(/^.*Android ([\\d.]+);.*$/, '$1')\n },\n iOS: function () {\n return u.replace(/^.*OS ([\\d_]+) like.*$/, '$1').replace(/_/g, '.')\n },\n Debian: function () {\n return u.replace(/^.*Debian\\/([\\d.]+).*$/, '$1')\n },\n 'Windows Phone': function () {\n return u.replace(/^.*Windows Phone( OS)? ([\\d.]+);.*$/, '$2')\n },\n 'Mac OS': function () {\n return u.replace(/^.*Mac OS X ([\\d_]+).*$/, '$1').replace(/_/g, '.')\n },\n WebOS: function () {\n return u.replace(/^.*hpwOS\\/([\\d.]+);.*$/, '$1')\n }\n }\n if (osVersion[_this.os]) {\n _this.osVersion = osVersion[_this.os]()\n if (_this.osVersion === u) {\n _this.osVersion = ''\n }\n }\n if (_this.osVersion) {\n _this.osMajor =\n _this.osVersion.split('.').length && _this.osVersion.split('.')[0]\n }\n return {\n version: _this.osVersion,\n osMajor: _this.osMajor\n }\n }),\n\n getDeviceType: monitor(function () {\n var _this = this\n _this.device = 'PC'\n MethodLibrary.matchInfoMap(_this)\n return _this.device\n }),\n getNetwork: monitor(function () {\n var connection =\n window.navigator.connection ||\n window.navigator.mozConnection ||\n window.navigator.webkitConnection\n var result = 'unknown'\n var type = connection ? connection.type || connection.effectiveType : null\n if (type && typeof type === 'string') {\n switch (type) {\n // possible type values\n case 'bluetooth':\n case 'cellular':\n result = 'cellular'\n break\n case 'none':\n result = 'none'\n break\n case 'ethernet':\n case 'wifi':\n case 'wimax':\n result = 'wifi'\n break\n case 'other':\n case 'unknown':\n result = 'unknown'\n break\n // possible effectiveType values\n case 'slow-2g':\n case '2g':\n case '3g':\n result = 'cellular'\n break\n case '4g':\n result = 'wifi'\n break\n default:\n break\n }\n }\n return result\n }),\n getLanguage: monitor(function () {\n var _this = this\n _this.language = (function () {\n var language =\n VariableLibrary.navigator.browserLanguage ||\n VariableLibrary.navigator.language ||\n ''\n var arr = language.split('-')\n if (arr[1]) {\n arr[1] = arr[1].toUpperCase()\n }\n return arr.join('_')\n })()\n return _this.language\n }),\n getTimeZone: monitor(function () {\n try {\n const intl = new Intl.DateTimeFormat()\n\n return intl.resolvedOptions().timeZone\n } catch {\n return undefined\n }\n }),\n getBrowserInfo: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n\n var u = VariableLibrary.navigator.userAgent || ''\n\n var _mime = function (option, value) {\n var mimeTypes = VariableLibrary.navigator.mimeTypes\n for (var key in mimeTypes) {\n if (mimeTypes[key][option] == value) {\n return true\n }\n }\n return false\n }\n\n var match = MethodLibrary.getMatchMap(u)\n\n var is360 = false\n if (typeof window !== 'undefined' && window.chrome) {\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n if (chrome_version > 36 && window.showModalDialog) {\n is360 = true\n } else if (chrome_version > 45) {\n is360 = _mime('type', 'application/vnd.chromium.remoting-viewer')\n }\n }\n if (match['Baidu'] && match['Opera']) {\n match['Baidu'] = false\n }\n if (match['Mobile']) {\n match['Mobile'] = !(u.indexOf('iPad') > -1)\n }\n if (is360) {\n if (_mime('type', 'application/gameplugin')) {\n match['360SE'] = true\n } else if (\n VariableLibrary.navigator &&\n VariableLibrary.navigator.connection &&\n typeof VariableLibrary.navigator['connection']['saveData'] ==\n 'undefined'\n ) {\n match['360SE'] = true\n } else {\n match['360EE'] = true\n }\n }\n if (match['IE'] || match['Edge']) {\n var navigator_top = window.screenTop - window.screenY\n switch (navigator_top) {\n case 71:\n break\n case 74:\n break\n case 99:\n break\n case 102:\n match['360EE'] = true\n break\n case 75:\n break\n case 74:\n break\n case 105:\n break\n case 104:\n match['360SE'] = true\n break\n default:\n break\n }\n }\n\n var browerVersionMap = {\n Safari: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Chrome: function () {\n return u\n .replace(/^.*Chrome\\/([\\d.]+).*$/, '$1')\n .replace(/^.*CriOS\\/([\\d.]+).*$/, '$1')\n },\n IE: function () {\n return u\n .replace(/^.*MSIE ([\\d.]+).*$/, '$1')\n .replace(/^.*rv:([\\d.]+).*$/, '$1')\n },\n Edge: function () {\n return u.replace(/^.*Edge?\\/([\\d.]+).*$/, '$1')\n },\n Firefox: function () {\n return u\n .replace(/^.*Firefox\\/([\\d.]+).*$/, '$1')\n .replace(/^.*FxiOS\\/([\\d.]+).*$/, '$1')\n },\n 'Firefox Focus': function () {\n return u.replace(/^.*Focus\\/([\\d.]+).*$/, '$1')\n },\n Chromium: function () {\n return u.replace(/^.*Chromium\\/([\\d.]+).*$/, '$1')\n },\n Opera: function () {\n return u\n .replace(/^.*Opera\\/([\\d.]+).*$/, '$1')\n .replace(/^.*OPR\\/([\\d.]+).*$/, '$1')\n },\n Vivaldi: function () {\n return u.replace(/^.*Vivaldi\\/([\\d.]+).*$/, '$1')\n },\n Yandex: function () {\n return u.replace(/^.*YaBrowser\\/([\\d.]+).*$/, '$1')\n },\n Arora: function () {\n return u.replace(/^.*Arora\\/([\\d.]+).*$/, '$1')\n },\n Lunascape: function () {\n return u.replace(/^.*Lunascape[\\/\\s]([\\d.]+).*$/, '$1')\n },\n QupZilla: function () {\n return u.replace(/^.*QupZilla[\\/\\s]([\\d.]+).*$/, '$1')\n },\n 'Coc Coc': function () {\n return u.replace(/^.*coc_coc_browser\\/([\\d.]+).*$/, '$1')\n },\n Kindle: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Iceweasel: function () {\n return u.replace(/^.*Iceweasel\\/([\\d.]+).*$/, '$1')\n },\n Konqueror: function () {\n return u.replace(/^.*Konqueror\\/([\\d.]+).*$/, '$1')\n },\n Iceape: function () {\n return u.replace(/^.*Iceape\\/([\\d.]+).*$/, '$1')\n },\n SeaMonkey: function () {\n return u.replace(/^.*SeaMonkey\\/([\\d.]+).*$/, '$1')\n },\n Epiphany: function () {\n return u.replace(/^.*Epiphany\\/([\\d.]+).*$/, '$1')\n },\n 360: function () {\n return u.replace(/^.*QihooBrowser\\/([\\d.]+).*$/, '$1')\n },\n '360SE': function () {\n var hash = {\n 63: '10.0',\n 55: '9.1',\n 45: '8.1',\n 42: '8.0',\n 31: '7.0',\n 21: '6.3'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n '360EE': function () {\n var hash = { 69: '11.0', 63: '9.5', 55: '9.0', 50: '8.7', 30: '7.5' }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n Maxthon: function () {\n return u.replace(/^.*Maxthon\\/([\\d.]+).*$/, '$1')\n },\n QQBrowser: function () {\n return u.replace(/^.*QQBrowser\\/([\\d.]+).*$/, '$1')\n },\n QQ: function () {\n return u.replace(/^.*QQ\\/([\\d.]+).*$/, '$1')\n },\n Baidu: function () {\n return u.replace(/^.*BIDUBrowser[\\s\\/]([\\d.]+).*$/, '$1')\n },\n UC: function () {\n return u.replace(/^.*UC?Browser\\/([\\d.]+).*$/, '$1')\n },\n Sogou: function () {\n return u\n .replace(/^.*SE ([\\d.X]+).*$/, '$1')\n .replace(/^.*SogouMobileBrowser\\/([\\d.]+).*$/, '$1')\n },\n LBBROWSER: function () {\n var version = ''\n if (u.indexOf('LieBaoFast') > -1) {\n version = u.replace(/^.*LieBaoFast\\/([\\d.]+).*$/, '$1')\n }\n var hash = {\n 57: '6.5',\n 49: '6.0',\n 46: '5.9',\n 42: '5.3',\n 39: '5.2',\n 34: '5.0',\n 29: '4.5',\n 21: '4.0'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return version || hash[chrome_version] || ''\n },\n '2345Explorer': function () {\n return u.replace(/^.*2345Explorer\\/([\\d.]+).*$/, '$1')\n },\n TheWorld: function () {\n return u.replace(/^.*TheWorld ([\\d.]+).*$/, '$1')\n },\n XiaoMi: function () {\n return u.replace(/^.*MiuiBrowser\\/([\\d.]+).*$/, '$1')\n },\n Quark: function () {\n return u.replace(/^.*Quark\\/([\\d.]+).*$/, '$1')\n },\n Qiyu: function () {\n return u.replace(/^.*Qiyu\\/([\\d.]+).*$/, '$1')\n },\n Wechat: function () {\n return u.replace(/^.*MicroMessenger\\/([\\d.]+).*$/, '$1')\n },\n WechatWork: function () {\n return u.replace(/^.*wxwork\\/([\\d.]+).*$/, '$1')\n },\n Taobao: function () {\n return u.replace(/^.*AliApp\\(TB\\/([\\d.]+).*$/, '$1')\n },\n Alipay: function () {\n return u.replace(/^.*AliApp\\(AP\\/([\\d.]+).*$/, '$1')\n },\n Weibo: function () {\n return u.replace(/^.*weibo__([\\d.]+).*$/, '$1')\n },\n Douban: function () {\n return u.replace(/^.*com.douban.frodo\\/([\\d.]+).*$/, '$1')\n },\n Suning: function () {\n return u.replace(/^.*SNEBUY-APP([\\d.]+).*$/, '$1')\n },\n iQiYi: function () {\n return u.replace(/^.*IqiyiVersion\\/([\\d.]+).*$/, '$1')\n }\n }\n _this.browserVersion = ''\n _this.browserMajor = ''\n if (browerVersionMap[_this.browser]) {\n _this.browserVersion = browerVersionMap[_this.browser]()\n if (_this.browserVersion == u) {\n _this.browserVersion = ''\n }\n }\n if (_this.browser == 'Chrome' && u.match(/\\S+Browser/)) {\n _this.browser = u.match(/\\S+Browser/)[0]\n _this.version = u.replace(/^.*Browser\\/([\\d.]+).*$/, '$1')\n }\n if (_this.browser == 'Edge') {\n if (_this.version > '75') {\n _this.engine = 'Blink'\n } else {\n _this.engine = 'EdgeHTML'\n }\n }\n if (_this.browser == 'Chrome' && parseInt(_this.browserVersion) > 27) {\n _this.engine = 'Blink'\n } else if (\n match['Chrome'] &&\n _this.engine == 'WebKit' &&\n parseInt(_this.browserVersion) > 27\n ) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Opera' && parseInt(_this.version) > 12) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Yandex') {\n _this.engine = 'Blink'\n }\n if (_this.browserVersion) {\n _this.browserMajor =\n _this.browserVersion.split('.').length &&\n this.browserVersion.split('.')[0]\n }\n return {\n browser: _this.browser,\n browserVersion: _this.browserVersion,\n engine: _this.engine,\n browserMajor: _this.browserMajor\n }\n }),\n getGeoPostion: monitor(function (callback) {\n navigator &&\n navigator.geolocation &&\n navigator.geolocation.getCurrentPosition(\n function (position) {\n callback(position)\n },\n function (error) {\n display.warn(error)\n }\n )\n })\n}\nvar _deviceInfo = {}\nif (typeof window !== 'undefined') {\n _deviceInfo = {\n os: MethodLibrary.getOS(),\n osVersion: MethodLibrary.getOSVersion().version,\n osVersionMajor: MethodLibrary.getOSVersion().osMajor,\n browser: MethodLibrary.getBrowserInfo().browser,\n browserVersion: MethodLibrary.getBrowserInfo().browserVersion,\n browserVersionMajor: MethodLibrary.getBrowserInfo().browserMajor,\n screenSize: window.screen.width + '*' + window.screen.height,\n networkType: MethodLibrary.getNetwork(),\n device: MethodLibrary.getDeviceType(),\n timeZone: MethodLibrary.getTimeZone()\n }\n}\nexport var deviceInfo = _deviceInfo\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"deviceInfo.js","names":["display","monitor","VariableLibrary","navigator","window","infoMap","engine","browser","os","device","MethodLibrary","getMatchMap","u","Trident","indexOf","Presto","WebKit","Gecko","Safari","Chrome","IE","Edge","Firefox","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi","Windows","Linux","Android","Ubuntu","FreeBSD","Debian","BlackBerry","MeeGo","Symbian","iOS","WebOS","Mobile","Tablet","iPad","matchInfoMap","_this","userAgent","match","s","i","length","value","getOS","getOSVersion","osVersion","osMajor","v","replace","oldWindowsVersionMap","Windows_Phone","Mac_OS","split","version","getDeviceType","getNetwork","connection","mozConnection","webkitConnection","result","type","effectiveType","getLanguage","language","browserLanguage","arr","toUpperCase","join","getTimeZone","intl","Intl","DateTimeFormat","resolvedOptions","timeZone","_unused","undefined","getBrowserInfo","_mime","option","mimeTypes","key","is360","chrome","chrome_version","showModalDialog","navigator_top","screenTop","screenY","browerVersionMap","Firefox_Focus","Coc_Coc","_","SE","hash","EE","Explorer","WechatWork","browserVersion","browserMajor","parseInt","getGeoPostion","callback","geolocation","getCurrentPosition","position","error","warn","_deviceInfo","osVersionMajor","browserVersionMajor","screenSize","screen","width","height","networkType","deviceInfo"],"sources":["../../src/helper/deviceInfo.js"],"sourcesContent":["import { display } from '../helper/display'\nimport { monitor } from '../helper/monitor'\nvar VariableLibrary = {\n navigator:\n typeof window !== 'undefined' && typeof window.navigator != 'undefined'\n ? window.navigator\n : {},\n infoMap: {\n engine: ['WebKit', 'Trident', 'Gecko', 'Presto'],\n browser: [\n 'Safari',\n 'Chrome',\n 'Edge',\n 'IE',\n 'IE 11',\n 'IE 10',\n 'IE 9',\n 'IE 8',\n 'IE 7',\n 'Firefox',\n 'Firefox Focus',\n 'Chromium',\n 'Opera',\n 'Vivaldi',\n 'Yandex',\n 'Arora',\n 'Lunascape',\n 'QupZilla',\n 'Coc Coc',\n 'Kindle',\n 'Iceweasel',\n 'Konqueror',\n 'Iceape',\n 'SeaMonkey',\n 'Epiphany',\n '360',\n '360SE',\n '360EE',\n 'UC',\n 'QQBrowser',\n 'QQ',\n 'Baidu',\n 'Maxthon',\n 'Sogou',\n 'LBBROWSER',\n '2345Explorer',\n 'TheWorld',\n 'XiaoMi',\n 'Quark',\n 'Qiyu',\n 'Wechat',\n ,\n 'WechatWork',\n 'Taobao',\n 'Alipay',\n 'Weibo',\n 'Douban',\n 'Suning',\n 'iQiYi'\n ],\n os: [\n 'Windows',\n 'Linux',\n 'Mac OS',\n 'Android',\n 'Ubuntu',\n 'FreeBSD',\n 'Debian',\n 'iOS',\n 'Windows Phone',\n 'BlackBerry',\n 'MeeGo',\n 'Symbian',\n 'Chrome OS',\n 'WebOS'\n ],\n device: ['Mobile', 'Tablet', 'iPad']\n }\n}\nvar MethodLibrary = {\n getMatchMap: monitor(function (u) {\n return {\n Trident: u.indexOf('Trident') > -1 || u.indexOf('NET CLR') > -1,\n Presto: u.indexOf('Presto') > -1,\n WebKit: u.indexOf('AppleWebKit') > -1,\n Gecko: u.indexOf('Gecko/') > -1,\n Safari: u.indexOf('Safari') > -1,\n Chrome: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1,\n IE: u.indexOf('MSIE') > -1 || u.indexOf('Trident') > -1,\n Edge: u.indexOf('Edge') > -1 || u.indexOf('Edg') > -1,\n Firefox: u.indexOf('Firefox') > -1 || u.indexOf('FxiOS') > -1,\n 'Firefox Focus': u.indexOf('Focus') > -1,\n Chromium: u.indexOf('Chromium') > -1,\n Opera: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1,\n Vivaldi: u.indexOf('Vivaldi') > -1,\n Yandex: u.indexOf('YaBrowser') > -1,\n Arora: u.indexOf('Arora') > -1,\n Lunascape: u.indexOf('Lunascape') > -1,\n QupZilla: u.indexOf('QupZilla') > -1,\n 'Coc Coc': u.indexOf('coc_coc_browser') > -1,\n Kindle: u.indexOf('Kindle') > -1 || u.indexOf('Silk/') > -1,\n Iceweasel: u.indexOf('Iceweasel') > -1,\n Konqueror: u.indexOf('Konqueror') > -1,\n Iceape: u.indexOf('Iceape') > -1,\n SeaMonkey: u.indexOf('SeaMonkey') > -1,\n Epiphany: u.indexOf('Epiphany') > -1,\n 360: u.indexOf('QihooBrowser') > -1 || u.indexOf('QHBrowser') > -1,\n '360EE': u.indexOf('360EE') > -1,\n '360SE': u.indexOf('360SE') > -1,\n UC: u.indexOf('UC') > -1 || u.indexOf(' UBrowser') > -1,\n QQBrowser: u.indexOf('QQBrowser') > -1,\n QQ: u.indexOf('QQ/') > -1,\n Baidu: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1,\n Maxthon: u.indexOf('Maxthon') > -1,\n Sogou: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1,\n LBBROWSER: u.indexOf('LBBROWSER') > -1,\n '2345Explorer': u.indexOf('2345Explorer') > -1,\n TheWorld: u.indexOf('TheWorld') > -1,\n XiaoMi: u.indexOf('MiuiBrowser') > -1,\n Quark: u.indexOf('Quark') > -1,\n Qiyu: u.indexOf('Qiyu') > -1,\n Wechat: u.indexOf('MicroMessenger') > -1,\n Taobao: u.indexOf('AliApp(TB') > -1,\n Alipay: u.indexOf('AliApp(AP') > -1,\n Weibo: u.indexOf('Weibo') > -1,\n Douban: u.indexOf('com.douban.frodo') > -1,\n Suning: u.indexOf('SNEBUY-APP') > -1,\n iQiYi: u.indexOf('IqiyiApp') > -1,\n Windows: u.indexOf('Windows') > -1,\n Linux: u.indexOf('Linux') > -1 || u.indexOf('X11') > -1,\n 'Mac OS': u.indexOf('Macintosh') > -1,\n Android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,\n Ubuntu: u.indexOf('Ubuntu') > -1,\n FreeBSD: u.indexOf('FreeBSD') > -1,\n Debian: u.indexOf('Debian') > -1,\n 'Windows Phone':\n u.indexOf('IEMobile') > -1 || u.indexOf('Windows Phone') > -1,\n BlackBerry: u.indexOf('BlackBerry') > -1 || u.indexOf('RIM') > -1,\n MeeGo: u.indexOf('MeeGo') > -1,\n Symbian: u.indexOf('Symbian') > -1,\n iOS: u.indexOf('like Mac OS X') > -1,\n 'Chrome OS': u.indexOf('CrOS') > -1,\n WebOS: u.indexOf('hpwOS') > -1,\n Mobile:\n u.indexOf('Mobi') > -1 ||\n u.indexOf('iPh') > -1 ||\n u.indexOf('480') > -1,\n Tablet: u.indexOf('Tablet') > -1 || u.indexOf('Nexus 7') > -1,\n iPad: u.indexOf('iPad') > -1\n }\n }),\n matchInfoMap: monitor(function (_this) {\n var u = VariableLibrary.navigator.userAgent || ''\n var match = MethodLibrary.getMatchMap(u)\n for (var s in VariableLibrary.infoMap) {\n for (var i = 0; i < VariableLibrary.infoMap[s].length; i++) {\n var value = VariableLibrary.infoMap[s][i]\n if (match[value]) {\n _this[s] = value\n }\n }\n }\n }),\n getOS: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n return _this.os || 'Unknown'\n }),\n getOSVersion: monitor(function () {\n var _this = this\n var u = VariableLibrary.navigator.userAgent || ''\n _this.osVersion = ''\n _this.osMajor = ''\n var osVersion = {\n Windows: function () {\n var v = u.replace(/^.*Windows NT ([\\d.]+);.*$/, '$1')\n var oldWindowsVersionMap = {\n 6.4: '10',\n 6.3: '8.1',\n 6.2: '8',\n 6.1: '7',\n '6.0': 'Vista',\n 5.2: 'XP',\n 5.1: 'XP',\n '5.0': '2000'\n }\n return oldWindowsVersionMap[v] || v\n },\n Android: function () {\n return u.replace(/^.*Android ([\\d.]+);.*$/, '$1')\n },\n iOS: function () {\n return u.replace(/^.*OS ([\\d_]+) like.*$/, '$1').replace(/_/g, '.')\n },\n Debian: function () {\n return u.replace(/^.*Debian\\/([\\d.]+).*$/, '$1')\n },\n 'Windows Phone': function () {\n return u.replace(/^.*Windows Phone( OS)? ([\\d.]+);.*$/, '$2')\n },\n 'Mac OS': function () {\n return u.replace(/^.*Mac OS X ([\\d_]+).*$/, '$1').replace(/_/g, '.')\n },\n WebOS: function () {\n return u.replace(/^.*hpwOS\\/([\\d.]+);.*$/, '$1')\n }\n }\n if (osVersion[_this.os]) {\n _this.osVersion = osVersion[_this.os]()\n if (_this.osVersion === u) {\n _this.osVersion = ''\n }\n }\n if (_this.osVersion) {\n _this.osMajor =\n _this.osVersion.split('.').length && _this.osVersion.split('.')[0]\n }\n return {\n version: _this.osVersion,\n osMajor: _this.osMajor\n }\n }),\n\n getDeviceType: monitor(function () {\n var _this = this\n _this.device = 'PC'\n MethodLibrary.matchInfoMap(_this)\n return _this.device\n }),\n getNetwork: monitor(function () {\n var connection =\n window.navigator.connection ||\n window.navigator.mozConnection ||\n window.navigator.webkitConnection\n var result = 'unknown'\n var type = connection ? connection.type || connection.effectiveType : null\n if (type && typeof type === 'string') {\n switch (type) {\n // possible type values\n case 'bluetooth':\n case 'cellular':\n result = 'cellular'\n break\n case 'none':\n result = 'none'\n break\n case 'ethernet':\n case 'wifi':\n case 'wimax':\n result = 'wifi'\n break\n case 'other':\n case 'unknown':\n result = 'unknown'\n break\n // possible effectiveType values\n case 'slow-2g':\n case '2g':\n case '3g':\n result = 'cellular'\n break\n case '4g':\n result = 'wifi'\n break\n default:\n break\n }\n }\n return result\n }),\n getLanguage: monitor(function () {\n var _this = this\n _this.language = (function () {\n var language =\n VariableLibrary.navigator.browserLanguage ||\n VariableLibrary.navigator.language ||\n ''\n var arr = language.split('-')\n if (arr[1]) {\n arr[1] = arr[1].toUpperCase()\n }\n return arr.join('_')\n })()\n return _this.language\n }),\n getTimeZone: monitor(function () {\n try {\n const intl = new Intl.DateTimeFormat()\n\n return intl.resolvedOptions().timeZone\n } catch {\n return undefined\n }\n }),\n getBrowserInfo: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n\n var u = VariableLibrary.navigator.userAgent || ''\n\n var _mime = function (option, value) {\n var mimeTypes = VariableLibrary.navigator.mimeTypes\n for (var key in mimeTypes) {\n if (mimeTypes[key][option] == value) {\n return true\n }\n }\n return false\n }\n\n var match = MethodLibrary.getMatchMap(u)\n\n var is360 = false\n if (typeof window !== 'undefined' && window.chrome) {\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n if (chrome_version > 36 && window.showModalDialog) {\n is360 = true\n } else if (chrome_version > 45) {\n is360 = _mime('type', 'application/vnd.chromium.remoting-viewer')\n }\n }\n if (match['Baidu'] && match['Opera']) {\n match['Baidu'] = false\n }\n if (match['Mobile']) {\n match['Mobile'] = !(u.indexOf('iPad') > -1)\n }\n if (is360) {\n if (_mime('type', 'application/gameplugin')) {\n match['360SE'] = true\n } else if (\n VariableLibrary.navigator &&\n VariableLibrary.navigator.connection &&\n typeof VariableLibrary.navigator['connection']['saveData'] ==\n 'undefined'\n ) {\n match['360SE'] = true\n } else {\n match['360EE'] = true\n }\n }\n if (match['IE'] || match['Edge']) {\n var navigator_top = window.screenTop - window.screenY\n switch (navigator_top) {\n case 71:\n break\n case 74:\n break\n case 99:\n break\n case 102:\n match['360EE'] = true\n break\n case 75:\n break\n case 74:\n break\n case 105:\n break\n case 104:\n match['360SE'] = true\n break\n default:\n break\n }\n }\n\n var browerVersionMap = {\n Safari: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Chrome: function () {\n return u\n .replace(/^.*Chrome\\/([\\d.]+).*$/, '$1')\n .replace(/^.*CriOS\\/([\\d.]+).*$/, '$1')\n },\n IE: function () {\n return u\n .replace(/^.*MSIE ([\\d.]+).*$/, '$1')\n .replace(/^.*rv:([\\d.]+).*$/, '$1')\n },\n Edge: function () {\n return u.replace(/^.*Edge?\\/([\\d.]+).*$/, '$1')\n },\n Firefox: function () {\n return u\n .replace(/^.*Firefox\\/([\\d.]+).*$/, '$1')\n .replace(/^.*FxiOS\\/([\\d.]+).*$/, '$1')\n },\n 'Firefox Focus': function () {\n return u.replace(/^.*Focus\\/([\\d.]+).*$/, '$1')\n },\n Chromium: function () {\n return u.replace(/^.*Chromium\\/([\\d.]+).*$/, '$1')\n },\n Opera: function () {\n return u\n .replace(/^.*Opera\\/([\\d.]+).*$/, '$1')\n .replace(/^.*OPR\\/([\\d.]+).*$/, '$1')\n },\n Vivaldi: function () {\n return u.replace(/^.*Vivaldi\\/([\\d.]+).*$/, '$1')\n },\n Yandex: function () {\n return u.replace(/^.*YaBrowser\\/([\\d.]+).*$/, '$1')\n },\n Arora: function () {\n return u.replace(/^.*Arora\\/([\\d.]+).*$/, '$1')\n },\n Lunascape: function () {\n return u.replace(/^.*Lunascape[\\/\\s]([\\d.]+).*$/, '$1')\n },\n QupZilla: function () {\n return u.replace(/^.*QupZilla[\\/\\s]([\\d.]+).*$/, '$1')\n },\n 'Coc Coc': function () {\n return u.replace(/^.*coc_coc_browser\\/([\\d.]+).*$/, '$1')\n },\n Kindle: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Iceweasel: function () {\n return u.replace(/^.*Iceweasel\\/([\\d.]+).*$/, '$1')\n },\n Konqueror: function () {\n return u.replace(/^.*Konqueror\\/([\\d.]+).*$/, '$1')\n },\n Iceape: function () {\n return u.replace(/^.*Iceape\\/([\\d.]+).*$/, '$1')\n },\n SeaMonkey: function () {\n return u.replace(/^.*SeaMonkey\\/([\\d.]+).*$/, '$1')\n },\n Epiphany: function () {\n return u.replace(/^.*Epiphany\\/([\\d.]+).*$/, '$1')\n },\n 360: function () {\n return u.replace(/^.*QihooBrowser\\/([\\d.]+).*$/, '$1')\n },\n '360SE': function () {\n var hash = {\n 63: '10.0',\n 55: '9.1',\n 45: '8.1',\n 42: '8.0',\n 31: '7.0',\n 21: '6.3'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n '360EE': function () {\n var hash = { 69: '11.0', 63: '9.5', 55: '9.0', 50: '8.7', 30: '7.5' }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n Maxthon: function () {\n return u.replace(/^.*Maxthon\\/([\\d.]+).*$/, '$1')\n },\n QQBrowser: function () {\n return u.replace(/^.*QQBrowser\\/([\\d.]+).*$/, '$1')\n },\n QQ: function () {\n return u.replace(/^.*QQ\\/([\\d.]+).*$/, '$1')\n },\n Baidu: function () {\n return u.replace(/^.*BIDUBrowser[\\s\\/]([\\d.]+).*$/, '$1')\n },\n UC: function () {\n return u.replace(/^.*UC?Browser\\/([\\d.]+).*$/, '$1')\n },\n Sogou: function () {\n return u\n .replace(/^.*SE ([\\d.X]+).*$/, '$1')\n .replace(/^.*SogouMobileBrowser\\/([\\d.]+).*$/, '$1')\n },\n LBBROWSER: function () {\n var version = ''\n if (u.indexOf('LieBaoFast') > -1) {\n version = u.replace(/^.*LieBaoFast\\/([\\d.]+).*$/, '$1')\n }\n var hash = {\n 57: '6.5',\n 49: '6.0',\n 46: '5.9',\n 42: '5.3',\n 39: '5.2',\n 34: '5.0',\n 29: '4.5',\n 21: '4.0'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return version || hash[chrome_version] || ''\n },\n '2345Explorer': function () {\n return u.replace(/^.*2345Explorer\\/([\\d.]+).*$/, '$1')\n },\n TheWorld: function () {\n return u.replace(/^.*TheWorld ([\\d.]+).*$/, '$1')\n },\n XiaoMi: function () {\n return u.replace(/^.*MiuiBrowser\\/([\\d.]+).*$/, '$1')\n },\n Quark: function () {\n return u.replace(/^.*Quark\\/([\\d.]+).*$/, '$1')\n },\n Qiyu: function () {\n return u.replace(/^.*Qiyu\\/([\\d.]+).*$/, '$1')\n },\n Wechat: function () {\n return u.replace(/^.*MicroMessenger\\/([\\d.]+).*$/, '$1')\n },\n WechatWork: function () {\n return u.replace(/^.*wxwork\\/([\\d.]+).*$/, '$1')\n },\n Taobao: function () {\n return u.replace(/^.*AliApp\\(TB\\/([\\d.]+).*$/, '$1')\n },\n Alipay: function () {\n return u.replace(/^.*AliApp\\(AP\\/([\\d.]+).*$/, '$1')\n },\n Weibo: function () {\n return u.replace(/^.*weibo__([\\d.]+).*$/, '$1')\n },\n Douban: function () {\n return u.replace(/^.*com.douban.frodo\\/([\\d.]+).*$/, '$1')\n },\n Suning: function () {\n return u.replace(/^.*SNEBUY-APP([\\d.]+).*$/, '$1')\n },\n iQiYi: function () {\n return u.replace(/^.*IqiyiVersion\\/([\\d.]+).*$/, '$1')\n }\n }\n _this.browserVersion = ''\n _this.browserMajor = ''\n if (browerVersionMap[_this.browser]) {\n _this.browserVersion = browerVersionMap[_this.browser]()\n if (_this.browserVersion == u) {\n _this.browserVersion = ''\n }\n }\n if (_this.browser == 'Chrome' && u.match(/\\S+Browser/)) {\n _this.browser = u.match(/\\S+Browser/)[0]\n _this.version = u.replace(/^.*Browser\\/([\\d.]+).*$/, '$1')\n }\n if (_this.browser == 'Edge') {\n if (_this.version > '75') {\n _this.engine = 'Blink'\n } else {\n _this.engine = 'EdgeHTML'\n }\n }\n if (_this.browser == 'Chrome' && parseInt(_this.browserVersion) > 27) {\n _this.engine = 'Blink'\n } else if (\n match['Chrome'] &&\n _this.engine == 'WebKit' &&\n parseInt(_this.browserVersion) > 27\n ) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Opera' && parseInt(_this.version) > 12) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Yandex') {\n _this.engine = 'Blink'\n }\n if (_this.browserVersion) {\n _this.browserMajor =\n _this.browserVersion.split('.').length &&\n this.browserVersion.split('.')[0]\n }\n return {\n browser: _this.browser,\n browserVersion: _this.browserVersion,\n engine: _this.engine,\n browserMajor: _this.browserMajor\n }\n }),\n getGeoPostion: monitor(function (callback) {\n navigator &&\n navigator.geolocation &&\n navigator.geolocation.getCurrentPosition(\n function (position) {\n callback(position)\n },\n function (error) {\n display.warn(error)\n }\n )\n })\n}\nvar _deviceInfo = {}\nif (typeof window !== 'undefined') {\n _deviceInfo = {\n os: MethodLibrary.getOS(),\n osVersion: MethodLibrary.getOSVersion().version,\n osVersionMajor: MethodLibrary.getOSVersion().osMajor,\n browser: MethodLibrary.getBrowserInfo().browser,\n browserVersion: MethodLibrary.getBrowserInfo().browserVersion,\n browserVersionMajor: MethodLibrary.getBrowserInfo().browserMajor,\n screenSize: window.screen.width + '*' + window.screen.height,\n networkType: MethodLibrary.getNetwork(),\n device: MethodLibrary.getDeviceType(),\n timeZone: MethodLibrary.getTimeZone(),\n userAgent: VariableLibrary.navigator.userAgent || ''\n }\n}\nexport var deviceInfo = _deviceInfo\n"],"mappings":"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","ignoreList":[]}
package/esm/index.js CHANGED
@@ -39,7 +39,7 @@ export * from './browser/scroll';
39
39
  export * from './dataMap';
40
40
  export * from './init';
41
41
  export { startSessionManager, stopSessionManager } from './session/sessionManagement';
42
- export { SESSION_TIME_OUT_DELAY, SESSION_STORE_KEY, SessionPersistence } from './session/sessionConstants';
42
+ export { SESSION_TIME_OUT_DELAY, SESSION_STORE_KEY, SessionPersistence, SESSION_NOT_TRACKED } from './session/sessionConstants';
43
43
  export { STORAGE_POLL_DELAY } from './session/sessionStore';
44
44
  export * from './transport';
45
45
  export * from './synthetics/syntheticsWorkerValues';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["startSessionManager","stopSessionManager","SESSION_TIME_OUT_DELAY","SESSION_STORE_KEY","SessionPersistence","STORAGE_POLL_DELAY"],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './helper/requestIdleCallback'\nexport * from './helper/taskQueue'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './configuration/remoteConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport {\n startSessionManager,\n stopSessionManager\n} from './session/sessionManagement'\nexport {\n SESSION_TIME_OUT_DELAY,\n SESSION_STORE_KEY,\n SessionPersistence\n} from './session/sessionConstants'\nexport { STORAGE_POLL_DELAY } from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/const'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/serialisation/customerDataTracker'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,SACEA,mBAAmB,EACnBC,kBAAkB,QACb,6BAA6B;AACpC,SACEC,sBAAsB,EACtBC,iBAAiB,EACjBC,kBAAkB,QACb,4BAA4B;AACnC,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,8BAA8B;AAC5C,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,4CAA4C;AAC1D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["startSessionManager","stopSessionManager","SESSION_TIME_OUT_DELAY","SESSION_STORE_KEY","SessionPersistence","SESSION_NOT_TRACKED","STORAGE_POLL_DELAY"],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './helper/requestIdleCallback'\nexport * from './helper/taskQueue'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './configuration/remoteConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport {\n startSessionManager,\n stopSessionManager\n} from './session/sessionManagement'\nexport {\n SESSION_TIME_OUT_DELAY,\n SESSION_STORE_KEY,\n SessionPersistence,\n SESSION_NOT_TRACKED\n} from './session/sessionConstants'\nexport { STORAGE_POLL_DELAY } from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/const'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/serialisation/customerDataTracker'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,SACEA,mBAAmB,EACnBC,kBAAkB,QACb,6BAA6B;AACpC,SACEC,sBAAsB,EACtBC,iBAAiB,EACjBC,kBAAkB,EAClBC,mBAAmB,QACd,4BAA4B;AACnC,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,8BAA8B;AAC5C,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,4CAA4C;AAC1D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}
@@ -2,6 +2,7 @@ import { ONE_HOUR, ONE_MINUTE } from '../helper/tools';
2
2
  export var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;
3
3
  export var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;
4
4
  export var SESSION_STORE_KEY = '_gc_s';
5
+ export var SESSION_NOT_TRACKED = '0';
5
6
  export var SessionPersistence = {
6
7
  COOKIE: 'cookie',
7
8
  LOCAL_STORAGE: 'local-storage'
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConstants.js","names":["ONE_HOUR","ONE_MINUTE","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY","SESSION_STORE_KEY","SessionPersistence","COOKIE","LOCAL_STORAGE"],"sources":["../../src/session/sessionConstants.js"],"sourcesContent":["import { ONE_HOUR, ONE_MINUTE } from '../helper/tools'\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE\nexport var SESSION_STORE_KEY = '_gc_s'\nexport const SessionPersistence = {\n COOKIE: 'cookie',\n LOCAL_STORAGE: 'local-storage'\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,iBAAiB;AACtD,OAAO,IAAIC,sBAAsB,GAAG,CAAC,GAAGF,QAAQ;AAChD,OAAO,IAAIG,wBAAwB,GAAG,EAAE,GAAGF,UAAU;AACrD,OAAO,IAAIG,iBAAiB,GAAG,OAAO;AACtC,OAAO,IAAMC,kBAAkB,GAAG;EAChCC,MAAM,EAAE,QAAQ;EAChBC,aAAa,EAAE;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"sessionConstants.js","names":["ONE_HOUR","ONE_MINUTE","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY","SESSION_STORE_KEY","SESSION_NOT_TRACKED","SessionPersistence","COOKIE","LOCAL_STORAGE"],"sources":["../../src/session/sessionConstants.js"],"sourcesContent":["import { ONE_HOUR, ONE_MINUTE } from '../helper/tools'\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE\nexport var SESSION_STORE_KEY = '_gc_s'\nexport const SESSION_NOT_TRACKED = '0'\nexport const SessionPersistence = {\n COOKIE: 'cookie',\n LOCAL_STORAGE: 'local-storage'\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,iBAAiB;AACtD,OAAO,IAAIC,sBAAsB,GAAG,CAAC,GAAGF,QAAQ;AAChD,OAAO,IAAIG,wBAAwB,GAAG,EAAE,GAAGF,UAAU;AACrD,OAAO,IAAIG,iBAAiB,GAAG,OAAO;AACtC,OAAO,IAAMC,mBAAmB,GAAG,GAAG;AACtC,OAAO,IAAMC,kBAAkB,GAAG;EAChCC,MAAM,EAAE,QAAQ;EAChBC,aAAa,EAAE;AACjB,CAAC","ignoreList":[]}
@@ -4,7 +4,7 @@ import { relativeNow, clocksOrigin, ONE_MINUTE } from '../helper/tools';
4
4
  import { DOM_EVENT } from '../helper/enums';
5
5
  import { addEventListener, addEventListeners } from '../browser/addEventListener';
6
6
  import { clearInterval, setInterval } from '../helper/timer';
7
- import { SESSION_TIME_OUT_DELAY } from './sessionConstants';
7
+ import { SESSION_TIME_OUT_DELAY, SESSION_NOT_TRACKED } from './sessionConstants';
8
8
  import { startSessionStore } from './sessionStore';
9
9
  export var VISIBILITY_CHECK_DELAY = ONE_MINUTE;
10
10
  var SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;
@@ -44,10 +44,20 @@ export function startSessionManager(configuration, productKey, computeSessionSta
44
44
  sessionStore.restartSession();
45
45
  });
46
46
  function buildSessionContext() {
47
+ var session = sessionStore.getSession();
48
+ if (!session) {
49
+ return {
50
+ id: 'invalid',
51
+ trackingType: SESSION_NOT_TRACKED,
52
+ isSessionForced: false,
53
+ hasError: false
54
+ };
55
+ }
47
56
  return {
48
- id: sessionStore.getSession().id,
49
- trackingType: sessionStore.getSession()[productKey],
50
- hasError: !!sessionStore.getSession().hasError
57
+ id: session.id,
58
+ trackingType: session[productKey],
59
+ hasError: !!session.hasError,
60
+ isSessionForced: !!session.forcedSession
51
61
  };
52
62
  }
53
63
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManagement.js","names":["Observable","createValueHistory","relativeNow","clocksOrigin","ONE_MINUTE","DOM_EVENT","addEventListener","addEventListeners","clearInterval","setInterval","SESSION_TIME_OUT_DELAY","startSessionStore","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","configuration","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","sessionStoreStrategyType","push","stop","sessionContextHistory","expireDelay","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","trackResume","restartSession","id","getSession","trackingType","hasError","findSession","startTime","options","find","sessionStateUpdateObservable","expire","updateSessionState","stopSessionManager","forEach","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval","cb","_addEventListener2","RESUME"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { createValueHistory } from '../helper/valueHistory'\nimport { relativeNow, clocksOrigin, ONE_MINUTE } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { startSessionStore } from './sessionStore'\n\nexport const VISIBILITY_CHECK_DELAY = ONE_MINUTE\nconst SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nlet stopCallbacks = []\n\nexport function startSessionManager(\n configuration,\n productKey,\n computeSessionState\n) {\n const renewObservable = new Observable()\n const expireObservable = new Observable()\n\n const sessionStore = startSessionStore(\n configuration.sessionStoreStrategyType,\n productKey,\n computeSessionState\n )\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n const sessionContextHistory = createValueHistory({\n expireDelay: SESSION_CONTEXT_TIMEOUT_DELAY\n })\n stopCallbacks.push(function () {\n return sessionContextHistory.stop()\n })\n\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n renewObservable.notify()\n })\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify()\n sessionContextHistory.closeActive(relativeNow())\n })\n\n // manager is started.\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n trackResume(function () {\n sessionStore.restartSession()\n })\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n hasError: !!sessionStore.getSession().hasError\n }\n }\n\n return {\n findSession: function (startTime, options) {\n return sessionContextHistory.find(startTime, options)\n },\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable: sessionStore.sessionStateUpdateObservable,\n expire: sessionStore.expire,\n updateSessionState: sessionStore.updateSessionState\n }\n}\n\nexport function stopSessionManager() {\n stopCallbacks.forEach(function (e) {\n e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n const { stop } = addEventListeners(\n window,\n [\n DOM_EVENT.CLICK,\n DOM_EVENT.TOUCH_START,\n DOM_EVENT.KEY_DOWN,\n DOM_EVENT.SCROLL\n ],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(stop)\n}\n\nfunction trackVisibility(expandSession) {\n const expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n\n const { stop } = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(stop)\n\n const visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\n\nfunction trackResume(cb) {\n const { stop } = addEventListener(window, DOM_EVENT.RESUME, cb, {\n capture: true\n })\n stopCallbacks.push(stop)\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,WAAW,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AACvE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACEC,gBAAgB,EAChBC,iBAAiB,QACZ,6BAA6B;AACpC,SAASC,aAAa,EAAEC,WAAW,QAAQ,iBAAiB;AAC5D,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,iBAAiB,QAAQ,gBAAgB;AAElD,OAAO,IAAMC,sBAAsB,GAAGR,UAAU;AAChD,IAAMS,6BAA6B,GAAGH,sBAAsB;AAC5D,IAAII,aAAa,GAAG,EAAE;AAEtB,OAAO,SAASC,mBAAmBA,CACjCC,aAAa,EACbC,UAAU,EACVC,mBAAmB,EACnB;EACA,IAAMC,eAAe,GAAG,IAAInB,UAAU,CAAC,CAAC;EACxC,IAAMoB,gBAAgB,GAAG,IAAIpB,UAAU,CAAC,CAAC;EAEzC,IAAMqB,YAAY,GAAGV,iBAAiB,CACpCK,aAAa,CAACM,wBAAwB,EACtCL,UAAU,EACVC,mBACF,CAAC;EACDJ,aAAa,CAACS,IAAI,CAAC,YAAY;IAC7B,OAAOF,YAAY,CAACG,IAAI,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEF,IAAMC,qBAAqB,GAAGxB,kBAAkB,CAAC;IAC/CyB,WAAW,EAAEb;EACf,CAAC,CAAC;EACFC,aAAa,CAACS,IAAI,CAAC,YAAY;IAC7B,OAAOE,qBAAqB,CAACD,IAAI,CAAC,CAAC;EACrC,CAAC,CAAC;EAEFH,YAAY,CAACF,eAAe,CAACQ,SAAS,CAAC,YAAY;IACjDF,qBAAqB,CAACG,GAAG,CAACC,mBAAmB,CAAC,CAAC,EAAE3B,WAAW,CAAC,CAAC,CAAC;IAC/DiB,eAAe,CAACW,MAAM,CAAC,CAAC;EAC1B,CAAC,CAAC;EACFT,YAAY,CAACD,gBAAgB,CAACO,SAAS,CAAC,YAAY;IAClDP,gBAAgB,CAACU,MAAM,CAAC,CAAC;IACzBL,qBAAqB,CAACM,WAAW,CAAC7B,WAAW,CAAC,CAAC,CAAC;EAClD,CAAC,CAAC;;EAEF;EACAmB,YAAY,CAACW,oBAAoB,CAAC,CAAC;EACnCP,qBAAqB,CAACG,GAAG,CAACC,mBAAmB,CAAC,CAAC,EAAE1B,YAAY,CAAC,CAAC,CAAC8B,QAAQ,CAAC;EAEzEC,aAAa,CAAC,YAAY;IACxBb,YAAY,CAACW,oBAAoB,CAAC,CAAC;EACrC,CAAC,CAAC;EACFG,eAAe,CAAC,YAAY;IAC1B,OAAOd,YAAY,CAACe,aAAa,CAAC,CAAC;EACrC,CAAC,CAAC;EACFC,WAAW,CAAC,YAAY;IACtBhB,YAAY,CAACiB,cAAc,CAAC,CAAC;EAC/B,CAAC,CAAC;EAEF,SAAST,mBAAmBA,CAAA,EAAG;IAC7B,OAAO;MACLU,EAAE,EAAElB,YAAY,CAACmB,UAAU,CAAC,CAAC,CAACD,EAAE;MAChCE,YAAY,EAAEpB,YAAY,CAACmB,UAAU,CAAC,CAAC,CAACvB,UAAU,CAAC;MACnDyB,QAAQ,EAAE,CAAC,CAACrB,YAAY,CAACmB,UAAU,CAAC,CAAC,CAACE;IACxC,CAAC;EACH;EAEA,OAAO;IACLC,WAAW,EAAE,SAAbA,WAAWA,CAAYC,SAAS,EAAEC,OAAO,EAAE;MACzC,OAAOpB,qBAAqB,CAACqB,IAAI,CAACF,SAAS,EAAEC,OAAO,CAAC;IACvD,CAAC;IACD1B,eAAe,EAAfA,eAAe;IACfC,gBAAgB,EAAhBA,gBAAgB;IAChB2B,4BAA4B,EAAE1B,YAAY,CAAC0B,4BAA4B;IACvEC,MAAM,EAAE3B,YAAY,CAAC2B,MAAM;IAC3BC,kBAAkB,EAAE5B,YAAY,CAAC4B;EACnC,CAAC;AACH;AAEA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnCpC,aAAa,CAACqC,OAAO,CAAC,UAAUC,CAAC,EAAE;IACjCA,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;EACFtC,aAAa,GAAG,EAAE;AACpB;AAEA,SAASoB,aAAaA,CAACF,oBAAoB,EAAE;EAC3C,IAAAqB,kBAAA,GAAiB9C,iBAAiB,CAChC+C,MAAM,EACN,CACEjD,SAAS,CAACkD,KAAK,EACflD,SAAS,CAACmD,WAAW,EACrBnD,SAAS,CAACoD,QAAQ,EAClBpD,SAAS,CAACqD,MAAM,CACjB,EACD1B,oBAAoB,EACpB;MAAE2B,OAAO,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAK,CACjC,CAAC;IAVOpC,IAAI,GAAA6B,kBAAA,CAAJ7B,IAAI;EAWZV,aAAa,CAACS,IAAI,CAACC,IAAI,CAAC;AAC1B;AAEA,SAASW,eAAeA,CAACC,aAAa,EAAE;EACtC,IAAMyB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAAe;IAC3C,IAAIC,QAAQ,CAACC,eAAe,KAAK,SAAS,EAAE;MAC1C3B,aAAa,CAAC,CAAC;IACjB;EACF,CAAC;EAED,IAAA4B,iBAAA,GAAiB1D,gBAAgB,CAC/BwD,QAAQ,EACRzD,SAAS,CAAC4D,iBAAiB,EAC3BJ,wBACF,CAAC;IAJOrC,IAAI,GAAAwC,iBAAA,CAAJxC,IAAI;EAKZV,aAAa,CAACS,IAAI,CAACC,IAAI,CAAC;EAExB,IAAM0C,uBAAuB,GAAGzD,WAAW,CACzCoD,wBAAwB,EACxBjD,sBACF,CAAC;EACDE,aAAa,CAACS,IAAI,CAAC,YAAY;IAC7Bf,aAAa,CAAC0D,uBAAuB,CAAC;EACxC,CAAC,CAAC;AACJ;AAEA,SAAS7B,WAAWA,CAAC8B,EAAE,EAAE;EACvB,IAAAC,kBAAA,GAAiB9D,gBAAgB,CAACgD,MAAM,EAAEjD,SAAS,CAACgE,MAAM,EAAEF,EAAE,EAAE;MAC9DR,OAAO,EAAE;IACX,CAAC,CAAC;IAFMnC,IAAI,GAAA4C,kBAAA,CAAJ5C,IAAI;EAGZV,aAAa,CAACS,IAAI,CAACC,IAAI,CAAC;AAC1B","ignoreList":[]}
1
+ {"version":3,"file":"sessionManagement.js","names":["Observable","createValueHistory","relativeNow","clocksOrigin","ONE_MINUTE","DOM_EVENT","addEventListener","addEventListeners","clearInterval","setInterval","SESSION_TIME_OUT_DELAY","SESSION_NOT_TRACKED","startSessionStore","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","configuration","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","sessionStoreStrategyType","push","stop","sessionContextHistory","expireDelay","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","trackResume","restartSession","session","getSession","id","trackingType","isSessionForced","hasError","forcedSession","findSession","startTime","options","find","sessionStateUpdateObservable","expire","updateSessionState","stopSessionManager","forEach","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval","cb","_addEventListener2","RESUME"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { createValueHistory } from '../helper/valueHistory'\nimport { relativeNow, clocksOrigin, ONE_MINUTE } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { SESSION_TIME_OUT_DELAY, SESSION_NOT_TRACKED } from './sessionConstants'\nimport { startSessionStore } from './sessionStore'\n\nexport const VISIBILITY_CHECK_DELAY = ONE_MINUTE\nconst SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nlet stopCallbacks = []\n\nexport function startSessionManager(\n configuration,\n productKey,\n computeSessionState\n) {\n const renewObservable = new Observable()\n const expireObservable = new Observable()\n\n const sessionStore = startSessionStore(\n configuration.sessionStoreStrategyType,\n productKey,\n computeSessionState\n )\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n const sessionContextHistory = createValueHistory({\n expireDelay: SESSION_CONTEXT_TIMEOUT_DELAY\n })\n stopCallbacks.push(function () {\n return sessionContextHistory.stop()\n })\n\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n renewObservable.notify()\n })\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify()\n sessionContextHistory.closeActive(relativeNow())\n })\n\n // manager is started.\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n trackResume(function () {\n sessionStore.restartSession()\n })\n\n function buildSessionContext() {\n const session = sessionStore.getSession()\n if (!session) {\n return {\n id: 'invalid',\n trackingType: SESSION_NOT_TRACKED,\n isSessionForced: false,\n hasError: false\n }\n }\n return {\n id: session.id,\n trackingType: session[productKey],\n hasError: !!session.hasError,\n isSessionForced: !!session.forcedSession\n }\n }\n\n return {\n findSession: function (startTime, options) {\n return sessionContextHistory.find(startTime, options)\n },\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable: sessionStore.sessionStateUpdateObservable,\n expire: sessionStore.expire,\n updateSessionState: sessionStore.updateSessionState\n }\n}\n\nexport function stopSessionManager() {\n stopCallbacks.forEach(function (e) {\n e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n const { stop } = addEventListeners(\n window,\n [\n DOM_EVENT.CLICK,\n DOM_EVENT.TOUCH_START,\n DOM_EVENT.KEY_DOWN,\n DOM_EVENT.SCROLL\n ],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(stop)\n}\n\nfunction trackVisibility(expandSession) {\n const expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n\n const { stop } = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(stop)\n\n const visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\n\nfunction trackResume(cb) {\n const { stop } = addEventListener(window, DOM_EVENT.RESUME, cb, {\n capture: true\n })\n stopCallbacks.push(stop)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -163,7 +163,7 @@ export function startSessionStore(sessionStoreStrategyType, productKey, computeS
163
163
  expandOrRenewSession: throttledExpandOrRenewSession,
164
164
  expandSession: expandSession,
165
165
  getSession: function getSession() {
166
- return sessionCache || {};
166
+ return sessionCache;
167
167
  },
168
168
  renewObservable: renewObservable,
169
169
  expireObservable: expireObservable,
@@ -1 +1 @@
1
- {"version":3,"file":"sessionStore.js","names":["clearInterval","setInterval","Observable","display","ONE_SECOND","dateNow","throttle","UUID","assign","selectCookieStrategy","initCookieStrategy","getExpiredSessionState","isSessionInExpiredState","isSessionInNotStartedState","isSessionStarted","initLocalStorageStrategy","selectLocalStorageStrategy","processSessionStoreOperations","SessionPersistence","STORAGE_POLL_DELAY","selectSessionStoreStrategyType","initConfiguration","sessionPersistence","COOKIE","LOCAL_STORAGE","undefined","sessionStoreStrategyType","allowFallbackToLocalStorage","error","concat","String","startSessionStore","productKey","computeSessionState","renewObservable","expireObservable","sessionStateUpdateObservable","sessionStoreStrategy","type","cookieOptions","expireSession","watchSessionTimeoutId","watchSession","sessionCache","startSession","_throttle","process","sessionState","synchronizedSession","synchronizeSession","expandOrRenewSessionState","after","hasSessionInCache","renewSessionInCache","throttledExpandOrRenewSession","throttled","cancelExpandOrRenewSession","cancel","expandSession","isSessionInCacheOutdated","expireSessionInCache","notify","previousState","newState","_computeSessionState","trackingType","isTracked","isExpired","id","created","updateSessionState","partialSessionState","expandOrRenewSession","getSession","restartSession","expire","stop"],"sources":["../../src/session/sessionStore.js"],"sourcesContent":["import { clearInterval, setInterval } from '../helper/timer'\nimport { Observable } from '../helper/observable'\nimport { display } from '../helper/display'\nimport { ONE_SECOND, dateNow, throttle, UUID, assign } from '../helper/tools'\nimport { selectCookieStrategy, initCookieStrategy } from './sessionInCookie'\nimport {\n getExpiredSessionState,\n isSessionInExpiredState,\n isSessionInNotStartedState,\n isSessionStarted\n} from './sessionState'\nimport {\n initLocalStorageStrategy,\n selectLocalStorageStrategy\n} from './sessionInLocalStorage'\nimport { processSessionStoreOperations } from './sessionStoreOperations'\nimport { SessionPersistence } from './sessionConstants'\n\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport const STORAGE_POLL_DELAY = ONE_SECOND\n\n/**\n * Checks if cookies are available as the preferred storage\n * Else, checks if LocalStorage is allowed and available\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n switch (initConfiguration.sessionPersistence) {\n case SessionPersistence.COOKIE:\n return selectCookieStrategy(initConfiguration)\n\n case SessionPersistence.LOCAL_STORAGE:\n return selectLocalStorageStrategy()\n\n case undefined: {\n let sessionStoreStrategyType = selectCookieStrategy(initConfiguration)\n if (\n !sessionStoreStrategyType &&\n initConfiguration.allowFallbackToLocalStorage\n ) {\n sessionStoreStrategyType = selectLocalStorageStrategy()\n }\n return sessionStoreStrategyType\n }\n\n default:\n display.error(\n `Invalid session persistence '${String(\n initConfiguration.sessionPersistence\n )}'`\n )\n }\n}\n\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(\n sessionStoreStrategyType,\n productKey,\n computeSessionState\n) {\n const renewObservable = new Observable()\n const expireObservable = new Observable()\n const sessionStateUpdateObservable = new Observable()\n const sessionStoreStrategy =\n sessionStoreStrategyType.type === SessionPersistence.COOKIE\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy()\n const { expireSession } = sessionStoreStrategy\n\n const watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY)\n let sessionCache\n\n startSession()\n\n const {\n throttled: throttledExpandOrRenewSession,\n cancel: cancelExpandOrRenewSession\n } = throttle(function () {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return\n }\n\n const synchronizedSession = synchronizeSession(sessionState)\n expandOrRenewSessionState(synchronizedSession)\n return synchronizedSession\n },\n after: function (sessionState) {\n if (isSessionStarted(sessionState) && !hasSessionInCache()) {\n renewSessionInCache(sessionState)\n }\n sessionCache = sessionState\n }\n },\n sessionStoreStrategy\n )\n }, STORAGE_POLL_DELAY)\n\n function expandSession() {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n return hasSessionInCache()\n ? synchronizeSession(sessionState)\n : undefined\n }\n },\n sessionStoreStrategy\n )\n }\n\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n return isSessionInExpiredState(sessionState)\n ? getExpiredSessionState()\n : undefined\n },\n after: synchronizeSession\n },\n sessionStoreStrategy\n )\n }\n\n function synchronizeSession(sessionState) {\n if (isSessionInExpiredState(sessionState)) {\n sessionState = getExpiredSessionState()\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache()\n } else {\n sessionStateUpdateObservable.notify({\n previousState: sessionCache,\n newState: sessionState\n })\n sessionCache = sessionState\n }\n }\n return sessionState\n }\n\n function startSession() {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return getExpiredSessionState()\n }\n },\n after: function (sessionState) {\n sessionCache = sessionState\n }\n },\n sessionStoreStrategy\n )\n }\n\n function expandOrRenewSessionState(sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return false\n }\n\n const { trackingType, isTracked } = computeSessionState(\n sessionState[productKey]\n )\n sessionState[productKey] = trackingType\n delete sessionState.isExpired\n if (isTracked && !sessionState.id) {\n sessionState.id = UUID()\n sessionState.created = String(dateNow())\n }\n }\n\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined\n }\n\n function isSessionInCacheOutdated(sessionState) {\n return (\n sessionCache.id !== sessionState.id ||\n sessionCache[productKey] !== sessionState[productKey]\n )\n }\n\n function expireSessionInCache() {\n sessionCache = getExpiredSessionState()\n expireObservable.notify()\n }\n\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState\n renewObservable.notify()\n }\n\n function updateSessionState(partialSessionState) {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n return assign({}, sessionState, partialSessionState)\n },\n after: synchronizeSession\n },\n sessionStoreStrategy\n )\n }\n\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession,\n getSession: function () {\n return sessionCache || {}\n },\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable,\n restartSession: startSession,\n expire: function () {\n cancelExpandOrRenewSession()\n expireSession()\n synchronizeSession(getExpiredSessionState())\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId)\n },\n updateSessionState\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"sessionStore.js","names":["clearInterval","setInterval","Observable","display","ONE_SECOND","dateNow","throttle","UUID","assign","selectCookieStrategy","initCookieStrategy","getExpiredSessionState","isSessionInExpiredState","isSessionInNotStartedState","isSessionStarted","initLocalStorageStrategy","selectLocalStorageStrategy","processSessionStoreOperations","SessionPersistence","STORAGE_POLL_DELAY","selectSessionStoreStrategyType","initConfiguration","sessionPersistence","COOKIE","LOCAL_STORAGE","undefined","sessionStoreStrategyType","allowFallbackToLocalStorage","error","concat","String","startSessionStore","productKey","computeSessionState","renewObservable","expireObservable","sessionStateUpdateObservable","sessionStoreStrategy","type","cookieOptions","expireSession","watchSessionTimeoutId","watchSession","sessionCache","startSession","_throttle","process","sessionState","synchronizedSession","synchronizeSession","expandOrRenewSessionState","after","hasSessionInCache","renewSessionInCache","throttledExpandOrRenewSession","throttled","cancelExpandOrRenewSession","cancel","expandSession","isSessionInCacheOutdated","expireSessionInCache","notify","previousState","newState","_computeSessionState","trackingType","isTracked","isExpired","id","created","updateSessionState","partialSessionState","expandOrRenewSession","getSession","restartSession","expire","stop"],"sources":["../../src/session/sessionStore.js"],"sourcesContent":["import { clearInterval, setInterval } from '../helper/timer'\nimport { Observable } from '../helper/observable'\nimport { display } from '../helper/display'\nimport { ONE_SECOND, dateNow, throttle, UUID, assign } from '../helper/tools'\nimport { selectCookieStrategy, initCookieStrategy } from './sessionInCookie'\nimport {\n getExpiredSessionState,\n isSessionInExpiredState,\n isSessionInNotStartedState,\n isSessionStarted\n} from './sessionState'\nimport {\n initLocalStorageStrategy,\n selectLocalStorageStrategy\n} from './sessionInLocalStorage'\nimport { processSessionStoreOperations } from './sessionStoreOperations'\nimport { SessionPersistence } from './sessionConstants'\n\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport const STORAGE_POLL_DELAY = ONE_SECOND\n\n/**\n * Checks if cookies are available as the preferred storage\n * Else, checks if LocalStorage is allowed and available\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n switch (initConfiguration.sessionPersistence) {\n case SessionPersistence.COOKIE:\n return selectCookieStrategy(initConfiguration)\n\n case SessionPersistence.LOCAL_STORAGE:\n return selectLocalStorageStrategy()\n\n case undefined: {\n let sessionStoreStrategyType = selectCookieStrategy(initConfiguration)\n if (\n !sessionStoreStrategyType &&\n initConfiguration.allowFallbackToLocalStorage\n ) {\n sessionStoreStrategyType = selectLocalStorageStrategy()\n }\n return sessionStoreStrategyType\n }\n\n default:\n display.error(\n `Invalid session persistence '${String(\n initConfiguration.sessionPersistence\n )}'`\n )\n }\n}\n\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(\n sessionStoreStrategyType,\n productKey,\n computeSessionState\n) {\n const renewObservable = new Observable()\n const expireObservable = new Observable()\n const sessionStateUpdateObservable = new Observable()\n const sessionStoreStrategy =\n sessionStoreStrategyType.type === SessionPersistence.COOKIE\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy()\n const { expireSession } = sessionStoreStrategy\n\n const watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY)\n let sessionCache\n\n startSession()\n\n const {\n throttled: throttledExpandOrRenewSession,\n cancel: cancelExpandOrRenewSession\n } = throttle(function () {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return\n }\n\n const synchronizedSession = synchronizeSession(sessionState)\n expandOrRenewSessionState(synchronizedSession)\n return synchronizedSession\n },\n after: function (sessionState) {\n if (isSessionStarted(sessionState) && !hasSessionInCache()) {\n renewSessionInCache(sessionState)\n }\n sessionCache = sessionState\n }\n },\n sessionStoreStrategy\n )\n }, STORAGE_POLL_DELAY)\n\n function expandSession() {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n return hasSessionInCache()\n ? synchronizeSession(sessionState)\n : undefined\n }\n },\n sessionStoreStrategy\n )\n }\n\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n return isSessionInExpiredState(sessionState)\n ? getExpiredSessionState()\n : undefined\n },\n after: synchronizeSession\n },\n sessionStoreStrategy\n )\n }\n\n function synchronizeSession(sessionState) {\n if (isSessionInExpiredState(sessionState)) {\n sessionState = getExpiredSessionState()\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache()\n } else {\n sessionStateUpdateObservable.notify({\n previousState: sessionCache,\n newState: sessionState\n })\n sessionCache = sessionState\n }\n }\n return sessionState\n }\n\n function startSession() {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return getExpiredSessionState()\n }\n },\n after: function (sessionState) {\n sessionCache = sessionState\n }\n },\n sessionStoreStrategy\n )\n }\n\n function expandOrRenewSessionState(sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return false\n }\n\n const { trackingType, isTracked } = computeSessionState(\n sessionState[productKey]\n )\n sessionState[productKey] = trackingType\n delete sessionState.isExpired\n if (isTracked && !sessionState.id) {\n sessionState.id = UUID()\n sessionState.created = String(dateNow())\n }\n }\n\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined\n }\n\n function isSessionInCacheOutdated(sessionState) {\n return (\n sessionCache.id !== sessionState.id ||\n sessionCache[productKey] !== sessionState[productKey]\n )\n }\n\n function expireSessionInCache() {\n sessionCache = getExpiredSessionState()\n expireObservable.notify()\n }\n\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState\n renewObservable.notify()\n }\n\n function updateSessionState(partialSessionState) {\n processSessionStoreOperations(\n {\n process: function (sessionState) {\n return assign({}, sessionState, partialSessionState)\n },\n after: synchronizeSession\n },\n sessionStoreStrategy\n )\n }\n\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession,\n getSession: function () {\n return sessionCache\n },\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable,\n restartSession: startSession,\n expire: function () {\n cancelExpandOrRenewSession()\n expireSession()\n synchronizeSession(getExpiredSessionState())\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId)\n },\n updateSessionState\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,10 +14,10 @@ export function createFlushController(_ref) {
14
14
  durationLimit = _ref.durationLimit,
15
15
  pageExitObservable = _ref.pageExitObservable,
16
16
  sessionExpireObservable = _ref.sessionExpireObservable;
17
- pageExitObservable.subscribe(function (event) {
17
+ var pageExitSubscription = pageExitObservable.subscribe(function (event) {
18
18
  return flush(event.reason);
19
19
  });
20
- sessionExpireObservable.subscribe(function () {
20
+ var sessionExpireSubscription = sessionExpireObservable.subscribe(function () {
21
21
  return flush('session_expire');
22
22
  });
23
23
  var flushObservable = new Observable(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"flushController.js","names":["Observable","clearTimeout","setTimeout","createFlushController","_ref","messagesLimit","bytesLimit","durationLimit","pageExitObservable","sessionExpireObservable","subscribe","event","flush","reason","flushObservable","pageExitSubscription","unsubscribe","sessionExpireSubscription","currentBytesCount","currentMessagesCount","flushReason","messagesCount","bytesCount","cancelDurationLimitTimeout","notify","durationLimitTimeoutId","scheduleDurationLimitTimeout","undefined","getMessagesCount","notifyBeforeAddMessage","estimatedMessageBytesCount","notifyAfterAddMessage","messageBytesCountDiff","notifyAfterRemoveMessage","messageBytesCount"],"sources":["../../src/transport/flushController.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { clearTimeout, setTimeout } from '../helper/timer'\n\n// type FlushReason = PageExitReason | 'duration_limit' | 'bytes_limit' | 'messages_limit' | 'session_expire'\n\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController({\n messagesLimit,\n bytesLimit,\n durationLimit,\n pageExitObservable,\n sessionExpireObservable\n}) {\n pageExitObservable.subscribe(function (event) {\n return flush(event.reason)\n })\n sessionExpireObservable.subscribe(function () {\n return flush('session_expire')\n })\n var flushObservable = new Observable(function () {\n return function () {\n pageExitSubscription.unsubscribe()\n sessionExpireSubscription.unsubscribe()\n }\n })\n\n var currentBytesCount = 0\n var currentMessagesCount = 0\n\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return\n }\n\n var messagesCount = currentMessagesCount\n var bytesCount = currentBytesCount\n\n currentMessagesCount = 0\n currentBytesCount = 0\n cancelDurationLimitTimeout()\n\n flushObservable.notify({\n reason: flushReason,\n messagesCount: messagesCount,\n bytesCount: bytesCount\n })\n }\n\n var durationLimitTimeoutId\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(function () {\n flush('duration_limit')\n }, durationLimit)\n }\n }\n\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId)\n durationLimitTimeoutId = undefined\n }\n\n return {\n flushObservable: flushObservable,\n getMessagesCount: function () {\n return currentMessagesCount\n },\n\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n */\n notifyBeforeAddMessage: function (estimatedMessageBytesCount) {\n if (currentBytesCount + estimatedMessageBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1\n currentBytesCount += estimatedMessageBytesCount\n scheduleDurationLimitTimeout()\n },\n\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n */\n notifyAfterAddMessage: function (messageBytesCountDiff) {\n if (messageBytesCountDiff === undefined) {\n messageBytesCountDiff = 0\n }\n currentBytesCount += messageBytesCountDiff\n\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit')\n } else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n },\n\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n *\n * @param messageBytesCount: the message bytes count that was added to the pool. Should\n * correspond to the sum of bytes counts passed to `notifyBeforeAddMessage` and\n * `notifyAfterAddMessage`.\n */\n notifyAfterRemoveMessage: function (messageBytesCount) {\n currentBytesCount -= messageBytesCount\n currentMessagesCount -= 1\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout()\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"flushController.js","names":["Observable","clearTimeout","setTimeout","createFlushController","_ref","messagesLimit","bytesLimit","durationLimit","pageExitObservable","sessionExpireObservable","pageExitSubscription","subscribe","event","flush","reason","sessionExpireSubscription","flushObservable","unsubscribe","currentBytesCount","currentMessagesCount","flushReason","messagesCount","bytesCount","cancelDurationLimitTimeout","notify","durationLimitTimeoutId","scheduleDurationLimitTimeout","undefined","getMessagesCount","notifyBeforeAddMessage","estimatedMessageBytesCount","notifyAfterAddMessage","messageBytesCountDiff","notifyAfterRemoveMessage","messageBytesCount"],"sources":["../../src/transport/flushController.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { clearTimeout, setTimeout } from '../helper/timer'\n\n// type FlushReason = PageExitReason | 'duration_limit' | 'bytes_limit' | 'messages_limit' | 'session_expire'\n\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController({\n messagesLimit,\n bytesLimit,\n durationLimit,\n pageExitObservable,\n sessionExpireObservable\n}) {\n var pageExitSubscription = pageExitObservable.subscribe(function (event) {\n return flush(event.reason)\n })\n var sessionExpireSubscription = sessionExpireObservable.subscribe(\n function () {\n return flush('session_expire')\n }\n )\n var flushObservable = new Observable(function () {\n return function () {\n pageExitSubscription.unsubscribe()\n sessionExpireSubscription.unsubscribe()\n }\n })\n\n var currentBytesCount = 0\n var currentMessagesCount = 0\n\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return\n }\n\n var messagesCount = currentMessagesCount\n var bytesCount = currentBytesCount\n\n currentMessagesCount = 0\n currentBytesCount = 0\n cancelDurationLimitTimeout()\n\n flushObservable.notify({\n reason: flushReason,\n messagesCount: messagesCount,\n bytesCount: bytesCount\n })\n }\n\n var durationLimitTimeoutId\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(function () {\n flush('duration_limit')\n }, durationLimit)\n }\n }\n\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId)\n durationLimitTimeoutId = undefined\n }\n\n return {\n flushObservable: flushObservable,\n getMessagesCount: function () {\n return currentMessagesCount\n },\n\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n */\n notifyBeforeAddMessage: function (estimatedMessageBytesCount) {\n if (currentBytesCount + estimatedMessageBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1\n currentBytesCount += estimatedMessageBytesCount\n scheduleDurationLimitTimeout()\n },\n\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n */\n notifyAfterAddMessage: function (messageBytesCountDiff) {\n if (messageBytesCountDiff === undefined) {\n messageBytesCountDiff = 0\n }\n currentBytesCount += messageBytesCountDiff\n\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit')\n } else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n },\n\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n *\n * @param messageBytesCount: the message bytes count that was added to the pool. Should\n * correspond to the sum of bytes counts passed to `notifyBeforeAddMessage` and\n * `notifyAfterAddMessage`.\n */\n notifyAfterRemoveMessage: function (messageBytesCount) {\n currentBytesCount -= messageBytesCount\n currentMessagesCount -= 1\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout()\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudcare/browser-core",
3
- "version": "3.2.39",
3
+ "version": "3.2.41",
4
4
  "main": "cjs/index.js",
5
5
  "module": "esm/index.js",
6
6
  "types": "types/index.d.ts",
@@ -15,11 +15,11 @@
15
15
  "sdk"
16
16
  ],
17
17
  "repository": {
18
- "url": "https://github.com/DataFlux-cn/datakit-js",
18
+ "url": "https://github.com/GuanceCloud/datakit-js",
19
19
  "type": "git",
20
20
  "directory": "packages/core"
21
21
  },
22
22
  "author": "dataflux",
23
23
  "license": "MIT",
24
- "gitHead": "bb05ce75b0853226ead81fc8f0a9e31ac722a6a5"
24
+ "gitHead": "3e05985fe37e62e7a332e1f5c96cd5b12e7e9b81"
25
25
  }
@@ -35,22 +35,74 @@ export function addEventListeners(eventTarget, eventNames, listener, options) {
35
35
  ? { capture: options.capture, passive: options.passive }
36
36
  : options && options.capture
37
37
  // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)
38
- const listenerTarget =
39
- window.EventTarget && eventTarget instanceof EventTarget
40
- ? window.EventTarget.prototype
41
- : eventTarget
42
- var add = getZoneJsOriginalValue(listenerTarget, 'addEventListener')
38
+ // const istarget = Object.prototype.toString.call(window)
39
+ // const listenerTarget =
40
+ // window.EventTarget && eventTarget instanceof EventTarget
41
+ // ? window.EventTarget.prototype
42
+ // : eventTarget
43
+ // var add = getZoneJsOriginalValue(listenerTarget, 'addEventListener')
43
44
 
45
+ // eventNames.forEach((eventName) => {
46
+ // add.call(eventTarget, eventName, wrappedListener, options)
47
+ // })
44
48
  each(eventNames, function (eventName) {
45
- add.call(eventTarget, eventName, wrappedListener, options)
49
+ withOriginalOrZoneJsPatchedMethod(
50
+ eventTarget,
51
+ 'addEventListener',
52
+ (method) => method.call(eventTarget, eventName, wrappedListener, options)
53
+ )
54
+ // add.call(eventTarget, eventName, wrappedListener, options)
46
55
  })
47
56
  var stop = function () {
48
- var remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener')
57
+ // var remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener')
49
58
  each(eventNames, function (eventName) {
50
- remove.call(eventTarget, eventName, wrappedListener, options)
59
+ withOriginalOrZoneJsPatchedMethod(
60
+ eventTarget,
61
+ 'removeEventListener',
62
+ (method) =>
63
+ method.call(eventTarget, eventName, wrappedListener, options)
64
+ )
65
+ // remove.call(eventTarget, eventName, wrappedListener, options)
51
66
  })
52
67
  }
53
68
  return {
54
69
  stop: stop
55
70
  }
56
71
  }
72
+ function isIllegalInvocationError(error, methodName) {
73
+ if (!(error instanceof Error)) {
74
+ return false
75
+ }
76
+
77
+ return (
78
+ error.message.includes('Illegal invocation') || // chrome
79
+ error.message.includes(
80
+ `'${methodName}' called on an object that does not implement interface EventTarget.`
81
+ ) || // firefox
82
+ error.message.includes(
83
+ `Can only call EventTarget.${methodName} on instances of EventTarget`
84
+ ) // safari
85
+ )
86
+ }
87
+
88
+ function withOriginalOrZoneJsPatchedMethod(eventTarget, methodName, cb) {
89
+ // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)
90
+ const listenerTarget =
91
+ window.EventTarget && eventTarget instanceof EventTarget
92
+ ? window.EventTarget.prototype
93
+ : eventTarget
94
+
95
+ const originalMethod = getZoneJsOriginalValue(listenerTarget, methodName)
96
+
97
+ try {
98
+ // In some cases this call fails with an Illegal invocation error, we then catch the error and use the zone.js
99
+ // patched method
100
+ cb(originalMethod)
101
+ } catch (error) {
102
+ if (isIllegalInvocationError(error, methodName)) {
103
+ return cb(eventTarget[methodName])
104
+ }
105
+
106
+ throw error
107
+ }
108
+ }