@cloudcare/browser-core 3.1.13 → 3.1.15
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/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 +36 -15
|
@@ -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.15",
|
|
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": "cb4832f8dad9c9ea3116cb5a0bd32a0ac2db67ff"
|
|
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
|
@@ -22,11 +22,28 @@ export declare const RawReportType: {
|
|
|
22
22
|
readonly cspViolation: 'csp_violation'
|
|
23
23
|
}
|
|
24
24
|
export type RawReportType = (typeof RawReportType)[keyof typeof RawReportType]
|
|
25
|
-
|
|
25
|
+
|
|
26
|
+
export interface SiteInitConfiguration {
|
|
26
27
|
/**
|
|
27
28
|
* 以openway 方式上报数据令牌,从观测云控制台获取,必填
|
|
28
29
|
*/
|
|
29
|
-
clientToken
|
|
30
|
+
clientToken: string | undefined
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 以 公共openway 方式上报数据地址,从观测云控制台获取,必填
|
|
34
|
+
*/
|
|
35
|
+
site: string | undefined
|
|
36
|
+
}
|
|
37
|
+
export interface DatakitInitConfiguration {
|
|
38
|
+
/** DataKit 数据上报 Origin 注释:
|
|
39
|
+
* 协议(包括://),域名(或IP地址)[和端口号]
|
|
40
|
+
* 例如:
|
|
41
|
+
* https://www.datakit.com;
|
|
42
|
+
* http://100.20.34.3:8088。
|
|
43
|
+
*/
|
|
44
|
+
datakitOrigin: string
|
|
45
|
+
}
|
|
46
|
+
export interface InitConfiguration {
|
|
30
47
|
/**
|
|
31
48
|
* 数据发送前的的拦截器
|
|
32
49
|
* @param event 事件内容
|
|
@@ -40,17 +57,7 @@ export interface InitConfiguration {
|
|
|
40
57
|
sessionSampleRate?: number | undefined
|
|
41
58
|
telemetrySampleRate?: number | undefined
|
|
42
59
|
silentMultipleInit?: boolean | undefined
|
|
43
|
-
|
|
44
|
-
* 以 公共openway 方式上报数据地址,从观测云控制台获取,必填
|
|
45
|
-
*/
|
|
46
|
-
site?: string | undefined
|
|
47
|
-
/** DataKit 数据上报 Origin 注释:
|
|
48
|
-
* 协议(包括://),域名(或IP地址)[和端口号]
|
|
49
|
-
* 例如:
|
|
50
|
-
* https://www.datakit.com;
|
|
51
|
-
* http://100.20.34.3:8088。
|
|
52
|
-
*/
|
|
53
|
-
datakitOrigin: string
|
|
60
|
+
|
|
54
61
|
service?: string | undefined
|
|
55
62
|
/** Web 应用当前环境,如 prod:线上环境;gray:灰度环境;pre:预发布环境;common:日常环境;local:本地环境。 */
|
|
56
63
|
env?: string | undefined
|
|
@@ -112,7 +119,7 @@ export declare function matchList(
|
|
|
112
119
|
useStartsWith?: boolean
|
|
113
120
|
): boolean
|
|
114
121
|
|
|
115
|
-
export interface
|
|
122
|
+
export interface RumBaseInitConfiguration extends InitConfiguration {
|
|
116
123
|
/**从观测云创建的应用 ID */
|
|
117
124
|
applicationId: string
|
|
118
125
|
/**
|
|
@@ -136,7 +143,7 @@ export interface RumInitConfiguration extends InitConfiguration {
|
|
|
136
143
|
*/
|
|
137
144
|
trackUserInteractions?: boolean | undefined
|
|
138
145
|
/**
|
|
139
|
-
* 指定 action 数据 name
|
|
146
|
+
* 指定 action 数据 name 获取方式,默认自动获取,可以指定元素特定属性名称,alt,name,title,aria-labelledby,aria-label,data-guance-action-name 这些属性
|
|
140
147
|
*/
|
|
141
148
|
actionNameAttribute?: string | undefined
|
|
142
149
|
trackViewsManually?: boolean | undefined
|
|
@@ -148,4 +155,18 @@ export interface RumInitConfiguration extends InitConfiguration {
|
|
|
148
155
|
* 是否以 128 字节的方式生成 traceID,与 traceType 对应,目前支持类型 zipkin、jaeger。
|
|
149
156
|
*/
|
|
150
157
|
traceId128Bit?: boolean | undefined
|
|
158
|
+
/**
|
|
159
|
+
* Fetch/Xhr 拦截之后,往请求 header 添加额外 header-key,受 allowedTracingUrls 影响
|
|
160
|
+
* @param context 事件额外属性 { traceId:string; spanId:string; traceSampled: number}
|
|
161
|
+
* @returns 返回 key: value 对象, 请求添加的额外 key
|
|
162
|
+
*/
|
|
163
|
+
injectTraceHeader?: (context?: {
|
|
164
|
+
traceId: string
|
|
165
|
+
spanId: string
|
|
166
|
+
traceSampled: number
|
|
167
|
+
}) => { [key: string]: string } | undefined
|
|
151
168
|
}
|
|
169
|
+
export type RumInitConfiguration = RumBaseInitConfiguration &
|
|
170
|
+
DatakitInitConfiguration
|
|
171
|
+
export type RumSiteInitConfiguration = RumBaseInitConfiguration &
|
|
172
|
+
SiteInitConfiguration
|