@cloudcare/rum-uniapp 2.1.18 → 2.1.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/README.md +42 -34
- package/cjs/boot/buildEnv.js +3 -4
- package/cjs/boot/rum.entry.js +11 -36
- package/cjs/boot/rum.js +2 -25
- package/cjs/core/baseInfo.js +6 -25
- package/cjs/core/boundedBuffer.js +1 -7
- package/cjs/core/configuration.js +15 -27
- package/cjs/core/contextManager.js +5 -17
- package/cjs/core/dataMap.js +5 -10
- package/cjs/core/downloadProxy.js +4 -26
- package/cjs/core/errorCollection.js +5 -35
- package/cjs/core/errorFilter.js +0 -8
- package/cjs/core/errorTools.js +2 -10
- package/cjs/core/heavyCustomerDataWarning.js +3 -9
- package/cjs/core/lifeCycle.js +8 -18
- package/cjs/core/observable.js +7 -13
- package/cjs/core/sdk.js +11 -19
- package/cjs/core/sessionManagement.js +8 -17
- package/cjs/core/transport.js +6 -53
- package/cjs/core/user.js +2 -7
- package/cjs/core/xhrProxy.js +4 -26
- package/cjs/helper/byteUtils.js +6 -12
- package/cjs/helper/commonContext.js +2 -3
- package/cjs/helper/enums.js +17 -28
- package/cjs/helper/jsonStringify.js +5 -12
- package/cjs/helper/limitModification.js +3 -21
- package/cjs/helper/tracekit.js +32 -145
- package/cjs/helper/utils.js +92 -306
- package/cjs/index.js +0 -1
- package/cjs/main.js +10 -0
- package/cjs/rumEventsCollection/action/actionCollection.js +0 -9
- package/cjs/rumEventsCollection/action/trackActions.js +46 -39
- package/cjs/rumEventsCollection/app/appCollection.js +0 -6
- package/cjs/rumEventsCollection/app/index.js +14 -25
- package/cjs/rumEventsCollection/assembly.js +0 -14
- package/cjs/rumEventsCollection/error/errorCollection.js +1 -16
- package/cjs/rumEventsCollection/internalContext.js +0 -2
- package/cjs/rumEventsCollection/page/index.js +19 -49
- package/cjs/rumEventsCollection/page/viewCollection.js +0 -8
- package/cjs/rumEventsCollection/parentContexts.js +3 -20
- package/cjs/rumEventsCollection/performanceCollection.js +0 -4
- package/cjs/rumEventsCollection/requestCollection.js +1 -14
- package/cjs/rumEventsCollection/resource/resourceCollection.js +0 -11
- package/cjs/rumEventsCollection/resource/resourceUtils.js +50 -46
- package/cjs/rumEventsCollection/setDataCollection.js +0 -16
- package/cjs/rumEventsCollection/tracing/ddtraceTracer.js +0 -6
- package/cjs/rumEventsCollection/tracing/jaegerTracer.js +3 -9
- package/cjs/rumEventsCollection/tracing/skywalkingTracer.js +3 -10
- package/cjs/rumEventsCollection/tracing/tracer.js +1 -25
- package/cjs/rumEventsCollection/tracing/w3cTraceParentTracer.js +1 -6
- package/cjs/rumEventsCollection/tracing/zipkinMultiTracer.js +3 -10
- package/cjs/rumEventsCollection/tracing/zipkinSingleTracer.js +1 -6
- package/cjs/rumEventsCollection/trackEventCounts.js +0 -8
- package/cjs/rumEventsCollection/trackPageActiveites.js +10 -33
- package/cjs/rumEventsCollection/transport/batch.js +0 -9
- package/esm/boot/buildEnv.js +1 -1
- package/esm/boot/rum.entry.js +8 -20
- package/esm/boot/rum.js +0 -4
- package/esm/core/baseInfo.js +0 -11
- package/esm/core/boundedBuffer.js +0 -3
- package/esm/core/configuration.js +13 -21
- package/esm/core/contextManager.js +3 -8
- package/esm/core/dataMap.js +2 -2
- package/esm/core/downloadProxy.js +2 -17
- package/esm/core/errorCollection.js +2 -15
- package/esm/core/errorFilter.js +0 -5
- package/esm/core/errorTools.js +0 -3
- package/esm/core/heavyCustomerDataWarning.js +3 -3
- package/esm/core/lifeCycle.js +0 -5
- package/esm/core/observable.js +0 -3
- package/esm/core/sdk.js +8 -12
- package/esm/core/sessionManagement.js +0 -3
- package/esm/core/transport.js +4 -38
- package/esm/core/user.js +2 -4
- package/esm/core/xhrProxy.js +2 -17
- package/esm/helper/byteUtils.js +4 -7
- package/esm/helper/commonContext.js +2 -2
- package/esm/helper/jsonStringify.js +4 -7
- package/esm/helper/limitModification.js +1 -11
- package/esm/helper/tracekit.js +29 -130
- package/esm/helper/utils.js +27 -125
- package/esm/main.js +4 -0
- package/esm/rumEventsCollection/action/actionCollection.js +0 -4
- package/esm/rumEventsCollection/action/trackActions.js +46 -31
- package/esm/rumEventsCollection/app/appCollection.js +0 -1
- package/esm/rumEventsCollection/app/index.js +12 -17
- package/esm/rumEventsCollection/assembly.js +0 -6
- package/esm/rumEventsCollection/error/errorCollection.js +0 -7
- package/esm/rumEventsCollection/internalContext.js +0 -1
- package/esm/rumEventsCollection/page/index.js +19 -43
- package/esm/rumEventsCollection/page/viewCollection.js +0 -3
- package/esm/rumEventsCollection/parentContexts.js +0 -10
- package/esm/rumEventsCollection/requestCollection.js +0 -4
- package/esm/rumEventsCollection/resource/resourceCollection.js +0 -5
- package/esm/rumEventsCollection/resource/resourceUtils.js +48 -39
- package/esm/rumEventsCollection/setDataCollection.js +0 -13
- package/esm/rumEventsCollection/tracing/ddtraceTracer.js +0 -4
- package/esm/rumEventsCollection/tracing/jaegerTracer.js +3 -7
- package/esm/rumEventsCollection/tracing/skywalkingTracer.js +5 -9
- package/esm/rumEventsCollection/tracing/tracer.js +0 -14
- package/esm/rumEventsCollection/tracing/w3cTraceParentTracer.js +1 -4
- package/esm/rumEventsCollection/tracing/zipkinMultiTracer.js +3 -8
- package/esm/rumEventsCollection/tracing/zipkinSingleTracer.js +1 -4
- package/esm/rumEventsCollection/trackEventCounts.js +0 -4
- package/esm/rumEventsCollection/trackPageActiveites.js +9 -22
- package/esm/rumEventsCollection/transport/batch.js +0 -5
- package/package.json +7 -4
package/esm/helper/utils.js
CHANGED
|
@@ -14,7 +14,6 @@ export var isArguments = function isArguments(obj) {
|
|
|
14
14
|
};
|
|
15
15
|
export var each = function each(obj, iterator, context) {
|
|
16
16
|
if (obj === null) return false;
|
|
17
|
-
|
|
18
17
|
if (nativeForEach && obj.forEach === nativeForEach) {
|
|
19
18
|
obj.forEach(iterator, context);
|
|
20
19
|
} else if (obj.length === +obj.length) {
|
|
@@ -35,11 +34,9 @@ export var each = function each(obj, iterator, context) {
|
|
|
35
34
|
};
|
|
36
35
|
export var values = function values(obj) {
|
|
37
36
|
var results = [];
|
|
38
|
-
|
|
39
37
|
if (obj === null) {
|
|
40
38
|
return results;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
40
|
each(obj, function (value) {
|
|
44
41
|
results[results.length] = value;
|
|
45
42
|
});
|
|
@@ -47,11 +44,9 @@ export var values = function values(obj) {
|
|
|
47
44
|
};
|
|
48
45
|
export var keys = function keys(obj) {
|
|
49
46
|
var results = [];
|
|
50
|
-
|
|
51
47
|
if (obj === null) {
|
|
52
48
|
return results;
|
|
53
49
|
}
|
|
54
|
-
|
|
55
50
|
each(obj, function (value, key) {
|
|
56
51
|
results[results.length] = key;
|
|
57
52
|
});
|
|
@@ -59,7 +54,6 @@ export var keys = function keys(obj) {
|
|
|
59
54
|
};
|
|
60
55
|
export var indexOf = function indexOf(arr, target) {
|
|
61
56
|
var indexOf = arr.indexOf;
|
|
62
|
-
|
|
63
57
|
if (indexOf) {
|
|
64
58
|
return indexOf.call(arr, target);
|
|
65
59
|
} else {
|
|
@@ -68,7 +62,6 @@ export var indexOf = function indexOf(arr, target) {
|
|
|
68
62
|
return i;
|
|
69
63
|
}
|
|
70
64
|
}
|
|
71
|
-
|
|
72
65
|
return -1;
|
|
73
66
|
}
|
|
74
67
|
};
|
|
@@ -79,14 +72,12 @@ export function toServerDuration(duration) {
|
|
|
79
72
|
if (!isNumber(duration)) {
|
|
80
73
|
return duration;
|
|
81
74
|
}
|
|
82
|
-
|
|
83
75
|
return round(duration * 1e6, 0);
|
|
84
76
|
}
|
|
85
77
|
export function msToNs(duration) {
|
|
86
78
|
if (typeof duration !== 'number') {
|
|
87
79
|
return duration;
|
|
88
80
|
}
|
|
89
|
-
|
|
90
81
|
return round(duration * 1e6, 0);
|
|
91
82
|
}
|
|
92
83
|
export var isUndefined = function isUndefined(obj) {
|
|
@@ -108,7 +99,6 @@ export var isFunction = function isFunction(f) {
|
|
|
108
99
|
if (!f) {
|
|
109
100
|
return false;
|
|
110
101
|
}
|
|
111
|
-
|
|
112
102
|
try {
|
|
113
103
|
return /^\s*\bfunction\b/.test(f);
|
|
114
104
|
} catch (err) {
|
|
@@ -120,55 +110,47 @@ export var isArray = nativeIsArray || function (obj) {
|
|
|
120
110
|
};
|
|
121
111
|
export var toArray = function toArray(iterable) {
|
|
122
112
|
if (!iterable) return [];
|
|
123
|
-
|
|
124
113
|
if (iterable.toArray) {
|
|
125
114
|
return iterable.toArray();
|
|
126
115
|
}
|
|
127
|
-
|
|
128
116
|
if (Array.isArray(iterable)) {
|
|
129
117
|
return slice.call(iterable);
|
|
130
118
|
}
|
|
131
|
-
|
|
132
119
|
if (isArguments(iterable)) {
|
|
133
120
|
return slice.call(iterable);
|
|
134
121
|
}
|
|
135
|
-
|
|
136
122
|
return values(iterable);
|
|
137
123
|
};
|
|
138
124
|
export var areInOrder = function areInOrder() {
|
|
139
125
|
var numbers = toArray(arguments);
|
|
140
|
-
|
|
141
126
|
for (var i = 1; i < numbers.length; i += 1) {
|
|
142
127
|
if (numbers[i - 1] > numbers[i]) {
|
|
143
128
|
return false;
|
|
144
129
|
}
|
|
145
130
|
}
|
|
146
|
-
|
|
147
131
|
return true;
|
|
148
132
|
};
|
|
149
133
|
/**
|
|
150
134
|
* UUID v4
|
|
151
135
|
* from https://gist.github.com/jed/982883
|
|
152
136
|
*/
|
|
153
|
-
|
|
154
137
|
export function UUID(placeholder) {
|
|
155
|
-
return placeholder ?
|
|
138
|
+
return placeholder ?
|
|
139
|
+
// tslint:disable-next-line no-bitwise
|
|
156
140
|
(parseInt(placeholder, 10) ^ Math.random() * 16 >> parseInt(placeholder, 10) / 4).toString(16) : "".concat(1e7, "-", 1e3, "-", 4e3, "-", 8e3, "-", 1e11).replace(/[018]/g, UUID);
|
|
157
141
|
}
|
|
158
142
|
export var utf8Encode = function utf8Encode(string) {
|
|
159
143
|
string = (string + '').replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
160
144
|
var utftext = '',
|
|
161
|
-
|
|
162
|
-
|
|
145
|
+
start,
|
|
146
|
+
end;
|
|
163
147
|
var stringl = 0,
|
|
164
|
-
|
|
148
|
+
n;
|
|
165
149
|
start = end = 0;
|
|
166
150
|
stringl = string.length;
|
|
167
|
-
|
|
168
151
|
for (n = 0; n < stringl; n++) {
|
|
169
152
|
var c1 = string.charCodeAt(n);
|
|
170
153
|
var enc = null;
|
|
171
|
-
|
|
172
154
|
if (c1 < 128) {
|
|
173
155
|
end++;
|
|
174
156
|
} else if (c1 > 127 && c1 < 2048) {
|
|
@@ -176,45 +158,38 @@ export var utf8Encode = function utf8Encode(string) {
|
|
|
176
158
|
} else {
|
|
177
159
|
enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);
|
|
178
160
|
}
|
|
179
|
-
|
|
180
161
|
if (enc !== null) {
|
|
181
162
|
if (end > start) {
|
|
182
163
|
utftext += string.substring(start, end);
|
|
183
164
|
}
|
|
184
|
-
|
|
185
165
|
utftext += enc;
|
|
186
166
|
start = end = n + 1;
|
|
187
167
|
}
|
|
188
168
|
}
|
|
189
|
-
|
|
190
169
|
if (end > start) {
|
|
191
170
|
utftext += string.substring(start, string.length);
|
|
192
171
|
}
|
|
193
|
-
|
|
194
172
|
return utftext;
|
|
195
173
|
};
|
|
196
174
|
export var base64Encode = function base64Encode(data) {
|
|
197
175
|
data = String(data);
|
|
198
176
|
var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
|
199
177
|
var o1,
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
178
|
+
o2,
|
|
179
|
+
o3,
|
|
180
|
+
h1,
|
|
181
|
+
h2,
|
|
182
|
+
h3,
|
|
183
|
+
h4,
|
|
184
|
+
bits,
|
|
185
|
+
i = 0,
|
|
186
|
+
ac = 0,
|
|
187
|
+
enc = '',
|
|
188
|
+
tmp_arr = [];
|
|
212
189
|
if (!data) {
|
|
213
190
|
return data;
|
|
214
191
|
}
|
|
215
|
-
|
|
216
192
|
data = utf8Encode(data);
|
|
217
|
-
|
|
218
193
|
do {
|
|
219
194
|
o1 = data.charCodeAt(i++);
|
|
220
195
|
o2 = data.charCodeAt(i++);
|
|
@@ -226,41 +201,33 @@ export var base64Encode = function base64Encode(data) {
|
|
|
226
201
|
h4 = bits & 0x3f;
|
|
227
202
|
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
|
|
228
203
|
} while (i < data.length);
|
|
229
|
-
|
|
230
204
|
enc = tmp_arr.join('');
|
|
231
|
-
|
|
232
205
|
switch (data.length % 3) {
|
|
233
206
|
case 1:
|
|
234
207
|
enc = enc.slice(0, -2) + '==';
|
|
235
208
|
break;
|
|
236
|
-
|
|
237
209
|
case 2:
|
|
238
210
|
enc = enc.slice(0, -1) + '=';
|
|
239
211
|
break;
|
|
240
212
|
}
|
|
241
|
-
|
|
242
213
|
return enc;
|
|
243
214
|
};
|
|
244
|
-
|
|
245
215
|
function hasToJSON(value) {
|
|
246
216
|
return typeof value === 'object' && value !== null && value.hasOwnProperty('toJSON');
|
|
247
217
|
}
|
|
248
|
-
|
|
249
218
|
export function elapsed(start, end) {
|
|
250
219
|
return end - start;
|
|
251
220
|
}
|
|
252
221
|
export function getMethods(obj) {
|
|
253
222
|
var funcs = [];
|
|
254
|
-
|
|
255
223
|
for (var key in obj) {
|
|
256
224
|
if (typeof obj[key] === 'function' && !MpHook[key]) {
|
|
257
225
|
funcs.push(key);
|
|
258
226
|
}
|
|
259
227
|
}
|
|
260
|
-
|
|
261
228
|
return funcs;
|
|
262
|
-
}
|
|
263
|
-
|
|
229
|
+
}
|
|
230
|
+
// 替换url包含数字的路由
|
|
264
231
|
export function replaceNumberCharByPath(path) {
|
|
265
232
|
if (path) {
|
|
266
233
|
return path.replace(/\/([^\/]*)\d([^\/]*)/g, '/?');
|
|
@@ -276,24 +243,19 @@ export var getQueryParamsFromUrl = function getQueryParamsFromUrl(url) {
|
|
|
276
243
|
var result = {};
|
|
277
244
|
var arr = url.split('?');
|
|
278
245
|
var queryString = arr[1] || '';
|
|
279
|
-
|
|
280
246
|
if (queryString) {
|
|
281
247
|
result = getURLSearchParams('?' + queryString);
|
|
282
248
|
}
|
|
283
|
-
|
|
284
249
|
return result;
|
|
285
250
|
};
|
|
286
251
|
export var getURLSearchParams = function getURLSearchParams(queryString) {
|
|
287
252
|
queryString = queryString || '';
|
|
288
|
-
|
|
289
253
|
var decodeParam = function decodeParam(str) {
|
|
290
254
|
return decodeURIComponent(str);
|
|
291
255
|
};
|
|
292
|
-
|
|
293
256
|
var args = {};
|
|
294
257
|
var query = queryString.substring(1);
|
|
295
258
|
var pairs = query.split('&');
|
|
296
|
-
|
|
297
259
|
for (var i = 0; i < pairs.length; i++) {
|
|
298
260
|
var pos = pairs[i].indexOf('=');
|
|
299
261
|
if (pos === -1) continue;
|
|
@@ -303,7 +265,6 @@ export var getURLSearchParams = function getURLSearchParams(queryString) {
|
|
|
303
265
|
value = decodeParam(value);
|
|
304
266
|
args[name] = value;
|
|
305
267
|
}
|
|
306
|
-
|
|
307
268
|
return args;
|
|
308
269
|
};
|
|
309
270
|
export function isPercentage(value) {
|
|
@@ -347,7 +308,6 @@ export var isEmptyObject = function isEmptyObject(obj) {
|
|
|
347
308
|
return false;
|
|
348
309
|
}
|
|
349
310
|
}
|
|
350
|
-
|
|
351
311
|
return true;
|
|
352
312
|
} else {
|
|
353
313
|
return false;
|
|
@@ -359,18 +319,15 @@ export var isJSONString = function isJSONString(str) {
|
|
|
359
319
|
} catch (e) {
|
|
360
320
|
return false;
|
|
361
321
|
}
|
|
362
|
-
|
|
363
322
|
return true;
|
|
364
323
|
};
|
|
365
324
|
export var safeJSONParse = function safeJSONParse(str) {
|
|
366
325
|
var val = null;
|
|
367
|
-
|
|
368
326
|
try {
|
|
369
327
|
val = JSON.parse(str);
|
|
370
328
|
} catch (e) {
|
|
371
329
|
return false;
|
|
372
330
|
}
|
|
373
|
-
|
|
374
331
|
return val;
|
|
375
332
|
};
|
|
376
333
|
export var now = Date.now || function () {
|
|
@@ -389,19 +346,16 @@ export var throttle = function throttle(fn, wait, options) {
|
|
|
389
346
|
pendingExecutionWithParameters = arguments;
|
|
390
347
|
return;
|
|
391
348
|
}
|
|
392
|
-
|
|
393
349
|
if (needLeadingExecution) {
|
|
394
350
|
fn.apply(context, arguments);
|
|
395
351
|
} else {
|
|
396
352
|
pendingExecutionWithParameters = arguments;
|
|
397
353
|
}
|
|
398
|
-
|
|
399
354
|
inWaitPeriod = true;
|
|
400
355
|
pendingTimeoutId = setTimeout(function () {
|
|
401
356
|
if (needTrailingExecution && pendingExecutionWithParameters) {
|
|
402
357
|
fn.apply(context, pendingExecutionWithParameters);
|
|
403
358
|
}
|
|
404
|
-
|
|
405
359
|
inWaitPeriod = false;
|
|
406
360
|
pendingExecutionWithParameters = undefined;
|
|
407
361
|
}, wait);
|
|
@@ -418,23 +372,19 @@ export function noop() {}
|
|
|
418
372
|
* Return true if the draw is successful
|
|
419
373
|
* @param threshold between 0 and 100
|
|
420
374
|
*/
|
|
421
|
-
|
|
422
375
|
export function performDraw(threshold) {
|
|
423
376
|
return threshold !== 0 && Math.random() * 100 <= threshold;
|
|
424
377
|
}
|
|
425
378
|
export function findByPath(source, path) {
|
|
426
379
|
var pathArr = path.split('.');
|
|
427
|
-
|
|
428
380
|
while (pathArr.length) {
|
|
429
381
|
var key = pathArr.shift();
|
|
430
|
-
|
|
431
382
|
if (source && key in source && hasOwnProperty.call(source, key)) {
|
|
432
383
|
source = source[key];
|
|
433
384
|
} else {
|
|
434
385
|
return undefined;
|
|
435
386
|
}
|
|
436
387
|
}
|
|
437
|
-
|
|
438
388
|
return source;
|
|
439
389
|
}
|
|
440
390
|
export function withSnakeCaseKeys(candidate) {
|
|
@@ -448,11 +398,9 @@ export function deepSnakeCase(candidate) {
|
|
|
448
398
|
if (Array.isArray(candidate)) {
|
|
449
399
|
return candidate.map(value => deepSnakeCase(value));
|
|
450
400
|
}
|
|
451
|
-
|
|
452
401
|
if (typeof candidate === 'object' && candidate !== null) {
|
|
453
402
|
return withSnakeCaseKeys(candidate);
|
|
454
403
|
}
|
|
455
|
-
|
|
456
404
|
return candidate;
|
|
457
405
|
}
|
|
458
406
|
export function toSnakeCase(word) {
|
|
@@ -466,7 +414,6 @@ export function escapeRowData(str) {
|
|
|
466
414
|
} else if (!isString(str)) {
|
|
467
415
|
return str;
|
|
468
416
|
}
|
|
469
|
-
|
|
470
417
|
var reg = /[\s=,"]/g;
|
|
471
418
|
return String(str).replace(reg, function (word) {
|
|
472
419
|
return '\\' + word;
|
|
@@ -507,29 +454,23 @@ export var urlParse = function urlParse(para) {
|
|
|
507
454
|
this._values = {};
|
|
508
455
|
this._regex = null;
|
|
509
456
|
this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;
|
|
510
|
-
|
|
511
457
|
if (typeof a != 'undefined') {
|
|
512
458
|
this._parse(a);
|
|
513
459
|
}
|
|
514
460
|
};
|
|
515
|
-
|
|
516
461
|
URLParser.prototype.setUrl = function (a) {
|
|
517
462
|
this._parse(a);
|
|
518
463
|
};
|
|
519
|
-
|
|
520
464
|
URLParser.prototype._initValues = function () {
|
|
521
465
|
for (var a in this._fields) {
|
|
522
466
|
this._values[a] = '';
|
|
523
467
|
}
|
|
524
468
|
};
|
|
525
|
-
|
|
526
469
|
URLParser.prototype.addQueryString = function (queryObj) {
|
|
527
470
|
if (typeof queryObj !== 'object') {
|
|
528
471
|
return false;
|
|
529
472
|
}
|
|
530
|
-
|
|
531
473
|
var query = this._values.QueryString || '';
|
|
532
|
-
|
|
533
474
|
for (var i in queryObj) {
|
|
534
475
|
if (new RegExp(i + '[^&]+').test(query)) {
|
|
535
476
|
query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i]);
|
|
@@ -545,60 +486,47 @@ export var urlParse = function urlParse(para) {
|
|
|
545
486
|
}
|
|
546
487
|
}
|
|
547
488
|
}
|
|
548
|
-
|
|
549
489
|
this._values.QueryString = query;
|
|
550
490
|
};
|
|
551
|
-
|
|
552
491
|
URLParser.prototype.getParse = function () {
|
|
553
492
|
return this._values;
|
|
554
493
|
};
|
|
555
|
-
|
|
556
494
|
URLParser.prototype.getUrl = function () {
|
|
557
495
|
var url = '';
|
|
558
|
-
url += this._values.Origin;
|
|
559
|
-
|
|
496
|
+
url += this._values.Origin;
|
|
497
|
+
// url += this._values.Port ? ':' + this._values.Port : ''
|
|
560
498
|
url += this._values.Path;
|
|
561
499
|
url += this._values.QueryString ? '?' + this._values.QueryString : '';
|
|
562
500
|
return url;
|
|
563
501
|
};
|
|
564
|
-
|
|
565
502
|
URLParser.prototype._parse = function (a) {
|
|
566
503
|
this._initValues();
|
|
567
|
-
|
|
568
504
|
var b = this._regex.exec(a);
|
|
569
|
-
|
|
570
505
|
if (!b) {
|
|
571
506
|
throw 'DPURLParser::_parse -> Invalid URL';
|
|
572
507
|
}
|
|
573
|
-
|
|
574
508
|
for (var c in this._fields) {
|
|
575
509
|
if (typeof b[this._fields[c]] != 'undefined') {
|
|
576
510
|
this._values[c] = b[this._fields[c]];
|
|
577
511
|
}
|
|
578
512
|
}
|
|
579
|
-
|
|
580
513
|
this._values['Path'] = this._values['Path'] || '/';
|
|
581
514
|
this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '');
|
|
582
515
|
this._values['Origin'] = this._values['Protocol'] + '://' + this._values['Hostname'] + (this._values.Port ? ':' + this._values.Port : '');
|
|
583
516
|
};
|
|
584
|
-
|
|
585
517
|
return new URLParser(para);
|
|
586
518
|
};
|
|
587
519
|
export var getOwnObjectKeys = function getOwnObjectKeys(obj, isEnumerable) {
|
|
588
520
|
var keys = Object.keys(obj);
|
|
589
|
-
|
|
590
521
|
if (Object.getOwnPropertySymbols) {
|
|
591
522
|
var symbols = Object.getOwnPropertySymbols(obj);
|
|
592
|
-
|
|
593
523
|
if (isEnumerable) {
|
|
594
524
|
symbols = symbols.filter(function (t) {
|
|
595
525
|
return Object.getOwnPropertyDescriptor(obj, t).enumerable;
|
|
596
526
|
});
|
|
597
527
|
}
|
|
598
|
-
|
|
599
528
|
keys.push.apply(keys, symbols);
|
|
600
529
|
}
|
|
601
|
-
|
|
602
530
|
return keys;
|
|
603
531
|
};
|
|
604
532
|
export var defineObject = function defineObject(obj, key, value) {
|
|
@@ -612,13 +540,11 @@ export var defineObject = function defineObject(obj, key, value) {
|
|
|
612
540
|
} else {
|
|
613
541
|
obj[key] = value;
|
|
614
542
|
}
|
|
615
|
-
|
|
616
543
|
return obj;
|
|
617
544
|
};
|
|
618
545
|
export var deepMixObject = function deepMixObject(targetObj) {
|
|
619
546
|
for (var t = 1; t < arguments.length; t++) {
|
|
620
547
|
var target = arguments[t] != null ? arguments[t] : {};
|
|
621
|
-
|
|
622
548
|
if (t % 2) {
|
|
623
549
|
getOwnObjectKeys(Object(target), true).forEach(function (t) {
|
|
624
550
|
defineObject(targetObj, t, target[t]);
|
|
@@ -633,7 +559,6 @@ export var deepMixObject = function deepMixObject(targetObj) {
|
|
|
633
559
|
}
|
|
634
560
|
}
|
|
635
561
|
}
|
|
636
|
-
|
|
637
562
|
return targetObj;
|
|
638
563
|
};
|
|
639
564
|
export function getOrigin(url) {
|
|
@@ -641,43 +566,35 @@ export function getOrigin(url) {
|
|
|
641
566
|
}
|
|
642
567
|
export function getActivePage() {
|
|
643
568
|
var curPages = typeof getCurrentPages === 'function' ? getCurrentPages() : [];
|
|
644
|
-
|
|
645
569
|
if (curPages.length) {
|
|
646
570
|
return curPages[curPages.length - 1];
|
|
647
571
|
}
|
|
648
|
-
|
|
649
572
|
return {};
|
|
650
573
|
}
|
|
651
574
|
export function findCommaSeparatedValue(rawString, name) {
|
|
652
575
|
var matches = rawString.match('(?:^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
|
|
653
576
|
return matches ? matches[1] : undefined;
|
|
654
577
|
}
|
|
655
|
-
|
|
656
578
|
function createCircularReferenceChecker() {
|
|
657
579
|
if (typeof WeakSet !== 'undefined') {
|
|
658
580
|
var set = new WeakSet();
|
|
659
581
|
return {
|
|
660
582
|
hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
|
|
661
583
|
var has = set.has(value);
|
|
662
|
-
|
|
663
584
|
if (!has) {
|
|
664
585
|
set.add(value);
|
|
665
586
|
}
|
|
666
|
-
|
|
667
587
|
return has;
|
|
668
588
|
}
|
|
669
589
|
};
|
|
670
590
|
}
|
|
671
|
-
|
|
672
591
|
var array = [];
|
|
673
592
|
return {
|
|
674
593
|
hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
|
|
675
594
|
var has = array.indexOf(value) >= 0;
|
|
676
|
-
|
|
677
595
|
if (!has) {
|
|
678
596
|
array.push(value);
|
|
679
597
|
}
|
|
680
|
-
|
|
681
598
|
return has;
|
|
682
599
|
}
|
|
683
600
|
};
|
|
@@ -685,75 +602,63 @@ function createCircularReferenceChecker() {
|
|
|
685
602
|
/**
|
|
686
603
|
* Similar to `typeof`, but distinguish plain objects from `null` and arrays
|
|
687
604
|
*/
|
|
688
|
-
|
|
689
|
-
|
|
690
605
|
export function getType(value) {
|
|
691
606
|
if (value === null) {
|
|
692
607
|
return 'null';
|
|
693
608
|
}
|
|
694
|
-
|
|
695
609
|
if (Array.isArray(value)) {
|
|
696
610
|
return 'array';
|
|
697
611
|
}
|
|
698
|
-
|
|
699
612
|
return typeof value;
|
|
700
613
|
}
|
|
701
614
|
/**
|
|
702
615
|
* Iterate over source and affect its sub values into destination, recursively.
|
|
703
616
|
* If the source and destination can't be merged, return source.
|
|
704
617
|
*/
|
|
705
|
-
|
|
706
618
|
export function mergeInto(destination, source, circularReferenceChecker) {
|
|
707
619
|
// ignore the source if it is undefined
|
|
708
620
|
if (typeof circularReferenceChecker === 'undefined') {
|
|
709
621
|
circularReferenceChecker = createCircularReferenceChecker();
|
|
710
622
|
}
|
|
711
|
-
|
|
712
623
|
if (source === undefined) {
|
|
713
624
|
return destination;
|
|
714
625
|
}
|
|
715
|
-
|
|
716
626
|
if (typeof source !== 'object' || source === null) {
|
|
717
627
|
// primitive values - just return source
|
|
718
628
|
return source;
|
|
719
629
|
} else if (source instanceof Date) {
|
|
720
630
|
return new Date(source.getTime());
|
|
721
631
|
} else if (source instanceof RegExp) {
|
|
722
|
-
var flags = source.flags ||
|
|
632
|
+
var flags = source.flags ||
|
|
633
|
+
// old browsers compatibility
|
|
723
634
|
[source.global ? 'g' : '', source.ignoreCase ? 'i' : '', source.multiline ? 'm' : '', source.sticky ? 'y' : '', source.unicode ? 'u' : ''].join('');
|
|
724
635
|
return new RegExp(source.source, flags);
|
|
725
636
|
}
|
|
726
|
-
|
|
727
637
|
if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {
|
|
728
638
|
// remove circular references
|
|
729
639
|
return undefined;
|
|
730
640
|
} else if (Array.isArray(source)) {
|
|
731
641
|
var merged = Array.isArray(destination) ? destination : [];
|
|
732
|
-
|
|
733
642
|
for (var i = 0; i < source.length; ++i) {
|
|
734
643
|
merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker);
|
|
735
644
|
}
|
|
736
|
-
|
|
737
645
|
return merged;
|
|
738
646
|
}
|
|
739
|
-
|
|
740
647
|
var merged = getType(destination) === 'object' ? destination : {};
|
|
741
|
-
|
|
742
648
|
for (var key in source) {
|
|
743
649
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
744
650
|
merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);
|
|
745
651
|
}
|
|
746
652
|
}
|
|
747
|
-
|
|
748
653
|
return merged;
|
|
749
654
|
}
|
|
655
|
+
|
|
750
656
|
/**
|
|
751
657
|
* A simplistic implementation of a deep clone algorithm.
|
|
752
658
|
* Caveats:
|
|
753
659
|
* - It doesn't maintain prototype chains - don't use with instances of custom classes.
|
|
754
660
|
* - It doesn't handle Map and Set
|
|
755
661
|
*/
|
|
756
|
-
|
|
757
662
|
export function deepClone(value) {
|
|
758
663
|
return mergeInto(undefined, value);
|
|
759
664
|
}
|
|
@@ -767,18 +672,16 @@ export function getGlobalObject() {
|
|
|
767
672
|
if (typeof globalThis === 'object') {
|
|
768
673
|
return globalThis;
|
|
769
674
|
}
|
|
770
|
-
|
|
771
675
|
Object.defineProperty(Object.prototype, '_dd_temp_', {
|
|
772
676
|
get: function get() {
|
|
773
677
|
return this;
|
|
774
678
|
},
|
|
775
679
|
configurable: true
|
|
776
|
-
});
|
|
777
|
-
|
|
778
|
-
var globalObject = _dd_temp_;
|
|
779
|
-
|
|
680
|
+
});
|
|
681
|
+
// @ts-ignore
|
|
682
|
+
var globalObject = _dd_temp_;
|
|
683
|
+
// @ts-ignore
|
|
780
684
|
delete Object.prototype._dd_temp_;
|
|
781
|
-
|
|
782
685
|
if (typeof globalObject !== 'object') {
|
|
783
686
|
// on safari _dd_temp_ is available on window but not globally
|
|
784
687
|
// fallback on other browser globals check
|
|
@@ -790,6 +693,5 @@ export function getGlobalObject() {
|
|
|
790
693
|
globalObject = {};
|
|
791
694
|
}
|
|
792
695
|
}
|
|
793
|
-
|
|
794
696
|
return globalObject;
|
|
795
697
|
}
|
package/esm/main.js
ADDED
|
@@ -6,11 +6,9 @@ export function startActionCollection(lifeCycle, configuration, Vue) {
|
|
|
6
6
|
lifeCycle.subscribe(LifeCycleEventType.AUTO_ACTION_COMPLETED, function (action) {
|
|
7
7
|
lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, processAction(action));
|
|
8
8
|
});
|
|
9
|
-
|
|
10
9
|
if (configuration.trackInteractions) {
|
|
11
10
|
trackActions(lifeCycle, Vue);
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
return {
|
|
15
13
|
addAction: function addAction(action, savedCommonContext) {
|
|
16
14
|
lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, extend2Lev({
|
|
@@ -19,7 +17,6 @@ export function startActionCollection(lifeCycle, configuration, Vue) {
|
|
|
19
17
|
}
|
|
20
18
|
};
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
function processAction(action) {
|
|
24
21
|
var autoActionProperties = isAutoAction(action) ? {
|
|
25
22
|
action: {
|
|
@@ -57,7 +54,6 @@ function processAction(action) {
|
|
|
57
54
|
startTime: action.startClocks
|
|
58
55
|
};
|
|
59
56
|
}
|
|
60
|
-
|
|
61
57
|
function isAutoAction(action) {
|
|
62
58
|
return action.type !== ActionType.custom;
|
|
63
59
|
}
|