@cloudcare/browser-core 3.2.19 → 3.2.22
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.
- package/cjs/browser/pageExitObservable.js +1 -2
- package/cjs/browser/pageExitObservable.js.map +1 -1
- package/cjs/configuration/configuration.js +1 -2
- package/cjs/configuration/configuration.js.map +1 -1
- package/cjs/configuration/remoteConfiguration.js +214 -0
- package/cjs/configuration/remoteConfiguration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +1 -0
- package/cjs/configuration/transportConfiguration.js.map +1 -1
- package/cjs/dataMap.js +3 -7
- package/cjs/dataMap.js.map +1 -1
- package/cjs/helper/byteUtils.js +2 -4
- package/cjs/helper/byteUtils.js.map +1 -1
- package/cjs/helper/createEventRateLimiter.js.map +1 -1
- package/cjs/helper/deviceInfo.js +5 -6
- package/cjs/helper/deviceInfo.js.map +1 -1
- package/cjs/helper/display.js +4 -8
- package/cjs/helper/display.js.map +1 -1
- package/cjs/helper/encoder.js.map +1 -1
- package/cjs/helper/enums.js +11 -22
- package/cjs/helper/enums.js.map +1 -1
- package/cjs/helper/errorTools.js +2 -4
- package/cjs/helper/errorTools.js.map +1 -1
- package/cjs/helper/eventEmitter.js +1 -2
- package/cjs/helper/eventEmitter.js.map +1 -1
- package/cjs/helper/instrumentMethod.js.map +1 -1
- package/cjs/helper/lifeCycle.js +1 -2
- package/cjs/helper/lifeCycle.js.map +1 -1
- package/cjs/helper/limitModification.js +7 -7
- package/cjs/helper/limitModification.js.map +1 -1
- package/cjs/helper/mobileUtil.js +5 -10
- package/cjs/helper/mobileUtil.js.map +1 -1
- package/cjs/helper/observable.js +1 -2
- package/cjs/helper/observable.js.map +1 -1
- package/cjs/helper/requestIdleCallback.js +1 -2
- package/cjs/helper/requestIdleCallback.js.map +1 -1
- package/cjs/helper/sanitize.js +1 -1
- package/cjs/helper/sanitize.js.map +1 -1
- package/cjs/helper/serialisation/const.js +1 -2
- package/cjs/helper/serialisation/const.js.map +1 -1
- package/cjs/helper/serialisation/contextManager.js +15 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -1
- package/cjs/helper/serialisation/customerDataTracker.js +4 -8
- package/cjs/helper/serialisation/customerDataTracker.js.map +1 -1
- package/cjs/helper/serialisation/jsonStringify.js +1 -1
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
- package/cjs/helper/serialisation/rowData.js +1 -1
- package/cjs/helper/serialisation/rowData.js.map +1 -1
- package/cjs/helper/taskQueue.js +1 -2
- package/cjs/helper/taskQueue.js.map +1 -1
- package/cjs/helper/tools.js +74 -145
- package/cjs/helper/tools.js.map +1 -1
- package/cjs/helper/valueHistory.js +1 -2
- package/cjs/helper/valueHistory.js.map +1 -1
- package/cjs/index.js +12 -0
- package/cjs/index.js.map +1 -1
- package/cjs/init.js +1 -1
- package/cjs/init.js.map +1 -1
- package/cjs/report/reportObservable.js +1 -2
- package/cjs/report/reportObservable.js.map +1 -1
- package/cjs/session/sessionConstants.js +3 -6
- package/cjs/session/sessionConstants.js.map +1 -1
- package/cjs/session/sessionInCookie.js.map +1 -1
- package/cjs/session/sessionManagement.js +1 -2
- package/cjs/session/sessionManagement.js.map +1 -1
- package/cjs/session/sessionState.js +6 -7
- package/cjs/session/sessionState.js.map +1 -1
- package/cjs/session/sessionStore.js +1 -2
- package/cjs/session/sessionStore.js.map +1 -1
- package/cjs/session/sessionStoreOperations.js +2 -4
- package/cjs/session/sessionStoreOperations.js.map +1 -1
- package/cjs/synthetics/syntheticsWorkerValues.js +3 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/telemetry/telemetry.js +1 -2
- package/cjs/telemetry/telemetry.js.map +1 -1
- package/cjs/telemetry/types.js +2 -4
- package/cjs/telemetry/types.js.map +1 -1
- package/cjs/tracekit/computeStackTrace.js +1 -3
- package/cjs/tracekit/computeStackTrace.js.map +1 -1
- package/cjs/tracekit/tracekit.js.map +1 -1
- package/cjs/transport/batch.js +1 -3
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.js +29 -3
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.js +12 -0
- package/cjs/transport/index.js.map +1 -1
- package/cjs/transport/sendWithRetryStrategy.js +5 -10
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/cjs/transport/startBatchWithReplica.js.map +1 -1
- package/esm/configuration/remoteConfiguration.js +205 -0
- package/esm/configuration/remoteConfiguration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +1 -1
- package/esm/configuration/transportConfiguration.js.map +1 -1
- package/esm/dataMap.js +0 -1
- package/esm/dataMap.js.map +1 -1
- package/esm/helper/createEventRateLimiter.js.map +1 -1
- package/esm/helper/deviceInfo.js +4 -4
- package/esm/helper/deviceInfo.js.map +1 -1
- package/esm/helper/encoder.js.map +1 -1
- package/esm/helper/eventEmitter.js.map +1 -1
- package/esm/helper/instrumentMethod.js.map +1 -1
- package/esm/helper/lifeCycle.js.map +1 -1
- package/esm/helper/limitModification.js +7 -7
- package/esm/helper/mobileUtil.js.map +1 -1
- package/esm/helper/observable.js.map +1 -1
- package/esm/helper/requestIdleCallback.js.map +1 -1
- package/esm/helper/sanitize.js +1 -1
- package/esm/helper/serialisation/contextManager.js +15 -15
- package/esm/helper/serialisation/contextManager.js.map +1 -1
- package/esm/helper/serialisation/customerDataTracker.js.map +1 -1
- package/esm/helper/serialisation/jsonStringify.js +1 -1
- package/esm/helper/serialisation/rowData.js +1 -1
- package/esm/helper/taskQueue.js.map +1 -1
- package/esm/helper/tools.js +10 -8
- package/esm/helper/tools.js.map +1 -1
- package/esm/helper/valueHistory.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/init.js +1 -1
- package/esm/init.js.map +1 -1
- package/esm/session/sessionInCookie.js.map +1 -1
- package/esm/session/sessionManagement.js.map +1 -1
- package/esm/session/sessionState.js +5 -5
- package/esm/session/sessionStore.js.map +1 -1
- package/esm/telemetry/telemetry.js.map +1 -1
- package/esm/tracekit/computeStackTrace.js +1 -3
- package/esm/tracekit/computeStackTrace.js.map +1 -1
- package/esm/tracekit/tracekit.js.map +1 -1
- package/esm/transport/batch.js +0 -1
- package/esm/transport/batch.js.map +1 -1
- package/esm/transport/eventBridge.js +27 -3
- package/esm/transport/eventBridge.js.map +1 -1
- package/esm/transport/flushController.js.map +1 -1
- package/esm/transport/httpRequest.js.map +1 -1
- package/esm/transport/index.js +1 -1
- package/esm/transport/index.js.map +1 -1
- package/esm/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/transport/startBatchWithReplica.js.map +1 -1
- package/package.json +24 -24
- package/src/configuration/remoteConfiguration.js +213 -0
- package/src/configuration/transportConfiguration.js +1 -1
- package/src/index.js +1 -0
- package/src/transport/eventBridge.js +39 -4
- package/src/transport/index.js +6 -1
- package/types/index.d.ts +8 -0
|
@@ -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","WindowsPhone","MacOS","split","version","getOrientationStatu","orientationStatus","orientation","matchMedia","matches","getDeviceType","getNetwork","connection","mozConnection","webkitConnection","result","type","effectiveType","getLanguage","language","browserLanguage","arr","toUpperCase","join","getBrowserInfo","_mime","option","mimeTypes","key","is360","chrome","chrome_version","showModalDialog","navigator_top","screenTop","screenY","browerVersionMap","FirefoxFocus","CocCoc","_","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 // 信息map\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}\n// 方法库\nvar MethodLibrary = {\n // 获取匹配库\n getMatchMap: monitor(function (u) {\n return {\n // 内核\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 // 浏览器\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 // 系统或平台\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 // 设备\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 // 在信息map和匹配库中进行匹配\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 // 获取当前操作系统\n getOS: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n return _this.os || 'Unknown'\n }),\n // 获取操作系统版本\n getOSVersion: monitor(function () {\n var _this = this\n var u = VariableLibrary.navigator.userAgent || ''\n _this.osVersion = ''\n _this.osMajor = ''\n // 系统版本信息\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 getOrientationStatu: monitor(function () {\n var orientationStatus = ''\n var orientation = window.matchMedia('(orientation: portrait)')\n if (orientation.matches) {\n orientationStatus = '竖屏'\n } else {\n orientationStatus = '横屏'\n }\n return orientationStatus\n }),\n // 获取设备类型\n getDeviceType: monitor(function () {\n var _this = this\n _this.device = 'PC'\n MethodLibrary.matchInfoMap(_this)\n return _this.device\n }),\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 // 获取当前语言\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 // 浏览器信息\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 // 获取地理位置\n getGeoPostion: monitor(function (callback) {\n navigator &&\n navigator.geolocation &&\n navigator.geolocation.getCurrentPosition(\n // 位置获取成功\n function (position) {\n callback(position)\n },\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 }\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","getOrientationStatu","orientationStatus","orientation","matchMedia","matches","getDeviceType","getNetwork","connection","mozConnection","webkitConnection","result","type","effectiveType","getLanguage","language","browserLanguage","arr","toUpperCase","join","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 // 信息map\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}\n// 方法库\nvar MethodLibrary = {\n // 获取匹配库\n getMatchMap: monitor(function (u) {\n return {\n // 内核\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 // 浏览器\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 // 系统或平台\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 // 设备\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 // 在信息map和匹配库中进行匹配\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 // 获取当前操作系统\n getOS: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n return _this.os || 'Unknown'\n }),\n // 获取操作系统版本\n getOSVersion: monitor(function () {\n var _this = this\n var u = VariableLibrary.navigator.userAgent || ''\n _this.osVersion = ''\n _this.osMajor = ''\n // 系统版本信息\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 getOrientationStatu: monitor(function () {\n var orientationStatus = ''\n var orientation = window.matchMedia('(orientation: portrait)')\n if (orientation.matches) {\n orientationStatus = '竖屏'\n } else {\n orientationStatus = '横屏'\n }\n return orientationStatus\n }),\n // 获取设备类型\n getDeviceType: monitor(function () {\n var _this = this\n _this.device = 'PC'\n MethodLibrary.matchInfoMap(_this)\n return _this.device\n }),\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 // 获取当前语言\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 // 浏览器信息\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 // 获取地理位置\n getGeoPostion: monitor(function (callback) {\n navigator &&\n navigator.geolocation &&\n navigator.geolocation.getCurrentPosition(\n // 位置获取成功\n function (position) {\n callback(position)\n },\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 }\n}\nexport var deviceInfo = _deviceInfo\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","names":["computeBytesCount","createIdentityEncoder","output","outputBytesCount","isAsync","isEmpty","write","data","callback","additionalEncodedBytesCount","finish","finishSync","result","rawBytesCount","pendingData","estimateEncodedBytesCount","length"],"sources":["../../src/helper/encoder.js"],"sourcesContent":["import { computeBytesCount } from './byteUtils'\n\nexport function createIdentityEncoder() {\n var output = ''\n var outputBytesCount = 0\n\n return {\n isAsync: false,\n\n isEmpty: function () {\n return !output\n },\n\n write: function (data, callback) {\n var additionalEncodedBytesCount = computeBytesCount(data)\n outputBytesCount += additionalEncodedBytesCount\n output += data\n if (callback) {\n callback(additionalEncodedBytesCount)\n }\n },\n\n finish: function (callback) {\n callback(this.finishSync())\n },\n\n finishSync: function () {\n var result = {\n output: output,\n outputBytesCount: outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: ''\n }\n output = ''\n outputBytesCount = 0\n return result\n },\n\n estimateEncodedBytesCount: function (data) {\n return data.length\n }\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,aAAa;AAE/C,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,IAAIC,MAAM,GAAG,EAAE;EACf,IAAIC,gBAAgB,GAAG,CAAC;EAExB,OAAO;IACLC,OAAO,EAAE,KAAK;IAEdC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"encoder.js","names":["computeBytesCount","createIdentityEncoder","output","outputBytesCount","isAsync","isEmpty","write","data","callback","additionalEncodedBytesCount","finish","finishSync","result","rawBytesCount","pendingData","estimateEncodedBytesCount","length"],"sources":["../../src/helper/encoder.js"],"sourcesContent":["import { computeBytesCount } from './byteUtils'\n\nexport function createIdentityEncoder() {\n var output = ''\n var outputBytesCount = 0\n\n return {\n isAsync: false,\n\n isEmpty: function () {\n return !output\n },\n\n write: function (data, callback) {\n var additionalEncodedBytesCount = computeBytesCount(data)\n outputBytesCount += additionalEncodedBytesCount\n output += data\n if (callback) {\n callback(additionalEncodedBytesCount)\n }\n },\n\n finish: function (callback) {\n callback(this.finishSync())\n },\n\n finishSync: function () {\n var result = {\n output: output,\n outputBytesCount: outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: ''\n }\n output = ''\n outputBytesCount = 0\n return result\n },\n\n estimateEncodedBytesCount: function (data) {\n return data.length\n }\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,aAAa;AAE/C,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,IAAIC,MAAM,GAAG,EAAE;EACf,IAAIC,gBAAgB,GAAG,CAAC;EAExB,OAAO;IACLC,OAAO,EAAE,KAAK;IAEdC,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAc;MACnB,OAAO,CAACH,MAAM;IAChB,CAAC;IAEDI,KAAK,EAAE,SAAPA,KAAKA,CAAYC,IAAI,EAAEC,QAAQ,EAAE;MAC/B,IAAIC,2BAA2B,GAAGT,iBAAiB,CAACO,IAAI,CAAC;MACzDJ,gBAAgB,IAAIM,2BAA2B;MAC/CP,MAAM,IAAIK,IAAI;MACd,IAAIC,QAAQ,EAAE;QACZA,QAAQ,CAACC,2BAA2B,CAAC;MACvC;IACF,CAAC;IAEDC,MAAM,EAAE,SAARA,MAAMA,CAAYF,QAAQ,EAAE;MAC1BA,QAAQ,CAAC,IAAI,CAACG,UAAU,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEDA,UAAU,EAAE,SAAZA,UAAUA,CAAA,EAAc;MACtB,IAAIC,MAAM,GAAG;QACXV,MAAM,EAAEA,MAAM;QACdC,gBAAgB,EAAEA,gBAAgB;QAClCU,aAAa,EAAEV,gBAAgB;QAC/BW,WAAW,EAAE;MACf,CAAC;MACDZ,MAAM,GAAG,EAAE;MACXC,gBAAgB,GAAG,CAAC;MACpB,OAAOS,MAAM;IACf,CAAC;IAEDG,yBAAyB,EAAE,SAA3BA,yBAAyBA,CAAYR,IAAI,EAAE;MACzC,OAAOA,IAAI,CAACS,MAAM;IACpB;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventEmitter.js","names":["each","EventEmitter","_events","pendingEvents","prototype","emit","type","args","slice","call","arguments","val","callback","apply","context","on","event","push","eventEmitter"],"sources":["../../src/helper/eventEmitter.js"],"sourcesContent":["import { each } from './tools'\nvar EventEmitter = function () {\n this._events = []\n this.pendingEvents = []\n}\n\nEventEmitter.prototype = {\n emit: function (type) {\n var args = [].slice.call(arguments, 1)\n each(this._events, function (val) {\n if (val.type !== type) {\n return false\n }\n val.callback.apply(val.context, args)\n })\n },\n on: function (event, callback, context) {\n if (typeof callback !== 'function') {\n return\n }\n this._events.push({\n type: event,\n callback: callback,\n context: context || this\n })\n }\n}\nexport var eventEmitter = new EventEmitter()\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,SAAS;AAC9B,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAe;EAC7B,IAAI,CAACC,OAAO,GAAG,EAAE;EACjB,IAAI,CAACC,aAAa,GAAG,EAAE;AACzB,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"eventEmitter.js","names":["each","EventEmitter","_events","pendingEvents","prototype","emit","type","args","slice","call","arguments","val","callback","apply","context","on","event","push","eventEmitter"],"sources":["../../src/helper/eventEmitter.js"],"sourcesContent":["import { each } from './tools'\nvar EventEmitter = function () {\n this._events = []\n this.pendingEvents = []\n}\n\nEventEmitter.prototype = {\n emit: function (type) {\n var args = [].slice.call(arguments, 1)\n each(this._events, function (val) {\n if (val.type !== type) {\n return false\n }\n val.callback.apply(val.context, args)\n })\n },\n on: function (event, callback, context) {\n if (typeof callback !== 'function') {\n return\n }\n this._events.push({\n type: event,\n callback: callback,\n context: context || this\n })\n }\n}\nexport var eventEmitter = new EventEmitter()\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,SAAS;AAC9B,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAe;EAC7B,IAAI,CAACC,OAAO,GAAG,EAAE;EACjB,IAAI,CAACC,aAAa,GAAG,EAAE;AACzB,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBC,IAAI,EAAE,SAANA,IAAIA,CAAYC,IAAI,EAAE;IACpB,IAAIC,IAAI,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,EAAE,CAAC,CAAC;IACtCV,IAAI,CAAC,IAAI,CAACE,OAAO,EAAE,UAAUS,GAAG,EAAE;MAChC,IAAIA,GAAG,CAACL,IAAI,KAAKA,IAAI,EAAE;QACrB,OAAO,KAAK;MACd;MACAK,GAAG,CAACC,QAAQ,CAACC,KAAK,CAACF,GAAG,CAACG,OAAO,EAAEP,IAAI,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EACDQ,EAAE,EAAE,SAAJA,EAAEA,CAAYC,KAAK,EAAEJ,QAAQ,EAAEE,OAAO,EAAE;IACtC,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;MAClC;IACF;IACA,IAAI,CAACV,OAAO,CAACe,IAAI,CAAC;MAChBX,IAAI,EAAEU,KAAK;MACXJ,QAAQ,EAAEA,QAAQ;MAClBE,OAAO,EAAEA,OAAO,IAAI;IACtB,CAAC,CAAC;EACJ;AACF,CAAC;AACD,OAAO,IAAII,YAAY,GAAG,IAAIjB,YAAY,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentMethod.js","names":["noop","arrayFrom","startsWith","setTimeout","callMonitored","createHandlingStack","instrumentMethod","targetPrototype","method","onPreCall","opts","computeHandlingStack","original","stop","stopped","instrumentation","apply","arguments","parameters","postCallCallback","target","onPostCall","callback","handlingStack","undefined","result","instrumentSetter","property","after","originalDescriptor","Object","getOwnPropertyDescriptor","set","configurable","stoppedInstrumentation","value","instrumentationWrapper","call","defineProperty"],"sources":["../../src/helper/instrumentMethod.js"],"sourcesContent":["import { noop, arrayFrom, startsWith } from './tools'\nimport { setTimeout } from './timer'\nimport { callMonitored } from './monitor'\nimport { createHandlingStack } from './errorTools'\nexport function instrumentMethod(targetPrototype, method, onPreCall, opts) {\n var computeHandlingStack = opts && opts.computeHandlingStack\n var original = targetPrototype[method]\n\n if (typeof original !== 'function') {\n if (startsWith(method, 'on')) {\n original = noop\n } else {\n return { stop: noop }\n }\n }\n\n var stopped = false\n\n var instrumentation = function () {\n if (stopped) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return original.apply(this, arguments)\n }\n\n var parameters = arrayFrom(arguments)\n\n var postCallCallback\n\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters: parameters,\n onPostCall: function (callback) {\n postCallCallback = callback\n },\n handlingStack: computeHandlingStack ? createHandlingStack() : undefined\n }\n ])\n\n var result = original.apply(this, parameters)\n\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result])\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result\n }\n\n targetPrototype[method] = instrumentation\n\n return {\n stop: function () {\n stopped = true\n // If the instrumentation has been removed by a third party, keep the last one\n if (targetPrototype[method] === instrumentation) {\n targetPrototype[method] = original\n }\n }\n }\n}\n\nexport function instrumentSetter(targetPrototype, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(\n targetPrototype,\n property\n )\n if (\n !originalDescriptor ||\n !originalDescriptor.set ||\n !originalDescriptor.configurable\n ) {\n return { stop: noop }\n }\n\n var stoppedInstrumentation = noop\n var instrumentation = function (target, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value)\n }\n }, 0)\n }\n\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value)\n instrumentation(this, value)\n }\n\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper\n })\n\n return {\n stop: function () {\n if (\n Object.getOwnPropertyDescriptor(targetPrototype, property) &&\n Object.getOwnPropertyDescriptor(targetPrototype, property).set ===\n instrumentationWrapper\n ) {\n Object.defineProperty(targetPrototype, property, originalDescriptor)\n }\n instrumentation = stoppedInstrumentation\n }\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,SAAS,EAAEC,UAAU,QAAQ,SAAS;AACrD,SAASC,UAAU,QAAQ,SAAS;AACpC,SAASC,aAAa,QAAQ,WAAW;AACzC,SAASC,mBAAmB,QAAQ,cAAc;AAClD,OAAO,SAASC,gBAAgBA,CAACC,eAAe,EAAEC,MAAM,EAAEC,SAAS,EAAEC,IAAI,EAAE;EACzE,IAAIC,oBAAoB,GAAGD,IAAI,IAAIA,IAAI,CAACC,oBAAoB;EAC5D,IAAIC,QAAQ,GAAGL,eAAe,CAACC,MAAM,CAAC;EAEtC,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;IAClC,IAAIV,UAAU,CAACM,MAAM,EAAE,IAAI,CAAC,EAAE;MAC5BI,QAAQ,GAAGZ,IAAI;IACjB,CAAC,MAAM;MACL,OAAO;QAAEa,IAAI,EAAEb;MAAK,CAAC;IACvB;EACF;EAEA,IAAIc,OAAO,GAAG,KAAK;EAEnB,IAAIC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAe;IAChC,IAAID,OAAO,EAAE;MACX;MACA,OAAOF,QAAQ,CAACI,KAAK,CAAC,IAAI,EAAEC,SAAS,CAAC;IACxC;IAEA,IAAIC,UAAU,GAAGjB,SAAS,CAACgB,SAAS,CAAC;IAErC,IAAIE,gBAAgB;IAEpBf,aAAa,CAACK,SAAS,EAAE,IAAI,EAAE,CAC7B;MACEW,MAAM,EAAE,IAAI;MACZF,UAAU,EAAEA,UAAU;MACtBG,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"instrumentMethod.js","names":["noop","arrayFrom","startsWith","setTimeout","callMonitored","createHandlingStack","instrumentMethod","targetPrototype","method","onPreCall","opts","computeHandlingStack","original","stop","stopped","instrumentation","apply","arguments","parameters","postCallCallback","target","onPostCall","callback","handlingStack","undefined","result","instrumentSetter","property","after","originalDescriptor","Object","getOwnPropertyDescriptor","set","configurable","stoppedInstrumentation","value","instrumentationWrapper","call","defineProperty"],"sources":["../../src/helper/instrumentMethod.js"],"sourcesContent":["import { noop, arrayFrom, startsWith } from './tools'\nimport { setTimeout } from './timer'\nimport { callMonitored } from './monitor'\nimport { createHandlingStack } from './errorTools'\nexport function instrumentMethod(targetPrototype, method, onPreCall, opts) {\n var computeHandlingStack = opts && opts.computeHandlingStack\n var original = targetPrototype[method]\n\n if (typeof original !== 'function') {\n if (startsWith(method, 'on')) {\n original = noop\n } else {\n return { stop: noop }\n }\n }\n\n var stopped = false\n\n var instrumentation = function () {\n if (stopped) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return original.apply(this, arguments)\n }\n\n var parameters = arrayFrom(arguments)\n\n var postCallCallback\n\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters: parameters,\n onPostCall: function (callback) {\n postCallCallback = callback\n },\n handlingStack: computeHandlingStack ? createHandlingStack() : undefined\n }\n ])\n\n var result = original.apply(this, parameters)\n\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result])\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result\n }\n\n targetPrototype[method] = instrumentation\n\n return {\n stop: function () {\n stopped = true\n // If the instrumentation has been removed by a third party, keep the last one\n if (targetPrototype[method] === instrumentation) {\n targetPrototype[method] = original\n }\n }\n }\n}\n\nexport function instrumentSetter(targetPrototype, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(\n targetPrototype,\n property\n )\n if (\n !originalDescriptor ||\n !originalDescriptor.set ||\n !originalDescriptor.configurable\n ) {\n return { stop: noop }\n }\n\n var stoppedInstrumentation = noop\n var instrumentation = function (target, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value)\n }\n }, 0)\n }\n\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value)\n instrumentation(this, value)\n }\n\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper\n })\n\n return {\n stop: function () {\n if (\n Object.getOwnPropertyDescriptor(targetPrototype, property) &&\n Object.getOwnPropertyDescriptor(targetPrototype, property).set ===\n instrumentationWrapper\n ) {\n Object.defineProperty(targetPrototype, property, originalDescriptor)\n }\n instrumentation = stoppedInstrumentation\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifeCycle.js","names":["each","filter","LifeCycleEventType","AUTO_ACTION_COMPLETED","BEFORE_VIEW_CREATED","VIEW_CREATED","VIEW_UPDATED","BEFORE_VIEW_UPDATED","VIEW_ENDED","AFTER_VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","callback","subscribe","push","_this","unsubscribe","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n BEFORE_VIEW_UPDATED: 'BEFORE_VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n AFTER_VIEW_ENDED: 'AFTER_VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,SAAS;AACtC,OAAO,IAAIC,kBAAkB,GAAG;EAC9BC,qBAAqB,EAAE,uBAAuB;EAC9CC,mBAAmB,EAAE,qBAAqB;EAC1CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,mBAAmB,EAAE,qBAAqB;EAC1CC,UAAU,EAAE,YAAY;EACxBC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AACD,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"lifeCycle.js","names":["each","filter","LifeCycleEventType","AUTO_ACTION_COMPLETED","BEFORE_VIEW_CREATED","VIEW_CREATED","VIEW_UPDATED","BEFORE_VIEW_UPDATED","VIEW_ENDED","AFTER_VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","callback","subscribe","push","_this","unsubscribe","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n BEFORE_VIEW_UPDATED: 'BEFORE_VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n AFTER_VIEW_ENDED: 'AFTER_VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,SAAS;AACtC,OAAO,IAAIC,kBAAkB,GAAG;EAC9BC,qBAAqB,EAAE,uBAAuB;EAC9CC,mBAAmB,EAAE,qBAAqB;EAC1CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,mBAAmB,EAAE,qBAAqB;EAC1CC,UAAU,EAAE,YAAY;EACxBC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AACD,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,SAARA,MAAMA,CAAYC,SAAS,EAAEC,IAAI,EAAE;IACjC,IAAIC,cAAc,GAAG,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC;IAC9C,IAAIE,cAAc,EAAE;MAClB1B,IAAI,CAAC0B,cAAc,EAAE,UAAUC,QAAQ,EAAE;QACvCA,QAAQ,CAACF,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDG,SAAS,EAAE,SAAXA,SAASA,CAAYJ,SAAS,EAAEG,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACN,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACK,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAbA,WAAWA,CAAA,EAAc;QACvBD,KAAK,CAACT,SAAS,CAACG,SAAS,CAAC,GAAGvB,MAAM,CACjC6B,KAAK,CAACT,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUQ,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKL,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
function _toArray(
|
|
2
|
-
function _iterableToArray(
|
|
3
|
-
function _slicedToArray(
|
|
1
|
+
function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
|
|
2
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
3
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
4
4
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
-
function _unsupportedIterableToArray(
|
|
6
|
-
function _arrayLikeToArray(
|
|
7
|
-
function _iterableToArrayLimit(
|
|
8
|
-
function _arrayWithHoles(
|
|
5
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
6
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
8
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
9
9
|
import { objectEntries, getType, deepClone } from './tools';
|
|
10
10
|
import { sanitize } from './sanitize';
|
|
11
11
|
export function limitModification(object, modifiableFieldPaths, modifier) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobileUtil.js","names":["userAgent","navigator","toLowerCase","isAndroid","test","isIos","JsBirdge","bridge","window","tagMaps","mapWebViewCallBack","initBridge","err","prototype","_this","WVJBCallbacks","push","WVJBIframe","document","createElement","style","display","src","documentElement","appendChild","setTimeout","removeChild","sendEvent","params","callback","tag","Date","getTime","name","ret","Promise","resolve","callHandler","JSON","stringify","error","addEventListener"],"sources":["../../src/helper/mobileUtil.js"],"sourcesContent":["export var userAgent = navigator.userAgent.toLowerCase()\nexport var isAndroid = function () {\n return /android/.test(userAgent)\n}\nexport var isIos = function () {\n return /iphone os/.test(userAgent)\n}\n\nvar JsBirdge = function () {\n this.bridge = window['FTWebViewJavascriptBridge']\n this.tagMaps = {}\n window.mapWebViewCallBack = {}\n try {\n this.initBridge()\n } catch (err) {}\n}\nJsBirdge.prototype = {\n initBridge: function () {\n var _this = this\n if (isIos()) {\n if (!_this.bridge) {\n if (window.WVJBCallbacks) {\n window.WVJBCallbacks.push(function (bridge) {\n _this.bridge = bridge\n })\n return\n } else {\n window.WVJBCallbacks = [\n function (bridge) {\n _this.bridge = bridge\n return\n }\n ]\n var WVJBIframe = document.createElement('iframe')\n WVJBIframe.style.display = 'none'\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'\n document.documentElement.appendChild(WVJBIframe)\n setTimeout(function () {\n document.documentElement.removeChild(WVJBIframe)\n }, 0)\n }\n }\n }\n },\n sendEvent: function (params, callback) {\n if (typeof params === 'undefined') {\n params = {}\n }\n var _this = this\n var tag = 'Unique id:' + new Date().getTime()\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n return Promise.resolve(ret, err)\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'sendEvent',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.sendEvent(JSON.stringify(params), 'mapWebViewCallBack')\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入发送事件的名称!!' })\n }\n },\n addEventListener: function (params, callback) {\n var tag = 'Unique id:' + new Date().getTime()\n var _this = this\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n callback(ret, err)\n return\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'addEventListener',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.addEventListener(\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入监听事件的名称!!' })\n }\n }\n}\n\nexport var JsBirdge = JsBirdge\n"],"mappings":"AAAA,OAAO,IAAIA,SAAS,GAAGC,SAAS,CAACD,SAAS,CAACE,WAAW,CAAC,CAAC;AACxD,OAAO,IAAIC,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAe;EACjC,OAAO,SAAS,CAACC,IAAI,CAACJ,SAAS,CAAC;AAClC,CAAC;AACD,OAAO,IAAIK,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAe;EAC7B,OAAO,WAAW,CAACD,IAAI,CAACJ,SAAS,CAAC;AACpC,CAAC;AAED,IAAIM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"mobileUtil.js","names":["userAgent","navigator","toLowerCase","isAndroid","test","isIos","JsBirdge","bridge","window","tagMaps","mapWebViewCallBack","initBridge","err","prototype","_this","WVJBCallbacks","push","WVJBIframe","document","createElement","style","display","src","documentElement","appendChild","setTimeout","removeChild","sendEvent","params","callback","tag","Date","getTime","name","ret","Promise","resolve","callHandler","JSON","stringify","error","addEventListener"],"sources":["../../src/helper/mobileUtil.js"],"sourcesContent":["export var userAgent = navigator.userAgent.toLowerCase()\nexport var isAndroid = function () {\n return /android/.test(userAgent)\n}\nexport var isIos = function () {\n return /iphone os/.test(userAgent)\n}\n\nvar JsBirdge = function () {\n this.bridge = window['FTWebViewJavascriptBridge']\n this.tagMaps = {}\n window.mapWebViewCallBack = {}\n try {\n this.initBridge()\n } catch (err) {}\n}\nJsBirdge.prototype = {\n initBridge: function () {\n var _this = this\n if (isIos()) {\n if (!_this.bridge) {\n if (window.WVJBCallbacks) {\n window.WVJBCallbacks.push(function (bridge) {\n _this.bridge = bridge\n })\n return\n } else {\n window.WVJBCallbacks = [\n function (bridge) {\n _this.bridge = bridge\n return\n }\n ]\n var WVJBIframe = document.createElement('iframe')\n WVJBIframe.style.display = 'none'\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'\n document.documentElement.appendChild(WVJBIframe)\n setTimeout(function () {\n document.documentElement.removeChild(WVJBIframe)\n }, 0)\n }\n }\n }\n },\n sendEvent: function (params, callback) {\n if (typeof params === 'undefined') {\n params = {}\n }\n var _this = this\n var tag = 'Unique id:' + new Date().getTime()\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n return Promise.resolve(ret, err)\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'sendEvent',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.sendEvent(JSON.stringify(params), 'mapWebViewCallBack')\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入发送事件的名称!!' })\n }\n },\n addEventListener: function (params, callback) {\n var tag = 'Unique id:' + new Date().getTime()\n var _this = this\n if (params.name) {\n _this.tagMaps[params.name] = tag\n window.mapWebViewCallBack[tag] = function (ret, err) {\n callback(ret, err)\n return\n }\n params['_tag'] = tag\n try {\n if (isIos()) {\n _this.bridge.callHandler(\n 'addEventListener',\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n } else {\n _this.bridge.addEventListener(\n JSON.stringify(params),\n 'mapWebViewCallBack'\n )\n }\n } catch (err) {}\n } else {\n callback({ error: '请传入监听事件的名称!!' })\n }\n }\n}\n\nexport var JsBirdge = JsBirdge\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","names":["each","filter","map","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","push","length","_this","unsubscribe","other","notify","data","observer","Observable","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n this.observers.push(f)\n if (this.observers.length === 1 && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined\n }\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n return new Observable(function (globalObservable) {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,EAAEC,GAAG,QAAQ,SAAS;AAC3C,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"observable.js","names":["each","filter","map","_Observable","onFirstSubscribe","observers","onLastUnsubscribe","undefined","prototype","subscribe","f","push","length","_this","unsubscribe","other","notify","data","observer","Observable","mergeObservables","observables","slice","call","arguments","globalObservable","subscriptions","observable","subscription"],"sources":["../../src/helper/observable.js"],"sourcesContent":["import { each, filter, map } from './tools'\nvar _Observable = function (onFirstSubscribe) {\n this.observers = []\n this.onLastUnsubscribe = undefined\n this.onFirstSubscribe = onFirstSubscribe\n}\n_Observable.prototype = {\n subscribe: function (f) {\n this.observers.push(f)\n if (this.observers.length === 1 && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined\n }\n var _this = this\n return {\n unsubscribe: function () {\n _this.observers = filter(_this.observers, function (other) {\n return f !== other\n })\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe()\n }\n }\n }\n },\n notify: function (data) {\n each(this.observers, function (observer) {\n observer(data)\n })\n }\n}\nexport var Observable = _Observable\n\nexport function mergeObservables() {\n var observables = [].slice.call(arguments)\n return new Observable(function (globalObservable) {\n var subscriptions = map(observables, function (observable) {\n return observable.subscribe(function (data) {\n return globalObservable.notify(data)\n })\n })\n return function () {\n return each(subscriptions, function (subscription) {\n return subscription.unsubscribe()\n })\n }\n })\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,MAAM,EAAEC,GAAG,QAAQ,SAAS;AAC3C,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAaC,gBAAgB,EAAE;EAC5C,IAAI,CAACC,SAAS,GAAG,EAAE;EACnB,IAAI,CAACC,iBAAiB,GAAGC,SAAS;EAClC,IAAI,CAACH,gBAAgB,GAAGA,gBAAgB;AAC1C,CAAC;AACDD,WAAW,CAACK,SAAS,GAAG;EACtBC,SAAS,EAAE,SAAXA,SAASA,CAAYC,CAAC,EAAE;IACtB,IAAI,CAACL,SAAS,CAACM,IAAI,CAACD,CAAC,CAAC;IACtB,IAAI,IAAI,CAACL,SAAS,CAACO,MAAM,KAAK,CAAC,IAAI,IAAI,CAACR,gBAAgB,EAAE;MACxD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACF,gBAAgB,CAAC,IAAI,CAAC,IAAIG,SAAS;IACnE;IACA,IAAIM,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAbA,WAAWA,CAAA,EAAc;QACvBD,KAAK,CAACR,SAAS,GAAGJ,MAAM,CAACY,KAAK,CAACR,SAAS,EAAE,UAAUU,KAAK,EAAE;UACzD,OAAOL,CAAC,KAAKK,KAAK;QACpB,CAAC,CAAC;QACF,IAAI,CAACF,KAAK,CAACR,SAAS,CAACO,MAAM,IAAIC,KAAK,CAACP,iBAAiB,EAAE;UACtDO,KAAK,CAACP,iBAAiB,CAAC,CAAC;QAC3B;MACF;IACF,CAAC;EACH,CAAC;EACDU,MAAM,EAAE,SAARA,MAAMA,CAAYC,IAAI,EAAE;IACtBjB,IAAI,CAAC,IAAI,CAACK,SAAS,EAAE,UAAUa,QAAQ,EAAE;MACvCA,QAAQ,CAACD,IAAI,CAAC;IAChB,CAAC,CAAC;EACJ;AACF,CAAC;AACD,OAAO,IAAIE,UAAU,GAAGhB,WAAW;AAEnC,OAAO,SAASiB,gBAAgBA,CAAA,EAAG;EACjC,IAAIC,WAAW,GAAG,EAAE,CAACC,KAAK,CAACC,IAAI,CAACC,SAAS,CAAC;EAC1C,OAAO,IAAIL,UAAU,CAAC,UAAUM,gBAAgB,EAAE;IAChD,IAAIC,aAAa,GAAGxB,GAAG,CAACmB,WAAW,EAAE,UAAUM,UAAU,EAAE;MACzD,OAAOA,UAAU,CAAClB,SAAS,CAAC,UAAUQ,IAAI,EAAE;QAC1C,OAAOQ,gBAAgB,CAACT,MAAM,CAACC,IAAI,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,YAAY;MACjB,OAAOjB,IAAI,CAAC0B,aAAa,EAAE,UAAUE,YAAY,EAAE;QACjD,OAAOA,YAAY,CAACd,WAAW,CAAC,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestIdleCallback.js","names":["setTimeout","clearTimeout","monitor","dateNow","requestIdleCallback","callback","opts","window","cancelIdleCallback","id","requestIdleCallbackShim","MAX_TASK_TIME","start","timeoutId","didTimeout","timeRemaining","Math","max"],"sources":["../../src/helper/requestIdleCallback.js"],"sourcesContent":["import { setTimeout, clearTimeout } from './timer'\nimport { monitor } from './monitor'\nimport { dateNow } from './tools'\n\n/**\n * 'requestIdleCallback' with a shim.\n */\nexport function requestIdleCallback(callback, opts) {\n // Note: check both 'requestIdleCallback' and 'cancelIdleCallback' existence because some polyfills only implement 'requestIdleCallback'.\n if (window.requestIdleCallback && window.cancelIdleCallback) {\n const id = window.requestIdleCallback(monitor(callback), opts)\n return function () {\n return window.cancelIdleCallback(id)\n }\n }\n return requestIdleCallbackShim(callback)\n}\n\nexport const MAX_TASK_TIME = 50\n\n/*\n * Shim from https://developer.chrome.com/blog/using-requestidlecallback#checking_for_requestidlecallback\n * Note: there is no simple way to support the \"timeout\" option, so we ignore it.\n */\nexport function requestIdleCallbackShim(callback) {\n const start = dateNow()\n const timeoutId = setTimeout(function () {\n callback({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, MAX_TASK_TIME - (dateNow() - start))\n }\n })\n }, 0)\n return function () {\n return clearTimeout(timeoutId)\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,SAAS;AAClD,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,OAAO,QAAQ,SAAS;;AAEjC;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,QAAQ,EAAEC,IAAI,EAAE;EAClD;EACA,IAAIC,MAAM,CAACH,mBAAmB,IAAIG,MAAM,CAACC,kBAAkB,EAAE;IAC3D,IAAMC,EAAE,GAAGF,MAAM,CAACH,mBAAmB,CAACF,OAAO,CAACG,QAAQ,CAAC,EAAEC,IAAI,CAAC;IAC9D,OAAO,YAAY;MACjB,OAAOC,MAAM,CAACC,kBAAkB,CAACC,EAAE,CAAC;IACtC,CAAC;EACH;EACA,OAAOC,uBAAuB,CAACL,QAAQ,CAAC;AAC1C;AAEA,OAAO,IAAMM,aAAa,GAAG,EAAE;;AAE/B;AACA;AACA;AACA;AACA,OAAO,SAASD,uBAAuBA,CAACL,QAAQ,EAAE;EAChD,IAAMO,KAAK,GAAGT,OAAO,CAAC,CAAC;EACvB,IAAMU,SAAS,GAAGb,UAAU,CAAC,YAAY;IACvCK,QAAQ,CAAC;MACPS,UAAU,EAAE,KAAK;MACjBC,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"requestIdleCallback.js","names":["setTimeout","clearTimeout","monitor","dateNow","requestIdleCallback","callback","opts","window","cancelIdleCallback","id","requestIdleCallbackShim","MAX_TASK_TIME","start","timeoutId","didTimeout","timeRemaining","Math","max"],"sources":["../../src/helper/requestIdleCallback.js"],"sourcesContent":["import { setTimeout, clearTimeout } from './timer'\nimport { monitor } from './monitor'\nimport { dateNow } from './tools'\n\n/**\n * 'requestIdleCallback' with a shim.\n */\nexport function requestIdleCallback(callback, opts) {\n // Note: check both 'requestIdleCallback' and 'cancelIdleCallback' existence because some polyfills only implement 'requestIdleCallback'.\n if (window.requestIdleCallback && window.cancelIdleCallback) {\n const id = window.requestIdleCallback(monitor(callback), opts)\n return function () {\n return window.cancelIdleCallback(id)\n }\n }\n return requestIdleCallbackShim(callback)\n}\n\nexport const MAX_TASK_TIME = 50\n\n/*\n * Shim from https://developer.chrome.com/blog/using-requestidlecallback#checking_for_requestidlecallback\n * Note: there is no simple way to support the \"timeout\" option, so we ignore it.\n */\nexport function requestIdleCallbackShim(callback) {\n const start = dateNow()\n const timeoutId = setTimeout(function () {\n callback({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, MAX_TASK_TIME - (dateNow() - start))\n }\n })\n }, 0)\n return function () {\n return clearTimeout(timeoutId)\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,SAAS;AAClD,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,OAAO,QAAQ,SAAS;;AAEjC;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,QAAQ,EAAEC,IAAI,EAAE;EAClD;EACA,IAAIC,MAAM,CAACH,mBAAmB,IAAIG,MAAM,CAACC,kBAAkB,EAAE;IAC3D,IAAMC,EAAE,GAAGF,MAAM,CAACH,mBAAmB,CAACF,OAAO,CAACG,QAAQ,CAAC,EAAEC,IAAI,CAAC;IAC9D,OAAO,YAAY;MACjB,OAAOC,MAAM,CAACC,kBAAkB,CAACC,EAAE,CAAC;IACtC,CAAC;EACH;EACA,OAAOC,uBAAuB,CAACL,QAAQ,CAAC;AAC1C;AAEA,OAAO,IAAMM,aAAa,GAAG,EAAE;;AAE/B;AACA;AACA;AACA;AACA,OAAO,SAASD,uBAAuBA,CAACL,QAAQ,EAAE;EAChD,IAAMO,KAAK,GAAGT,OAAO,CAAC,CAAC;EACvB,IAAMU,SAAS,GAAGb,UAAU,CAAC,YAAY;IACvCK,QAAQ,CAAC;MACPS,UAAU,EAAE,KAAK;MACjBC,aAAa,EAAE,SAAfA,aAAaA,CAAA,EAAc;QACzB,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEN,aAAa,IAAIR,OAAO,CAAC,CAAC,GAAGS,KAAK,CAAC,CAAC;MACzD;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC,CAAC;EACL,OAAO,YAAY;IACjB,OAAOX,YAAY,CAACY,SAAS,CAAC;EAChC,CAAC;AACH","ignoreList":[]}
|
package/esm/helper/sanitize.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _typeof(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
import { display } from './display';
|
|
3
3
|
import { ONE_KIBI_BYTE } from './byteUtils';
|
|
4
4
|
import { detachToJsonMethod } from './serialisation/jsonStringify';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function _slicedToArray(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
3
3
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _unsupportedIterableToArray(
|
|
5
|
-
function _arrayLikeToArray(
|
|
6
|
-
function _iterableToArrayLimit(
|
|
7
|
-
function _arrayWithHoles(
|
|
8
|
-
function ownKeys(
|
|
9
|
-
function _objectSpread(
|
|
10
|
-
function _defineProperty(
|
|
11
|
-
function _toPropertyKey(
|
|
12
|
-
function _toPrimitive(
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
13
|
import { deepClone, getType } from '../tools';
|
|
14
14
|
import { sanitize } from '../sanitize';
|
|
15
15
|
import { Observable } from '../observable';
|
|
@@ -49,7 +49,7 @@ export function createContextManager() {
|
|
|
49
49
|
setContext: function setContext(newContext) {
|
|
50
50
|
if (getType(newContext) === 'object') {
|
|
51
51
|
context = sanitize(ensureProperties(newContext, propertiesConfig, name));
|
|
52
|
-
customerDataTracker === null || customerDataTracker === void 0
|
|
52
|
+
customerDataTracker === null || customerDataTracker === void 0 || customerDataTracker.updateCustomerData(context);
|
|
53
53
|
} else {
|
|
54
54
|
contextManager.clearContext();
|
|
55
55
|
}
|
|
@@ -57,18 +57,18 @@ export function createContextManager() {
|
|
|
57
57
|
},
|
|
58
58
|
setContextProperty: function setContextProperty(key, property) {
|
|
59
59
|
context[key] = sanitize(ensureProperties(_defineProperty({}, key, property), propertiesConfig, name)[key]);
|
|
60
|
-
customerDataTracker === null || customerDataTracker === void 0
|
|
60
|
+
customerDataTracker === null || customerDataTracker === void 0 || customerDataTracker.updateCustomerData(context);
|
|
61
61
|
changeObservable.notify();
|
|
62
62
|
},
|
|
63
63
|
removeContextProperty: function removeContextProperty(key) {
|
|
64
64
|
delete context[key];
|
|
65
|
-
customerDataTracker === null || customerDataTracker === void 0
|
|
65
|
+
customerDataTracker === null || customerDataTracker === void 0 || customerDataTracker.updateCustomerData(context);
|
|
66
66
|
ensureProperties(context, propertiesConfig, name);
|
|
67
67
|
changeObservable.notify();
|
|
68
68
|
},
|
|
69
69
|
clearContext: function clearContext() {
|
|
70
70
|
context = {};
|
|
71
|
-
customerDataTracker === null || customerDataTracker === void 0
|
|
71
|
+
customerDataTracker === null || customerDataTracker === void 0 || customerDataTracker.resetCustomerData();
|
|
72
72
|
changeObservable.notify();
|
|
73
73
|
},
|
|
74
74
|
changeObservable: changeObservable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.js","names":["deepClone","getType","sanitize","Observable","display","ensureProperties","context","propertiesConfig","name","newContext","_objectSpread","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","_Object$entries$_i$","required","type","String","warn","concat","createContextManager","arguments","undefined","_ref","customerDataTracker","_ref$propertiesConfig","changeObservable","contextManager","getContext","setContext","updateCustomerData","clearContext","notify","setContextProperty","property","_defineProperty","removeContextProperty","resetCustomerData"],"sources":["../../../src/helper/serialisation/contextManager.js"],"sourcesContent":["import { deepClone, getType } from '../tools'\nimport { sanitize } from '../sanitize'\nimport { Observable } from '../observable'\nimport { display } from '../display'\n\nfunction ensureProperties(context, propertiesConfig, name) {\n const newContext = { ...context }\n\n for (const [key, { required, type }] of Object.entries(propertiesConfig)) {\n /**\n * Ensure specified properties are strings as defined here:\n */\n if (type === 'string' && key in newContext) {\n newContext[key] = String(newContext[key])\n }\n\n if (required && !(key in context)) {\n display.warn(\n `The property ${key} of ${name} context is required; context will not be sent to the intake.`\n )\n }\n }\n\n return newContext\n}\n\nexport function createContextManager(\n name = '',\n { customerDataTracker, propertiesConfig = {} } = {}\n) {\n let context = {}\n const changeObservable = new Observable()\n\n const contextManager = {\n getContext: () => deepClone(context),\n\n setContext: (newContext) => {\n if (getType(newContext) === 'object') {\n context = sanitize(ensureProperties(newContext, propertiesConfig, name))\n customerDataTracker?.updateCustomerData(context)\n } else {\n contextManager.clearContext()\n }\n changeObservable.notify()\n },\n\n setContextProperty: (key, property) => {\n context[key] = sanitize(\n ensureProperties({ [key]: property }, propertiesConfig, name)[key]\n )\n customerDataTracker?.updateCustomerData(context)\n changeObservable.notify()\n },\n\n removeContextProperty: (key) => {\n delete context[key]\n customerDataTracker?.updateCustomerData(context)\n ensureProperties(context, propertiesConfig, name)\n changeObservable.notify()\n },\n\n clearContext: () => {\n context = {}\n customerDataTracker?.resetCustomerData()\n changeObservable.notify()\n },\n\n changeObservable\n }\n return contextManager\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,UAAU;AAC7C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,OAAO,QAAQ,YAAY;AAEpC,SAASC,gBAAgBA,CAACC,OAAO,EAAEC,gBAAgB,EAAEC,IAAI,EAAE;EACzD,IAAMC,UAAU,GAAAC,aAAA,KAAQJ,OAAO,CAAE;EAEjC,SAAAK,EAAA,MAAAC,eAAA,GAAwCC,MAAM,CAACC,OAAO,CAACP,gBAAgB,CAAC,EAAAI,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;IAArE,IAAAK,kBAAA,GAAAC,cAAA,CAAAL,eAAA,CAAAD,EAAA;MAAOO,GAAG,GAAAF,kBAAA;MAAAG,mBAAA,GAAAH,kBAAA;MAAII,QAAQ,GAAAD,mBAAA,CAARC,QAAQ;MAAEC,IAAI,GAAAF,mBAAA,CAAJE,IAAI;IAC/B;AACJ;AACA;IACI,IAAIA,IAAI,KAAK,QAAQ,IAAIH,GAAG,IAAIT,UAAU,EAAE;MAC1CA,UAAU,CAACS,GAAG,CAAC,GAAGI,MAAM,CAACb,UAAU,CAACS,GAAG,CAAC,CAAC;IAC3C;IAEA,IAAIE,QAAQ,IAAI,EAAEF,GAAG,IAAIZ,OAAO,CAAC,EAAE;MACjCF,OAAO,CAACmB,IAAI,iBAAAC,MAAA,CACMN,GAAG,UAAAM,MAAA,CAAOhB,IAAI,kEAChC,CAAC;IACH;EACF;EAEA,OAAOC,UAAU;AACnB;AAEA,OAAO,SAASgB,oBAAoBA,CAAA,EAGlC;EAAA,IAFAjB,IAAI,GAAAkB,SAAA,CAAAX,MAAA,QAAAW,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EAAA,IAAAE,IAAA,GAAAF,SAAA,CAAAX,MAAA,QAAAW,SAAA,QAAAC,SAAA,GAAAD,SAAA,MACwC,CAAC,CAAC;IAAjDG,mBAAmB,GAAAD,IAAA,CAAnBC,mBAAmB;IAAAC,qBAAA,GAAAF,IAAA,CAAErB,gBAAgB;IAAhBA,gBAAgB,GAAAuB,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;EAE5C,IAAIxB,OAAO,GAAG,CAAC,CAAC;EAChB,IAAMyB,gBAAgB,GAAG,IAAI5B,UAAU,CAAC,CAAC;EAEzC,IAAM6B,cAAc,GAAG;IACrBC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"contextManager.js","names":["deepClone","getType","sanitize","Observable","display","ensureProperties","context","propertiesConfig","name","newContext","_objectSpread","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","_Object$entries$_i$","required","type","String","warn","concat","createContextManager","arguments","undefined","_ref","customerDataTracker","_ref$propertiesConfig","changeObservable","contextManager","getContext","setContext","updateCustomerData","clearContext","notify","setContextProperty","property","_defineProperty","removeContextProperty","resetCustomerData"],"sources":["../../../src/helper/serialisation/contextManager.js"],"sourcesContent":["import { deepClone, getType } from '../tools'\nimport { sanitize } from '../sanitize'\nimport { Observable } from '../observable'\nimport { display } from '../display'\n\nfunction ensureProperties(context, propertiesConfig, name) {\n const newContext = { ...context }\n\n for (const [key, { required, type }] of Object.entries(propertiesConfig)) {\n /**\n * Ensure specified properties are strings as defined here:\n */\n if (type === 'string' && key in newContext) {\n newContext[key] = String(newContext[key])\n }\n\n if (required && !(key in context)) {\n display.warn(\n `The property ${key} of ${name} context is required; context will not be sent to the intake.`\n )\n }\n }\n\n return newContext\n}\n\nexport function createContextManager(\n name = '',\n { customerDataTracker, propertiesConfig = {} } = {}\n) {\n let context = {}\n const changeObservable = new Observable()\n\n const contextManager = {\n getContext: () => deepClone(context),\n\n setContext: (newContext) => {\n if (getType(newContext) === 'object') {\n context = sanitize(ensureProperties(newContext, propertiesConfig, name))\n customerDataTracker?.updateCustomerData(context)\n } else {\n contextManager.clearContext()\n }\n changeObservable.notify()\n },\n\n setContextProperty: (key, property) => {\n context[key] = sanitize(\n ensureProperties({ [key]: property }, propertiesConfig, name)[key]\n )\n customerDataTracker?.updateCustomerData(context)\n changeObservable.notify()\n },\n\n removeContextProperty: (key) => {\n delete context[key]\n customerDataTracker?.updateCustomerData(context)\n ensureProperties(context, propertiesConfig, name)\n changeObservable.notify()\n },\n\n clearContext: () => {\n context = {}\n customerDataTracker?.resetCustomerData()\n changeObservable.notify()\n },\n\n changeObservable\n }\n return contextManager\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,UAAU;AAC7C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,OAAO,QAAQ,YAAY;AAEpC,SAASC,gBAAgBA,CAACC,OAAO,EAAEC,gBAAgB,EAAEC,IAAI,EAAE;EACzD,IAAMC,UAAU,GAAAC,aAAA,KAAQJ,OAAO,CAAE;EAEjC,SAAAK,EAAA,MAAAC,eAAA,GAAwCC,MAAM,CAACC,OAAO,CAACP,gBAAgB,CAAC,EAAAI,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;IAArE,IAAAK,kBAAA,GAAAC,cAAA,CAAAL,eAAA,CAAAD,EAAA;MAAOO,GAAG,GAAAF,kBAAA;MAAAG,mBAAA,GAAAH,kBAAA;MAAII,QAAQ,GAAAD,mBAAA,CAARC,QAAQ;MAAEC,IAAI,GAAAF,mBAAA,CAAJE,IAAI;IAC/B;AACJ;AACA;IACI,IAAIA,IAAI,KAAK,QAAQ,IAAIH,GAAG,IAAIT,UAAU,EAAE;MAC1CA,UAAU,CAACS,GAAG,CAAC,GAAGI,MAAM,CAACb,UAAU,CAACS,GAAG,CAAC,CAAC;IAC3C;IAEA,IAAIE,QAAQ,IAAI,EAAEF,GAAG,IAAIZ,OAAO,CAAC,EAAE;MACjCF,OAAO,CAACmB,IAAI,iBAAAC,MAAA,CACMN,GAAG,UAAAM,MAAA,CAAOhB,IAAI,kEAChC,CAAC;IACH;EACF;EAEA,OAAOC,UAAU;AACnB;AAEA,OAAO,SAASgB,oBAAoBA,CAAA,EAGlC;EAAA,IAFAjB,IAAI,GAAAkB,SAAA,CAAAX,MAAA,QAAAW,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EAAA,IAAAE,IAAA,GAAAF,SAAA,CAAAX,MAAA,QAAAW,SAAA,QAAAC,SAAA,GAAAD,SAAA,MACwC,CAAC,CAAC;IAAjDG,mBAAmB,GAAAD,IAAA,CAAnBC,mBAAmB;IAAAC,qBAAA,GAAAF,IAAA,CAAErB,gBAAgB;IAAhBA,gBAAgB,GAAAuB,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;EAE5C,IAAIxB,OAAO,GAAG,CAAC,CAAC;EAChB,IAAMyB,gBAAgB,GAAG,IAAI5B,UAAU,CAAC,CAAC;EAEzC,IAAM6B,cAAc,GAAG;IACrBC,UAAU,EAAE,SAAZA,UAAUA,CAAA;MAAA,OAAQjC,SAAS,CAACM,OAAO,CAAC;IAAA;IAEpC4B,UAAU,EAAE,SAAZA,UAAUA,CAAGzB,UAAU,EAAK;MAC1B,IAAIR,OAAO,CAACQ,UAAU,CAAC,KAAK,QAAQ,EAAE;QACpCH,OAAO,GAAGJ,QAAQ,CAACG,gBAAgB,CAACI,UAAU,EAAEF,gBAAgB,EAAEC,IAAI,CAAC,CAAC;QACxEqB,mBAAmB,aAAnBA,mBAAmB,eAAnBA,mBAAmB,CAAEM,kBAAkB,CAAC7B,OAAO,CAAC;MAClD,CAAC,MAAM;QACL0B,cAAc,CAACI,YAAY,CAAC,CAAC;MAC/B;MACAL,gBAAgB,CAACM,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEDC,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAGpB,GAAG,EAAEqB,QAAQ,EAAK;MACrCjC,OAAO,CAACY,GAAG,CAAC,GAAGhB,QAAQ,CACrBG,gBAAgB,CAAAmC,eAAA,KAAItB,GAAG,EAAGqB,QAAQ,GAAIhC,gBAAgB,EAAEC,IAAI,CAAC,CAACU,GAAG,CACnE,CAAC;MACDW,mBAAmB,aAAnBA,mBAAmB,eAAnBA,mBAAmB,CAAEM,kBAAkB,CAAC7B,OAAO,CAAC;MAChDyB,gBAAgB,CAACM,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEDI,qBAAqB,EAAE,SAAvBA,qBAAqBA,CAAGvB,GAAG,EAAK;MAC9B,OAAOZ,OAAO,CAACY,GAAG,CAAC;MACnBW,mBAAmB,aAAnBA,mBAAmB,eAAnBA,mBAAmB,CAAEM,kBAAkB,CAAC7B,OAAO,CAAC;MAChDD,gBAAgB,CAACC,OAAO,EAAEC,gBAAgB,EAAEC,IAAI,CAAC;MACjDuB,gBAAgB,CAACM,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEDD,YAAY,EAAE,SAAdA,YAAYA,CAAA,EAAQ;MAClB9B,OAAO,GAAG,CAAC,CAAC;MACZuB,mBAAmB,aAAnBA,mBAAmB,eAAnBA,mBAAmB,CAAEa,iBAAiB,CAAC,CAAC;MACxCX,gBAAgB,CAACM,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEDN,gBAAgB,EAAhBA;EACF,CAAC;EACD,OAAOC,cAAc;AACvB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customerDataTracker.js","names":["ONE_KIBI_BYTE","computeBytesCount","throttle","isEmptyObject","jsonStringify","display","CUSTOMER_DATA_BYTES_LIMIT","CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT","BYTES_COMPUTATION_THROTTLING_DELAY","CustomerDataCompressionStatus","Unknown","Enabled","Disabled","createCustomerDataTrackerManager","compressionStatus","arguments","length","undefined","customerDataTrackers","Map","alreadyWarned","checkCustomerDataLimit","initialBytesCount","bytesCountLimit","bytesCount","forEach","tracker","getBytesCount","displayCustomerDataLimitReachedWarning","createDetachedTracker","createCustomerDataTracker","getOrCreateTracker","type","has","set","get","setCompressionStatus","newCompressionStatus","getCompressionStatus","stop","clear","bytesCountCache","_throttle","context","computeBytesCountThrottled","throttled","cancelComputeBytesCount","cancel","resetBytesCount","updateCustomerData","resetCustomerData","warn","concat"],"sources":["../../../src/helper/serialisation/customerDataTracker.js"],"sourcesContent":["import { ONE_KIBI_BYTE, computeBytesCount } from '../byteUtils'\nimport { throttle, isEmptyObject } from '../tools'\nimport { jsonStringify } from './jsonStringify'\nimport { display } from '../display'\n\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport const CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE\n\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport const CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE\n\nexport const BYTES_COMPUTATION_THROTTLING_DELAY = 200\n\nexport const CustomerDataCompressionStatus = {\n Unknown: 0,\n Enabled: 1,\n Disabled: 2\n}\n\nexport function createCustomerDataTrackerManager(\n compressionStatus = CustomerDataCompressionStatus.Disabled\n) {\n const customerDataTrackers = new Map()\n\n let alreadyWarned = false\n function checkCustomerDataLimit(initialBytesCount = 0) {\n if (\n alreadyWarned ||\n compressionStatus === CustomerDataCompressionStatus.Unknown\n ) {\n return\n }\n\n const bytesCountLimit =\n compressionStatus === CustomerDataCompressionStatus.Disabled\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT\n\n let bytesCount = initialBytesCount\n customerDataTrackers.forEach((tracker) => {\n bytesCount += tracker.getBytesCount()\n })\n\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit)\n alreadyWarned = true\n }\n }\n\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: () => {\n const tracker = createCustomerDataTracker(() =>\n checkCustomerDataLimit(tracker.getBytesCount())\n )\n return tracker\n },\n\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: (type) => {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(\n type,\n createCustomerDataTracker(checkCustomerDataLimit)\n )\n }\n return customerDataTrackers.get(type)\n },\n\n setCompressionStatus: (newCompressionStatus) => {\n if (compressionStatus === CustomerDataCompressionStatus.Unknown) {\n compressionStatus = newCompressionStatus\n checkCustomerDataLimit()\n }\n },\n\n getCompressionStatus: () => compressionStatus,\n\n stop: () => {\n customerDataTrackers.forEach((tracker) => tracker.stop())\n customerDataTrackers.clear()\n }\n }\n}\n\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n let bytesCountCache = 0\n\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n const {\n throttled: computeBytesCountThrottled,\n cancel: cancelComputeBytesCount\n } = throttle((context) => {\n bytesCountCache = computeBytesCount(jsonStringify(context))\n checkCustomerDataLimit()\n }, BYTES_COMPUTATION_THROTTLING_DELAY)\n\n const resetBytesCount = () => {\n cancelComputeBytesCount()\n bytesCountCache = 0\n }\n\n return {\n updateCustomerData: (context) => {\n if (isEmptyObject(context)) {\n resetBytesCount()\n } else {\n computeBytesCountThrottled(context)\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: () => bytesCountCache,\n stop: () => {\n cancelComputeBytesCount()\n }\n }\n}\n\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(\n `Customer data exceeds the recommended ${\n bytesCountLimit / ONE_KIBI_BYTE\n }KiB threshold.`\n )\n}\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,iBAAiB,QAAQ,cAAc;AAC/D,SAASC,QAAQ,EAAEC,aAAa,QAAQ,UAAU;AAClD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,OAAO,QAAQ,YAAY;;AAEpC;AACA;AACA;AACA,OAAO,IAAMC,yBAAyB,GAAG,CAAC,GAAGN,aAAa;;AAE1D;AACA;AACA;AACA;AACA,OAAO,IAAMO,oCAAoC,GAAG,EAAE,GAAGP,aAAa;AAEtE,OAAO,IAAMQ,kCAAkC,GAAG,GAAG;AAErD,OAAO,IAAMC,6BAA6B,GAAG;EAC3CC,OAAO,EAAE,CAAC;EACVC,OAAO,EAAE,CAAC;EACVC,QAAQ,EAAE;AACZ,CAAC;AAED,OAAO,SAASC,gCAAgCA,CAAA,EAE9C;EAAA,IADAC,iBAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGN,6BAA6B,CAACG,QAAQ;EAE1D,IAAMM,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CAAC;EAEtC,IAAIC,aAAa,GAAG,KAAK;EACzB,SAASC,sBAAsBA,CAAA,EAAwB;IAAA,IAAvBC,iBAAiB,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;IACnD,IACEK,aAAa,IACbN,iBAAiB,KAAKL,6BAA6B,CAACC,OAAO,EAC3D;MACA;IACF;IAEA,IAAMa,eAAe,GACnBT,iBAAiB,KAAKL,6BAA6B,CAACG,QAAQ,GACxDN,yBAAyB,GACzBC,oCAAoC;IAE1C,IAAIiB,UAAU,GAAGF,iBAAiB;IAClCJ,oBAAoB,CAACO,OAAO,CAAC,UAACC,OAAO,EAAK;MACxCF,UAAU,IAAIE,OAAO,CAACC,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,IAAIH,UAAU,GAAGD,eAAe,EAAE;MAChCK,sCAAsC,CAACL,eAAe,CAAC;MACvDH,aAAa,GAAG,IAAI;IACtB;EACF;EAEA,OAAO;IACL;AACJ;AACA;AACA;AACA;AACA;AACA;IACIS,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"customerDataTracker.js","names":["ONE_KIBI_BYTE","computeBytesCount","throttle","isEmptyObject","jsonStringify","display","CUSTOMER_DATA_BYTES_LIMIT","CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT","BYTES_COMPUTATION_THROTTLING_DELAY","CustomerDataCompressionStatus","Unknown","Enabled","Disabled","createCustomerDataTrackerManager","compressionStatus","arguments","length","undefined","customerDataTrackers","Map","alreadyWarned","checkCustomerDataLimit","initialBytesCount","bytesCountLimit","bytesCount","forEach","tracker","getBytesCount","displayCustomerDataLimitReachedWarning","createDetachedTracker","createCustomerDataTracker","getOrCreateTracker","type","has","set","get","setCompressionStatus","newCompressionStatus","getCompressionStatus","stop","clear","bytesCountCache","_throttle","context","computeBytesCountThrottled","throttled","cancelComputeBytesCount","cancel","resetBytesCount","updateCustomerData","resetCustomerData","warn","concat"],"sources":["../../../src/helper/serialisation/customerDataTracker.js"],"sourcesContent":["import { ONE_KIBI_BYTE, computeBytesCount } from '../byteUtils'\nimport { throttle, isEmptyObject } from '../tools'\nimport { jsonStringify } from './jsonStringify'\nimport { display } from '../display'\n\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport const CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE\n\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport const CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE\n\nexport const BYTES_COMPUTATION_THROTTLING_DELAY = 200\n\nexport const CustomerDataCompressionStatus = {\n Unknown: 0,\n Enabled: 1,\n Disabled: 2\n}\n\nexport function createCustomerDataTrackerManager(\n compressionStatus = CustomerDataCompressionStatus.Disabled\n) {\n const customerDataTrackers = new Map()\n\n let alreadyWarned = false\n function checkCustomerDataLimit(initialBytesCount = 0) {\n if (\n alreadyWarned ||\n compressionStatus === CustomerDataCompressionStatus.Unknown\n ) {\n return\n }\n\n const bytesCountLimit =\n compressionStatus === CustomerDataCompressionStatus.Disabled\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT\n\n let bytesCount = initialBytesCount\n customerDataTrackers.forEach((tracker) => {\n bytesCount += tracker.getBytesCount()\n })\n\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit)\n alreadyWarned = true\n }\n }\n\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: () => {\n const tracker = createCustomerDataTracker(() =>\n checkCustomerDataLimit(tracker.getBytesCount())\n )\n return tracker\n },\n\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: (type) => {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(\n type,\n createCustomerDataTracker(checkCustomerDataLimit)\n )\n }\n return customerDataTrackers.get(type)\n },\n\n setCompressionStatus: (newCompressionStatus) => {\n if (compressionStatus === CustomerDataCompressionStatus.Unknown) {\n compressionStatus = newCompressionStatus\n checkCustomerDataLimit()\n }\n },\n\n getCompressionStatus: () => compressionStatus,\n\n stop: () => {\n customerDataTrackers.forEach((tracker) => tracker.stop())\n customerDataTrackers.clear()\n }\n }\n}\n\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n let bytesCountCache = 0\n\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n const {\n throttled: computeBytesCountThrottled,\n cancel: cancelComputeBytesCount\n } = throttle((context) => {\n bytesCountCache = computeBytesCount(jsonStringify(context))\n checkCustomerDataLimit()\n }, BYTES_COMPUTATION_THROTTLING_DELAY)\n\n const resetBytesCount = () => {\n cancelComputeBytesCount()\n bytesCountCache = 0\n }\n\n return {\n updateCustomerData: (context) => {\n if (isEmptyObject(context)) {\n resetBytesCount()\n } else {\n computeBytesCountThrottled(context)\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: () => bytesCountCache,\n stop: () => {\n cancelComputeBytesCount()\n }\n }\n}\n\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(\n `Customer data exceeds the recommended ${\n bytesCountLimit / ONE_KIBI_BYTE\n }KiB threshold.`\n )\n}\n"],"mappings":"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","ignoreList":[]}
|