@cloudcare/browser-core 3.1.1 → 3.1.2
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/htmlDomUtils.js +10 -4
- package/cjs/browser/htmlDomUtils.js.map +1 -1
- package/cjs/configuration/configuration.js +2 -1
- package/cjs/configuration/configuration.js.map +1 -1
- package/cjs/helper/enums.js +2 -1
- package/cjs/helper/enums.js.map +1 -1
- package/cjs/helper/serialisation/contextManager.js +20 -5
- package/cjs/helper/serialisation/contextManager.js.map +1 -1
- package/cjs/helper/serialisation/storedContextManager.js +47 -0
- package/cjs/helper/serialisation/storedContextManager.js.map +1 -0
- package/cjs/helper/tools.js +18 -3
- package/cjs/helper/tools.js.map +1 -1
- package/cjs/index.js +11 -0
- package/cjs/index.js.map +1 -1
- package/esm/browser/htmlDomUtils.js +9 -3
- package/esm/browser/htmlDomUtils.js.map +1 -1
- package/esm/configuration/configuration.js +2 -1
- package/esm/configuration/configuration.js.map +1 -1
- package/esm/helper/enums.js +2 -1
- package/esm/helper/enums.js.map +1 -1
- package/esm/helper/serialisation/contextManager.js +21 -6
- package/esm/helper/serialisation/contextManager.js.map +1 -1
- package/esm/helper/serialisation/storedContextManager.js +39 -0
- package/esm/helper/serialisation/storedContextManager.js.map +1 -0
- package/esm/helper/tools.js +17 -3
- package/esm/helper/tools.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/browser/htmlDomUtils.js +8 -3
- package/src/configuration/configuration.js +2 -1
- package/src/helper/enums.js +2 -1
- package/src/helper/serialisation/contextManager.js +21 -6
- package/src/helper/serialisation/storedContextManager.js +56 -0
- package/src/helper/tools.js +18 -4
- package/src/index.js +1 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.forEachChildNodes = forEachChildNodes;
|
|
7
7
|
exports.getParentNode = getParentNode;
|
|
8
8
|
exports.isCommentNode = isCommentNode;
|
|
9
9
|
exports.isElementNode = isElementNode;
|
|
@@ -26,10 +26,16 @@ function isNodeShadowRoot(node) {
|
|
|
26
26
|
var shadowRoot = node;
|
|
27
27
|
return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);
|
|
28
28
|
}
|
|
29
|
-
function getChildNodes(node) {
|
|
30
|
-
return isNodeShadowHost(node) ? node.shadowRoot.childNodes : node.childNodes;
|
|
31
|
-
}
|
|
32
29
|
|
|
30
|
+
// export function getChildNodes(node) {
|
|
31
|
+
// return isNodeShadowHost(node) ? node.shadowRoot.childNodes : node.childNodes
|
|
32
|
+
// }
|
|
33
|
+
function forEachChildNodes(node, callback) {
|
|
34
|
+
node.childNodes.forEach(callback);
|
|
35
|
+
if (isNodeShadowHost(node)) {
|
|
36
|
+
callback(node.shadowRoot);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
33
39
|
/**
|
|
34
40
|
* Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`
|
|
35
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlDomUtils.js","names":["isTextNode","node","nodeType","Node","TEXT_NODE","isCommentNode","COMMENT_NODE","isElementNode","ELEMENT_NODE","isNodeShadowHost","Boolean","shadowRoot","isNodeShadowRoot","host","DOCUMENT_FRAGMENT_NODE","
|
|
1
|
+
{"version":3,"file":"htmlDomUtils.js","names":["isTextNode","node","nodeType","Node","TEXT_NODE","isCommentNode","COMMENT_NODE","isElementNode","ELEMENT_NODE","isNodeShadowHost","Boolean","shadowRoot","isNodeShadowRoot","host","DOCUMENT_FRAGMENT_NODE","forEachChildNodes","callback","childNodes","forEach","getParentNode","parentNode"],"sources":["../../src/browser/htmlDomUtils.js"],"sourcesContent":["export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE\n}\n\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE\n}\n\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE\n}\n\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot)\n}\n\nexport function isNodeShadowRoot(node) {\n var shadowRoot = node\n return (\n !!shadowRoot.host &&\n shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&\n isElementNode(shadowRoot.host)\n )\n}\n\n// export function getChildNodes(node) {\n// return isNodeShadowHost(node) ? node.shadowRoot.childNodes : node.childNodes\n// }\nexport function forEachChildNodes(node, callback) {\n node.childNodes.forEach(callback)\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot)\n }\n}\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode\n}\n"],"mappings":";;;;;;;;;;;;AAAO,SAASA,UAAUA,CAACC,IAAI,EAAE;EAC/B,OAAOA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACC,SAAS;AACzC;AAEO,SAASC,aAAaA,CAACJ,IAAI,EAAE;EAClC,OAAOA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACG,YAAY;AAC5C;AAEO,SAASC,aAAaA,CAACN,IAAI,EAAE;EAClC,OAAOA,IAAI,CAACC,QAAQ,KAAKC,IAAI,CAACK,YAAY;AAC5C;AAEO,SAASC,gBAAgBA,CAACR,IAAI,EAAE;EACrC,OAAOM,aAAa,CAACN,IAAI,CAAC,IAAIS,OAAO,CAACT,IAAI,CAACU,UAAU,CAAC;AACxD;AAEO,SAASC,gBAAgBA,CAACX,IAAI,EAAE;EACrC,IAAIU,UAAU,GAAGV,IAAI;EACrB,OACE,CAAC,CAACU,UAAU,CAACE,IAAI,IACjBF,UAAU,CAACT,QAAQ,KAAKC,IAAI,CAACW,sBAAsB,IACnDP,aAAa,CAACI,UAAU,CAACE,IAAI,CAAC;AAElC;;AAEA;AACA;AACA;AACO,SAASE,iBAAiBA,CAACd,IAAI,EAAEe,QAAQ,EAAE;EAChDf,IAAI,CAACgB,UAAU,CAACC,OAAO,CAACF,QAAQ,CAAC;EACjC,IAAIP,gBAAgB,CAACR,IAAI,CAAC,EAAE;IAC1Be,QAAQ,CAACf,IAAI,CAACU,UAAU,CAAC;EAC3B;AACF;AACA;AACA;AACA;AACO,SAASQ,aAAaA,CAAClB,IAAI,EAAE;EAClC,OAAOW,gBAAgB,CAACX,IAAI,CAAC,GAAGA,IAAI,CAACY,IAAI,GAAGZ,IAAI,CAACmB,UAAU;AAC7D"}
|
|
@@ -59,7 +59,8 @@ function validateAndBuildConfiguration(initConfiguration) {
|
|
|
59
59
|
*/
|
|
60
60
|
batchMessagesLimit: 50,
|
|
61
61
|
messageBytesLimit: 256 * _byteUtils.ONE_KIBI_BYTE,
|
|
62
|
-
resourceUrlLimit: 5 * _byteUtils.ONE_KIBI_BYTE
|
|
62
|
+
resourceUrlLimit: 5 * _byteUtils.ONE_KIBI_BYTE,
|
|
63
|
+
storeContextsToLocal: !!initConfiguration.storeContextsToLocal
|
|
63
64
|
}, (0, _transportConfiguration.computeTransportConfiguration)(initConfiguration));
|
|
64
65
|
}
|
|
65
66
|
function buildCookieOptions(initConfiguration) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","names":["_cookie","require","_catchUserErrors","_display","_tools","_byteUtils","_transportConfiguration","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","exports","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","isPercentage","display","error","sessionSampleRate","telemetrySampleRate","assign","beforeSend","catchUserErrors","cookieOptions","buildCookieOptions","isNullUndefinedDefaultValue","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","ONE_KIBI_BYTE","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","ONE_SECOND","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","computeTransportConfiguration","secure","mustUseSecureCookie","crossSite","useCrossSiteSessionCookie","trackSessionAcrossSubdomains","domain","getCurrentSite","useSecureSessionCookie"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { getCurrentSite } from '../browser/cookie'\nimport { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\n\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n var sessionSampleRate =\n initConfiguration.sessionSampleRate || initConfiguration.sampleRate\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\n\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {}\n\n cookieOptions.secure = mustUseSecureCookie(initConfiguration)\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n\nfunction mustUseSecureCookie(initConfiguration) {\n return (\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n )\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAMA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AAEO,IAAIM,mBAAmB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,eAAe,EAAE;AACnB,CAAC;AAAAC,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA;AACM,SAASK,6BAA6BA,CAACC,iBAAiB,EAAE;EAC/D,IACEA,iBAAiB,CAACC,UAAU,KAAKC,SAAS,IAC1C,CAAC,IAAAC,mBAAY,EAACH,iBAAiB,CAACC,UAAU,CAAC,EAC3C;IACAG,gBAAO,CAACC,KAAK,CAAC,kDAAkD,CAAC;IACjE;EACF;EACA,IACEL,iBAAiB,CAACM,iBAAiB,KAAKJ,SAAS,IACjD,CAAC,IAAAC,mBAAY,EAACH,iBAAiB,CAACM,iBAAiB,CAAC,EAClD;IACAF,gBAAO,CAACC,KAAK,CAAC,kDAAkD,CAAC;IACjE;EACF;EACA,IACEL,iBAAiB,CAACO,mBAAmB,KAAKL,SAAS,IACnD,CAAC,IAAAC,mBAAY,EAACH,iBAAiB,CAACO,mBAAmB,CAAC,EACpD;IACAH,gBAAO,CAACC,KAAK,CAAC,4DAA4D,CAAC;IAC3E;EACF;EACA,IAAIC,iBAAiB,GACnBN,iBAAiB,CAACM,iBAAiB,IAAIN,iBAAiB,CAACC,UAAU;EACrE,OAAO,IAAAO,aAAM,EACX;IACEC,UAAU,EACRT,iBAAiB,CAACS,UAAU,IAC5B,IAAAC,gCAAe,EACbV,iBAAiB,CAACS,UAAU,EAC5B,4BACF,CAAC;IACHE,aAAa,EAAEC,kBAAkB,CAACZ,iBAAiB,CAAC;IACpDM,iBAAiB,EAAE,IAAAO,kCAA2B,EAACP,iBAAiB,EAAE,GAAG,CAAC;IACtEQ,OAAO,EAAEd,iBAAiB,CAACc,OAAO;IAClCC,OAAO,EAAEf,iBAAiB,CAACe,OAAO;IAClCC,GAAG,EAAEhB,iBAAiB,CAACgB,GAAG;IAC1BT,mBAAmB,EAAE,IAAAM,kCAA2B,EAC9Cb,iBAAiB,CAACO,mBAAmB,EACrC,GACF,CAAC;IACDU,gBAAgB,EAAE,IAAAJ,kCAA2B,EAC3Cb,iBAAiB,CAACiB,gBAAgB,EAClC,KACF,CAAC;IACDC,kBAAkB,EAAE,CAAC,CAAClB,iBAAiB,CAACkB,kBAAkB;IAE1D;AACN;AACA;AACA;IACMC,eAAe,EAAE,EAAE,GAAGC,wBAAa;IAEnCC,yBAAyB,EAAE,IAAI;IAC/BC,yBAAyB,EAAE,EAAE;IAE7B;AACN;AACA;AACA;IACMC,YAAY,EAAE,EAAE,GAAGC,iBAAU;IAE7B;AACN;AACA;IACMC,kBAAkB,EAAE,EAAE;IACtBC,iBAAiB,EAAE,GAAG,GAAGN,wBAAa;IACtCO,gBAAgB,EAAE,CAAC,GAAGP;
|
|
1
|
+
{"version":3,"file":"configuration.js","names":["_cookie","require","_catchUserErrors","_display","_tools","_byteUtils","_transportConfiguration","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","exports","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","isPercentage","display","error","sessionSampleRate","telemetrySampleRate","assign","beforeSend","catchUserErrors","cookieOptions","buildCookieOptions","isNullUndefinedDefaultValue","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","ONE_KIBI_BYTE","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","ONE_SECOND","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","computeTransportConfiguration","secure","mustUseSecureCookie","crossSite","useCrossSiteSessionCookie","trackSessionAcrossSubdomains","domain","getCurrentSite","useSecureSessionCookie"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { getCurrentSite } from '../browser/cookie'\nimport { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\n\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n var sessionSampleRate =\n initConfiguration.sessionSampleRate || initConfiguration.sampleRate\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\n\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {}\n\n cookieOptions.secure = mustUseSecureCookie(initConfiguration)\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n\nfunction mustUseSecureCookie(initConfiguration) {\n return (\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n )\n}\n"],"mappings":"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"}
|
package/cjs/helper/enums.js
CHANGED
|
@@ -37,7 +37,8 @@ var DOM_EVENT = {
|
|
|
37
37
|
PLAY: 'play',
|
|
38
38
|
PAUSE: 'pause',
|
|
39
39
|
SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',
|
|
40
|
-
SELECTION_CHANGE: 'selectionchange'
|
|
40
|
+
SELECTION_CHANGE: 'selectionchange',
|
|
41
|
+
STORAGE: 'storage'
|
|
41
42
|
};
|
|
42
43
|
exports.DOM_EVENT = DOM_EVENT;
|
|
43
44
|
var ResourceType = {
|
package/cjs/helper/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","names":["DOM_EVENT","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","exports","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","ActionType","CUSTOM","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\n\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":";;;;;;AAAO,IAAIA,SAAS,GAAG;EACrBC,aAAa,EAAE,cAAc;EAC7BC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,UAAU;EACrBC,QAAQ,EAAE,SAAS;EACnBC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,iBAAiB,EAAE,kBAAkB;EACrCC,SAAS,EAAE,UAAU;EACrBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,kBAAkB,EAAE,kBAAkB;EACtCC,YAAY,EAAE,aAAa;EAC3BC,UAAU,EAAE,WAAW;EACvBC,cAAc,EAAE,eAAe;EAC/BC,WAAW,EAAE,YAAY;EACzBC,SAAS,EAAE,UAAU;EACrBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,UAAU,EAAE,WAAW;EACvBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE,aAAa;EAC3BC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,yBAAyB,EAAE,yBAAyB;EACpDC,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"enums.js","names":["DOM_EVENT","BEFORE_UNLOAD","CLICK","DBL_CLICK","KEY_DOWN","LOAD","POP_STATE","SCROLL","TOUCH_START","TOUCH_END","TOUCH_MOVE","VISIBILITY_CHANGE","PAGE_SHOW","FREEZE","RESUME","DOM_CONTENT_LOADED","POINTER_DOWN","POINTER_UP","POINTER_CANCEL","HASH_CHANGE","PAGE_HIDE","MOUSE_DOWN","MOUSE_UP","MOUSE_MOVE","FOCUS","BLUR","CONTEXT_MENU","RESIZE","CHANGE","INPUT","PLAY","PAUSE","SECURITY_POLICY_VIOLATION","SELECTION_CHANGE","STORAGE","exports","ResourceType","DOCUMENT","XHR","BEACON","FETCH","CSS","JS","IMAGE","FONT","MEDIA","OTHER","ActionType","CUSTOM","FrustrationType","RAGE_CLICK","ERROR_CLICK","DEAD_CLICK","RumEventType","ACTION","ERROR","LONG_TASK","VIEW","RESOURCE","LOGGER","ViewLoadingType","INITIAL_LOAD","ROUTE_CHANGE","RequestType","TraceType","DDTRACE","ZIPKIN_MULTI_HEADER","ZIPKIN_SINGLE_HEADER","W3C_TRACEPARENT","W3C_TRACEPARENT_64","SKYWALKING_V3","JAEGER","ErrorHandling","HANDLED","UNHANDLED","NonErrorPrefix","UNCAUGHT","PROVIDED"],"sources":["../../src/helper/enums.js"],"sourcesContent":["export var DOM_EVENT = {\n BEFORE_UNLOAD: 'beforeunload',\n CLICK: 'click',\n DBL_CLICK: 'dblclick',\n KEY_DOWN: 'keydown',\n LOAD: 'load',\n POP_STATE: 'popstate',\n SCROLL: 'scroll',\n TOUCH_START: 'touchstart',\n TOUCH_END: 'touchend',\n TOUCH_MOVE: 'touchmove',\n VISIBILITY_CHANGE: 'visibilitychange',\n PAGE_SHOW: 'pageshow',\n FREEZE: 'freeze',\n RESUME: 'resume',\n DOM_CONTENT_LOADED: 'DOMContentLoaded',\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_CANCEL: 'pointercancel',\n HASH_CHANGE: 'hashchange',\n PAGE_HIDE: 'pagehide',\n MOUSE_DOWN: 'mousedown',\n MOUSE_UP: 'mouseup',\n MOUSE_MOVE: 'mousemove',\n FOCUS: 'focus',\n BLUR: 'blur',\n CONTEXT_MENU: 'contextmenu',\n RESIZE: 'resize',\n CHANGE: 'change',\n INPUT: 'input',\n PLAY: 'play',\n PAUSE: 'pause',\n SECURITY_POLICY_VIOLATION: 'securitypolicyviolation',\n SELECTION_CHANGE: 'selectionchange',\n STORAGE: 'storage'\n}\nexport var ResourceType = {\n DOCUMENT: 'document',\n XHR: 'xhr',\n BEACON: 'beacon',\n FETCH: 'fetch',\n CSS: 'css',\n JS: 'js',\n IMAGE: 'image',\n FONT: 'font',\n MEDIA: 'media',\n OTHER: 'other'\n}\n\nexport var ActionType = {\n CLICK: 'click',\n CUSTOM: 'custom'\n}\nexport var FrustrationType = {\n RAGE_CLICK: 'rage_click',\n ERROR_CLICK: 'error_click',\n DEAD_CLICK: 'dead_click'\n}\nexport var RumEventType = {\n ACTION: 'action',\n ERROR: 'error',\n LONG_TASK: 'long_task',\n VIEW: 'view',\n RESOURCE: 'resource',\n LOGGER: 'logger'\n}\n\nexport var ViewLoadingType = {\n INITIAL_LOAD: 'initial_load',\n ROUTE_CHANGE: 'route_change'\n}\nexport var RequestType = {\n FETCH: ResourceType.FETCH,\n XHR: ResourceType.XHR\n}\n\nexport var TraceType = {\n DDTRACE: 'ddtrace',\n ZIPKIN_MULTI_HEADER: 'zipkin',\n ZIPKIN_SINGLE_HEADER: 'zipkin_single_header',\n W3C_TRACEPARENT: 'w3c_traceparent',\n W3C_TRACEPARENT_64: 'w3c_traceparent_64bit',\n SKYWALKING_V3: 'skywalking_v3',\n JAEGER: 'jaeger'\n}\nexport var ErrorHandling = {\n HANDLED: 'handled',\n UNHANDLED: 'unhandled'\n}\nexport var NonErrorPrefix = {\n UNCAUGHT: 'Uncaught',\n PROVIDED: 'Provided'\n}\n"],"mappings":"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"}
|
|
@@ -7,7 +7,9 @@ exports.BYTES_COMPUTATION_THROTTLING_DELAY = void 0;
|
|
|
7
7
|
exports.createContextManager = createContextManager;
|
|
8
8
|
var _byteUtils = require("../byteUtils");
|
|
9
9
|
var _tools = require("../tools");
|
|
10
|
+
var _sanitize = require("../sanitize");
|
|
10
11
|
var _jsonStringify = require("./jsonStringify");
|
|
12
|
+
var _observable = require("../observable");
|
|
11
13
|
var _heavyCustomerDataWarning = require("./heavyCustomerDataWarning");
|
|
12
14
|
var BYTES_COMPUTATION_THROTTLING_DELAY = 200;
|
|
13
15
|
exports.BYTES_COMPUTATION_THROTTLING_DELAY = BYTES_COMPUTATION_THROTTLING_DELAY;
|
|
@@ -18,7 +20,7 @@ function createContextManager(customerDataType, computeBytesCountImpl) {
|
|
|
18
20
|
var context = {};
|
|
19
21
|
var bytesCountCache;
|
|
20
22
|
var alreadyWarned = false;
|
|
21
|
-
|
|
23
|
+
var changeObservable = new _observable.Observable();
|
|
22
24
|
// Throttle the bytes computation to minimize the impact on performance.
|
|
23
25
|
// Especially useful if the user call context APIs synchronously multiple times in a row
|
|
24
26
|
var computeBytesCountThrottled = (0, _tools.throttle)(function (context) {
|
|
@@ -27,7 +29,7 @@ function createContextManager(customerDataType, computeBytesCountImpl) {
|
|
|
27
29
|
alreadyWarned = (0, _heavyCustomerDataWarning.warnIfCustomerDataLimitReached)(bytesCountCache, customerDataType);
|
|
28
30
|
}
|
|
29
31
|
}, BYTES_COMPUTATION_THROTTLING_DELAY).throttled;
|
|
30
|
-
|
|
32
|
+
var contextManager = {
|
|
31
33
|
getBytesCount: function getBytesCount() {
|
|
32
34
|
return bytesCountCache;
|
|
33
35
|
},
|
|
@@ -39,36 +41,49 @@ function createContextManager(customerDataType, computeBytesCountImpl) {
|
|
|
39
41
|
add: function add(key, value) {
|
|
40
42
|
context[key] = value;
|
|
41
43
|
computeBytesCountThrottled(context);
|
|
44
|
+
changeObservable.notify();
|
|
42
45
|
},
|
|
43
46
|
/** @deprecated renamed to removeContextProperty */
|
|
44
47
|
remove: function remove(key) {
|
|
45
48
|
delete context[key];
|
|
46
49
|
computeBytesCountThrottled(context);
|
|
50
|
+
changeObservable.notify();
|
|
47
51
|
},
|
|
48
52
|
/** @deprecated use setContext instead */
|
|
49
53
|
set: function set(newContext) {
|
|
50
54
|
context = newContext;
|
|
51
55
|
computeBytesCountThrottled(context);
|
|
56
|
+
changeObservable.notify();
|
|
52
57
|
},
|
|
53
58
|
getContext: function getContext() {
|
|
54
59
|
return (0, _tools.deepClone)(context);
|
|
55
60
|
},
|
|
56
61
|
setContext: function setContext(newContext) {
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
if ((0, _tools.getType)(newContext) === 'object') {
|
|
63
|
+
context = (0, _sanitize.sanitize)(newContext);
|
|
64
|
+
computeBytesCountThrottled(context);
|
|
65
|
+
} else {
|
|
66
|
+
contextManager.clearContext();
|
|
67
|
+
}
|
|
68
|
+
changeObservable.notify();
|
|
59
69
|
},
|
|
60
70
|
setContextProperty: function setContextProperty(key, property) {
|
|
61
71
|
context[key] = (0, _tools.deepClone)(property);
|
|
62
72
|
computeBytesCountThrottled(context);
|
|
73
|
+
changeObservable.notify();
|
|
63
74
|
},
|
|
64
75
|
removeContextProperty: function removeContextProperty(key) {
|
|
65
76
|
delete context[key];
|
|
66
77
|
computeBytesCountThrottled(context);
|
|
78
|
+
changeObservable.notify();
|
|
67
79
|
},
|
|
68
80
|
clearContext: function clearContext() {
|
|
69
81
|
context = {};
|
|
70
82
|
bytesCountCache = 0;
|
|
71
|
-
|
|
83
|
+
changeObservable.notify();
|
|
84
|
+
},
|
|
85
|
+
changeObservable: changeObservable
|
|
72
86
|
};
|
|
87
|
+
return contextManager;
|
|
73
88
|
}
|
|
74
89
|
//# sourceMappingURL=contextManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.js","names":["_byteUtils","require","_tools","_jsonStringify","_heavyCustomerDataWarning","BYTES_COMPUTATION_THROTTLING_DELAY","exports","createContextManager","customerDataType","computeBytesCountImpl","computeBytesCount","context","bytesCountCache","alreadyWarned","computeBytesCountThrottled","throttle","jsonStringify","warnIfCustomerDataLimitReached","throttled","getBytesCount","get","add","key","value","remove","set","newContext","getContext","deepClone","setContext","setContextProperty","property","removeContextProperty"
|
|
1
|
+
{"version":3,"file":"contextManager.js","names":["_byteUtils","require","_tools","_sanitize","_jsonStringify","_observable","_heavyCustomerDataWarning","BYTES_COMPUTATION_THROTTLING_DELAY","exports","createContextManager","customerDataType","computeBytesCountImpl","computeBytesCount","context","bytesCountCache","alreadyWarned","changeObservable","Observable","computeBytesCountThrottled","throttle","jsonStringify","warnIfCustomerDataLimitReached","throttled","contextManager","getBytesCount","get","add","key","value","notify","remove","set","newContext","getContext","deepClone","setContext","getType","sanitize","clearContext","setContextProperty","property","removeContextProperty"],"sources":["../../../src/helper/serialisation/contextManager.js"],"sourcesContent":["import { computeBytesCount } from '../byteUtils'\nimport { deepClone, throttle, getType } from '../tools'\nimport { sanitize } from '../sanitize'\nimport { jsonStringify } from './jsonStringify'\nimport { Observable } from '../observable'\nimport { warnIfCustomerDataLimitReached } from './heavyCustomerDataWarning'\n\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200\n\nexport function createContextManager(customerDataType, computeBytesCountImpl) {\n if (typeof computeBytesCountImpl === 'undefined') {\n computeBytesCountImpl = computeBytesCount\n }\n var context = {}\n var bytesCountCache\n var alreadyWarned = false\n var changeObservable = new Observable()\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 var computeBytesCountThrottled = throttle(function (context) {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context))\n if (!alreadyWarned) {\n alreadyWarned = warnIfCustomerDataLimitReached(\n bytesCountCache,\n customerDataType\n )\n }\n }, BYTES_COMPUTATION_THROTTLING_DELAY).throttled\n\n var contextManager = {\n getBytesCount: function () {\n return bytesCountCache\n },\n /** @deprecated use getContext instead */\n get: function () {\n return context\n },\n\n /** @deprecated use setContextProperty instead */\n add: function (key, value) {\n context[key] = value\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n /** @deprecated renamed to removeContextProperty */\n remove: function (key) {\n delete context[key]\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n /** @deprecated use setContext instead */\n set: function (newContext) {\n context = newContext\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n getContext: function () {\n return deepClone(context)\n },\n\n setContext: function (newContext) {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext)\n computeBytesCountThrottled(context)\n } else {\n contextManager.clearContext()\n }\n changeObservable.notify()\n },\n\n setContextProperty: function (key, property) {\n context[key] = deepClone(property)\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n removeContextProperty: function (key) {\n delete context[key]\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n clearContext: function () {\n context = {}\n bytesCountCache = 0\n changeObservable.notify()\n },\n changeObservable: changeObservable\n }\n return contextManager\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildStorageKey = buildStorageKey;
|
|
7
|
+
exports.createStoredContextManager = createStoredContextManager;
|
|
8
|
+
exports.removeStorageListeners = removeStorageListeners;
|
|
9
|
+
var _byteUtils = require("../byteUtils");
|
|
10
|
+
var _enums = require("../enums");
|
|
11
|
+
var _tools = require("../tools");
|
|
12
|
+
var _addEventListener = require("../../browser/addEventListener");
|
|
13
|
+
var _contextManager = require("./contextManager");
|
|
14
|
+
var CONTEXT_STORE_KEY_PREFIX = '_gc_s';
|
|
15
|
+
var storageListeners = [];
|
|
16
|
+
function createStoredContextManager(productKey, customerDataType, computeBytesCountImpl) {
|
|
17
|
+
if (computeBytesCountImpl === undefined) {
|
|
18
|
+
computeBytesCountImpl = _byteUtils.computeBytesCount;
|
|
19
|
+
}
|
|
20
|
+
var storageKey = buildStorageKey(productKey, customerDataType);
|
|
21
|
+
var contextManager = (0, _contextManager.createContextManager)(customerDataType, computeBytesCountImpl);
|
|
22
|
+
synchronizeWithStorage();
|
|
23
|
+
storageListeners.push((0, _addEventListener.addEventListener)(window, _enums.DOM_EVENT.STORAGE, function (params) {
|
|
24
|
+
if (storageKey === params.key) {
|
|
25
|
+
synchronizeWithStorage();
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
contextManager.changeObservable.subscribe(dumpToStorage);
|
|
29
|
+
function synchronizeWithStorage() {
|
|
30
|
+
var rawContext = localStorage.getItem(storageKey);
|
|
31
|
+
var context = rawContext !== null ? JSON.parse(rawContext) : {};
|
|
32
|
+
contextManager.setContext(context);
|
|
33
|
+
}
|
|
34
|
+
function dumpToStorage() {
|
|
35
|
+
localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));
|
|
36
|
+
}
|
|
37
|
+
return contextManager;
|
|
38
|
+
}
|
|
39
|
+
function buildStorageKey(productKey, customerDataType) {
|
|
40
|
+
return CONTEXT_STORE_KEY_PREFIX + '_' + productKey + '_' + customerDataType;
|
|
41
|
+
}
|
|
42
|
+
function removeStorageListeners() {
|
|
43
|
+
(0, _tools.map)(storageListeners, function (listener) {
|
|
44
|
+
listener.stop();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=storedContextManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storedContextManager.js","names":["_byteUtils","require","_enums","_tools","_addEventListener","_contextManager","CONTEXT_STORE_KEY_PREFIX","storageListeners","createStoredContextManager","productKey","customerDataType","computeBytesCountImpl","undefined","computeBytesCount","storageKey","buildStorageKey","contextManager","createContextManager","synchronizeWithStorage","push","addEventListener","window","DOM_EVENT","STORAGE","params","key","changeObservable","subscribe","dumpToStorage","rawContext","localStorage","getItem","context","JSON","parse","setContext","setItem","stringify","getContext","removeStorageListeners","map","listener","stop"],"sources":["../../../src/helper/serialisation/storedContextManager.js"],"sourcesContent":["import { computeBytesCount } from '../byteUtils'\nimport { DOM_EVENT } from '../enums'\nimport { map } from '../tools'\nimport { addEventListener } from '../../browser/addEventListener'\nimport { createContextManager } from './contextManager'\nvar CONTEXT_STORE_KEY_PREFIX = '_gc_s'\n\nvar storageListeners = []\n\nexport function createStoredContextManager(\n productKey,\n customerDataType,\n computeBytesCountImpl\n) {\n if (computeBytesCountImpl === undefined) {\n computeBytesCountImpl = computeBytesCount\n }\n var storageKey = buildStorageKey(productKey, customerDataType)\n var contextManager = createContextManager(\n customerDataType,\n computeBytesCountImpl\n )\n\n synchronizeWithStorage()\n storageListeners.push(\n addEventListener(window, DOM_EVENT.STORAGE, function (params) {\n if (storageKey === params.key) {\n synchronizeWithStorage()\n }\n })\n )\n contextManager.changeObservable.subscribe(dumpToStorage)\n function synchronizeWithStorage() {\n var rawContext = localStorage.getItem(storageKey)\n var context = rawContext !== null ? JSON.parse(rawContext) : {}\n contextManager.setContext(context)\n }\n\n function dumpToStorage() {\n localStorage.setItem(\n storageKey,\n JSON.stringify(contextManager.getContext())\n )\n }\n return contextManager\n}\n\nexport function buildStorageKey(productKey, customerDataType) {\n return CONTEXT_STORE_KEY_PREFIX + '_' + productKey + '_' + customerDataType\n}\n\nexport function removeStorageListeners() {\n map(storageListeners, function (listener) {\n listener.stop()\n })\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAIK,wBAAwB,GAAG,OAAO;AAEtC,IAAIC,gBAAgB,GAAG,EAAE;AAElB,SAASC,0BAA0BA,CACxCC,UAAU,EACVC,gBAAgB,EAChBC,qBAAqB,EACrB;EACA,IAAIA,qBAAqB,KAAKC,SAAS,EAAE;IACvCD,qBAAqB,GAAGE,4BAAiB;EAC3C;EACA,IAAIC,UAAU,GAAGC,eAAe,CAACN,UAAU,EAAEC,gBAAgB,CAAC;EAC9D,IAAIM,cAAc,GAAG,IAAAC,oCAAoB,EACvCP,gBAAgB,EAChBC,qBACF,CAAC;EAEDO,sBAAsB,CAAC,CAAC;EACxBX,gBAAgB,CAACY,IAAI,CACnB,IAAAC,kCAAgB,EAACC,MAAM,EAAEC,gBAAS,CAACC,OAAO,EAAE,UAAUC,MAAM,EAAE;IAC5D,IAAIV,UAAU,KAAKU,MAAM,CAACC,GAAG,EAAE;MAC7BP,sBAAsB,CAAC,CAAC;IAC1B;EACF,CAAC,CACH,CAAC;EACDF,cAAc,CAACU,gBAAgB,CAACC,SAAS,CAACC,aAAa,CAAC;EACxD,SAASV,sBAAsBA,CAAA,EAAG;IAChC,IAAIW,UAAU,GAAGC,YAAY,CAACC,OAAO,CAACjB,UAAU,CAAC;IACjD,IAAIkB,OAAO,GAAGH,UAAU,KAAK,IAAI,GAAGI,IAAI,CAACC,KAAK,CAACL,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/Db,cAAc,CAACmB,UAAU,CAACH,OAAO,CAAC;EACpC;EAEA,SAASJ,aAAaA,CAAA,EAAG;IACvBE,YAAY,CAACM,OAAO,CAClBtB,UAAU,EACVmB,IAAI,CAACI,SAAS,CAACrB,cAAc,CAACsB,UAAU,CAAC,CAAC,CAC5C,CAAC;EACH;EACA,OAAOtB,cAAc;AACvB;AAEO,SAASD,eAAeA,CAACN,UAAU,EAAEC,gBAAgB,EAAE;EAC5D,OAAOJ,wBAAwB,GAAG,GAAG,GAAGG,UAAU,GAAG,GAAG,GAAGC,gBAAgB;AAC7E;AAEO,SAAS6B,sBAAsBA,CAAA,EAAG;EACvC,IAAAC,UAAG,EAACjC,gBAAgB,EAAE,UAAUkC,QAAQ,EAAE;IACxCA,QAAQ,CAACC,IAAI,CAAC,CAAC;EACjB,CAAC,CAAC;AACJ"}
|
package/cjs/helper/tools.js
CHANGED
|
@@ -52,6 +52,7 @@ exports.isMatchOption = isMatchOption;
|
|
|
52
52
|
exports.isNullUndefinedDefaultValue = isNullUndefinedDefaultValue;
|
|
53
53
|
exports.isObject = exports.isNumber = void 0;
|
|
54
54
|
exports.isPercentage = isPercentage;
|
|
55
|
+
exports.isSafari = isSafari;
|
|
55
56
|
exports.localStorage = exports.loadScript = exports.keys = exports.isUndefined = exports.isSupportCors = exports.isString = void 0;
|
|
56
57
|
exports.looksLikeRelativeTime = looksLikeRelativeTime;
|
|
57
58
|
exports.map = void 0;
|
|
@@ -1577,13 +1578,27 @@ function isPercentage(value) {
|
|
|
1577
1578
|
function getLocationOrigin() {
|
|
1578
1579
|
return getLinkElementOrigin(window.location);
|
|
1579
1580
|
}
|
|
1581
|
+
var browserIsIE;
|
|
1580
1582
|
function isIE() {
|
|
1581
|
-
|
|
1583
|
+
if (browserIsIE === undefined) {
|
|
1584
|
+
browserIsIE = Boolean(document.documentMode);
|
|
1585
|
+
}
|
|
1586
|
+
return browserIsIE;
|
|
1582
1587
|
}
|
|
1588
|
+
var browserIsChromium;
|
|
1583
1589
|
function isChromium() {
|
|
1584
|
-
|
|
1590
|
+
if (browserIsChromium === undefined) {
|
|
1591
|
+
browserIsChromium = !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);
|
|
1592
|
+
}
|
|
1593
|
+
return browserIsChromium;
|
|
1594
|
+
}
|
|
1595
|
+
var browserIsSafari;
|
|
1596
|
+
function isSafari() {
|
|
1597
|
+
if (browserIsSafari === undefined) {
|
|
1598
|
+
browserIsSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
1599
|
+
}
|
|
1600
|
+
return browserIsSafari;
|
|
1585
1601
|
}
|
|
1586
|
-
|
|
1587
1602
|
/**
|
|
1588
1603
|
* IE fallback
|
|
1589
1604
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin
|