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