@cloudcare/browser-core 3.1.14 → 3.1.16
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/LICENSE +2 -2
- package/cjs/dataMap.js +1 -0
- package/cjs/dataMap.js.map +1 -1
- package/cjs/helper/polyfills.js +27 -0
- package/cjs/helper/polyfills.js.map +1 -0
- package/cjs/helper/tools.js +4 -0
- package/cjs/helper/tools.js.map +1 -1
- package/cjs/index.js +22 -0
- package/cjs/index.js.map +1 -1
- package/cjs/session/sessionManagement.js +10 -0
- package/cjs/session/sessionManagement.js.map +1 -1
- package/esm/dataMap.js +1 -0
- package/esm/dataMap.js.map +1 -1
- package/esm/helper/polyfills.js +21 -0
- package/esm/helper/polyfills.js.map +1 -0
- package/esm/helper/tools.js +3 -0
- package/esm/helper/tools.js.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/session/sessionManagement.js +10 -0
- package/esm/session/sessionManagement.js.map +1 -1
- package/package.json +2 -2
- package/src/dataMap.js +1 -0
- package/src/helper/polyfills.js +20 -0
- package/src/helper/tools.js +4 -0
- package/src/index.js +2 -1
- package/src/session/sessionManagement.js +9 -0
- package/types/index.d.ts +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionManagement.js","names":["relativeNow","clocksOrigin","ONE_MINUTE","each","addEventListeners","addEventListener","ContextHistory","startSessionStore","SESSION_TIME_OUT_DELAY","DOM_EVENT","clearInterval","setInterval","Observable","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","options","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","push","stop","sessionContextHistory","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","id","getSession","trackingType","findActiveSession","startTime","find","expire","stopSessionManager","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { relativeNow, clocksOrigin, ONE_MINUTE, each } from '../helper/tools'\nimport {\n addEventListeners,\n addEventListener\n} from '../browser/addEventListener'\nimport { ContextHistory } from '../helper/contextHistory'\nimport { startSessionStore } from './sessionStore'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { DOM_EVENT } from '../helper/enums'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { Observable } from '../helper/observable'\nexport var VISIBILITY_CHECK_DELAY = ONE_MINUTE\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nvar stopCallbacks = []\n\nexport var startSessionManager = function (\n options,\n productKey,\n computeSessionState\n) {\n var renewObservable = new Observable()\n var expireObservable = new Observable()\n var sessionStore = startSessionStore(options, productKey, computeSessionState)\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n var sessionContextHistory = new ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY)\n stopCallbacks.push(function () {\n return sessionContextHistory.stop()\n })\n\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n renewObservable.notify()\n })\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify()\n sessionContextHistory.closeActive(relativeNow())\n })\n\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n return sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey]\n }\n }\n\n return {\n findActiveSession: function (startTime) {\n return sessionContextHistory.find(startTime)\n },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: sessionStore.expire\n }\n}\n\nexport function stopSessionManager() {\n each(stopCallbacks, function (e) {\n return e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n var _addEventListeners = addEventListeners(\n window,\n [\n DOM_EVENT.CLICK,\n DOM_EVENT.TOUCH_START,\n DOM_EVENT.KEY_DOWN,\n DOM_EVENT.SCROLL\n ],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(_addEventListeners.stop)\n}\n\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(_addEventListener.stop)\n\n var visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,YAAY,EAAEC,UAAU,EAAEC,IAAI,QAAQ,iBAAiB;AAC7E,SACEC,iBAAiB,EACjBC,gBAAgB,QACX,6BAA6B;AACpC,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,iBAAiB,QAAQ,gBAAgB;AAClD,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,aAAa,EAAEC,WAAW,QAAQ,iBAAiB;AAC5D,SAASC,UAAU,QAAQ,sBAAsB;AACjD,OAAO,IAAIC,sBAAsB,GAAGX,UAAU;AAC9C,IAAIY,6BAA6B,GAAGN,sBAAsB;AAC1D,IAAIO,aAAa,GAAG,EAAE;AAEtB,OAAO,IAAIC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC5BC,OAAO,EACPC,UAAU,EACVC,mBAAmB,EACnB;EACA,IAAIC,eAAe,GAAG,IAAIR,UAAU,CAAC,CAAC;EACtC,IAAIS,gBAAgB,GAAG,IAAIT,UAAU,CAAC,CAAC;EACvC,IAAIU,YAAY,GAAGf,iBAAiB,CAACU,OAAO,EAAEC,UAAU,EAAEC,mBAAmB,CAAC;EAC9EJ,aAAa,CAACQ,IAAI,CAAC,YAAY;IAC7B,OAAOD,YAAY,CAACE,IAAI,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEF,IAAIC,qBAAqB,GAAG,IAAInB,cAAc,CAACQ,6BAA6B,CAAC;EAC7EC,aAAa,CAACQ,IAAI,CAAC,YAAY;IAC7B,OAAOE,qBAAqB,CAACD,IAAI,CAAC,CAAC;EACrC,CAAC,CAAC;EAEFF,YAAY,CAACF,eAAe,CAACM,SAAS,CAAC,YAAY;IACjDD,qBAAqB,CAACE,GAAG,CAACC,mBAAmB,CAAC,CAAC,EAAE5B,WAAW,CAAC,CAAC,CAAC;IAC/DoB,eAAe,CAACS,MAAM,CAAC,CAAC;EAC1B,CAAC,CAAC;EACFP,YAAY,CAACD,gBAAgB,CAACK,SAAS,CAAC,YAAY;IAClDL,gBAAgB,CAACQ,MAAM,CAAC,CAAC;IACzBJ,qBAAqB,CAACK,WAAW,CAAC9B,WAAW,CAAC,CAAC,CAAC;EAClD,CAAC,CAAC;EAEFsB,YAAY,CAACS,oBAAoB,CAAC,CAAC;EACnCN,qBAAqB,CAACE,GAAG,CAACC,mBAAmB,CAAC,CAAC,EAAE3B,YAAY,CAAC,CAAC,CAAC+B,QAAQ,CAAC;EAEzEC,aAAa,CAAC,YAAY;IACxB,OAAOX,YAAY,CAACS,oBAAoB,CAAC,CAAC;EAC5C,CAAC,CAAC;EACFG,eAAe,CAAC,YAAY;IAC1B,OAAOZ,YAAY,CAACa,aAAa,CAAC,CAAC;EACrC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sessionManagement.js","names":["relativeNow","clocksOrigin","ONE_MINUTE","each","addEventListeners","addEventListener","ContextHistory","startSessionStore","SESSION_TIME_OUT_DELAY","DOM_EVENT","clearInterval","setInterval","Observable","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","options","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","push","stop","sessionContextHistory","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","id","getSession","trackingType","findActiveSession","startTime","find","expire","stopSessionManager","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval","trackResume","cb","RESUME"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { relativeNow, clocksOrigin, ONE_MINUTE, each } from '../helper/tools'\nimport {\n addEventListeners,\n addEventListener\n} from '../browser/addEventListener'\nimport { ContextHistory } from '../helper/contextHistory'\nimport { startSessionStore } from './sessionStore'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { DOM_EVENT } from '../helper/enums'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { Observable } from '../helper/observable'\nexport var VISIBILITY_CHECK_DELAY = ONE_MINUTE\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nvar stopCallbacks = []\n\nexport var startSessionManager = function (\n options,\n productKey,\n computeSessionState\n) {\n var renewObservable = new Observable()\n var expireObservable = new Observable()\n var sessionStore = startSessionStore(options, productKey, computeSessionState)\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n var sessionContextHistory = new ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY)\n stopCallbacks.push(function () {\n return sessionContextHistory.stop()\n })\n\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n renewObservable.notify()\n })\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify()\n sessionContextHistory.closeActive(relativeNow())\n })\n\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n return sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n // trackResume(function () {\n // return sessionStore.expandSession()\n // })\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey]\n }\n }\n\n return {\n findActiveSession: function (startTime) {\n return sessionContextHistory.find(startTime)\n },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: sessionStore.expire\n }\n}\n\nexport function stopSessionManager() {\n each(stopCallbacks, function (e) {\n return e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n var _addEventListeners = addEventListeners(\n window,\n [\n DOM_EVENT.CLICK,\n DOM_EVENT.TOUCH_START,\n DOM_EVENT.KEY_DOWN,\n DOM_EVENT.SCROLL\n ],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(_addEventListeners.stop)\n}\n\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(_addEventListener.stop)\n\n var visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\nfunction trackResume(cb) {\n var _addEventListener = addEventListener(window, DOM_EVENT.RESUME, cb, {\n capture: true\n })\n stopCallbacks.push(_addEventListener.stop)\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcare/browser-core",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.16",
|
|
4
4
|
"main": "cjs/index.js",
|
|
5
5
|
"module": "esm/index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
"author": "dataflux",
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"description": "DataFlux RUM Web 端数据指标监控",
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "46f43c9701dfd70b5f9b4fd718cbb0dcdddcafdd"
|
|
26
26
|
}
|
package/src/dataMap.js
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// ie11 supports WeakMap but not WeakSet
|
|
2
|
+
var PLACEHOLDER = 1
|
|
3
|
+
export function WeakSet(initialValues) {
|
|
4
|
+
this.map = new WeakMap()
|
|
5
|
+
if (initialValues) {
|
|
6
|
+
initialValues.forEach(function (value) {
|
|
7
|
+
this.map.set(value, PLACEHOLDER)
|
|
8
|
+
})
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
WeakSet.prototype.add = function (value) {
|
|
12
|
+
this.map.set(value, PLACEHOLDER)
|
|
13
|
+
return this
|
|
14
|
+
}
|
|
15
|
+
WeakSet.prototype.delete = function (value) {
|
|
16
|
+
return this.map.delete(value)
|
|
17
|
+
}
|
|
18
|
+
WeakSet.prototype.has = function (value) {
|
|
19
|
+
return this.map.has(value)
|
|
20
|
+
}
|
package/src/helper/tools.js
CHANGED
|
@@ -1747,3 +1747,7 @@ export function getPathFromHash(hash) {
|
|
|
1747
1747
|
var index = hash.indexOf('?')
|
|
1748
1748
|
return index < 0 ? hash : hash.slice(0, index)
|
|
1749
1749
|
}
|
|
1750
|
+
|
|
1751
|
+
export function discardNegativeDuration(duration) {
|
|
1752
|
+
return isNumber(duration) && duration < 0 ? undefined : duration
|
|
1753
|
+
}
|
package/src/index.js
CHANGED
|
@@ -49,5 +49,6 @@ export * from './helper/serialisation/jsonStringify'
|
|
|
49
49
|
export * from './helper/serialisation/rowData'
|
|
50
50
|
export * from './helper/serialisation/storedContextManager'
|
|
51
51
|
export * from './user'
|
|
52
|
-
|
|
52
|
+
export * from './helper/polyfills'
|
|
53
53
|
export * from './telemetry/telemetry'
|
|
54
|
+
export * from './helper/catchUserErrors'
|
|
@@ -48,6 +48,9 @@ export var startSessionManager = function (
|
|
|
48
48
|
trackVisibility(function () {
|
|
49
49
|
return sessionStore.expandSession()
|
|
50
50
|
})
|
|
51
|
+
// trackResume(function () {
|
|
52
|
+
// return sessionStore.expandSession()
|
|
53
|
+
// })
|
|
51
54
|
|
|
52
55
|
function buildSessionContext() {
|
|
53
56
|
return {
|
|
@@ -109,3 +112,9 @@ function trackVisibility(expandSession) {
|
|
|
109
112
|
clearInterval(visibilityCheckInterval)
|
|
110
113
|
})
|
|
111
114
|
}
|
|
115
|
+
function trackResume(cb) {
|
|
116
|
+
var _addEventListener = addEventListener(window, DOM_EVENT.RESUME, cb, {
|
|
117
|
+
capture: true
|
|
118
|
+
})
|
|
119
|
+
stopCallbacks.push(_addEventListener.stop)
|
|
120
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -143,7 +143,7 @@ export interface RumBaseInitConfiguration extends InitConfiguration {
|
|
|
143
143
|
*/
|
|
144
144
|
trackUserInteractions?: boolean | undefined
|
|
145
145
|
/**
|
|
146
|
-
* 指定 action 数据 name
|
|
146
|
+
* 指定 action 数据 name 获取方式,默认自动获取,可以指定元素特定属性名称,alt,name,title,aria-labelledby,aria-label,data-guance-action-name 这些属性
|
|
147
147
|
*/
|
|
148
148
|
actionNameAttribute?: string | undefined
|
|
149
149
|
trackViewsManually?: boolean | undefined
|
|
@@ -155,6 +155,12 @@ export interface RumBaseInitConfiguration extends InitConfiguration {
|
|
|
155
155
|
* 是否以 128 字节的方式生成 traceID,与 traceType 对应,目前支持类型 zipkin、jaeger。
|
|
156
156
|
*/
|
|
157
157
|
traceId128Bit?: boolean | undefined
|
|
158
|
+
/**
|
|
159
|
+
* Fetch/Xhr 拦截之后,往请求 header 添加额外 header-key,受 allowedTracingUrls 影响
|
|
160
|
+
* @param context 请求附带额外信息,包括traceid spanid url 等内容
|
|
161
|
+
* @returns 返回 key: value 对象, 请求添加的额外 key
|
|
162
|
+
*/
|
|
163
|
+
injectTraceHeader?: (content: any) => { [key: string]: string } | undefined
|
|
158
164
|
}
|
|
159
165
|
export type RumInitConfiguration = RumBaseInitConfiguration &
|
|
160
166
|
DatakitInitConfiguration
|