@cloudcare/rum-uniapp 2.1.18 → 2.1.20
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 +4 -13
- 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 +33 -145
- package/cjs/helper/utils.js +92 -306
- package/cjs/index.js +0 -1
- package/cjs/rumEventsCollection/action/actionCollection.js +0 -9
- package/cjs/rumEventsCollection/action/trackActions.js +6 -28
- package/cjs/rumEventsCollection/app/appCollection.js +0 -6
- package/cjs/rumEventsCollection/app/index.js +14 -26
- 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 +5 -43
- 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 +1 -6
- 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 +30 -130
- package/esm/helper/utils.js +27 -125
- package/esm/rumEventsCollection/action/actionCollection.js +0 -4
- package/esm/rumEventsCollection/action/trackActions.js +6 -20
- package/esm/rumEventsCollection/app/appCollection.js +0 -1
- package/esm/rumEventsCollection/app/index.js +12 -18
- 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 +5 -37
- 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 +6 -3
package/cjs/helper/utils.js
CHANGED
|
@@ -3,41 +3,47 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.toServerDuration = toServerDuration;
|
|
8
|
-
exports.msToNs = msToNs;
|
|
6
|
+
exports.ONE_SECOND = exports.ONE_MINUTE = exports.ONE_HOUR = void 0;
|
|
9
7
|
exports.UUID = UUID;
|
|
8
|
+
exports.base64Encode = exports.areInOrder = void 0;
|
|
9
|
+
exports.deepClone = deepClone;
|
|
10
|
+
exports.deepMixObject = void 0;
|
|
11
|
+
exports.deepSnakeCase = deepSnakeCase;
|
|
12
|
+
exports.defineGlobal = defineGlobal;
|
|
13
|
+
exports.each = exports.defineObject = void 0;
|
|
10
14
|
exports.elapsed = elapsed;
|
|
15
|
+
exports.escapeFieldValueStr = escapeFieldValueStr;
|
|
16
|
+
exports.escapeJsonValue = escapeJsonValue;
|
|
17
|
+
exports.escapeRowData = escapeRowData;
|
|
18
|
+
exports.escapeRowField = escapeRowField;
|
|
19
|
+
exports.extend2Lev = exports.extend = void 0;
|
|
20
|
+
exports.findByPath = findByPath;
|
|
21
|
+
exports.findCommaSeparatedValue = findCommaSeparatedValue;
|
|
22
|
+
exports.getActivePage = getActivePage;
|
|
23
|
+
exports.getGlobalObject = getGlobalObject;
|
|
11
24
|
exports.getMethods = getMethods;
|
|
12
|
-
exports.
|
|
25
|
+
exports.getOrigin = getOrigin;
|
|
26
|
+
exports.getQueryParamsFromUrl = exports.getOwnObjectKeys = void 0;
|
|
13
27
|
exports.getStatusGroup = getStatusGroup;
|
|
28
|
+
exports.getType = getType;
|
|
29
|
+
exports.isObject = exports.isNumber = exports.isJSONString = exports.isFunction = exports.isEmptyObject = exports.isDate = exports.isBoolean = exports.isArray = exports.isArguments = exports.indexOf = exports.getURLSearchParams = void 0;
|
|
14
30
|
exports.isPercentage = isPercentage;
|
|
31
|
+
exports.keys = exports.isUndefined = exports.isString = void 0;
|
|
32
|
+
exports.mergeInto = mergeInto;
|
|
33
|
+
exports.msToNs = msToNs;
|
|
15
34
|
exports.noop = noop;
|
|
35
|
+
exports.now = void 0;
|
|
16
36
|
exports.performDraw = performDraw;
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
37
|
+
exports.replaceNumberCharByPath = replaceNumberCharByPath;
|
|
38
|
+
exports.round = round;
|
|
39
|
+
exports.toArray = exports.throttle = exports.safeJSONParse = void 0;
|
|
40
|
+
exports.toServerDuration = toServerDuration;
|
|
20
41
|
exports.toSnakeCase = toSnakeCase;
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.escapeFieldValueStr = escapeFieldValueStr;
|
|
24
|
-
exports.escapeRowField = escapeRowField;
|
|
25
|
-
exports.getOrigin = getOrigin;
|
|
26
|
-
exports.getActivePage = getActivePage;
|
|
27
|
-
exports.findCommaSeparatedValue = findCommaSeparatedValue;
|
|
28
|
-
exports.getType = getType;
|
|
29
|
-
exports.mergeInto = mergeInto;
|
|
30
|
-
exports.deepClone = deepClone;
|
|
31
|
-
exports.defineGlobal = defineGlobal;
|
|
32
|
-
exports.getGlobalObject = getGlobalObject;
|
|
33
|
-
exports.ONE_HOUR = exports.ONE_MINUTE = exports.ONE_SECOND = exports.deepMixObject = exports.defineObject = exports.getOwnObjectKeys = exports.urlParse = exports.throttle = exports.now = exports.safeJSONParse = exports.isJSONString = exports.isEmptyObject = exports.isObject = exports.trim = exports.extend2Lev = exports.extend = exports.getURLSearchParams = exports.getQueryParamsFromUrl = exports.base64Encode = exports.utf8Encode = exports.areInOrder = exports.toArray = exports.isArray = exports.isFunction = exports.isNumber = exports.isBoolean = exports.isDate = exports.isString = exports.isUndefined = exports.indexOf = exports.keys = exports.values = exports.each = exports.isArguments = void 0;
|
|
34
|
-
|
|
42
|
+
exports.values = exports.utf8Encode = exports.urlParse = exports.trim = void 0;
|
|
43
|
+
exports.withSnakeCaseKeys = withSnakeCaseKeys;
|
|
35
44
|
var _enums = require("./enums");
|
|
36
|
-
|
|
37
45
|
var _jsonStringify = require("../helper/jsonStringify");
|
|
38
|
-
|
|
39
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
40
|
-
|
|
46
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
41
47
|
var ArrayProto = Array.prototype;
|
|
42
48
|
var ObjProto = Object.prototype;
|
|
43
49
|
var ObjProto = Object.prototype;
|
|
@@ -47,16 +53,11 @@ var toString = ObjProto.toString;
|
|
|
47
53
|
var nativeForEach = ArrayProto.forEach;
|
|
48
54
|
var nativeIsArray = Array.isArray;
|
|
49
55
|
var breaker = false;
|
|
50
|
-
|
|
51
|
-
var isArguments = function isArguments(obj) {
|
|
56
|
+
var isArguments = exports.isArguments = function isArguments(obj) {
|
|
52
57
|
return !!(obj && hasOwnProperty.call(obj, 'callee'));
|
|
53
58
|
};
|
|
54
|
-
|
|
55
|
-
exports.isArguments = isArguments;
|
|
56
|
-
|
|
57
|
-
var each = function each(obj, iterator, context) {
|
|
59
|
+
var each = exports.each = function each(obj, iterator, context) {
|
|
58
60
|
if (obj === null) return false;
|
|
59
|
-
|
|
60
61
|
if (nativeForEach && obj.forEach === nativeForEach) {
|
|
61
62
|
obj.forEach(iterator, context);
|
|
62
63
|
} else if (obj.length === +obj.length) {
|
|
@@ -75,42 +76,28 @@ var each = function each(obj, iterator, context) {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
};
|
|
78
|
-
|
|
79
|
-
exports.each = each;
|
|
80
|
-
|
|
81
|
-
var values = function values(obj) {
|
|
79
|
+
var values = exports.values = function values(obj) {
|
|
82
80
|
var results = [];
|
|
83
|
-
|
|
84
81
|
if (obj === null) {
|
|
85
82
|
return results;
|
|
86
83
|
}
|
|
87
|
-
|
|
88
84
|
each(obj, function (value) {
|
|
89
85
|
results[results.length] = value;
|
|
90
86
|
});
|
|
91
87
|
return results;
|
|
92
88
|
};
|
|
93
|
-
|
|
94
|
-
exports.values = values;
|
|
95
|
-
|
|
96
|
-
var keys = function keys(obj) {
|
|
89
|
+
var keys = exports.keys = function keys(obj) {
|
|
97
90
|
var results = [];
|
|
98
|
-
|
|
99
91
|
if (obj === null) {
|
|
100
92
|
return results;
|
|
101
93
|
}
|
|
102
|
-
|
|
103
94
|
each(obj, function (value, key) {
|
|
104
95
|
results[results.length] = key;
|
|
105
96
|
});
|
|
106
97
|
return results;
|
|
107
98
|
};
|
|
108
|
-
|
|
109
|
-
exports.keys = keys;
|
|
110
|
-
|
|
111
|
-
var indexOf = function indexOf(arr, target) {
|
|
99
|
+
var indexOf = exports.indexOf = function indexOf(arr, target) {
|
|
112
100
|
var indexOf = arr.indexOf;
|
|
113
|
-
|
|
114
101
|
if (indexOf) {
|
|
115
102
|
return indexOf.call(arr, target);
|
|
116
103
|
} else {
|
|
@@ -119,141 +106,95 @@ var indexOf = function indexOf(arr, target) {
|
|
|
119
106
|
return i;
|
|
120
107
|
}
|
|
121
108
|
}
|
|
122
|
-
|
|
123
109
|
return -1;
|
|
124
110
|
}
|
|
125
111
|
};
|
|
126
|
-
|
|
127
|
-
exports.indexOf = indexOf;
|
|
128
|
-
|
|
129
112
|
function round(num, decimals) {
|
|
130
113
|
return +num.toFixed(decimals);
|
|
131
114
|
}
|
|
132
|
-
|
|
133
115
|
function toServerDuration(duration) {
|
|
134
116
|
if (!isNumber(duration)) {
|
|
135
117
|
return duration;
|
|
136
118
|
}
|
|
137
|
-
|
|
138
119
|
return round(duration * 1e6, 0);
|
|
139
120
|
}
|
|
140
|
-
|
|
141
121
|
function msToNs(duration) {
|
|
142
122
|
if (typeof duration !== 'number') {
|
|
143
123
|
return duration;
|
|
144
124
|
}
|
|
145
|
-
|
|
146
125
|
return round(duration * 1e6, 0);
|
|
147
126
|
}
|
|
148
|
-
|
|
149
|
-
var isUndefined = function isUndefined(obj) {
|
|
127
|
+
var isUndefined = exports.isUndefined = function isUndefined(obj) {
|
|
150
128
|
return obj === void 0;
|
|
151
129
|
};
|
|
152
|
-
|
|
153
|
-
exports.isUndefined = isUndefined;
|
|
154
|
-
|
|
155
|
-
var isString = function isString(obj) {
|
|
130
|
+
var isString = exports.isString = function isString(obj) {
|
|
156
131
|
return toString.call(obj) === '[object String]';
|
|
157
132
|
};
|
|
158
|
-
|
|
159
|
-
exports.isString = isString;
|
|
160
|
-
|
|
161
|
-
var isDate = function isDate(obj) {
|
|
133
|
+
var isDate = exports.isDate = function isDate(obj) {
|
|
162
134
|
return toString.call(obj) === '[object Date]';
|
|
163
135
|
};
|
|
164
|
-
|
|
165
|
-
exports.isDate = isDate;
|
|
166
|
-
|
|
167
|
-
var isBoolean = function isBoolean(obj) {
|
|
136
|
+
var isBoolean = exports.isBoolean = function isBoolean(obj) {
|
|
168
137
|
return toString.call(obj) === '[object Boolean]';
|
|
169
138
|
};
|
|
170
|
-
|
|
171
|
-
exports.isBoolean = isBoolean;
|
|
172
|
-
|
|
173
|
-
var isNumber = function isNumber(obj) {
|
|
139
|
+
var isNumber = exports.isNumber = function isNumber(obj) {
|
|
174
140
|
return toString.call(obj) === '[object Number]' && /[\d\.]+/.test(String(obj));
|
|
175
141
|
};
|
|
176
|
-
|
|
177
|
-
exports.isNumber = isNumber;
|
|
178
|
-
|
|
179
|
-
var isFunction = function isFunction(f) {
|
|
142
|
+
var isFunction = exports.isFunction = function isFunction(f) {
|
|
180
143
|
if (!f) {
|
|
181
144
|
return false;
|
|
182
145
|
}
|
|
183
|
-
|
|
184
146
|
try {
|
|
185
147
|
return /^\s*\bfunction\b/.test(f);
|
|
186
148
|
} catch (err) {
|
|
187
149
|
return false;
|
|
188
150
|
}
|
|
189
151
|
};
|
|
190
|
-
|
|
191
|
-
exports.isFunction = isFunction;
|
|
192
|
-
|
|
193
|
-
var isArray = nativeIsArray || function (obj) {
|
|
152
|
+
var isArray = exports.isArray = nativeIsArray || function (obj) {
|
|
194
153
|
return toString.call(obj) === '[object Array]';
|
|
195
154
|
};
|
|
196
|
-
|
|
197
|
-
exports.isArray = isArray;
|
|
198
|
-
|
|
199
|
-
var toArray = function toArray(iterable) {
|
|
155
|
+
var toArray = exports.toArray = function toArray(iterable) {
|
|
200
156
|
if (!iterable) return [];
|
|
201
|
-
|
|
202
157
|
if (iterable.toArray) {
|
|
203
158
|
return iterable.toArray();
|
|
204
159
|
}
|
|
205
|
-
|
|
206
160
|
if (Array.isArray(iterable)) {
|
|
207
161
|
return slice.call(iterable);
|
|
208
162
|
}
|
|
209
|
-
|
|
210
163
|
if (isArguments(iterable)) {
|
|
211
164
|
return slice.call(iterable);
|
|
212
165
|
}
|
|
213
|
-
|
|
214
166
|
return values(iterable);
|
|
215
167
|
};
|
|
216
|
-
|
|
217
|
-
exports.toArray = toArray;
|
|
218
|
-
|
|
219
|
-
var areInOrder = function areInOrder() {
|
|
168
|
+
var areInOrder = exports.areInOrder = function areInOrder() {
|
|
220
169
|
var numbers = toArray(arguments);
|
|
221
|
-
|
|
222
170
|
for (var i = 1; i < numbers.length; i += 1) {
|
|
223
171
|
if (numbers[i - 1] > numbers[i]) {
|
|
224
172
|
return false;
|
|
225
173
|
}
|
|
226
174
|
}
|
|
227
|
-
|
|
228
175
|
return true;
|
|
229
176
|
};
|
|
230
177
|
/**
|
|
231
178
|
* UUID v4
|
|
232
179
|
* from https://gist.github.com/jed/982883
|
|
233
180
|
*/
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
exports.areInOrder = areInOrder;
|
|
237
|
-
|
|
238
181
|
function UUID(placeholder) {
|
|
239
|
-
return placeholder ?
|
|
182
|
+
return placeholder ?
|
|
183
|
+
// tslint:disable-next-line no-bitwise
|
|
240
184
|
(parseInt(placeholder, 10) ^ Math.random() * 16 >> parseInt(placeholder, 10) / 4).toString(16) : "".concat(1e7, "-", 1e3, "-", 4e3, "-", 8e3, "-", 1e11).replace(/[018]/g, UUID);
|
|
241
185
|
}
|
|
242
|
-
|
|
243
|
-
var utf8Encode = function utf8Encode(string) {
|
|
186
|
+
var utf8Encode = exports.utf8Encode = function utf8Encode(string) {
|
|
244
187
|
string = (string + '').replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
245
188
|
var utftext = '',
|
|
246
|
-
|
|
247
|
-
|
|
189
|
+
start,
|
|
190
|
+
end;
|
|
248
191
|
var stringl = 0,
|
|
249
|
-
|
|
192
|
+
n;
|
|
250
193
|
start = end = 0;
|
|
251
194
|
stringl = string.length;
|
|
252
|
-
|
|
253
195
|
for (n = 0; n < stringl; n++) {
|
|
254
196
|
var c1 = string.charCodeAt(n);
|
|
255
197
|
var enc = null;
|
|
256
|
-
|
|
257
198
|
if (c1 < 128) {
|
|
258
199
|
end++;
|
|
259
200
|
} else if (c1 > 127 && c1 < 2048) {
|
|
@@ -261,48 +202,38 @@ var utf8Encode = function utf8Encode(string) {
|
|
|
261
202
|
} else {
|
|
262
203
|
enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);
|
|
263
204
|
}
|
|
264
|
-
|
|
265
205
|
if (enc !== null) {
|
|
266
206
|
if (end > start) {
|
|
267
207
|
utftext += string.substring(start, end);
|
|
268
208
|
}
|
|
269
|
-
|
|
270
209
|
utftext += enc;
|
|
271
210
|
start = end = n + 1;
|
|
272
211
|
}
|
|
273
212
|
}
|
|
274
|
-
|
|
275
213
|
if (end > start) {
|
|
276
214
|
utftext += string.substring(start, string.length);
|
|
277
215
|
}
|
|
278
|
-
|
|
279
216
|
return utftext;
|
|
280
217
|
};
|
|
281
|
-
|
|
282
|
-
exports.utf8Encode = utf8Encode;
|
|
283
|
-
|
|
284
|
-
var base64Encode = function base64Encode(data) {
|
|
218
|
+
var base64Encode = exports.base64Encode = function base64Encode(data) {
|
|
285
219
|
data = String(data);
|
|
286
220
|
var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
|
287
221
|
var o1,
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
222
|
+
o2,
|
|
223
|
+
o3,
|
|
224
|
+
h1,
|
|
225
|
+
h2,
|
|
226
|
+
h3,
|
|
227
|
+
h4,
|
|
228
|
+
bits,
|
|
229
|
+
i = 0,
|
|
230
|
+
ac = 0,
|
|
231
|
+
enc = '',
|
|
232
|
+
tmp_arr = [];
|
|
300
233
|
if (!data) {
|
|
301
234
|
return data;
|
|
302
235
|
}
|
|
303
|
-
|
|
304
236
|
data = utf8Encode(data);
|
|
305
|
-
|
|
306
237
|
do {
|
|
307
238
|
o1 = data.charCodeAt(i++);
|
|
308
239
|
o2 = data.charCodeAt(i++);
|
|
@@ -314,45 +245,33 @@ var base64Encode = function base64Encode(data) {
|
|
|
314
245
|
h4 = bits & 0x3f;
|
|
315
246
|
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
|
|
316
247
|
} while (i < data.length);
|
|
317
|
-
|
|
318
248
|
enc = tmp_arr.join('');
|
|
319
|
-
|
|
320
249
|
switch (data.length % 3) {
|
|
321
250
|
case 1:
|
|
322
251
|
enc = enc.slice(0, -2) + '==';
|
|
323
252
|
break;
|
|
324
|
-
|
|
325
253
|
case 2:
|
|
326
254
|
enc = enc.slice(0, -1) + '=';
|
|
327
255
|
break;
|
|
328
256
|
}
|
|
329
|
-
|
|
330
257
|
return enc;
|
|
331
258
|
};
|
|
332
|
-
|
|
333
|
-
exports.base64Encode = base64Encode;
|
|
334
|
-
|
|
335
259
|
function hasToJSON(value) {
|
|
336
260
|
return _typeof(value) === 'object' && value !== null && value.hasOwnProperty('toJSON');
|
|
337
261
|
}
|
|
338
|
-
|
|
339
262
|
function elapsed(start, end) {
|
|
340
263
|
return end - start;
|
|
341
264
|
}
|
|
342
|
-
|
|
343
265
|
function getMethods(obj) {
|
|
344
266
|
var funcs = [];
|
|
345
|
-
|
|
346
267
|
for (var key in obj) {
|
|
347
268
|
if (typeof obj[key] === 'function' && !_enums.MpHook[key]) {
|
|
348
269
|
funcs.push(key);
|
|
349
270
|
}
|
|
350
271
|
}
|
|
351
|
-
|
|
352
272
|
return funcs;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
|
|
273
|
+
}
|
|
274
|
+
// 替换url包含数字的路由
|
|
356
275
|
function replaceNumberCharByPath(path) {
|
|
357
276
|
if (path) {
|
|
358
277
|
return path.replace(/\/([^\/]*)\d([^\/]*)/g, '/?');
|
|
@@ -360,37 +279,27 @@ function replaceNumberCharByPath(path) {
|
|
|
360
279
|
return '';
|
|
361
280
|
}
|
|
362
281
|
}
|
|
363
|
-
|
|
364
282
|
function getStatusGroup(status) {
|
|
365
283
|
if (!status) return status;
|
|
366
284
|
return String(status).substr(0, 1) + String(status).substr(1).replace(/\d*/g, 'x');
|
|
367
285
|
}
|
|
368
|
-
|
|
369
|
-
var getQueryParamsFromUrl = function getQueryParamsFromUrl(url) {
|
|
286
|
+
var getQueryParamsFromUrl = exports.getQueryParamsFromUrl = function getQueryParamsFromUrl(url) {
|
|
370
287
|
var result = {};
|
|
371
288
|
var arr = url.split('?');
|
|
372
289
|
var queryString = arr[1] || '';
|
|
373
|
-
|
|
374
290
|
if (queryString) {
|
|
375
291
|
result = getURLSearchParams('?' + queryString);
|
|
376
292
|
}
|
|
377
|
-
|
|
378
293
|
return result;
|
|
379
294
|
};
|
|
380
|
-
|
|
381
|
-
exports.getQueryParamsFromUrl = getQueryParamsFromUrl;
|
|
382
|
-
|
|
383
|
-
var getURLSearchParams = function getURLSearchParams(queryString) {
|
|
295
|
+
var getURLSearchParams = exports.getURLSearchParams = function getURLSearchParams(queryString) {
|
|
384
296
|
queryString = queryString || '';
|
|
385
|
-
|
|
386
297
|
var decodeParam = function decodeParam(str) {
|
|
387
298
|
return decodeURIComponent(str);
|
|
388
299
|
};
|
|
389
|
-
|
|
390
300
|
var args = {};
|
|
391
301
|
var query = queryString.substring(1);
|
|
392
302
|
var pairs = query.split('&');
|
|
393
|
-
|
|
394
303
|
for (var i = 0; i < pairs.length; i++) {
|
|
395
304
|
var pos = pairs[i].indexOf('=');
|
|
396
305
|
if (pos === -1) continue;
|
|
@@ -400,17 +309,12 @@ var getURLSearchParams = function getURLSearchParams(queryString) {
|
|
|
400
309
|
value = decodeParam(value);
|
|
401
310
|
args[name] = value;
|
|
402
311
|
}
|
|
403
|
-
|
|
404
312
|
return args;
|
|
405
313
|
};
|
|
406
|
-
|
|
407
|
-
exports.getURLSearchParams = getURLSearchParams;
|
|
408
|
-
|
|
409
314
|
function isPercentage(value) {
|
|
410
315
|
return isNumber(value) && value >= 0 && value <= 100;
|
|
411
316
|
}
|
|
412
|
-
|
|
413
|
-
var extend = function extend(obj) {
|
|
317
|
+
var extend = exports.extend = function extend(obj) {
|
|
414
318
|
slice.call(arguments, 1).forEach(function (source) {
|
|
415
319
|
for (var prop in source) {
|
|
416
320
|
if (source[prop] !== void 0) {
|
|
@@ -420,10 +324,7 @@ var extend = function extend(obj) {
|
|
|
420
324
|
});
|
|
421
325
|
return obj;
|
|
422
326
|
};
|
|
423
|
-
|
|
424
|
-
exports.extend = extend;
|
|
425
|
-
|
|
426
|
-
var extend2Lev = function extend2Lev(obj) {
|
|
327
|
+
var extend2Lev = exports.extend2Lev = function extend2Lev(obj) {
|
|
427
328
|
slice.call(arguments, 1).forEach(function (source) {
|
|
428
329
|
for (var prop in source) {
|
|
429
330
|
if (source[prop] !== void 0) {
|
|
@@ -437,71 +338,46 @@ var extend2Lev = function extend2Lev(obj) {
|
|
|
437
338
|
});
|
|
438
339
|
return obj;
|
|
439
340
|
};
|
|
440
|
-
|
|
441
|
-
exports.extend2Lev = extend2Lev;
|
|
442
|
-
|
|
443
|
-
var trim = function trim(str) {
|
|
341
|
+
var trim = exports.trim = function trim(str) {
|
|
444
342
|
return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
445
343
|
};
|
|
446
|
-
|
|
447
|
-
exports.trim = trim;
|
|
448
|
-
|
|
449
|
-
var isObject = function isObject(obj) {
|
|
344
|
+
var isObject = exports.isObject = function isObject(obj) {
|
|
450
345
|
if (obj === null) return false;
|
|
451
346
|
return toString.call(obj) === '[object Object]';
|
|
452
347
|
};
|
|
453
|
-
|
|
454
|
-
exports.isObject = isObject;
|
|
455
|
-
|
|
456
|
-
var isEmptyObject = function isEmptyObject(obj) {
|
|
348
|
+
var isEmptyObject = exports.isEmptyObject = function isEmptyObject(obj) {
|
|
457
349
|
if (isObject(obj)) {
|
|
458
350
|
for (var key in obj) {
|
|
459
351
|
if (hasOwnProperty.call(obj, key)) {
|
|
460
352
|
return false;
|
|
461
353
|
}
|
|
462
354
|
}
|
|
463
|
-
|
|
464
355
|
return true;
|
|
465
356
|
} else {
|
|
466
357
|
return false;
|
|
467
358
|
}
|
|
468
359
|
};
|
|
469
|
-
|
|
470
|
-
exports.isEmptyObject = isEmptyObject;
|
|
471
|
-
|
|
472
|
-
var isJSONString = function isJSONString(str) {
|
|
360
|
+
var isJSONString = exports.isJSONString = function isJSONString(str) {
|
|
473
361
|
try {
|
|
474
362
|
JSON.parse(str);
|
|
475
363
|
} catch (e) {
|
|
476
364
|
return false;
|
|
477
365
|
}
|
|
478
|
-
|
|
479
366
|
return true;
|
|
480
367
|
};
|
|
481
|
-
|
|
482
|
-
exports.isJSONString = isJSONString;
|
|
483
|
-
|
|
484
|
-
var safeJSONParse = function safeJSONParse(str) {
|
|
368
|
+
var safeJSONParse = exports.safeJSONParse = function safeJSONParse(str) {
|
|
485
369
|
var val = null;
|
|
486
|
-
|
|
487
370
|
try {
|
|
488
371
|
val = JSON.parse(str);
|
|
489
372
|
} catch (e) {
|
|
490
373
|
return false;
|
|
491
374
|
}
|
|
492
|
-
|
|
493
375
|
return val;
|
|
494
376
|
};
|
|
495
|
-
|
|
496
|
-
exports.safeJSONParse = safeJSONParse;
|
|
497
|
-
|
|
498
|
-
var now = Date.now || function () {
|
|
377
|
+
var now = exports.now = Date.now || function () {
|
|
499
378
|
return new Date().getTime();
|
|
500
379
|
};
|
|
501
|
-
|
|
502
|
-
exports.now = now;
|
|
503
|
-
|
|
504
|
-
var throttle = function throttle(fn, wait, options) {
|
|
380
|
+
var throttle = exports.throttle = function throttle(fn, wait, options) {
|
|
505
381
|
var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;
|
|
506
382
|
var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;
|
|
507
383
|
var inWaitPeriod = false;
|
|
@@ -514,19 +390,16 @@ var throttle = function throttle(fn, wait, options) {
|
|
|
514
390
|
pendingExecutionWithParameters = arguments;
|
|
515
391
|
return;
|
|
516
392
|
}
|
|
517
|
-
|
|
518
393
|
if (needLeadingExecution) {
|
|
519
394
|
fn.apply(context, arguments);
|
|
520
395
|
} else {
|
|
521
396
|
pendingExecutionWithParameters = arguments;
|
|
522
397
|
}
|
|
523
|
-
|
|
524
398
|
inWaitPeriod = true;
|
|
525
399
|
pendingTimeoutId = setTimeout(function () {
|
|
526
400
|
if (needTrailingExecution && pendingExecutionWithParameters) {
|
|
527
401
|
fn.apply(context, pendingExecutionWithParameters);
|
|
528
402
|
}
|
|
529
|
-
|
|
530
403
|
inWaitPeriod = false;
|
|
531
404
|
pendingExecutionWithParameters = undefined;
|
|
532
405
|
}, wait);
|
|
@@ -538,36 +411,26 @@ var throttle = function throttle(fn, wait, options) {
|
|
|
538
411
|
}
|
|
539
412
|
};
|
|
540
413
|
};
|
|
541
|
-
|
|
542
|
-
exports.throttle = throttle;
|
|
543
|
-
|
|
544
414
|
function noop() {}
|
|
545
415
|
/**
|
|
546
416
|
* Return true if the draw is successful
|
|
547
417
|
* @param threshold between 0 and 100
|
|
548
418
|
*/
|
|
549
|
-
|
|
550
|
-
|
|
551
419
|
function performDraw(threshold) {
|
|
552
420
|
return threshold !== 0 && Math.random() * 100 <= threshold;
|
|
553
421
|
}
|
|
554
|
-
|
|
555
422
|
function findByPath(source, path) {
|
|
556
423
|
var pathArr = path.split('.');
|
|
557
|
-
|
|
558
424
|
while (pathArr.length) {
|
|
559
425
|
var key = pathArr.shift();
|
|
560
|
-
|
|
561
426
|
if (source && key in source && hasOwnProperty.call(source, key)) {
|
|
562
427
|
source = source[key];
|
|
563
428
|
} else {
|
|
564
429
|
return undefined;
|
|
565
430
|
}
|
|
566
431
|
}
|
|
567
|
-
|
|
568
432
|
return source;
|
|
569
433
|
}
|
|
570
|
-
|
|
571
434
|
function withSnakeCaseKeys(candidate) {
|
|
572
435
|
var result = {};
|
|
573
436
|
Object.keys(candidate).forEach(function (key) {
|
|
@@ -575,40 +438,33 @@ function withSnakeCaseKeys(candidate) {
|
|
|
575
438
|
});
|
|
576
439
|
return result;
|
|
577
440
|
}
|
|
578
|
-
|
|
579
441
|
function deepSnakeCase(candidate) {
|
|
580
442
|
if (Array.isArray(candidate)) {
|
|
581
443
|
return candidate.map(function (value) {
|
|
582
444
|
return deepSnakeCase(value);
|
|
583
445
|
});
|
|
584
446
|
}
|
|
585
|
-
|
|
586
447
|
if (_typeof(candidate) === 'object' && candidate !== null) {
|
|
587
448
|
return withSnakeCaseKeys(candidate);
|
|
588
449
|
}
|
|
589
|
-
|
|
590
450
|
return candidate;
|
|
591
451
|
}
|
|
592
|
-
|
|
593
452
|
function toSnakeCase(word) {
|
|
594
453
|
return word.replace(/[A-Z]/g, function (uppercaseLetter, index) {
|
|
595
454
|
return (index !== 0 ? '_' : '') + uppercaseLetter.toLowerCase();
|
|
596
455
|
}).replace(/-/g, '_');
|
|
597
456
|
}
|
|
598
|
-
|
|
599
457
|
function escapeRowData(str) {
|
|
600
458
|
if (_typeof(str) === 'object' && str) {
|
|
601
459
|
str = (0, _jsonStringify.jsonStringify)(str);
|
|
602
460
|
} else if (!isString(str)) {
|
|
603
461
|
return str;
|
|
604
462
|
}
|
|
605
|
-
|
|
606
463
|
var reg = /[\s=,"]/g;
|
|
607
464
|
return String(str).replace(reg, function (word) {
|
|
608
465
|
return '\\' + word;
|
|
609
466
|
});
|
|
610
467
|
}
|
|
611
|
-
|
|
612
468
|
function escapeJsonValue(value) {
|
|
613
469
|
if (isString(value)) {
|
|
614
470
|
return value;
|
|
@@ -616,11 +472,9 @@ function escapeJsonValue(value) {
|
|
|
616
472
|
return (0, _jsonStringify.jsonStringify)(value);
|
|
617
473
|
}
|
|
618
474
|
}
|
|
619
|
-
|
|
620
475
|
function escapeFieldValueStr(str) {
|
|
621
476
|
return '"' + str.replace(/[\\]*"/g, '"').replace(/"/g, '\\"') + '"';
|
|
622
477
|
}
|
|
623
|
-
|
|
624
478
|
function escapeRowField(value) {
|
|
625
479
|
if (_typeof(value) === 'object' && value) {
|
|
626
480
|
return escapeFieldValueStr((0, _jsonStringify.jsonStringify)(value));
|
|
@@ -630,8 +484,7 @@ function escapeRowField(value) {
|
|
|
630
484
|
return value;
|
|
631
485
|
}
|
|
632
486
|
}
|
|
633
|
-
|
|
634
|
-
var urlParse = function urlParse(para) {
|
|
487
|
+
var urlParse = exports.urlParse = function urlParse(para) {
|
|
635
488
|
var URLParser = function URLParser(a) {
|
|
636
489
|
this._fields = {
|
|
637
490
|
Username: 4,
|
|
@@ -647,29 +500,23 @@ var urlParse = function urlParse(para) {
|
|
|
647
500
|
this._values = {};
|
|
648
501
|
this._regex = null;
|
|
649
502
|
this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;
|
|
650
|
-
|
|
651
503
|
if (typeof a != 'undefined') {
|
|
652
504
|
this._parse(a);
|
|
653
505
|
}
|
|
654
506
|
};
|
|
655
|
-
|
|
656
507
|
URLParser.prototype.setUrl = function (a) {
|
|
657
508
|
this._parse(a);
|
|
658
509
|
};
|
|
659
|
-
|
|
660
510
|
URLParser.prototype._initValues = function () {
|
|
661
511
|
for (var a in this._fields) {
|
|
662
512
|
this._values[a] = '';
|
|
663
513
|
}
|
|
664
514
|
};
|
|
665
|
-
|
|
666
515
|
URLParser.prototype.addQueryString = function (queryObj) {
|
|
667
516
|
if (_typeof(queryObj) !== 'object') {
|
|
668
517
|
return false;
|
|
669
518
|
}
|
|
670
|
-
|
|
671
519
|
var query = this._values.QueryString || '';
|
|
672
|
-
|
|
673
520
|
for (var i in queryObj) {
|
|
674
521
|
if (new RegExp(i + '[^&]+').test(query)) {
|
|
675
522
|
query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i]);
|
|
@@ -685,69 +532,50 @@ var urlParse = function urlParse(para) {
|
|
|
685
532
|
}
|
|
686
533
|
}
|
|
687
534
|
}
|
|
688
|
-
|
|
689
535
|
this._values.QueryString = query;
|
|
690
536
|
};
|
|
691
|
-
|
|
692
537
|
URLParser.prototype.getParse = function () {
|
|
693
538
|
return this._values;
|
|
694
539
|
};
|
|
695
|
-
|
|
696
540
|
URLParser.prototype.getUrl = function () {
|
|
697
541
|
var url = '';
|
|
698
|
-
url += this._values.Origin;
|
|
699
|
-
|
|
542
|
+
url += this._values.Origin;
|
|
543
|
+
// url += this._values.Port ? ':' + this._values.Port : ''
|
|
700
544
|
url += this._values.Path;
|
|
701
545
|
url += this._values.QueryString ? '?' + this._values.QueryString : '';
|
|
702
546
|
return url;
|
|
703
547
|
};
|
|
704
|
-
|
|
705
548
|
URLParser.prototype._parse = function (a) {
|
|
706
549
|
this._initValues();
|
|
707
|
-
|
|
708
550
|
var b = this._regex.exec(a);
|
|
709
|
-
|
|
710
551
|
if (!b) {
|
|
711
552
|
throw 'DPURLParser::_parse -> Invalid URL';
|
|
712
553
|
}
|
|
713
|
-
|
|
714
554
|
for (var c in this._fields) {
|
|
715
555
|
if (typeof b[this._fields[c]] != 'undefined') {
|
|
716
556
|
this._values[c] = b[this._fields[c]];
|
|
717
557
|
}
|
|
718
558
|
}
|
|
719
|
-
|
|
720
559
|
this._values['Path'] = this._values['Path'] || '/';
|
|
721
560
|
this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '');
|
|
722
561
|
this._values['Origin'] = this._values['Protocol'] + '://' + this._values['Hostname'] + (this._values.Port ? ':' + this._values.Port : '');
|
|
723
562
|
};
|
|
724
|
-
|
|
725
563
|
return new URLParser(para);
|
|
726
564
|
};
|
|
727
|
-
|
|
728
|
-
exports.urlParse = urlParse;
|
|
729
|
-
|
|
730
|
-
var getOwnObjectKeys = function getOwnObjectKeys(obj, isEnumerable) {
|
|
565
|
+
var getOwnObjectKeys = exports.getOwnObjectKeys = function getOwnObjectKeys(obj, isEnumerable) {
|
|
731
566
|
var keys = Object.keys(obj);
|
|
732
|
-
|
|
733
567
|
if (Object.getOwnPropertySymbols) {
|
|
734
568
|
var symbols = Object.getOwnPropertySymbols(obj);
|
|
735
|
-
|
|
736
569
|
if (isEnumerable) {
|
|
737
570
|
symbols = symbols.filter(function (t) {
|
|
738
571
|
return Object.getOwnPropertyDescriptor(obj, t).enumerable;
|
|
739
572
|
});
|
|
740
573
|
}
|
|
741
|
-
|
|
742
574
|
keys.push.apply(keys, symbols);
|
|
743
575
|
}
|
|
744
|
-
|
|
745
576
|
return keys;
|
|
746
577
|
};
|
|
747
|
-
|
|
748
|
-
exports.getOwnObjectKeys = getOwnObjectKeys;
|
|
749
|
-
|
|
750
|
-
var defineObject = function defineObject(obj, key, value) {
|
|
578
|
+
var defineObject = exports.defineObject = function defineObject(obj, key, value) {
|
|
751
579
|
if (key in obj) {
|
|
752
580
|
Object.defineProperty(obj, key, {
|
|
753
581
|
value: value,
|
|
@@ -758,16 +586,11 @@ var defineObject = function defineObject(obj, key, value) {
|
|
|
758
586
|
} else {
|
|
759
587
|
obj[key] = value;
|
|
760
588
|
}
|
|
761
|
-
|
|
762
589
|
return obj;
|
|
763
590
|
};
|
|
764
|
-
|
|
765
|
-
exports.defineObject = defineObject;
|
|
766
|
-
|
|
767
|
-
var deepMixObject = function deepMixObject(targetObj) {
|
|
591
|
+
var deepMixObject = exports.deepMixObject = function deepMixObject(targetObj) {
|
|
768
592
|
for (var t = 1; t < arguments.length; t++) {
|
|
769
593
|
var target = arguments[t] != null ? arguments[t] : {};
|
|
770
|
-
|
|
771
594
|
if (t % 2) {
|
|
772
595
|
getOwnObjectKeys(Object(target), true).forEach(function (t) {
|
|
773
596
|
defineObject(targetObj, t, target[t]);
|
|
@@ -782,56 +605,42 @@ var deepMixObject = function deepMixObject(targetObj) {
|
|
|
782
605
|
}
|
|
783
606
|
}
|
|
784
607
|
}
|
|
785
|
-
|
|
786
608
|
return targetObj;
|
|
787
609
|
};
|
|
788
|
-
|
|
789
|
-
exports.deepMixObject = deepMixObject;
|
|
790
|
-
|
|
791
610
|
function getOrigin(url) {
|
|
792
611
|
return urlParse(url).getParse().Origin;
|
|
793
612
|
}
|
|
794
|
-
|
|
795
613
|
function getActivePage() {
|
|
796
614
|
var curPages = typeof getCurrentPages === 'function' ? getCurrentPages() : [];
|
|
797
|
-
|
|
798
615
|
if (curPages.length) {
|
|
799
616
|
return curPages[curPages.length - 1];
|
|
800
617
|
}
|
|
801
|
-
|
|
802
618
|
return {};
|
|
803
619
|
}
|
|
804
|
-
|
|
805
620
|
function findCommaSeparatedValue(rawString, name) {
|
|
806
621
|
var matches = rawString.match('(?:^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
|
|
807
622
|
return matches ? matches[1] : undefined;
|
|
808
623
|
}
|
|
809
|
-
|
|
810
624
|
function createCircularReferenceChecker() {
|
|
811
625
|
if (typeof WeakSet !== 'undefined') {
|
|
812
626
|
var set = new WeakSet();
|
|
813
627
|
return {
|
|
814
628
|
hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
|
|
815
629
|
var has = set.has(value);
|
|
816
|
-
|
|
817
630
|
if (!has) {
|
|
818
631
|
set.add(value);
|
|
819
632
|
}
|
|
820
|
-
|
|
821
633
|
return has;
|
|
822
634
|
}
|
|
823
635
|
};
|
|
824
636
|
}
|
|
825
|
-
|
|
826
637
|
var array = [];
|
|
827
638
|
return {
|
|
828
639
|
hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
|
|
829
640
|
var has = array.indexOf(value) >= 0;
|
|
830
|
-
|
|
831
641
|
if (!has) {
|
|
832
642
|
array.push(value);
|
|
833
643
|
}
|
|
834
|
-
|
|
835
644
|
return has;
|
|
836
645
|
}
|
|
837
646
|
};
|
|
@@ -839,108 +648,86 @@ function createCircularReferenceChecker() {
|
|
|
839
648
|
/**
|
|
840
649
|
* Similar to `typeof`, but distinguish plain objects from `null` and arrays
|
|
841
650
|
*/
|
|
842
|
-
|
|
843
|
-
|
|
844
651
|
function getType(value) {
|
|
845
652
|
if (value === null) {
|
|
846
653
|
return 'null';
|
|
847
654
|
}
|
|
848
|
-
|
|
849
655
|
if (Array.isArray(value)) {
|
|
850
656
|
return 'array';
|
|
851
657
|
}
|
|
852
|
-
|
|
853
658
|
return _typeof(value);
|
|
854
659
|
}
|
|
855
660
|
/**
|
|
856
661
|
* Iterate over source and affect its sub values into destination, recursively.
|
|
857
662
|
* If the source and destination can't be merged, return source.
|
|
858
663
|
*/
|
|
859
|
-
|
|
860
|
-
|
|
861
664
|
function mergeInto(destination, source, circularReferenceChecker) {
|
|
862
665
|
// ignore the source if it is undefined
|
|
863
666
|
if (typeof circularReferenceChecker === 'undefined') {
|
|
864
667
|
circularReferenceChecker = createCircularReferenceChecker();
|
|
865
668
|
}
|
|
866
|
-
|
|
867
669
|
if (source === undefined) {
|
|
868
670
|
return destination;
|
|
869
671
|
}
|
|
870
|
-
|
|
871
672
|
if (_typeof(source) !== 'object' || source === null) {
|
|
872
673
|
// primitive values - just return source
|
|
873
674
|
return source;
|
|
874
675
|
} else if (source instanceof Date) {
|
|
875
676
|
return new Date(source.getTime());
|
|
876
677
|
} else if (source instanceof RegExp) {
|
|
877
|
-
var flags = source.flags ||
|
|
678
|
+
var flags = source.flags ||
|
|
679
|
+
// old browsers compatibility
|
|
878
680
|
[source.global ? 'g' : '', source.ignoreCase ? 'i' : '', source.multiline ? 'm' : '', source.sticky ? 'y' : '', source.unicode ? 'u' : ''].join('');
|
|
879
681
|
return new RegExp(source.source, flags);
|
|
880
682
|
}
|
|
881
|
-
|
|
882
683
|
if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {
|
|
883
684
|
// remove circular references
|
|
884
685
|
return undefined;
|
|
885
686
|
} else if (Array.isArray(source)) {
|
|
886
687
|
var merged = Array.isArray(destination) ? destination : [];
|
|
887
|
-
|
|
888
688
|
for (var i = 0; i < source.length; ++i) {
|
|
889
689
|
merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker);
|
|
890
690
|
}
|
|
891
|
-
|
|
892
691
|
return merged;
|
|
893
692
|
}
|
|
894
|
-
|
|
895
693
|
var merged = getType(destination) === 'object' ? destination : {};
|
|
896
|
-
|
|
897
694
|
for (var key in source) {
|
|
898
695
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
899
696
|
merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);
|
|
900
697
|
}
|
|
901
698
|
}
|
|
902
|
-
|
|
903
699
|
return merged;
|
|
904
700
|
}
|
|
701
|
+
|
|
905
702
|
/**
|
|
906
703
|
* A simplistic implementation of a deep clone algorithm.
|
|
907
704
|
* Caveats:
|
|
908
705
|
* - It doesn't maintain prototype chains - don't use with instances of custom classes.
|
|
909
706
|
* - It doesn't handle Map and Set
|
|
910
707
|
*/
|
|
911
|
-
|
|
912
|
-
|
|
913
708
|
function deepClone(value) {
|
|
914
709
|
return mergeInto(undefined, value);
|
|
915
710
|
}
|
|
916
|
-
|
|
917
|
-
var
|
|
918
|
-
exports.
|
|
919
|
-
var ONE_MINUTE = 60 * ONE_SECOND;
|
|
920
|
-
exports.ONE_MINUTE = ONE_MINUTE;
|
|
921
|
-
var ONE_HOUR = 60 * ONE_MINUTE;
|
|
922
|
-
exports.ONE_HOUR = ONE_HOUR;
|
|
923
|
-
|
|
711
|
+
var ONE_SECOND = exports.ONE_SECOND = 1000;
|
|
712
|
+
var ONE_MINUTE = exports.ONE_MINUTE = 60 * ONE_SECOND;
|
|
713
|
+
var ONE_HOUR = exports.ONE_HOUR = 60 * ONE_MINUTE;
|
|
924
714
|
function defineGlobal(global, name, api) {
|
|
925
715
|
global[name] = api;
|
|
926
716
|
}
|
|
927
|
-
|
|
928
717
|
function getGlobalObject() {
|
|
929
718
|
if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === 'object') {
|
|
930
719
|
return globalThis;
|
|
931
720
|
}
|
|
932
|
-
|
|
933
721
|
Object.defineProperty(Object.prototype, '_dd_temp_', {
|
|
934
722
|
get: function get() {
|
|
935
723
|
return this;
|
|
936
724
|
},
|
|
937
725
|
configurable: true
|
|
938
|
-
});
|
|
939
|
-
|
|
940
|
-
var globalObject = _dd_temp_;
|
|
941
|
-
|
|
726
|
+
});
|
|
727
|
+
// @ts-ignore
|
|
728
|
+
var globalObject = _dd_temp_;
|
|
729
|
+
// @ts-ignore
|
|
942
730
|
delete Object.prototype._dd_temp_;
|
|
943
|
-
|
|
944
731
|
if (_typeof(globalObject) !== 'object') {
|
|
945
732
|
// on safari _dd_temp_ is available on window but not globally
|
|
946
733
|
// fallback on other browser globals check
|
|
@@ -952,6 +739,5 @@ function getGlobalObject() {
|
|
|
952
739
|
globalObject = {};
|
|
953
740
|
}
|
|
954
741
|
}
|
|
955
|
-
|
|
956
742
|
return globalObject;
|
|
957
743
|
}
|