@cloudcare/browser-core 3.0.23 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/browser/addEventListener.js +11 -14
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/cookie.js +3 -14
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.js +8 -23
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/htmlDomUtils.js +3 -9
- package/cjs/browser/htmlDomUtils.js.map +1 -0
- package/cjs/browser/pageExitObservable.js +3 -9
- package/cjs/browser/pageExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.js +2 -4
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/scroll.js +32 -0
- package/cjs/browser/scroll.js.map +1 -0
- package/cjs/browser/xhrObservable.js +2 -21
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/configuration/configuration.js +9 -20
- package/cjs/configuration/configuration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +6 -20
- package/cjs/configuration/transportConfiguration.js.map +1 -0
- package/cjs/console/consoleObservable.js +7 -21
- package/cjs/console/consoleObservable.js.map +1 -0
- package/cjs/dataMap.js +24 -10
- package/cjs/dataMap.js.map +1 -0
- package/cjs/error/trackRuntimeError.js +3 -7
- package/cjs/error/trackRuntimeError.js.map +1 -0
- package/cjs/helper/boundedBuffer.js +2 -6
- package/cjs/helper/boundedBuffer.js.map +1 -0
- package/cjs/helper/byteUtils.js +6 -16
- package/cjs/helper/byteUtils.js.map +1 -0
- package/cjs/helper/catchUserErrors.js +2 -4
- package/cjs/helper/catchUserErrors.js.map +1 -0
- package/cjs/helper/contextHistory.js +21 -37
- package/cjs/helper/contextHistory.js.map +1 -0
- package/cjs/helper/createEventRateLimiter.js +2 -10
- package/cjs/helper/createEventRateLimiter.js.map +1 -0
- package/cjs/helper/deviceInfo.js +10 -64
- package/cjs/helper/deviceInfo.js.map +1 -0
- package/cjs/helper/display.js +2 -5
- package/cjs/helper/display.js.map +1 -0
- package/cjs/helper/enums.js +8 -2
- package/cjs/helper/enums.js.map +1 -0
- package/cjs/helper/errorTools.js +38 -40
- package/cjs/helper/errorTools.js.map +1 -0
- package/cjs/helper/eventEmitter.js +2 -6
- package/cjs/helper/eventEmitter.js.map +1 -0
- package/cjs/helper/getZoneJsOriginalValue.js +2 -5
- package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/helper/instrumentMethod.js +11 -21
- package/cjs/helper/instrumentMethod.js.map +1 -0
- package/cjs/helper/lifeCycle.js +2 -9
- package/cjs/helper/lifeCycle.js.map +1 -0
- package/cjs/helper/limitModification.js +4 -22
- package/cjs/helper/limitModification.js.map +1 -0
- package/cjs/helper/mobileUtil.js +2 -20
- package/cjs/helper/mobileUtil.js.map +1 -0
- package/cjs/helper/monitor.js +50 -0
- package/cjs/helper/monitor.js.map +1 -0
- package/cjs/helper/observable.js +2 -9
- package/cjs/helper/observable.js.map +1 -0
- package/cjs/helper/readBytesFromStream.js +8 -16
- package/cjs/helper/readBytesFromStream.js.map +1 -0
- package/cjs/helper/sanitize.js +38 -61
- package/cjs/helper/sanitize.js.map +1 -0
- package/cjs/helper/serialisation/contextManager.js +5 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -0
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
- package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/cjs/helper/serialisation/jsonStringify.js +6 -12
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
- package/cjs/helper/serialisation/rowData.js +3 -10
- package/cjs/helper/serialisation/rowData.js.map +1 -0
- package/cjs/helper/timer.js +5 -9
- package/cjs/helper/timer.js.map +1 -0
- package/cjs/helper/tools.js +58 -463
- package/cjs/helper/tools.js.map +1 -0
- package/cjs/helper/urlPolyfill.js +5 -18
- package/cjs/helper/urlPolyfill.js.map +1 -0
- package/cjs/index.js +35 -93
- package/cjs/index.js.map +1 -0
- package/cjs/init.js +24 -36
- package/cjs/init.js.map +1 -0
- package/cjs/report/reportObservable.js +8 -26
- package/cjs/report/reportObservable.js.map +1 -0
- package/cjs/session/sessionConstants.js +2 -3
- package/cjs/session/sessionConstants.js.map +1 -0
- package/cjs/session/sessionCookieStore.js +11 -46
- package/cjs/session/sessionCookieStore.js.map +1 -0
- package/cjs/session/sessionManagement.js +2 -19
- package/cjs/session/sessionManagement.js.map +1 -0
- package/cjs/session/sessionStore.js +3 -28
- package/cjs/session/sessionStore.js.map +1 -0
- package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/synthetics/usr.js +2 -8
- package/cjs/synthetics/usr.js.map +1 -0
- package/cjs/telemetry/telemetry.js +125 -0
- package/cjs/telemetry/telemetry.js.map +1 -0
- package/cjs/telemetry/types.js +17 -0
- package/cjs/telemetry/types.js.map +1 -0
- package/cjs/tracekit/computeStackTrace.js +4 -34
- package/cjs/tracekit/computeStackTrace.js.map +1 -0
- package/cjs/tracekit/index.js +2 -3
- package/cjs/tracekit/index.js.map +1 -0
- package/cjs/tracekit/tracekit.js +3 -18
- package/cjs/tracekit/tracekit.js.map +1 -0
- package/cjs/transport/batch.js +7 -56
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.js +2 -7
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.js +8 -21
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.js +8 -20
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.js +2 -6
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +4 -23
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/cjs/transport/startBatchWithReplica.js +2 -7
- package/cjs/transport/startBatchWithReplica.js.map +1 -0
- package/cjs/user/index.js +2 -3
- package/cjs/user/index.js.map +1 -0
- package/cjs/user/user.js +3 -8
- package/cjs/user/user.js.map +1 -0
- package/cjs/worker.js +2 -2
- package/cjs/worker.js.map +1 -0
- package/esm/browser/addEventListener.js +11 -10
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/cookie.js +3 -6
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.js +8 -17
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/htmlDomUtils.js +3 -2
- package/esm/browser/htmlDomUtils.js.map +1 -0
- package/esm/browser/pageExitObservable.js +3 -2
- package/esm/browser/pageExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.js +2 -1
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/scroll.js +25 -0
- package/esm/browser/scroll.js.map +1 -0
- package/esm/browser/xhrObservable.js +2 -14
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/configuration/configuration.js +9 -9
- package/esm/configuration/configuration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +6 -17
- package/esm/configuration/transportConfiguration.js.map +1 -0
- package/esm/console/consoleObservable.js +7 -12
- package/esm/console/consoleObservable.js.map +1 -0
- package/esm/dataMap.js +24 -8
- package/esm/dataMap.js.map +1 -0
- package/esm/error/trackRuntimeError.js +4 -3
- package/esm/error/trackRuntimeError.js.map +1 -0
- package/esm/helper/boundedBuffer.js +2 -4
- package/esm/helper/boundedBuffer.js.map +1 -0
- package/esm/helper/byteUtils.js +6 -13
- package/esm/helper/byteUtils.js.map +1 -0
- package/esm/helper/catchUserErrors.js +2 -2
- package/esm/helper/catchUserErrors.js.map +1 -0
- package/esm/helper/contextHistory.js +21 -33
- package/esm/helper/contextHistory.js.map +1 -0
- package/esm/helper/createEventRateLimiter.js +2 -6
- package/esm/helper/createEventRateLimiter.js.map +1 -0
- package/esm/helper/deviceInfo.js +10 -62
- package/esm/helper/deviceInfo.js.map +1 -0
- package/esm/helper/display.js +2 -3
- package/esm/helper/display.js.map +1 -0
- package/esm/helper/enums.js +6 -1
- package/esm/helper/enums.js.map +1 -0
- package/esm/helper/errorTools.js +36 -28
- package/esm/helper/errorTools.js.map +1 -0
- package/esm/helper/eventEmitter.js +2 -5
- package/esm/helper/eventEmitter.js.map +1 -0
- package/esm/helper/getZoneJsOriginalValue.js +2 -4
- package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
- package/esm/helper/instrumentMethod.js +11 -16
- package/esm/helper/instrumentMethod.js.map +1 -0
- package/esm/helper/lifeCycle.js +2 -5
- package/esm/helper/lifeCycle.js.map +1 -0
- package/esm/helper/limitModification.js +5 -20
- package/esm/helper/limitModification.js.map +1 -0
- package/esm/helper/mobileUtil.js +2 -16
- package/esm/helper/mobileUtil.js.map +1 -0
- package/esm/helper/monitor.js +39 -0
- package/esm/helper/monitor.js.map +1 -0
- package/esm/helper/observable.js +2 -7
- package/esm/helper/observable.js.map +1 -0
- package/esm/helper/readBytesFromStream.js +8 -15
- package/esm/helper/readBytesFromStream.js.map +1 -0
- package/esm/helper/sanitize.js +40 -57
- package/esm/helper/sanitize.js.map +1 -0
- package/esm/helper/serialisation/contextManager.js +5 -9
- package/esm/helper/serialisation/contextManager.js.map +1 -0
- package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
- package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
- package/esm/helper/serialisation/jsonStringify.js +7 -10
- package/esm/helper/serialisation/jsonStringify.js.map +1 -0
- package/esm/helper/serialisation/rowData.js +3 -4
- package/esm/helper/serialisation/rowData.js.map +1 -0
- package/esm/helper/timer.js +5 -3
- package/esm/helper/timer.js.map +1 -0
- package/esm/helper/tools.js +58 -273
- package/esm/helper/tools.js.map +1 -0
- package/esm/helper/urlPolyfill.js +5 -9
- package/esm/helper/urlPolyfill.js.map +1 -0
- package/esm/index.js +5 -1
- package/esm/index.js.map +1 -0
- package/esm/init.js +25 -31
- package/esm/init.js.map +1 -0
- package/esm/report/reportObservable.js +8 -19
- package/esm/report/reportObservable.js.map +1 -0
- package/esm/session/sessionConstants.js +2 -1
- package/esm/session/sessionConstants.js.map +1 -0
- package/esm/session/sessionCookieStore.js +11 -38
- package/esm/session/sessionCookieStore.js.map +1 -0
- package/esm/session/sessionManagement.js +2 -8
- package/esm/session/sessionManagement.js.map +1 -0
- package/esm/session/sessionStore.js +4 -22
- package/esm/session/sessionStore.js.map +1 -0
- package/esm/synthetics/syntheticsWorkerValues.js +2 -1
- package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/synthetics/usr.js +2 -3
- package/esm/synthetics/usr.js.map +1 -0
- package/esm/telemetry/telemetry.js +111 -0
- package/esm/telemetry/telemetry.js.map +1 -0
- package/esm/telemetry/types.js +9 -0
- package/esm/telemetry/types.js.map +1 -0
- package/esm/tracekit/computeStackTrace.js +4 -31
- package/esm/tracekit/computeStackTrace.js.map +1 -0
- package/esm/tracekit/index.js +2 -1
- package/esm/tracekit/index.js.map +1 -0
- package/esm/tracekit/tracekit.js +5 -14
- package/esm/tracekit/tracekit.js.map +1 -0
- package/esm/transport/batch.js +9 -47
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.js +2 -5
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.js +11 -20
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.js +8 -18
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.js +2 -1
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.js +4 -17
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/transport/startBatchWithReplica.js +2 -3
- package/esm/transport/startBatchWithReplica.js.map +1 -0
- package/esm/user/index.js.map +1 -0
- package/esm/user/user.js +4 -5
- package/esm/user/user.js.map +1 -0
- package/esm/worker.js.map +1 -0
- package/package.json +2 -2
- package/src/browser/addEventListener.js +8 -7
- package/src/browser/fetchObservable.js +12 -3
- package/src/browser/scroll.js +25 -0
- package/src/configuration/configuration.js +16 -0
- package/src/configuration/transportConfiguration.js +2 -2
- package/src/console/consoleObservable.js +4 -2
- package/src/dataMap.js +17 -3
- package/src/error/trackRuntimeError.js +2 -2
- package/src/helper/contextHistory.js +3 -3
- package/src/helper/enums.js +4 -0
- package/src/helper/errorTools.js +55 -24
- package/src/helper/instrumentMethod.js +5 -2
- package/src/helper/monitor.js +44 -0
- package/src/helper/observable.js +10 -8
- package/src/helper/readBytesFromStream.js +5 -5
- package/src/helper/timer.js +3 -3
- package/src/helper/tools.js +2 -17
- package/src/index.js +4 -0
- package/src/init.js +19 -21
- package/src/report/reportObservable.js +6 -5
- package/src/telemetry/telemetry.js +164 -0
- package/src/telemetry/types.js +9 -0
- package/src/transport/batch.js +4 -4
- package/src/transport/httpRequest.js +5 -4
package/cjs/helper/tools.js
CHANGED
|
@@ -69,7 +69,6 @@ exports.preferredTimeStamp = preferredTimeStamp;
|
|
|
69
69
|
exports.relativeNow = relativeNow;
|
|
70
70
|
exports.relativeToClocks = relativeToClocks;
|
|
71
71
|
exports.replaceNumberCharByPath = replaceNumberCharByPath;
|
|
72
|
-
exports.requestIdleCallback = requestIdleCallback;
|
|
73
72
|
exports.round = round;
|
|
74
73
|
exports.safeJSONParse = void 0;
|
|
75
74
|
exports.safeTruncate = safeTruncate;
|
|
@@ -86,13 +85,9 @@ exports.tryToClone = tryToClone;
|
|
|
86
85
|
exports.values = exports.utf8Encode = exports.urlParse = exports.unique = exports.typeDecide = void 0;
|
|
87
86
|
exports.withSnakeCaseKeys = withSnakeCaseKeys;
|
|
88
87
|
exports.xhr = void 0;
|
|
89
|
-
|
|
90
88
|
var _display = require("./display");
|
|
91
|
-
|
|
92
89
|
var _timer = require("./timer");
|
|
93
|
-
|
|
94
|
-
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); }
|
|
95
|
-
|
|
90
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
96
91
|
var ArrayProto = Array.prototype;
|
|
97
92
|
var FuncProto = Function.prototype;
|
|
98
93
|
var ObjProto = Object.prototype;
|
|
@@ -102,10 +97,8 @@ var hasOwnProperty = ObjProto.hasOwnProperty;
|
|
|
102
97
|
var nativeForEach = ArrayProto.forEach;
|
|
103
98
|
var nativeIsArray = Array.isArray;
|
|
104
99
|
var breaker = false;
|
|
105
|
-
|
|
106
100
|
var each = function each(obj, iterator, context) {
|
|
107
101
|
if (obj === null) return false;
|
|
108
|
-
|
|
109
102
|
if (nativeForEach && obj.forEach === nativeForEach) {
|
|
110
103
|
obj.forEach(iterator, context);
|
|
111
104
|
} else if (obj.length === +obj.length) {
|
|
@@ -124,9 +117,7 @@ var each = function each(obj, iterator, context) {
|
|
|
124
117
|
}
|
|
125
118
|
}
|
|
126
119
|
};
|
|
127
|
-
|
|
128
120
|
exports.each = each;
|
|
129
|
-
|
|
130
121
|
function assign(target) {
|
|
131
122
|
each(slice.call(arguments, 1), function (source) {
|
|
132
123
|
for (var prop in source) {
|
|
@@ -137,11 +128,9 @@ function assign(target) {
|
|
|
137
128
|
});
|
|
138
129
|
return target;
|
|
139
130
|
}
|
|
140
|
-
|
|
141
131
|
function shallowClone(object) {
|
|
142
132
|
return assign({}, object);
|
|
143
133
|
}
|
|
144
|
-
|
|
145
134
|
var extend = function extend(obj) {
|
|
146
135
|
each(slice.call(arguments, 1), function (source) {
|
|
147
136
|
for (var prop in source) {
|
|
@@ -152,9 +141,7 @@ var extend = function extend(obj) {
|
|
|
152
141
|
});
|
|
153
142
|
return obj;
|
|
154
143
|
};
|
|
155
|
-
|
|
156
144
|
exports.extend = extend;
|
|
157
|
-
|
|
158
145
|
var extend2Lev = function extend2Lev(obj) {
|
|
159
146
|
each(slice.call(arguments, 1), function (source) {
|
|
160
147
|
for (var prop in source) {
|
|
@@ -169,9 +156,7 @@ var extend2Lev = function extend2Lev(obj) {
|
|
|
169
156
|
});
|
|
170
157
|
return obj;
|
|
171
158
|
};
|
|
172
|
-
|
|
173
159
|
exports.extend2Lev = extend2Lev;
|
|
174
|
-
|
|
175
160
|
var coverExtend = function coverExtend(obj) {
|
|
176
161
|
each(slice.call(arguments, 1), function (source) {
|
|
177
162
|
for (var prop in source) {
|
|
@@ -182,88 +167,64 @@ var coverExtend = function coverExtend(obj) {
|
|
|
182
167
|
});
|
|
183
168
|
return obj;
|
|
184
169
|
};
|
|
185
|
-
|
|
186
170
|
exports.coverExtend = coverExtend;
|
|
187
|
-
|
|
188
171
|
var isArray = nativeIsArray || function (obj) {
|
|
189
172
|
return toString.call(obj) === '[object Array]';
|
|
190
173
|
};
|
|
191
|
-
|
|
192
174
|
exports.isArray = isArray;
|
|
193
|
-
|
|
194
175
|
var isFunction = function isFunction(f) {
|
|
195
176
|
if (!f) {
|
|
196
177
|
return false;
|
|
197
178
|
}
|
|
198
|
-
|
|
199
179
|
try {
|
|
200
180
|
return /^\s*\bfunction\b/.test(f);
|
|
201
181
|
} catch (err) {
|
|
202
182
|
return false;
|
|
203
183
|
}
|
|
204
184
|
};
|
|
205
|
-
|
|
206
185
|
exports.isFunction = isFunction;
|
|
207
|
-
|
|
208
186
|
var isArguments = function isArguments(obj) {
|
|
209
187
|
return !!(obj && hasOwnProperty.call(obj, 'callee'));
|
|
210
188
|
};
|
|
211
|
-
|
|
212
189
|
exports.isArguments = isArguments;
|
|
213
|
-
|
|
214
190
|
var toArray = function toArray(iterable) {
|
|
215
191
|
if (!iterable) return [];
|
|
216
|
-
|
|
217
192
|
if (iterable.toArray) {
|
|
218
193
|
return iterable.toArray();
|
|
219
194
|
}
|
|
220
|
-
|
|
221
195
|
if (isArray(iterable)) {
|
|
222
196
|
return slice.call(iterable);
|
|
223
197
|
}
|
|
224
|
-
|
|
225
198
|
if (isArguments(iterable)) {
|
|
226
199
|
return slice.call(iterable);
|
|
227
200
|
}
|
|
228
|
-
|
|
229
201
|
return values(iterable);
|
|
230
202
|
};
|
|
231
|
-
|
|
232
203
|
exports.toArray = toArray;
|
|
233
|
-
|
|
234
204
|
var values = function values(obj) {
|
|
235
205
|
var results = [];
|
|
236
|
-
|
|
237
206
|
if (obj === null) {
|
|
238
207
|
return results;
|
|
239
208
|
}
|
|
240
|
-
|
|
241
209
|
each(obj, function (value) {
|
|
242
210
|
results[results.length] = value;
|
|
243
211
|
});
|
|
244
212
|
return results;
|
|
245
213
|
};
|
|
246
|
-
|
|
247
214
|
exports.values = values;
|
|
248
|
-
|
|
249
215
|
var keys = function keys(obj) {
|
|
250
216
|
var results = [];
|
|
251
|
-
|
|
252
217
|
if (obj === null) {
|
|
253
218
|
return results;
|
|
254
219
|
}
|
|
255
|
-
|
|
256
220
|
each(obj, function (value, key) {
|
|
257
221
|
results[results.length] = key;
|
|
258
222
|
});
|
|
259
223
|
return results;
|
|
260
224
|
};
|
|
261
|
-
|
|
262
225
|
exports.keys = keys;
|
|
263
|
-
|
|
264
226
|
var indexOf = function indexOf(arr, target) {
|
|
265
227
|
var indexOf = arr.indexOf;
|
|
266
|
-
|
|
267
228
|
if (indexOf) {
|
|
268
229
|
return indexOf.call(arr, target);
|
|
269
230
|
} else {
|
|
@@ -272,13 +233,10 @@ var indexOf = function indexOf(arr, target) {
|
|
|
272
233
|
return i;
|
|
273
234
|
}
|
|
274
235
|
}
|
|
275
|
-
|
|
276
236
|
return -1;
|
|
277
237
|
}
|
|
278
238
|
};
|
|
279
|
-
|
|
280
239
|
exports.indexOf = indexOf;
|
|
281
|
-
|
|
282
240
|
var hasAttribute = function hasAttribute(ele, attr) {
|
|
283
241
|
if (ele.hasAttribute) {
|
|
284
242
|
return ele.hasAttribute(attr);
|
|
@@ -286,109 +244,79 @@ var hasAttribute = function hasAttribute(ele, attr) {
|
|
|
286
244
|
return !!(ele.attributes[attr] && ele.attributes[attr].specified);
|
|
287
245
|
}
|
|
288
246
|
};
|
|
289
|
-
|
|
290
247
|
exports.hasAttribute = hasAttribute;
|
|
291
|
-
|
|
292
248
|
var filter = function filter(arr, fn, self) {
|
|
293
249
|
if (arr.filter) {
|
|
294
250
|
return arr.filter(fn);
|
|
295
251
|
}
|
|
296
|
-
|
|
297
252
|
var ret = [];
|
|
298
|
-
|
|
299
253
|
for (var i = 0; i < arr.length; i++) {
|
|
300
254
|
if (!hasOwnProperty.call(arr, i)) {
|
|
301
255
|
continue;
|
|
302
256
|
}
|
|
303
|
-
|
|
304
257
|
var val = arr[i];
|
|
305
|
-
|
|
306
258
|
if (fn.call(self, val, i, arr)) {
|
|
307
259
|
ret.push(val);
|
|
308
260
|
}
|
|
309
261
|
}
|
|
310
|
-
|
|
311
262
|
return ret;
|
|
312
263
|
};
|
|
313
|
-
|
|
314
264
|
exports.filter = filter;
|
|
315
|
-
|
|
316
265
|
var map = function map(arr, fn, self) {
|
|
317
266
|
if (arr.map) {
|
|
318
267
|
return arr.map(fn);
|
|
319
268
|
}
|
|
320
|
-
|
|
321
269
|
var ret = [];
|
|
322
|
-
|
|
323
270
|
for (var i = 0; i < arr.length; i++) {
|
|
324
271
|
if (!hasOwnProperty.call(arr, i)) {
|
|
325
272
|
continue;
|
|
326
273
|
}
|
|
327
|
-
|
|
328
274
|
var val = arr[i];
|
|
329
275
|
ret.push(fn.call(self, val, i, arr));
|
|
330
276
|
}
|
|
331
|
-
|
|
332
277
|
return ret;
|
|
333
278
|
};
|
|
334
|
-
|
|
335
279
|
exports.map = map;
|
|
336
|
-
|
|
337
280
|
var some = function some(arr, fn, self) {
|
|
338
281
|
if (arr.some) {
|
|
339
282
|
return arr.some(fn);
|
|
340
283
|
}
|
|
341
|
-
|
|
342
284
|
var flag = false;
|
|
343
|
-
|
|
344
285
|
for (var i = 0; i < arr.length; i++) {
|
|
345
286
|
if (!hasOwnProperty.call(arr, i)) {
|
|
346
287
|
continue;
|
|
347
288
|
}
|
|
348
|
-
|
|
349
289
|
var val = arr[i];
|
|
350
|
-
|
|
351
290
|
if (fn.call(self, val, i, arr)) {
|
|
352
291
|
flag = true;
|
|
353
292
|
break;
|
|
354
293
|
}
|
|
355
294
|
}
|
|
356
|
-
|
|
357
295
|
return flag;
|
|
358
296
|
};
|
|
359
|
-
|
|
360
297
|
exports.some = some;
|
|
361
|
-
|
|
362
298
|
var every = function every(arr, fn, self) {
|
|
363
299
|
if (arr.every) {
|
|
364
300
|
return arr.every(fn);
|
|
365
301
|
}
|
|
366
|
-
|
|
367
302
|
var flag = true;
|
|
368
|
-
|
|
369
303
|
for (var i = 0; i < arr.length; i++) {
|
|
370
304
|
if (!hasOwnProperty.call(arr, i)) {
|
|
371
305
|
continue;
|
|
372
306
|
}
|
|
373
|
-
|
|
374
307
|
var val = arr[i];
|
|
375
|
-
|
|
376
308
|
if (!fn.call(self, val, i, arr)) {
|
|
377
309
|
flag = false;
|
|
378
310
|
break;
|
|
379
311
|
}
|
|
380
312
|
}
|
|
381
|
-
|
|
382
313
|
return flag;
|
|
383
314
|
};
|
|
384
|
-
|
|
385
315
|
exports.every = every;
|
|
386
|
-
|
|
387
316
|
var matchList = function matchList(list, value, useStartsWith) {
|
|
388
317
|
if (useStartsWith === undefined) {
|
|
389
318
|
useStartsWith = false;
|
|
390
319
|
}
|
|
391
|
-
|
|
392
320
|
return some(list, function (item) {
|
|
393
321
|
try {
|
|
394
322
|
if (typeof item === 'function') {
|
|
@@ -402,60 +330,48 @@ var matchList = function matchList(list, value, useStartsWith) {
|
|
|
402
330
|
_display.display.error(e);
|
|
403
331
|
}
|
|
404
332
|
});
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
|
|
333
|
+
};
|
|
334
|
+
// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js
|
|
408
335
|
exports.matchList = matchList;
|
|
409
|
-
|
|
410
336
|
var cssEscape = function cssEscape(str) {
|
|
337
|
+
str = str + '';
|
|
411
338
|
if (window.CSS && window.CSS.escape) {
|
|
412
339
|
return window.CSS.escape(str);
|
|
413
|
-
}
|
|
414
|
-
|
|
340
|
+
}
|
|
415
341
|
|
|
342
|
+
// eslint-disable-next-line no-control-regex
|
|
416
343
|
return str.replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function (ch, asCodePoint) {
|
|
417
344
|
if (asCodePoint) {
|
|
418
345
|
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
|
419
346
|
if (ch === '\0') {
|
|
420
347
|
return "\uFFFD";
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
|
|
348
|
+
}
|
|
349
|
+
// Control characters and (dependent upon position) numbers get escaped as code points
|
|
424
350
|
return ch.slice(0, -1) + '\\' + ch.charCodeAt(ch.length - 1).toString(16) + ' ';
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
|
|
351
|
+
}
|
|
352
|
+
// Other potentially-special ASCII characters get backslash-escaped
|
|
428
353
|
return '\\' + ch;
|
|
429
354
|
});
|
|
430
355
|
};
|
|
431
|
-
|
|
432
356
|
exports.cssEscape = cssEscape;
|
|
433
|
-
|
|
434
357
|
var inherit = function inherit(subclass, superclass) {
|
|
435
358
|
var F = function F() {};
|
|
436
|
-
|
|
437
359
|
F.prototype = superclass.prototype;
|
|
438
360
|
subclass.prototype = new F();
|
|
439
361
|
subclass.prototype.constructor = subclass;
|
|
440
362
|
subclass.superclass = superclass.prototype;
|
|
441
363
|
return subclass;
|
|
442
364
|
};
|
|
443
|
-
|
|
444
365
|
exports.inherit = inherit;
|
|
445
|
-
|
|
446
366
|
var tirm = function tirm(str) {
|
|
447
367
|
return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
|
|
448
368
|
};
|
|
449
|
-
|
|
450
369
|
exports.tirm = tirm;
|
|
451
|
-
|
|
452
370
|
var isObject = function isObject(obj) {
|
|
453
371
|
if (obj === null) return false;
|
|
454
372
|
return toString.call(obj) === '[object Object]';
|
|
455
373
|
};
|
|
456
|
-
|
|
457
374
|
exports.isObject = isObject;
|
|
458
|
-
|
|
459
375
|
var isEmptyObject = function isEmptyObject(obj) {
|
|
460
376
|
if (isObject(obj)) {
|
|
461
377
|
for (var key in obj) {
|
|
@@ -463,15 +379,12 @@ var isEmptyObject = function isEmptyObject(obj) {
|
|
|
463
379
|
return false;
|
|
464
380
|
}
|
|
465
381
|
}
|
|
466
|
-
|
|
467
382
|
return true;
|
|
468
383
|
} else {
|
|
469
384
|
return false;
|
|
470
385
|
}
|
|
471
386
|
};
|
|
472
|
-
|
|
473
387
|
exports.isEmptyObject = isEmptyObject;
|
|
474
|
-
|
|
475
388
|
var objectEntries = function objectEntries(object) {
|
|
476
389
|
var res = [];
|
|
477
390
|
each(object, function (value, key) {
|
|
@@ -479,85 +392,60 @@ var objectEntries = function objectEntries(object) {
|
|
|
479
392
|
});
|
|
480
393
|
return res;
|
|
481
394
|
};
|
|
482
|
-
|
|
483
395
|
exports.objectEntries = objectEntries;
|
|
484
|
-
|
|
485
396
|
var isUndefined = function isUndefined(obj) {
|
|
486
397
|
return obj === void 0;
|
|
487
398
|
};
|
|
488
|
-
|
|
489
399
|
exports.isUndefined = isUndefined;
|
|
490
|
-
|
|
491
400
|
var isString = function isString(obj) {
|
|
492
401
|
return toString.call(obj) === '[object String]';
|
|
493
402
|
};
|
|
494
|
-
|
|
495
403
|
exports.isString = isString;
|
|
496
|
-
|
|
497
404
|
var isDate = function isDate(obj) {
|
|
498
405
|
return toString.call(obj) === '[object Date]';
|
|
499
406
|
};
|
|
500
|
-
|
|
501
407
|
exports.isDate = isDate;
|
|
502
|
-
|
|
503
408
|
var isBoolean = function isBoolean(obj) {
|
|
504
409
|
return toString.call(obj) === '[object Boolean]';
|
|
505
410
|
};
|
|
506
|
-
|
|
507
411
|
exports.isBoolean = isBoolean;
|
|
508
|
-
|
|
509
412
|
var isNumber = function isNumber(obj) {
|
|
510
413
|
return toString.call(obj) === '[object Number]' && /[\d\.]+/.test(String(obj));
|
|
511
414
|
};
|
|
512
|
-
|
|
513
415
|
exports.isNumber = isNumber;
|
|
514
|
-
|
|
515
416
|
var isElement = function isElement(obj) {
|
|
516
417
|
return !!(obj && obj.nodeType === 1);
|
|
517
418
|
};
|
|
518
|
-
|
|
519
419
|
exports.isElement = isElement;
|
|
520
|
-
|
|
521
420
|
var isJSONString = function isJSONString(str) {
|
|
522
421
|
try {
|
|
523
422
|
JSON.parse(str);
|
|
524
423
|
} catch (e) {
|
|
525
424
|
return false;
|
|
526
425
|
}
|
|
527
|
-
|
|
528
426
|
return true;
|
|
529
427
|
};
|
|
530
|
-
|
|
531
428
|
exports.isJSONString = isJSONString;
|
|
532
|
-
|
|
533
429
|
var safeJSONParse = function safeJSONParse(str) {
|
|
534
430
|
var val = null;
|
|
535
|
-
|
|
536
431
|
try {
|
|
537
432
|
val = JSON.parse(str);
|
|
538
433
|
} catch (e) {
|
|
539
434
|
return false;
|
|
540
435
|
}
|
|
541
|
-
|
|
542
436
|
return val;
|
|
543
437
|
};
|
|
544
|
-
|
|
545
438
|
exports.safeJSONParse = safeJSONParse;
|
|
546
|
-
|
|
547
439
|
var decodeURIComponent = function decodeURIComponent(val) {
|
|
548
440
|
var result = val;
|
|
549
|
-
|
|
550
441
|
try {
|
|
551
442
|
result = decodeURIComponent(val);
|
|
552
443
|
} catch (error) {
|
|
553
444
|
result = val;
|
|
554
445
|
}
|
|
555
|
-
|
|
556
446
|
return result;
|
|
557
447
|
};
|
|
558
|
-
|
|
559
448
|
exports.decodeURIComponent = decodeURIComponent;
|
|
560
|
-
|
|
561
449
|
var encodeDates = function encodeDates(obj) {
|
|
562
450
|
each(obj, function (v, k) {
|
|
563
451
|
if (isDate(v)) {
|
|
@@ -568,42 +456,31 @@ var encodeDates = function encodeDates(obj) {
|
|
|
568
456
|
});
|
|
569
457
|
return obj;
|
|
570
458
|
};
|
|
571
|
-
|
|
572
459
|
exports.encodeDates = encodeDates;
|
|
573
|
-
|
|
574
460
|
var mediaQueriesSupported = function mediaQueriesSupported() {
|
|
575
461
|
return typeof window.matchMedia !== 'undefined' || typeof window.msMatchMedia !== 'undefined';
|
|
576
462
|
};
|
|
577
|
-
|
|
578
463
|
exports.mediaQueriesSupported = mediaQueriesSupported;
|
|
579
|
-
|
|
580
464
|
var getScreenOrientation = function getScreenOrientation() {
|
|
581
465
|
var screenOrientationAPI = screen.msOrientation || screen.mozOrientation || (screen.orientation || {}).type;
|
|
582
466
|
var screenOrientation = '未取到值';
|
|
583
|
-
|
|
584
467
|
if (screenOrientationAPI) {
|
|
585
468
|
screenOrientation = screenOrientationAPI.indexOf('landscape') > -1 ? 'landscape' : 'portrait';
|
|
586
469
|
} else if (mediaQueriesSupported()) {
|
|
587
470
|
var matchMediaFunc = window.matchMedia || window.msMatchMedia;
|
|
588
|
-
|
|
589
471
|
if (matchMediaFunc('(orientation: landscape)').matches) {
|
|
590
472
|
screenOrientation = 'landscape';
|
|
591
473
|
} else if (matchMediaFunc('(orientation: portrait)').matches) {
|
|
592
474
|
screenOrientation = 'portrait';
|
|
593
475
|
}
|
|
594
476
|
}
|
|
595
|
-
|
|
596
477
|
return screenOrientation;
|
|
597
478
|
};
|
|
598
|
-
|
|
599
479
|
exports.getScreenOrientation = getScreenOrientation;
|
|
600
|
-
|
|
601
480
|
var now = Date.now || function () {
|
|
602
481
|
return new Date().getTime();
|
|
603
482
|
};
|
|
604
|
-
|
|
605
483
|
exports.now = now;
|
|
606
|
-
|
|
607
484
|
var throttle = function throttle(fn, wait, options) {
|
|
608
485
|
var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;
|
|
609
486
|
var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;
|
|
@@ -617,19 +494,16 @@ var throttle = function throttle(fn, wait, options) {
|
|
|
617
494
|
pendingExecutionWithParameters = arguments;
|
|
618
495
|
return;
|
|
619
496
|
}
|
|
620
|
-
|
|
621
497
|
if (needLeadingExecution) {
|
|
622
498
|
fn.apply(context, arguments);
|
|
623
499
|
} else {
|
|
624
500
|
pendingExecutionWithParameters = arguments;
|
|
625
501
|
}
|
|
626
|
-
|
|
627
502
|
inWaitPeriod = true;
|
|
628
503
|
pendingTimeoutId = (0, _timer.setTimeout)(function () {
|
|
629
504
|
if (needTrailingExecution && pendingExecutionWithParameters) {
|
|
630
505
|
fn.apply(context, pendingExecutionWithParameters);
|
|
631
506
|
}
|
|
632
|
-
|
|
633
507
|
inWaitPeriod = false;
|
|
634
508
|
pendingExecutionWithParameters = undefined;
|
|
635
509
|
}, wait);
|
|
@@ -641,42 +515,31 @@ var throttle = function throttle(fn, wait, options) {
|
|
|
641
515
|
}
|
|
642
516
|
};
|
|
643
517
|
};
|
|
644
|
-
|
|
645
518
|
exports.throttle = throttle;
|
|
646
|
-
|
|
647
519
|
var hashCode = function hashCode(str) {
|
|
648
520
|
if (typeof str !== 'string') {
|
|
649
521
|
return 0;
|
|
650
522
|
}
|
|
651
|
-
|
|
652
523
|
var hash = 0;
|
|
653
524
|
var _char = null;
|
|
654
|
-
|
|
655
525
|
if (str.length == 0) {
|
|
656
526
|
return hash;
|
|
657
527
|
}
|
|
658
|
-
|
|
659
528
|
for (var i = 0; i < str.length; i++) {
|
|
660
529
|
_char = str.charCodeAt(i);
|
|
661
530
|
hash = (hash << 5) - hash + _char;
|
|
662
531
|
hash = hash & hash;
|
|
663
532
|
}
|
|
664
|
-
|
|
665
533
|
return hash;
|
|
666
534
|
};
|
|
667
|
-
|
|
668
535
|
exports.hashCode = hashCode;
|
|
669
|
-
|
|
670
536
|
var formatDate = function formatDate(d) {
|
|
671
537
|
function pad(n) {
|
|
672
538
|
return n < 10 ? '0' + n : n;
|
|
673
539
|
}
|
|
674
|
-
|
|
675
540
|
return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate()) + ' ' + pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds()) + '.' + pad(d.getMilliseconds());
|
|
676
541
|
};
|
|
677
|
-
|
|
678
542
|
exports.formatDate = formatDate;
|
|
679
|
-
|
|
680
543
|
var searchObjDate = function searchObjDate(o) {
|
|
681
544
|
if (isObject(o)) {
|
|
682
545
|
each(o, function (a, b) {
|
|
@@ -690,16 +553,15 @@ var searchObjDate = function searchObjDate(o) {
|
|
|
690
553
|
});
|
|
691
554
|
}
|
|
692
555
|
};
|
|
693
|
-
|
|
694
556
|
exports.searchObjDate = searchObjDate;
|
|
695
|
-
|
|
696
557
|
var formatJsonString = function formatJsonString(obj) {
|
|
697
558
|
try {
|
|
698
559
|
return JSON.stringify(obj, null, ' ');
|
|
699
560
|
} catch (e) {
|
|
700
561
|
return JSON.stringify(obj);
|
|
701
562
|
}
|
|
702
|
-
};
|
|
563
|
+
};
|
|
564
|
+
// export var formatString = function (str) {
|
|
703
565
|
// if (str.length > MAX_STRING_LENGTH) {
|
|
704
566
|
// sd.log('字符串长度超过限制,已经做截取--' + str)
|
|
705
567
|
// return str.slice(0, MAX_STRING_LENGTH)
|
|
@@ -707,10 +569,7 @@ var formatJsonString = function formatJsonString(obj) {
|
|
|
707
569
|
// return str
|
|
708
570
|
// }
|
|
709
571
|
// }
|
|
710
|
-
|
|
711
|
-
|
|
712
572
|
exports.formatJsonString = formatJsonString;
|
|
713
|
-
|
|
714
573
|
var searchObjString = function searchObjString(o) {
|
|
715
574
|
if (isObject(o)) {
|
|
716
575
|
each(o, function (a, b) {
|
|
@@ -724,28 +583,21 @@ var searchObjString = function searchObjString(o) {
|
|
|
724
583
|
});
|
|
725
584
|
}
|
|
726
585
|
};
|
|
727
|
-
|
|
728
586
|
exports.searchObjString = searchObjString;
|
|
729
|
-
|
|
730
587
|
var unique = function unique(ar) {
|
|
731
588
|
var temp,
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
589
|
+
n = [],
|
|
590
|
+
o = {};
|
|
735
591
|
for (var i = 0; i < ar.length; i++) {
|
|
736
592
|
temp = ar[i];
|
|
737
|
-
|
|
738
593
|
if (!(temp in o)) {
|
|
739
594
|
o[temp] = true;
|
|
740
595
|
n.push(temp);
|
|
741
596
|
}
|
|
742
597
|
}
|
|
743
|
-
|
|
744
598
|
return n;
|
|
745
599
|
};
|
|
746
|
-
|
|
747
600
|
exports.unique = unique;
|
|
748
|
-
|
|
749
601
|
var strip_empty_properties = function strip_empty_properties(p) {
|
|
750
602
|
var ret = {};
|
|
751
603
|
each(p, function (v, k) {
|
|
@@ -755,23 +607,19 @@ var strip_empty_properties = function strip_empty_properties(p) {
|
|
|
755
607
|
});
|
|
756
608
|
return ret;
|
|
757
609
|
};
|
|
758
|
-
|
|
759
610
|
exports.strip_empty_properties = strip_empty_properties;
|
|
760
|
-
|
|
761
611
|
var utf8Encode = function utf8Encode(string) {
|
|
762
612
|
string = (string + '').replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
763
613
|
var utftext = '',
|
|
764
|
-
|
|
765
|
-
|
|
614
|
+
start,
|
|
615
|
+
end;
|
|
766
616
|
var stringl = 0,
|
|
767
|
-
|
|
617
|
+
n;
|
|
768
618
|
start = end = 0;
|
|
769
619
|
stringl = string.length;
|
|
770
|
-
|
|
771
620
|
for (n = 0; n < stringl; n++) {
|
|
772
621
|
var c1 = string.charCodeAt(n);
|
|
773
622
|
var enc = null;
|
|
774
|
-
|
|
775
623
|
if (c1 < 128) {
|
|
776
624
|
end++;
|
|
777
625
|
} else if (c1 > 127 && c1 < 2048) {
|
|
@@ -779,54 +627,44 @@ var utf8Encode = function utf8Encode(string) {
|
|
|
779
627
|
} else {
|
|
780
628
|
enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);
|
|
781
629
|
}
|
|
782
|
-
|
|
783
630
|
if (enc !== null) {
|
|
784
631
|
if (end > start) {
|
|
785
632
|
utftext += string.substring(start, end);
|
|
786
633
|
}
|
|
787
|
-
|
|
788
634
|
utftext += enc;
|
|
789
635
|
start = end = n + 1;
|
|
790
636
|
}
|
|
791
637
|
}
|
|
792
|
-
|
|
793
638
|
if (end > start) {
|
|
794
639
|
utftext += string.substring(start, string.length);
|
|
795
640
|
}
|
|
796
|
-
|
|
797
641
|
return utftext;
|
|
798
642
|
};
|
|
799
|
-
|
|
800
643
|
exports.utf8Encode = utf8Encode;
|
|
801
|
-
|
|
802
644
|
var base64Encode = function base64Encode(data) {
|
|
803
645
|
if (typeof btoa === 'function') {
|
|
804
646
|
return btoa(encodeURIComponent(data).replace(/%([0-9A-F]{2})/g, function (match, p1) {
|
|
805
647
|
return String.fromCharCode('0x' + p1);
|
|
806
648
|
}));
|
|
807
649
|
}
|
|
808
|
-
|
|
809
650
|
data = String(data);
|
|
810
651
|
var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
|
811
652
|
var o1,
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
653
|
+
o2,
|
|
654
|
+
o3,
|
|
655
|
+
h1,
|
|
656
|
+
h2,
|
|
657
|
+
h3,
|
|
658
|
+
h4,
|
|
659
|
+
bits,
|
|
660
|
+
i = 0,
|
|
661
|
+
ac = 0,
|
|
662
|
+
enc = '',
|
|
663
|
+
tmp_arr = [];
|
|
824
664
|
if (!data) {
|
|
825
665
|
return data;
|
|
826
666
|
}
|
|
827
|
-
|
|
828
667
|
data = utf8Encode(data);
|
|
829
|
-
|
|
830
668
|
do {
|
|
831
669
|
o1 = data.charCodeAt(i++);
|
|
832
670
|
o2 = data.charCodeAt(i++);
|
|
@@ -838,61 +676,49 @@ var base64Encode = function base64Encode(data) {
|
|
|
838
676
|
h4 = bits & 0x3f;
|
|
839
677
|
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
|
|
840
678
|
} while (i < data.length);
|
|
841
|
-
|
|
842
679
|
enc = tmp_arr.join('');
|
|
843
|
-
|
|
844
680
|
switch (data.length % 3) {
|
|
845
681
|
case 1:
|
|
846
682
|
enc = enc.slice(0, -2) + '==';
|
|
847
683
|
break;
|
|
848
|
-
|
|
849
684
|
case 2:
|
|
850
685
|
enc = enc.slice(0, -1) + '=';
|
|
851
686
|
break;
|
|
852
687
|
}
|
|
853
|
-
|
|
854
688
|
return enc;
|
|
855
689
|
};
|
|
856
690
|
/**
|
|
857
691
|
* UUID v4
|
|
858
692
|
* from https://gist.github.com/jed/982883
|
|
859
693
|
*/
|
|
860
|
-
|
|
861
|
-
|
|
862
694
|
exports.base64Encode = base64Encode;
|
|
863
|
-
|
|
864
695
|
function UUID(placeholder) {
|
|
865
|
-
return placeholder ?
|
|
696
|
+
return placeholder ?
|
|
697
|
+
// eslint-disable-next-line no-bitwise
|
|
866
698
|
(parseInt(placeholder, 10) ^ Math.random() * 16 >> parseInt(placeholder, 10) / 4).toString(16) : "".concat(1e7, "-", 1e3, "-", 4e3, "-", 8e3, "-", 1e11).replace(/[018]/g, UUID);
|
|
867
|
-
}
|
|
868
|
-
|
|
699
|
+
}
|
|
869
700
|
|
|
701
|
+
// 替换url包含数字的路由
|
|
870
702
|
function replaceNumberCharByPath(path) {
|
|
871
703
|
var pathGroup = '';
|
|
872
|
-
|
|
873
704
|
if (path) {
|
|
874
705
|
pathGroup = path.replace(/\/([^\/]*)\d([^\/]*)/g, '/?').replace(/\/$/g, '');
|
|
875
706
|
}
|
|
876
|
-
|
|
877
707
|
return pathGroup || '/';
|
|
878
708
|
}
|
|
879
|
-
|
|
880
709
|
var getQueryParam = function getQueryParam(url, param) {
|
|
881
710
|
param = param.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
882
711
|
url = decodeURIComponent(url);
|
|
883
712
|
var regexS = '[\\?&]' + param + '=([^&#]*)',
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
713
|
+
regex = new RegExp(regexS),
|
|
714
|
+
results = regex.exec(url);
|
|
887
715
|
if (results === null || results && typeof results[1] !== 'string' && results[1].length) {
|
|
888
716
|
return '';
|
|
889
717
|
} else {
|
|
890
718
|
return decodeURIComponent(results[1]);
|
|
891
719
|
}
|
|
892
720
|
};
|
|
893
|
-
|
|
894
721
|
exports.getQueryParam = getQueryParam;
|
|
895
|
-
|
|
896
722
|
var urlParse = function urlParse(para) {
|
|
897
723
|
var URLParser = function URLParser(a) {
|
|
898
724
|
this._fields = {
|
|
@@ -909,29 +735,23 @@ var urlParse = function urlParse(para) {
|
|
|
909
735
|
this._values = {};
|
|
910
736
|
this._regex = null;
|
|
911
737
|
this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;
|
|
912
|
-
|
|
913
738
|
if (typeof a != 'undefined') {
|
|
914
739
|
this._parse(a);
|
|
915
740
|
}
|
|
916
741
|
};
|
|
917
|
-
|
|
918
742
|
URLParser.prototype.setUrl = function (a) {
|
|
919
743
|
this._parse(a);
|
|
920
744
|
};
|
|
921
|
-
|
|
922
745
|
URLParser.prototype._initValues = function () {
|
|
923
746
|
for (var a in this._fields) {
|
|
924
747
|
this._values[a] = '';
|
|
925
748
|
}
|
|
926
749
|
};
|
|
927
|
-
|
|
928
750
|
URLParser.prototype.addQueryString = function (queryObj) {
|
|
929
751
|
if (_typeof(queryObj) !== 'object') {
|
|
930
752
|
return false;
|
|
931
753
|
}
|
|
932
|
-
|
|
933
754
|
var query = this._values.QueryString || '';
|
|
934
|
-
|
|
935
755
|
for (var i in queryObj) {
|
|
936
756
|
if (new RegExp(i + '[^&]+').test(query)) {
|
|
937
757
|
query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i]);
|
|
@@ -947,104 +767,83 @@ var urlParse = function urlParse(para) {
|
|
|
947
767
|
}
|
|
948
768
|
}
|
|
949
769
|
}
|
|
950
|
-
|
|
951
770
|
this._values.QueryString = query;
|
|
952
771
|
};
|
|
953
|
-
|
|
954
772
|
URLParser.prototype.getParse = function () {
|
|
955
773
|
return this._values;
|
|
956
774
|
};
|
|
957
|
-
|
|
958
775
|
URLParser.prototype.getUrl = function () {
|
|
959
776
|
var url = '';
|
|
960
|
-
url += this._values.Origin;
|
|
961
|
-
|
|
777
|
+
url += this._values.Origin;
|
|
778
|
+
// url += this._values.Port ? ':' + this._values.Port : ''
|
|
962
779
|
url += this._values.Path;
|
|
963
780
|
url += this._values.QueryString ? '?' + this._values.QueryString : '';
|
|
964
781
|
return url;
|
|
965
782
|
};
|
|
966
|
-
|
|
967
783
|
URLParser.prototype._parse = function (a) {
|
|
968
784
|
this._initValues();
|
|
969
|
-
|
|
970
785
|
var b = this._regex.exec(a);
|
|
971
|
-
|
|
972
786
|
if (!b) {
|
|
973
787
|
throw 'DPURLParser::_parse -> Invalid URL';
|
|
974
788
|
}
|
|
975
|
-
|
|
976
789
|
for (var c in this._fields) {
|
|
977
790
|
if (typeof b[this._fields[c]] != 'undefined') {
|
|
978
791
|
this._values[c] = b[this._fields[c]];
|
|
979
792
|
}
|
|
980
793
|
}
|
|
981
|
-
|
|
982
794
|
this._values['Path'] = this._values['Path'] || '/';
|
|
983
795
|
this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '');
|
|
984
|
-
this._values['Origin'] = this._values['Protocol'] + '://' + this._values['Hostname'] + (this._values.Port ? ':' + this._values.Port : '');
|
|
796
|
+
this._values['Origin'] = this._values['Protocol'] + '://' + this._values['Hostname'] + (this._values.Port ? ':' + this._values.Port : '');
|
|
797
|
+
// this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '')
|
|
985
798
|
// this._values['Origin'] =
|
|
986
799
|
// this._values['Protocol'] + '://' + this._values['Hostname']
|
|
987
800
|
};
|
|
988
801
|
|
|
989
802
|
return new URLParser(para);
|
|
990
803
|
};
|
|
991
|
-
|
|
992
804
|
exports.urlParse = urlParse;
|
|
993
|
-
|
|
994
805
|
function elementMatches(element, selector) {
|
|
995
806
|
if (element.matches) {
|
|
996
807
|
return element.matches(selector);
|
|
997
|
-
}
|
|
998
|
-
|
|
999
|
-
|
|
808
|
+
}
|
|
809
|
+
// IE11 support
|
|
1000
810
|
if (element.msMatchesSelector) {
|
|
1001
811
|
return element.msMatchesSelector(selector);
|
|
1002
812
|
}
|
|
1003
|
-
|
|
1004
813
|
return false;
|
|
1005
814
|
}
|
|
1006
|
-
|
|
1007
815
|
var cookie = {
|
|
1008
816
|
get: function get(name) {
|
|
1009
817
|
var nameEQ = name + '=';
|
|
1010
818
|
var ca = document.cookie.split(';');
|
|
1011
|
-
|
|
1012
819
|
for (var i = 0; i < ca.length; i++) {
|
|
1013
820
|
var c = ca[i];
|
|
1014
|
-
|
|
1015
821
|
while (c.charAt(0) == ' ') {
|
|
1016
822
|
c = c.substring(1, c.length);
|
|
1017
823
|
}
|
|
1018
|
-
|
|
1019
824
|
if (c.indexOf(nameEQ) == 0) {
|
|
1020
825
|
return decodeURIComponent(c.substring(nameEQ.length, c.length));
|
|
1021
826
|
}
|
|
1022
827
|
}
|
|
1023
|
-
|
|
1024
828
|
return null;
|
|
1025
829
|
},
|
|
1026
830
|
set: function set(name, value, days, is_secure) {
|
|
1027
831
|
var cdomain = '',
|
|
1028
|
-
|
|
1029
|
-
|
|
832
|
+
expires = '',
|
|
833
|
+
secure = '';
|
|
1030
834
|
days = days == null ? 73000 : days;
|
|
1031
|
-
|
|
1032
835
|
if (days !== 0) {
|
|
1033
836
|
var date = new Date();
|
|
1034
|
-
|
|
1035
837
|
if (String(days).slice(-1) === 's') {
|
|
1036
838
|
date.setTime(date.getTime() + Number(String(days).slice(0, -1)) * 1000);
|
|
1037
839
|
} else {
|
|
1038
840
|
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
|
|
1039
841
|
}
|
|
1040
|
-
|
|
1041
842
|
expires = '; expires=' + date.toGMTString();
|
|
1042
843
|
}
|
|
1043
|
-
|
|
1044
844
|
if (is_secure) {
|
|
1045
845
|
secure = '; secure';
|
|
1046
846
|
}
|
|
1047
|
-
|
|
1048
847
|
document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
|
|
1049
848
|
},
|
|
1050
849
|
remove: function remove(name) {
|
|
@@ -1058,13 +857,11 @@ var localStorage = {
|
|
|
1058
857
|
},
|
|
1059
858
|
parse: function parse(name) {
|
|
1060
859
|
var storedValue;
|
|
1061
|
-
|
|
1062
860
|
try {
|
|
1063
861
|
storedValue = JSON.parse(localStorage.get(name)) || null;
|
|
1064
862
|
} catch (err) {
|
|
1065
863
|
sd.log(err);
|
|
1066
864
|
}
|
|
1067
|
-
|
|
1068
865
|
return storedValue;
|
|
1069
866
|
},
|
|
1070
867
|
set: function set(name, value) {
|
|
@@ -1075,21 +872,17 @@ var localStorage = {
|
|
|
1075
872
|
},
|
|
1076
873
|
isSupport: function isSupport() {
|
|
1077
874
|
var supported = true;
|
|
1078
|
-
|
|
1079
875
|
try {
|
|
1080
876
|
var key = '__sensorsdatasupport__';
|
|
1081
877
|
var val = 'testIsSupportStorage';
|
|
1082
878
|
localStorage.set(key, val);
|
|
1083
|
-
|
|
1084
879
|
if (localStorage.get(key) !== val) {
|
|
1085
880
|
supported = false;
|
|
1086
881
|
}
|
|
1087
|
-
|
|
1088
882
|
localStorage.remove(key);
|
|
1089
883
|
} catch (err) {
|
|
1090
884
|
supported = false;
|
|
1091
885
|
}
|
|
1092
|
-
|
|
1093
886
|
return supported;
|
|
1094
887
|
}
|
|
1095
888
|
};
|
|
@@ -1099,7 +892,6 @@ var sessionStorage = {
|
|
|
1099
892
|
var supported = true;
|
|
1100
893
|
var key = '__sensorsdatasupport__';
|
|
1101
894
|
var val = 'testIsSupportStorage';
|
|
1102
|
-
|
|
1103
895
|
try {
|
|
1104
896
|
if (sessionStorage && sessionStorage.setItem) {
|
|
1105
897
|
sessionStorage.setItem(key, val);
|
|
@@ -1111,17 +903,14 @@ var sessionStorage = {
|
|
|
1111
903
|
} catch (e) {
|
|
1112
904
|
supported = false;
|
|
1113
905
|
}
|
|
1114
|
-
|
|
1115
906
|
return supported;
|
|
1116
907
|
}
|
|
1117
908
|
};
|
|
1118
909
|
exports.sessionStorage = sessionStorage;
|
|
1119
|
-
|
|
1120
910
|
var isSupportCors = function isSupportCors() {
|
|
1121
911
|
if (typeof window.XMLHttpRequest === 'undefined') {
|
|
1122
912
|
return false;
|
|
1123
913
|
}
|
|
1124
|
-
|
|
1125
914
|
if ('withCredentials' in new XMLHttpRequest()) {
|
|
1126
915
|
return true;
|
|
1127
916
|
} else if (typeof XDomainRequest !== 'undefined') {
|
|
@@ -1130,9 +919,7 @@ var isSupportCors = function isSupportCors() {
|
|
|
1130
919
|
return false;
|
|
1131
920
|
}
|
|
1132
921
|
};
|
|
1133
|
-
|
|
1134
922
|
exports.isSupportCors = isSupportCors;
|
|
1135
|
-
|
|
1136
923
|
var xhr = function xhr(cors) {
|
|
1137
924
|
if (cors) {
|
|
1138
925
|
if (typeof window.XMLHttpRequest !== 'undefined' && 'withCredentials' in new XMLHttpRequest()) {
|
|
@@ -1146,7 +933,6 @@ var xhr = function xhr(cors) {
|
|
|
1146
933
|
if (typeof window.XMLHttpRequest !== 'undefined') {
|
|
1147
934
|
return new XMLHttpRequest();
|
|
1148
935
|
}
|
|
1149
|
-
|
|
1150
936
|
if (window.ActiveXObject) {
|
|
1151
937
|
try {
|
|
1152
938
|
return new ActiveXObject('Msxml2.XMLHTTP');
|
|
@@ -1160,40 +946,31 @@ var xhr = function xhr(cors) {
|
|
|
1160
946
|
}
|
|
1161
947
|
}
|
|
1162
948
|
};
|
|
1163
|
-
|
|
1164
949
|
exports.xhr = xhr;
|
|
1165
|
-
|
|
1166
950
|
var ajax = function ajax(para) {
|
|
1167
951
|
para.timeout = para.timeout || 20000;
|
|
1168
952
|
para.credentials = typeof para.credentials === 'undefined' ? true : para.credentials;
|
|
1169
|
-
|
|
1170
953
|
function getJSON(data) {
|
|
1171
954
|
if (!data) {
|
|
1172
955
|
return '';
|
|
1173
956
|
}
|
|
1174
|
-
|
|
1175
957
|
try {
|
|
1176
958
|
return JSON.parse(data);
|
|
1177
959
|
} catch (e) {
|
|
1178
960
|
return {};
|
|
1179
961
|
}
|
|
1180
962
|
}
|
|
1181
|
-
|
|
1182
963
|
var g = xhr(para.cors);
|
|
1183
|
-
|
|
1184
964
|
if (!g) {
|
|
1185
965
|
return false;
|
|
1186
966
|
}
|
|
1187
|
-
|
|
1188
967
|
if (!para.type) {
|
|
1189
968
|
para.type = para.data ? 'POST' : 'GET';
|
|
1190
969
|
}
|
|
1191
|
-
|
|
1192
970
|
para = extend({
|
|
1193
971
|
success: function success() {},
|
|
1194
972
|
error: function error() {}
|
|
1195
973
|
}, para);
|
|
1196
|
-
|
|
1197
974
|
try {
|
|
1198
975
|
if (_typeof(g) === 'object' && 'timeout' in g) {
|
|
1199
976
|
g.timeout = para.timeout;
|
|
@@ -1209,7 +986,6 @@ var ajax = function ajax(para) {
|
|
|
1209
986
|
}, para.timeout + 500);
|
|
1210
987
|
} catch (e2) {}
|
|
1211
988
|
}
|
|
1212
|
-
|
|
1213
989
|
g.onreadystatechange = function () {
|
|
1214
990
|
try {
|
|
1215
991
|
if (g.readyState == 4) {
|
|
@@ -1218,7 +994,6 @@ var ajax = function ajax(para) {
|
|
|
1218
994
|
} else {
|
|
1219
995
|
para.error(getJSON(g.responseText), g.status);
|
|
1220
996
|
}
|
|
1221
|
-
|
|
1222
997
|
g.onreadystatechange = null;
|
|
1223
998
|
g.onload = null;
|
|
1224
999
|
}
|
|
@@ -1227,25 +1002,20 @@ var ajax = function ajax(para) {
|
|
|
1227
1002
|
g.onload = null;
|
|
1228
1003
|
}
|
|
1229
1004
|
};
|
|
1230
|
-
|
|
1231
1005
|
g.open(para.type, para.url, true);
|
|
1232
|
-
|
|
1233
1006
|
try {
|
|
1234
1007
|
if (para.credentials) {
|
|
1235
1008
|
g.withCredentials = true;
|
|
1236
1009
|
}
|
|
1237
|
-
|
|
1238
1010
|
if (isObject(para.header)) {
|
|
1239
1011
|
for (var i in para.header) {
|
|
1240
1012
|
g.setRequestHeader(i, para.header[i]);
|
|
1241
1013
|
}
|
|
1242
1014
|
}
|
|
1243
|
-
|
|
1244
1015
|
if (para.data) {
|
|
1245
1016
|
if (!para.cors) {
|
|
1246
1017
|
g.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
|
1247
1018
|
}
|
|
1248
|
-
|
|
1249
1019
|
if (para.contentType === 'application/json') {
|
|
1250
1020
|
g.setRequestHeader('Content-type', 'application/json; charset=UTF-8');
|
|
1251
1021
|
} else {
|
|
@@ -1253,12 +1023,9 @@ var ajax = function ajax(para) {
|
|
|
1253
1023
|
}
|
|
1254
1024
|
}
|
|
1255
1025
|
} catch (e) {}
|
|
1256
|
-
|
|
1257
1026
|
g.send(para.data || null);
|
|
1258
1027
|
};
|
|
1259
|
-
|
|
1260
1028
|
exports.ajax = ajax;
|
|
1261
|
-
|
|
1262
1029
|
var loadScript = function loadScript(para) {
|
|
1263
1030
|
para = extend({
|
|
1264
1031
|
success: function success() {},
|
|
@@ -1268,13 +1035,11 @@ var loadScript = function loadScript(para) {
|
|
|
1268
1035
|
}
|
|
1269
1036
|
}, para);
|
|
1270
1037
|
var g = null;
|
|
1271
|
-
|
|
1272
1038
|
if (para.type === 'css') {
|
|
1273
1039
|
g = document.createElement('link');
|
|
1274
1040
|
g.rel = 'stylesheet';
|
|
1275
1041
|
g.href = para.url;
|
|
1276
1042
|
}
|
|
1277
|
-
|
|
1278
1043
|
if (para.type === 'js') {
|
|
1279
1044
|
g = document.createElement('script');
|
|
1280
1045
|
g.async = 'async';
|
|
@@ -1282,65 +1047,48 @@ var loadScript = function loadScript(para) {
|
|
|
1282
1047
|
g.src = para.url;
|
|
1283
1048
|
g.type = 'text/javascript';
|
|
1284
1049
|
}
|
|
1285
|
-
|
|
1286
1050
|
g.onload = g.onreadystatechange = function () {
|
|
1287
1051
|
if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {
|
|
1288
1052
|
para.success();
|
|
1289
1053
|
g.onload = g.onreadystatechange = null;
|
|
1290
1054
|
}
|
|
1291
1055
|
};
|
|
1292
|
-
|
|
1293
1056
|
g.onerror = function () {
|
|
1294
1057
|
para.error();
|
|
1295
1058
|
g.onerror = null;
|
|
1296
1059
|
};
|
|
1297
|
-
|
|
1298
1060
|
para.appendCall(g);
|
|
1299
1061
|
};
|
|
1300
|
-
|
|
1301
1062
|
exports.loadScript = loadScript;
|
|
1302
|
-
|
|
1303
1063
|
var getHostname = function getHostname(url, defaultValue) {
|
|
1304
1064
|
if (!defaultValue || typeof defaultValue !== 'string') {
|
|
1305
1065
|
defaultValue = 'hostname解析异常';
|
|
1306
1066
|
}
|
|
1307
|
-
|
|
1308
1067
|
var hostname = null;
|
|
1309
|
-
|
|
1310
1068
|
try {
|
|
1311
1069
|
hostname = URL(url).hostname;
|
|
1312
1070
|
} catch (e) {}
|
|
1313
|
-
|
|
1314
1071
|
return hostname || defaultValue;
|
|
1315
1072
|
};
|
|
1316
|
-
|
|
1317
1073
|
exports.getHostname = getHostname;
|
|
1318
|
-
|
|
1319
1074
|
var getQueryParamsFromUrl = function getQueryParamsFromUrl(url) {
|
|
1320
1075
|
var result = {};
|
|
1321
1076
|
var arr = url.split('?');
|
|
1322
1077
|
var queryString = arr[1] || '';
|
|
1323
|
-
|
|
1324
1078
|
if (queryString) {
|
|
1325
1079
|
result = getURLSearchParams('?' + queryString);
|
|
1326
1080
|
}
|
|
1327
|
-
|
|
1328
1081
|
return result;
|
|
1329
1082
|
};
|
|
1330
|
-
|
|
1331
1083
|
exports.getQueryParamsFromUrl = getQueryParamsFromUrl;
|
|
1332
|
-
|
|
1333
1084
|
var getURLSearchParams = function getURLSearchParams(queryString) {
|
|
1334
1085
|
queryString = queryString || '';
|
|
1335
|
-
|
|
1336
1086
|
var decodeParam = function decodeParam(str) {
|
|
1337
1087
|
return decodeURIComponent(str);
|
|
1338
1088
|
};
|
|
1339
|
-
|
|
1340
1089
|
var args = {};
|
|
1341
1090
|
var query = queryString.substring(1);
|
|
1342
1091
|
var pairs = query.split('&');
|
|
1343
|
-
|
|
1344
1092
|
for (var i = 0; i < pairs.length; i++) {
|
|
1345
1093
|
var pos = pairs[i].indexOf('=');
|
|
1346
1094
|
if (pos === -1) continue;
|
|
@@ -1350,37 +1098,29 @@ var getURLSearchParams = function getURLSearchParams(queryString) {
|
|
|
1350
1098
|
value = decodeParam(value);
|
|
1351
1099
|
args[name] = value;
|
|
1352
1100
|
}
|
|
1353
|
-
|
|
1354
1101
|
return args;
|
|
1355
1102
|
};
|
|
1356
|
-
|
|
1357
1103
|
exports.getURLSearchParams = getURLSearchParams;
|
|
1358
|
-
|
|
1359
1104
|
function createCircularReferenceChecker() {
|
|
1360
1105
|
if (typeof WeakSet !== 'undefined') {
|
|
1361
1106
|
var set = new WeakSet();
|
|
1362
1107
|
return {
|
|
1363
1108
|
hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
|
|
1364
1109
|
var has = set.has(value);
|
|
1365
|
-
|
|
1366
1110
|
if (!has) {
|
|
1367
1111
|
set.add(value);
|
|
1368
1112
|
}
|
|
1369
|
-
|
|
1370
1113
|
return has;
|
|
1371
1114
|
}
|
|
1372
1115
|
};
|
|
1373
1116
|
}
|
|
1374
|
-
|
|
1375
1117
|
var array = [];
|
|
1376
1118
|
return {
|
|
1377
1119
|
hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
|
|
1378
1120
|
var has = array.indexOf(value) >= 0;
|
|
1379
|
-
|
|
1380
1121
|
if (!has) {
|
|
1381
1122
|
array.push(value);
|
|
1382
1123
|
}
|
|
1383
|
-
|
|
1384
1124
|
return has;
|
|
1385
1125
|
}
|
|
1386
1126
|
};
|
|
@@ -1388,88 +1128,71 @@ function createCircularReferenceChecker() {
|
|
|
1388
1128
|
/**
|
|
1389
1129
|
* Similar to `typeof`, but distinguish plain objects from `null` and arrays
|
|
1390
1130
|
*/
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
1131
|
function getType(value) {
|
|
1394
1132
|
if (value === null) {
|
|
1395
1133
|
return 'null';
|
|
1396
1134
|
}
|
|
1397
|
-
|
|
1398
1135
|
if (Array.isArray(value)) {
|
|
1399
1136
|
return 'array';
|
|
1400
1137
|
}
|
|
1401
|
-
|
|
1402
1138
|
return _typeof(value);
|
|
1403
1139
|
}
|
|
1404
1140
|
/**
|
|
1405
1141
|
* Iterate over source and affect its sub values into destination, recursively.
|
|
1406
1142
|
* If the source and destination can't be merged, return source.
|
|
1407
1143
|
*/
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
1144
|
function mergeInto(destination, source, circularReferenceChecker) {
|
|
1411
1145
|
// ignore the source if it is undefined
|
|
1412
1146
|
if (typeof circularReferenceChecker === 'undefined') {
|
|
1413
1147
|
circularReferenceChecker = createCircularReferenceChecker();
|
|
1414
1148
|
}
|
|
1415
|
-
|
|
1416
1149
|
if (source === undefined) {
|
|
1417
1150
|
return destination;
|
|
1418
1151
|
}
|
|
1419
|
-
|
|
1420
1152
|
if (_typeof(source) !== 'object' || source === null) {
|
|
1421
1153
|
// primitive values - just return source
|
|
1422
1154
|
return source;
|
|
1423
1155
|
} else if (source instanceof Date) {
|
|
1424
1156
|
return new Date(source.getTime());
|
|
1425
1157
|
} else if (source instanceof RegExp) {
|
|
1426
|
-
var flags = source.flags ||
|
|
1158
|
+
var flags = source.flags ||
|
|
1159
|
+
// old browsers compatibility
|
|
1427
1160
|
[source.global ? 'g' : '', source.ignoreCase ? 'i' : '', source.multiline ? 'm' : '', source.sticky ? 'y' : '', source.unicode ? 'u' : ''].join('');
|
|
1428
1161
|
return new RegExp(source.source, flags);
|
|
1429
1162
|
}
|
|
1430
|
-
|
|
1431
1163
|
if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {
|
|
1432
1164
|
// remove circular references
|
|
1433
1165
|
return undefined;
|
|
1434
1166
|
} else if (Array.isArray(source)) {
|
|
1435
1167
|
var merged = Array.isArray(destination) ? destination : [];
|
|
1436
|
-
|
|
1437
1168
|
for (var i = 0; i < source.length; ++i) {
|
|
1438
1169
|
merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker);
|
|
1439
1170
|
}
|
|
1440
|
-
|
|
1441
1171
|
return merged;
|
|
1442
1172
|
}
|
|
1443
|
-
|
|
1444
1173
|
var merged = getType(destination) === 'object' ? destination : {};
|
|
1445
|
-
|
|
1446
1174
|
for (var key in source) {
|
|
1447
1175
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1448
1176
|
merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);
|
|
1449
1177
|
}
|
|
1450
1178
|
}
|
|
1451
|
-
|
|
1452
1179
|
return merged;
|
|
1453
1180
|
}
|
|
1181
|
+
|
|
1454
1182
|
/**
|
|
1455
1183
|
* A simplistic implementation of a deep clone algorithm.
|
|
1456
1184
|
* Caveats:
|
|
1457
1185
|
* - It doesn't maintain prototype chains - don't use with instances of custom classes.
|
|
1458
1186
|
* - It doesn't handle Map and Set
|
|
1459
1187
|
*/
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
1188
|
function deepClone(value) {
|
|
1463
1189
|
return mergeInto(undefined, value);
|
|
1464
1190
|
}
|
|
1465
|
-
|
|
1466
1191
|
var _URL = function _URL(url) {
|
|
1467
1192
|
var result = {};
|
|
1468
1193
|
var basicProps = ['hash', 'host', 'hostname', 'href', 'origin', 'password', 'pathname', 'port', 'protocol', 'search', 'username'];
|
|
1469
|
-
|
|
1470
1194
|
var isURLAPIWorking = function isURLAPIWorking() {
|
|
1471
1195
|
var url;
|
|
1472
|
-
|
|
1473
1196
|
try {
|
|
1474
1197
|
url = new URL('http://modernizr.com/');
|
|
1475
1198
|
return url.href === 'http://modernizr.com/';
|
|
@@ -1477,10 +1200,8 @@ var _URL = function _URL(url) {
|
|
|
1477
1200
|
return false;
|
|
1478
1201
|
}
|
|
1479
1202
|
};
|
|
1480
|
-
|
|
1481
1203
|
if (typeof window.URL === 'function' && isURLAPIWorking()) {
|
|
1482
1204
|
result = new URL(url);
|
|
1483
|
-
|
|
1484
1205
|
if (!result.searchParams) {
|
|
1485
1206
|
result.searchParams = function () {
|
|
1486
1207
|
var params = getURLSearchParams(result.search);
|
|
@@ -1493,23 +1214,18 @@ var _URL = function _URL(url) {
|
|
|
1493
1214
|
}
|
|
1494
1215
|
} else {
|
|
1495
1216
|
var _regex = /^https?:\/\/.+/;
|
|
1496
|
-
|
|
1497
1217
|
if (_regex.test(url) === false) {
|
|
1498
1218
|
throw 'Invalid URL';
|
|
1499
1219
|
}
|
|
1500
|
-
|
|
1501
1220
|
var link = document.createElement('a');
|
|
1502
1221
|
link.href = url;
|
|
1503
|
-
|
|
1504
1222
|
for (var i = basicProps.length - 1; i >= 0; i--) {
|
|
1505
1223
|
var prop = basicProps[i];
|
|
1506
1224
|
result[prop] = link[prop];
|
|
1507
1225
|
}
|
|
1508
|
-
|
|
1509
1226
|
if (result.hostname && typeof result.pathname === 'string' && result.pathname.indexOf('/') !== 0) {
|
|
1510
1227
|
result.pathname = '/' + result.pathname;
|
|
1511
1228
|
}
|
|
1512
|
-
|
|
1513
1229
|
result.searchParams = function () {
|
|
1514
1230
|
var params = getURLSearchParams(result.search);
|
|
1515
1231
|
return {
|
|
@@ -1519,15 +1235,11 @@ var _URL = function _URL(url) {
|
|
|
1519
1235
|
};
|
|
1520
1236
|
}();
|
|
1521
1237
|
}
|
|
1522
|
-
|
|
1523
1238
|
return result;
|
|
1524
1239
|
};
|
|
1525
|
-
|
|
1526
1240
|
exports._URL = _URL;
|
|
1527
|
-
|
|
1528
1241
|
var getCurrentDomain = function getCurrentDomain(url) {
|
|
1529
1242
|
var cookieTopLevelDomain = getCookieTopLevelDomain();
|
|
1530
|
-
|
|
1531
1243
|
if (url === '') {
|
|
1532
1244
|
return 'url解析失败';
|
|
1533
1245
|
} else if (cookieTopLevelDomain === '') {
|
|
@@ -1536,20 +1248,15 @@ var getCurrentDomain = function getCurrentDomain(url) {
|
|
|
1536
1248
|
return cookieTopLevelDomain;
|
|
1537
1249
|
}
|
|
1538
1250
|
};
|
|
1539
|
-
|
|
1540
1251
|
exports.getCurrentDomain = getCurrentDomain;
|
|
1541
|
-
|
|
1542
1252
|
var getCookieTopLevelDomain = function getCookieTopLevelDomain(hostname) {
|
|
1543
1253
|
hostname = hostname || window.location.hostname;
|
|
1544
1254
|
var splitResult = hostname.split('.');
|
|
1545
|
-
|
|
1546
1255
|
if (isArray(splitResult) && splitResult.length >= 2 && !/^(\d+\.)+\d+$/.test(hostname)) {
|
|
1547
1256
|
var domainStr = '.' + splitResult.splice(splitResult.length - 1, 1);
|
|
1548
|
-
|
|
1549
1257
|
while (splitResult.length > 0) {
|
|
1550
1258
|
domainStr = '.' + splitResult.splice(splitResult.length - 1, 1) + domainStr;
|
|
1551
1259
|
document.cookie = 'domain_test=true; path=/; domain=' + domainStr;
|
|
1552
|
-
|
|
1553
1260
|
if (document.cookie.indexOf('domain_test=true') !== -1) {
|
|
1554
1261
|
var now = new Date();
|
|
1555
1262
|
now.setTime(now.getTime() - 1000);
|
|
@@ -1558,28 +1265,20 @@ var getCookieTopLevelDomain = function getCookieTopLevelDomain(hostname) {
|
|
|
1558
1265
|
}
|
|
1559
1266
|
}
|
|
1560
1267
|
}
|
|
1561
|
-
|
|
1562
1268
|
return '';
|
|
1563
1269
|
};
|
|
1564
|
-
|
|
1565
1270
|
exports.getCookieTopLevelDomain = getCookieTopLevelDomain;
|
|
1566
|
-
|
|
1567
1271
|
var strToUnicode = function strToUnicode(str) {
|
|
1568
1272
|
if (typeof str !== 'string') {
|
|
1569
1273
|
return str;
|
|
1570
1274
|
}
|
|
1571
|
-
|
|
1572
1275
|
var nstr = '';
|
|
1573
|
-
|
|
1574
1276
|
for (var i = 0; i < str.length; i++) {
|
|
1575
1277
|
nstr += '\\' + str.charCodeAt(i).toString(16);
|
|
1576
1278
|
}
|
|
1577
|
-
|
|
1578
1279
|
return nstr;
|
|
1579
1280
|
};
|
|
1580
|
-
|
|
1581
1281
|
exports.strToUnicode = strToUnicode;
|
|
1582
|
-
|
|
1583
1282
|
var autoExeQueue = function autoExeQueue() {
|
|
1584
1283
|
var queue = {
|
|
1585
1284
|
items: [],
|
|
@@ -1608,14 +1307,11 @@ var autoExeQueue = function autoExeQueue() {
|
|
|
1608
1307
|
};
|
|
1609
1308
|
return queue;
|
|
1610
1309
|
};
|
|
1611
|
-
|
|
1612
1310
|
exports.autoExeQueue = autoExeQueue;
|
|
1613
|
-
|
|
1614
1311
|
var strip_sa_properties = function strip_sa_properties(p) {
|
|
1615
1312
|
if (!isObject(p)) {
|
|
1616
1313
|
return p;
|
|
1617
1314
|
}
|
|
1618
|
-
|
|
1619
1315
|
each(p, function (v, k) {
|
|
1620
1316
|
if (isArray(v)) {
|
|
1621
1317
|
var temp = [];
|
|
@@ -1626,7 +1322,6 @@ var strip_sa_properties = function strip_sa_properties(p) {
|
|
|
1626
1322
|
console.log('您的数据-', k, v, '的数组里的值必须是字符串,已经将其删除');
|
|
1627
1323
|
}
|
|
1628
1324
|
});
|
|
1629
|
-
|
|
1630
1325
|
if (temp.length !== 0) {
|
|
1631
1326
|
p[k] = temp;
|
|
1632
1327
|
} else {
|
|
@@ -1634,7 +1329,6 @@ var strip_sa_properties = function strip_sa_properties(p) {
|
|
|
1634
1329
|
console.log('已经删除空的数组');
|
|
1635
1330
|
}
|
|
1636
1331
|
}
|
|
1637
|
-
|
|
1638
1332
|
if (!(isString(v) || isNumber(v) || isDate(v) || isBoolean(v) || isArray(v) || isFunction(v) || k === '$option')) {
|
|
1639
1333
|
console.log('您的数据-', k, v, '-格式不满足要求,我们已经将其删除');
|
|
1640
1334
|
delete p[k];
|
|
@@ -1642,9 +1336,7 @@ var strip_sa_properties = function strip_sa_properties(p) {
|
|
|
1642
1336
|
});
|
|
1643
1337
|
return p;
|
|
1644
1338
|
};
|
|
1645
|
-
|
|
1646
1339
|
exports.strip_sa_properties = strip_sa_properties;
|
|
1647
|
-
|
|
1648
1340
|
var searchConfigData = function searchConfigData(data) {
|
|
1649
1341
|
if (_typeof(data) === 'object' && data.$option) {
|
|
1650
1342
|
var data_config = data.$option;
|
|
@@ -1653,63 +1345,48 @@ var searchConfigData = function searchConfigData(data) {
|
|
|
1653
1345
|
} else {
|
|
1654
1346
|
return {};
|
|
1655
1347
|
}
|
|
1656
|
-
};
|
|
1348
|
+
};
|
|
1349
|
+
// 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束
|
|
1657
1350
|
// abcd=1&b=1&c=3;
|
|
1658
1351
|
// abdc=1;b=1;a=3;
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
1352
|
exports.searchConfigData = searchConfigData;
|
|
1662
|
-
|
|
1663
1353
|
var stringSplice = function stringSplice(src, k, e, sp) {
|
|
1664
1354
|
if (src === '') {
|
|
1665
1355
|
return '';
|
|
1666
1356
|
}
|
|
1667
|
-
|
|
1668
1357
|
sp = sp === '' ? '=' : sp;
|
|
1669
1358
|
k += sp;
|
|
1670
1359
|
var ps = src.indexOf(k);
|
|
1671
|
-
|
|
1672
1360
|
if (ps < 0) {
|
|
1673
1361
|
return '';
|
|
1674
1362
|
}
|
|
1675
|
-
|
|
1676
1363
|
ps += k.length;
|
|
1677
1364
|
var pe = pe < ps ? src.length : src.indexOf(e, ps);
|
|
1678
1365
|
return src.substring(ps, pe);
|
|
1679
1366
|
};
|
|
1680
|
-
|
|
1681
1367
|
exports.stringSplice = stringSplice;
|
|
1682
|
-
|
|
1683
1368
|
function getStatusGroup(status) {
|
|
1684
1369
|
if (!status) return status;
|
|
1685
1370
|
return String(status).substr(0, 1) + String(status).substr(1).replace(/\d*/g, 'x');
|
|
1686
1371
|
}
|
|
1687
|
-
|
|
1688
1372
|
var getReferrer = function getReferrer() {
|
|
1689
1373
|
var ref = document.referrer.toLowerCase();
|
|
1690
|
-
var re = /^[^\?&#]*.swf([\?#])?/;
|
|
1691
|
-
|
|
1374
|
+
var re = /^[^\?&#]*.swf([\?#])?/;
|
|
1375
|
+
// 如果页面 Referer 为空,从 URL 中获取
|
|
1692
1376
|
if (ref === '' || ref.match(re)) {
|
|
1693
1377
|
ref = stringSplice(window.location.href, 'ref', '&', '');
|
|
1694
|
-
|
|
1695
1378
|
if (ref !== '') {
|
|
1696
1379
|
return encodeURIComponent(ref);
|
|
1697
1380
|
}
|
|
1698
1381
|
}
|
|
1699
|
-
|
|
1700
1382
|
return encodeURIComponent(ref);
|
|
1701
1383
|
};
|
|
1702
|
-
|
|
1703
1384
|
exports.getReferrer = getReferrer;
|
|
1704
|
-
|
|
1705
1385
|
var typeDecide = function typeDecide(o, type) {
|
|
1706
1386
|
return toString.call(o) === '[object ' + type + ']';
|
|
1707
1387
|
};
|
|
1708
|
-
|
|
1709
1388
|
exports.typeDecide = typeDecide;
|
|
1710
|
-
|
|
1711
1389
|
function noop() {}
|
|
1712
|
-
|
|
1713
1390
|
var ONE_SECOND = 1000;
|
|
1714
1391
|
exports.ONE_SECOND = ONE_SECOND;
|
|
1715
1392
|
var ONE_MINUTE = 60 * ONE_SECOND;
|
|
@@ -1719,29 +1396,24 @@ exports.ONE_HOUR = ONE_HOUR;
|
|
|
1719
1396
|
var ONE_DAY = 24 * ONE_HOUR;
|
|
1720
1397
|
exports.ONE_DAY = ONE_DAY;
|
|
1721
1398
|
var ONE_YEAR = 365 * ONE_DAY;
|
|
1399
|
+
|
|
1722
1400
|
/**
|
|
1723
1401
|
* Return true if the draw is successful
|
|
1724
1402
|
* @param threshold between 0 and 100
|
|
1725
1403
|
*/
|
|
1726
|
-
|
|
1727
1404
|
exports.ONE_YEAR = ONE_YEAR;
|
|
1728
|
-
|
|
1729
1405
|
function performDraw(threshold) {
|
|
1730
1406
|
return threshold !== 0 && Math.random() * 100 <= threshold;
|
|
1731
1407
|
}
|
|
1732
|
-
|
|
1733
1408
|
function round(num, decimals) {
|
|
1734
1409
|
return +num.toFixed(decimals);
|
|
1735
1410
|
}
|
|
1736
|
-
|
|
1737
1411
|
function msToNs(duration) {
|
|
1738
1412
|
if (typeof duration !== 'number') {
|
|
1739
1413
|
return duration;
|
|
1740
1414
|
}
|
|
1741
|
-
|
|
1742
1415
|
return round(duration * 1e6, 0);
|
|
1743
1416
|
}
|
|
1744
|
-
|
|
1745
1417
|
function mapValues(object, fn) {
|
|
1746
1418
|
var newObject = {};
|
|
1747
1419
|
each(object, function (value, key) {
|
|
@@ -1749,46 +1421,36 @@ function mapValues(object, fn) {
|
|
|
1749
1421
|
});
|
|
1750
1422
|
return newObject;
|
|
1751
1423
|
}
|
|
1752
|
-
|
|
1753
1424
|
function toServerDuration(duration) {
|
|
1754
1425
|
if (!isNumber(duration)) {
|
|
1755
1426
|
return duration;
|
|
1756
1427
|
}
|
|
1757
|
-
|
|
1758
1428
|
return round(duration * 1e6, 0);
|
|
1759
1429
|
}
|
|
1760
|
-
|
|
1761
1430
|
function getRelativeTime(timestamp) {
|
|
1762
1431
|
return timestamp - getNavigationStart();
|
|
1763
1432
|
}
|
|
1764
|
-
|
|
1765
1433
|
function preferredNow() {
|
|
1766
1434
|
return relativeNow();
|
|
1767
1435
|
}
|
|
1768
|
-
|
|
1769
1436
|
function getTimestamp(relativeTime) {
|
|
1770
1437
|
return Math.round(getNavigationStart() + relativeTime);
|
|
1771
1438
|
}
|
|
1772
|
-
|
|
1773
1439
|
function relativeNow() {
|
|
1774
1440
|
return performance.now();
|
|
1775
1441
|
}
|
|
1776
|
-
|
|
1777
1442
|
function clocksNow() {
|
|
1778
1443
|
return {
|
|
1779
1444
|
relative: relativeNow(),
|
|
1780
1445
|
timeStamp: timeStampNow()
|
|
1781
1446
|
};
|
|
1782
1447
|
}
|
|
1783
|
-
|
|
1784
1448
|
function timeStampNow() {
|
|
1785
1449
|
return dateNow();
|
|
1786
1450
|
}
|
|
1787
|
-
|
|
1788
1451
|
function looksLikeRelativeTime(time) {
|
|
1789
1452
|
return time < ONE_YEAR;
|
|
1790
1453
|
}
|
|
1791
|
-
|
|
1792
1454
|
function dateNow() {
|
|
1793
1455
|
// Do not use `Date.now` because sometimes websites are wrongly "polyfilling" it. For example, we
|
|
1794
1456
|
// had some users using a very old version of `datejs`, which patched `Date.now` to return a Date
|
|
@@ -1797,126 +1459,98 @@ function dateNow() {
|
|
|
1797
1459
|
// [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16
|
|
1798
1460
|
return new Date().getTime();
|
|
1799
1461
|
}
|
|
1800
|
-
|
|
1801
1462
|
function elapsed(start, end) {
|
|
1802
1463
|
return end - start;
|
|
1803
1464
|
}
|
|
1804
|
-
|
|
1805
1465
|
function clocksOrigin() {
|
|
1806
1466
|
return {
|
|
1807
1467
|
relative: 0,
|
|
1808
1468
|
timeStamp: getNavigationStart()
|
|
1809
1469
|
};
|
|
1810
1470
|
}
|
|
1811
|
-
|
|
1812
1471
|
function preferredClock(clocks) {
|
|
1813
1472
|
return clocks.relative;
|
|
1814
1473
|
}
|
|
1815
|
-
|
|
1816
1474
|
function preferredTimeStamp(clocks) {
|
|
1817
1475
|
return getTimestamp(clocks.relative);
|
|
1818
1476
|
}
|
|
1819
|
-
|
|
1820
1477
|
function relativeToClocks(relative) {
|
|
1821
1478
|
return {
|
|
1822
1479
|
relative: relative,
|
|
1823
1480
|
timeStamp: getCorrectedTimeStamp(relative)
|
|
1824
1481
|
};
|
|
1825
1482
|
}
|
|
1826
|
-
|
|
1827
1483
|
function currentDrift() {
|
|
1828
1484
|
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
1829
1485
|
return Math.round(dateNow() - (getNavigationStart() + performance.now()));
|
|
1830
1486
|
}
|
|
1831
|
-
|
|
1832
1487
|
function addDuration(a, b) {
|
|
1833
1488
|
return a + b;
|
|
1834
1489
|
}
|
|
1835
|
-
|
|
1836
1490
|
function getCorrectedTimeStamp(relativeTime) {
|
|
1837
|
-
var correctedOrigin = dateNow() - performance.now();
|
|
1838
|
-
|
|
1491
|
+
var correctedOrigin = dateNow() - performance.now();
|
|
1492
|
+
// apply correction only for positive drift
|
|
1839
1493
|
if (correctedOrigin > getNavigationStart()) {
|
|
1840
1494
|
return Math.round(correctedOrigin + relativeTime);
|
|
1841
1495
|
}
|
|
1842
|
-
|
|
1843
1496
|
return getTimestamp(relativeTime);
|
|
1844
1497
|
}
|
|
1845
1498
|
/**
|
|
1846
1499
|
* Navigation start slightly change on some rare cases
|
|
1847
1500
|
*/
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
1501
|
var navigationStart;
|
|
1851
|
-
|
|
1852
1502
|
function getNavigationStart() {
|
|
1853
1503
|
if (navigationStart === undefined) {
|
|
1854
1504
|
navigationStart = performance.timing.navigationStart;
|
|
1855
1505
|
}
|
|
1856
|
-
|
|
1857
1506
|
return navigationStart;
|
|
1858
1507
|
}
|
|
1859
|
-
|
|
1860
1508
|
function findCommaSeparatedValue(rawString, name) {
|
|
1861
1509
|
var matches = rawString.match('(?:^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
|
|
1862
1510
|
return matches ? matches[1] : undefined;
|
|
1863
1511
|
}
|
|
1864
|
-
|
|
1865
1512
|
function findByPath(source, path) {
|
|
1866
1513
|
var pathArr = path.split('.');
|
|
1867
|
-
|
|
1868
1514
|
while (pathArr.length) {
|
|
1869
1515
|
var key = pathArr.shift();
|
|
1870
|
-
|
|
1871
1516
|
if (source && key in source && hasOwnProperty.call(source, key)) {
|
|
1872
1517
|
source = source[key];
|
|
1873
1518
|
} else {
|
|
1874
1519
|
return undefined;
|
|
1875
1520
|
}
|
|
1876
1521
|
}
|
|
1877
|
-
|
|
1878
1522
|
return source;
|
|
1879
1523
|
}
|
|
1880
|
-
|
|
1881
1524
|
function safeTruncate(candidate, length) {
|
|
1882
|
-
var lastChar = candidate.charCodeAt(length - 1);
|
|
1883
|
-
|
|
1525
|
+
var lastChar = candidate.charCodeAt(length - 1);
|
|
1526
|
+
// check if it is the high part of a surrogate pair
|
|
1884
1527
|
if (lastChar >= 0xd800 && lastChar <= 0xdbff) {
|
|
1885
1528
|
return candidate.slice(0, length + 1);
|
|
1886
1529
|
}
|
|
1887
|
-
|
|
1888
1530
|
return candidate.slice(0, length);
|
|
1889
1531
|
}
|
|
1890
|
-
|
|
1891
1532
|
function isMatchOption(item) {
|
|
1892
1533
|
var itemType = getType(item);
|
|
1893
1534
|
return itemType === 'string' || itemType === 'function' || item instanceof RegExp;
|
|
1894
1535
|
}
|
|
1895
|
-
|
|
1896
1536
|
function includes(candidate, search) {
|
|
1897
1537
|
// tslint:disable-next-line: no-unsafe-any
|
|
1898
1538
|
return candidate.indexOf(search) !== -1;
|
|
1899
1539
|
}
|
|
1900
|
-
|
|
1901
1540
|
function find(array, predicate) {
|
|
1902
1541
|
for (var i = 0; i < array.length; i += 1) {
|
|
1903
1542
|
var item = array[i];
|
|
1904
|
-
|
|
1905
1543
|
if (predicate(item, i, array)) {
|
|
1906
1544
|
return item;
|
|
1907
1545
|
}
|
|
1908
1546
|
}
|
|
1909
|
-
|
|
1910
1547
|
return undefined;
|
|
1911
1548
|
}
|
|
1912
|
-
|
|
1913
1549
|
function arrayFrom(arrayLike) {
|
|
1914
1550
|
if (Array.from) {
|
|
1915
1551
|
return Array.from(arrayLike);
|
|
1916
1552
|
}
|
|
1917
|
-
|
|
1918
1553
|
var array = [];
|
|
1919
|
-
|
|
1920
1554
|
if (arrayLike instanceof Set) {
|
|
1921
1555
|
arrayLike.forEach(function (item) {
|
|
1922
1556
|
array.push(item);
|
|
@@ -1926,52 +1560,41 @@ function arrayFrom(arrayLike) {
|
|
|
1926
1560
|
array.push(arrayLike[i]);
|
|
1927
1561
|
}
|
|
1928
1562
|
}
|
|
1929
|
-
|
|
1930
1563
|
return array;
|
|
1931
1564
|
}
|
|
1932
|
-
|
|
1933
1565
|
function findLast(array, predicate) {
|
|
1934
1566
|
for (var i = array.length - 1; i >= 0; i -= 1) {
|
|
1935
1567
|
var item = array[i];
|
|
1936
|
-
|
|
1937
1568
|
if (predicate(item, i, array)) {
|
|
1938
1569
|
return item;
|
|
1939
1570
|
}
|
|
1940
1571
|
}
|
|
1941
|
-
|
|
1942
1572
|
return undefined;
|
|
1943
1573
|
}
|
|
1944
|
-
|
|
1945
1574
|
function isPercentage(value) {
|
|
1946
1575
|
return isNumber(value) && value >= 0 && value <= 100;
|
|
1947
1576
|
}
|
|
1948
|
-
|
|
1949
1577
|
function getLocationOrigin() {
|
|
1950
1578
|
return getLinkElementOrigin(window.location);
|
|
1951
1579
|
}
|
|
1952
|
-
|
|
1953
1580
|
function isIE() {
|
|
1954
1581
|
return Boolean(document.documentMode);
|
|
1955
1582
|
}
|
|
1956
|
-
|
|
1957
1583
|
function isChromium() {
|
|
1958
1584
|
return !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);
|
|
1959
1585
|
}
|
|
1586
|
+
|
|
1960
1587
|
/**
|
|
1961
1588
|
* IE fallback
|
|
1962
1589
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin
|
|
1963
1590
|
*/
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
1591
|
function getLinkElementOrigin(element) {
|
|
1967
1592
|
if (element.origin && element.origin !== 'null') {
|
|
1968
1593
|
return element.origin;
|
|
1969
1594
|
}
|
|
1970
|
-
|
|
1971
1595
|
var sanitizedHost = element.host.replace(/(:80|:443)$/, '');
|
|
1972
1596
|
return element.protocol + '//' + sanitizedHost;
|
|
1973
1597
|
}
|
|
1974
|
-
|
|
1975
1598
|
function withSnakeCaseKeys(candidate) {
|
|
1976
1599
|
var result = {};
|
|
1977
1600
|
each(candidate, function (value, key) {
|
|
@@ -1979,27 +1602,22 @@ function withSnakeCaseKeys(candidate) {
|
|
|
1979
1602
|
});
|
|
1980
1603
|
return result;
|
|
1981
1604
|
}
|
|
1982
|
-
|
|
1983
1605
|
function deepSnakeCase(candidate) {
|
|
1984
1606
|
if (isArray(candidate)) {
|
|
1985
1607
|
return map(candidate, function (value) {
|
|
1986
1608
|
return deepSnakeCase(value);
|
|
1987
1609
|
});
|
|
1988
1610
|
}
|
|
1989
|
-
|
|
1990
1611
|
if (_typeof(candidate) === 'object' && candidate !== null) {
|
|
1991
1612
|
return withSnakeCaseKeys(candidate);
|
|
1992
1613
|
}
|
|
1993
|
-
|
|
1994
1614
|
return candidate;
|
|
1995
1615
|
}
|
|
1996
|
-
|
|
1997
1616
|
function toSnakeCase(word) {
|
|
1998
1617
|
return word.replace(/[A-Z]/g, function (uppercaseLetter, index) {
|
|
1999
1618
|
return (index !== 0 ? '_' : '') + uppercaseLetter.toLowerCase();
|
|
2000
1619
|
}).replace(/-/g, '_');
|
|
2001
1620
|
}
|
|
2002
|
-
|
|
2003
1621
|
function isNullUndefinedDefaultValue(data, defaultValue) {
|
|
2004
1622
|
if (data !== null && data !== void 0) {
|
|
2005
1623
|
return data;
|
|
@@ -2007,40 +1625,17 @@ function isNullUndefinedDefaultValue(data, defaultValue) {
|
|
|
2007
1625
|
return defaultValue;
|
|
2008
1626
|
}
|
|
2009
1627
|
}
|
|
2010
|
-
|
|
2011
|
-
function requestIdleCallback(callback, opts) {
|
|
2012
|
-
// Use 'requestIdleCallback' when available: it will throttle the mutation processing if the
|
|
2013
|
-
// browser is busy rendering frames (ex: when frames are below 60fps). When not available, the
|
|
2014
|
-
// fallback on 'requestAnimationFrame' will still ensure the mutations are processed after any
|
|
2015
|
-
// browser rendering process (Layout, Recalculate Style, etc.), so we can serialize DOM nodes
|
|
2016
|
-
// efficiently.
|
|
2017
|
-
if (window.requestIdleCallback) {
|
|
2018
|
-
var id = window.requestIdleCallback(callback, opts);
|
|
2019
|
-
return function () {
|
|
2020
|
-
return window.cancelIdleCallback(id);
|
|
2021
|
-
};
|
|
2022
|
-
}
|
|
2023
|
-
|
|
2024
|
-
var id = window.requestAnimationFrame(callback);
|
|
2025
|
-
return function () {
|
|
2026
|
-
return window.cancelAnimationFrame(id);
|
|
2027
|
-
};
|
|
2028
|
-
}
|
|
2029
|
-
|
|
2030
1628
|
function objectHasValue(object, value) {
|
|
2031
1629
|
return some(keys(object), function (key) {
|
|
2032
1630
|
return object[key] === value;
|
|
2033
1631
|
});
|
|
2034
1632
|
}
|
|
2035
|
-
|
|
2036
1633
|
function startsWith(candidate, search) {
|
|
2037
1634
|
return candidate.slice(0, search.length) === search;
|
|
2038
1635
|
}
|
|
2039
|
-
|
|
2040
1636
|
function endsWith(candidate, search) {
|
|
2041
1637
|
return candidate.slice(-search.length) === search;
|
|
2042
1638
|
}
|
|
2043
|
-
|
|
2044
1639
|
function tryToClone(response) {
|
|
2045
1640
|
try {
|
|
2046
1641
|
return response.clone();
|
|
@@ -2049,13 +1644,13 @@ function tryToClone(response) {
|
|
|
2049
1644
|
return;
|
|
2050
1645
|
}
|
|
2051
1646
|
}
|
|
2052
|
-
|
|
2053
1647
|
function isHashAnAnchor(hash) {
|
|
2054
1648
|
var correspondingId = hash.substr(1);
|
|
1649
|
+
if (!correspondingId) return false;
|
|
2055
1650
|
return !!document.getElementById(correspondingId);
|
|
2056
1651
|
}
|
|
2057
|
-
|
|
2058
1652
|
function getPathFromHash(hash) {
|
|
2059
1653
|
var index = hash.indexOf('?');
|
|
2060
1654
|
return index < 0 ? hash : hash.slice(0, index);
|
|
2061
|
-
}
|
|
1655
|
+
}
|
|
1656
|
+
//# sourceMappingURL=tools.js.map
|