@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.
Files changed (275) hide show
  1. package/cjs/browser/addEventListener.js +11 -14
  2. package/cjs/browser/addEventListener.js.map +1 -0
  3. package/cjs/browser/cookie.js +3 -14
  4. package/cjs/browser/cookie.js.map +1 -0
  5. package/cjs/browser/fetchObservable.js +8 -23
  6. package/cjs/browser/fetchObservable.js.map +1 -0
  7. package/cjs/browser/htmlDomUtils.js +3 -9
  8. package/cjs/browser/htmlDomUtils.js.map +1 -0
  9. package/cjs/browser/pageExitObservable.js +3 -9
  10. package/cjs/browser/pageExitObservable.js.map +1 -0
  11. package/cjs/browser/runOnReadyState.js +2 -4
  12. package/cjs/browser/runOnReadyState.js.map +1 -0
  13. package/cjs/browser/scroll.js +32 -0
  14. package/cjs/browser/scroll.js.map +1 -0
  15. package/cjs/browser/xhrObservable.js +2 -21
  16. package/cjs/browser/xhrObservable.js.map +1 -0
  17. package/cjs/configuration/configuration.js +9 -20
  18. package/cjs/configuration/configuration.js.map +1 -0
  19. package/cjs/configuration/transportConfiguration.js +6 -20
  20. package/cjs/configuration/transportConfiguration.js.map +1 -0
  21. package/cjs/console/consoleObservable.js +7 -21
  22. package/cjs/console/consoleObservable.js.map +1 -0
  23. package/cjs/dataMap.js +24 -10
  24. package/cjs/dataMap.js.map +1 -0
  25. package/cjs/error/trackRuntimeError.js +3 -7
  26. package/cjs/error/trackRuntimeError.js.map +1 -0
  27. package/cjs/helper/boundedBuffer.js +2 -6
  28. package/cjs/helper/boundedBuffer.js.map +1 -0
  29. package/cjs/helper/byteUtils.js +6 -16
  30. package/cjs/helper/byteUtils.js.map +1 -0
  31. package/cjs/helper/catchUserErrors.js +2 -4
  32. package/cjs/helper/catchUserErrors.js.map +1 -0
  33. package/cjs/helper/contextHistory.js +21 -37
  34. package/cjs/helper/contextHistory.js.map +1 -0
  35. package/cjs/helper/createEventRateLimiter.js +2 -10
  36. package/cjs/helper/createEventRateLimiter.js.map +1 -0
  37. package/cjs/helper/deviceInfo.js +10 -64
  38. package/cjs/helper/deviceInfo.js.map +1 -0
  39. package/cjs/helper/display.js +2 -5
  40. package/cjs/helper/display.js.map +1 -0
  41. package/cjs/helper/enums.js +8 -2
  42. package/cjs/helper/enums.js.map +1 -0
  43. package/cjs/helper/errorTools.js +38 -40
  44. package/cjs/helper/errorTools.js.map +1 -0
  45. package/cjs/helper/eventEmitter.js +2 -6
  46. package/cjs/helper/eventEmitter.js.map +1 -0
  47. package/cjs/helper/getZoneJsOriginalValue.js +2 -5
  48. package/cjs/helper/getZoneJsOriginalValue.js.map +1 -0
  49. package/cjs/helper/instrumentMethod.js +11 -21
  50. package/cjs/helper/instrumentMethod.js.map +1 -0
  51. package/cjs/helper/lifeCycle.js +2 -9
  52. package/cjs/helper/lifeCycle.js.map +1 -0
  53. package/cjs/helper/limitModification.js +4 -22
  54. package/cjs/helper/limitModification.js.map +1 -0
  55. package/cjs/helper/mobileUtil.js +2 -20
  56. package/cjs/helper/mobileUtil.js.map +1 -0
  57. package/cjs/helper/monitor.js +50 -0
  58. package/cjs/helper/monitor.js.map +1 -0
  59. package/cjs/helper/observable.js +2 -9
  60. package/cjs/helper/observable.js.map +1 -0
  61. package/cjs/helper/readBytesFromStream.js +8 -16
  62. package/cjs/helper/readBytesFromStream.js.map +1 -0
  63. package/cjs/helper/sanitize.js +38 -61
  64. package/cjs/helper/sanitize.js.map +1 -0
  65. package/cjs/helper/serialisation/contextManager.js +5 -15
  66. package/cjs/helper/serialisation/contextManager.js.map +1 -0
  67. package/cjs/helper/serialisation/heavyCustomerDataWarning.js +2 -7
  68. package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
  69. package/cjs/helper/serialisation/jsonStringify.js +6 -12
  70. package/cjs/helper/serialisation/jsonStringify.js.map +1 -0
  71. package/cjs/helper/serialisation/rowData.js +3 -10
  72. package/cjs/helper/serialisation/rowData.js.map +1 -0
  73. package/cjs/helper/timer.js +5 -9
  74. package/cjs/helper/timer.js.map +1 -0
  75. package/cjs/helper/tools.js +58 -463
  76. package/cjs/helper/tools.js.map +1 -0
  77. package/cjs/helper/urlPolyfill.js +5 -18
  78. package/cjs/helper/urlPolyfill.js.map +1 -0
  79. package/cjs/index.js +35 -93
  80. package/cjs/index.js.map +1 -0
  81. package/cjs/init.js +24 -36
  82. package/cjs/init.js.map +1 -0
  83. package/cjs/report/reportObservable.js +8 -26
  84. package/cjs/report/reportObservable.js.map +1 -0
  85. package/cjs/session/sessionConstants.js +2 -3
  86. package/cjs/session/sessionConstants.js.map +1 -0
  87. package/cjs/session/sessionCookieStore.js +11 -46
  88. package/cjs/session/sessionCookieStore.js.map +1 -0
  89. package/cjs/session/sessionManagement.js +2 -19
  90. package/cjs/session/sessionManagement.js.map +1 -0
  91. package/cjs/session/sessionStore.js +3 -28
  92. package/cjs/session/sessionStore.js.map +1 -0
  93. package/cjs/synthetics/syntheticsWorkerValues.js +2 -6
  94. package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -0
  95. package/cjs/synthetics/usr.js +2 -8
  96. package/cjs/synthetics/usr.js.map +1 -0
  97. package/cjs/telemetry/telemetry.js +125 -0
  98. package/cjs/telemetry/telemetry.js.map +1 -0
  99. package/cjs/telemetry/types.js +17 -0
  100. package/cjs/telemetry/types.js.map +1 -0
  101. package/cjs/tracekit/computeStackTrace.js +4 -34
  102. package/cjs/tracekit/computeStackTrace.js.map +1 -0
  103. package/cjs/tracekit/index.js +2 -3
  104. package/cjs/tracekit/index.js.map +1 -0
  105. package/cjs/tracekit/tracekit.js +3 -18
  106. package/cjs/tracekit/tracekit.js.map +1 -0
  107. package/cjs/transport/batch.js +7 -56
  108. package/cjs/transport/batch.js.map +1 -0
  109. package/cjs/transport/eventBridge.js +2 -7
  110. package/cjs/transport/eventBridge.js.map +1 -0
  111. package/cjs/transport/flushController.js +8 -21
  112. package/cjs/transport/flushController.js.map +1 -0
  113. package/cjs/transport/httpRequest.js +8 -20
  114. package/cjs/transport/httpRequest.js.map +1 -0
  115. package/cjs/transport/index.js +2 -6
  116. package/cjs/transport/index.js.map +1 -0
  117. package/cjs/transport/sendWithRetryStrategy.js +4 -23
  118. package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
  119. package/cjs/transport/startBatchWithReplica.js +2 -7
  120. package/cjs/transport/startBatchWithReplica.js.map +1 -0
  121. package/cjs/user/index.js +2 -3
  122. package/cjs/user/index.js.map +1 -0
  123. package/cjs/user/user.js +3 -8
  124. package/cjs/user/user.js.map +1 -0
  125. package/cjs/worker.js +2 -2
  126. package/cjs/worker.js.map +1 -0
  127. package/esm/browser/addEventListener.js +11 -10
  128. package/esm/browser/addEventListener.js.map +1 -0
  129. package/esm/browser/cookie.js +3 -6
  130. package/esm/browser/cookie.js.map +1 -0
  131. package/esm/browser/fetchObservable.js +8 -17
  132. package/esm/browser/fetchObservable.js.map +1 -0
  133. package/esm/browser/htmlDomUtils.js +3 -2
  134. package/esm/browser/htmlDomUtils.js.map +1 -0
  135. package/esm/browser/pageExitObservable.js +3 -2
  136. package/esm/browser/pageExitObservable.js.map +1 -0
  137. package/esm/browser/runOnReadyState.js +2 -1
  138. package/esm/browser/runOnReadyState.js.map +1 -0
  139. package/esm/browser/scroll.js +25 -0
  140. package/esm/browser/scroll.js.map +1 -0
  141. package/esm/browser/xhrObservable.js +2 -14
  142. package/esm/browser/xhrObservable.js.map +1 -0
  143. package/esm/configuration/configuration.js +9 -9
  144. package/esm/configuration/configuration.js.map +1 -0
  145. package/esm/configuration/transportConfiguration.js +6 -17
  146. package/esm/configuration/transportConfiguration.js.map +1 -0
  147. package/esm/console/consoleObservable.js +7 -12
  148. package/esm/console/consoleObservable.js.map +1 -0
  149. package/esm/dataMap.js +24 -8
  150. package/esm/dataMap.js.map +1 -0
  151. package/esm/error/trackRuntimeError.js +4 -3
  152. package/esm/error/trackRuntimeError.js.map +1 -0
  153. package/esm/helper/boundedBuffer.js +2 -4
  154. package/esm/helper/boundedBuffer.js.map +1 -0
  155. package/esm/helper/byteUtils.js +6 -13
  156. package/esm/helper/byteUtils.js.map +1 -0
  157. package/esm/helper/catchUserErrors.js +2 -2
  158. package/esm/helper/catchUserErrors.js.map +1 -0
  159. package/esm/helper/contextHistory.js +21 -33
  160. package/esm/helper/contextHistory.js.map +1 -0
  161. package/esm/helper/createEventRateLimiter.js +2 -6
  162. package/esm/helper/createEventRateLimiter.js.map +1 -0
  163. package/esm/helper/deviceInfo.js +10 -62
  164. package/esm/helper/deviceInfo.js.map +1 -0
  165. package/esm/helper/display.js +2 -3
  166. package/esm/helper/display.js.map +1 -0
  167. package/esm/helper/enums.js +6 -1
  168. package/esm/helper/enums.js.map +1 -0
  169. package/esm/helper/errorTools.js +36 -28
  170. package/esm/helper/errorTools.js.map +1 -0
  171. package/esm/helper/eventEmitter.js +2 -5
  172. package/esm/helper/eventEmitter.js.map +1 -0
  173. package/esm/helper/getZoneJsOriginalValue.js +2 -4
  174. package/esm/helper/getZoneJsOriginalValue.js.map +1 -0
  175. package/esm/helper/instrumentMethod.js +11 -16
  176. package/esm/helper/instrumentMethod.js.map +1 -0
  177. package/esm/helper/lifeCycle.js +2 -5
  178. package/esm/helper/lifeCycle.js.map +1 -0
  179. package/esm/helper/limitModification.js +5 -20
  180. package/esm/helper/limitModification.js.map +1 -0
  181. package/esm/helper/mobileUtil.js +2 -16
  182. package/esm/helper/mobileUtil.js.map +1 -0
  183. package/esm/helper/monitor.js +39 -0
  184. package/esm/helper/monitor.js.map +1 -0
  185. package/esm/helper/observable.js +2 -7
  186. package/esm/helper/observable.js.map +1 -0
  187. package/esm/helper/readBytesFromStream.js +8 -15
  188. package/esm/helper/readBytesFromStream.js.map +1 -0
  189. package/esm/helper/sanitize.js +40 -57
  190. package/esm/helper/sanitize.js.map +1 -0
  191. package/esm/helper/serialisation/contextManager.js +5 -9
  192. package/esm/helper/serialisation/contextManager.js.map +1 -0
  193. package/esm/helper/serialisation/heavyCustomerDataWarning.js +5 -4
  194. package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -0
  195. package/esm/helper/serialisation/jsonStringify.js +7 -10
  196. package/esm/helper/serialisation/jsonStringify.js.map +1 -0
  197. package/esm/helper/serialisation/rowData.js +3 -4
  198. package/esm/helper/serialisation/rowData.js.map +1 -0
  199. package/esm/helper/timer.js +5 -3
  200. package/esm/helper/timer.js.map +1 -0
  201. package/esm/helper/tools.js +58 -273
  202. package/esm/helper/tools.js.map +1 -0
  203. package/esm/helper/urlPolyfill.js +5 -9
  204. package/esm/helper/urlPolyfill.js.map +1 -0
  205. package/esm/index.js +5 -1
  206. package/esm/index.js.map +1 -0
  207. package/esm/init.js +25 -31
  208. package/esm/init.js.map +1 -0
  209. package/esm/report/reportObservable.js +8 -19
  210. package/esm/report/reportObservable.js.map +1 -0
  211. package/esm/session/sessionConstants.js +2 -1
  212. package/esm/session/sessionConstants.js.map +1 -0
  213. package/esm/session/sessionCookieStore.js +11 -38
  214. package/esm/session/sessionCookieStore.js.map +1 -0
  215. package/esm/session/sessionManagement.js +2 -8
  216. package/esm/session/sessionManagement.js.map +1 -0
  217. package/esm/session/sessionStore.js +4 -22
  218. package/esm/session/sessionStore.js.map +1 -0
  219. package/esm/synthetics/syntheticsWorkerValues.js +2 -1
  220. package/esm/synthetics/syntheticsWorkerValues.js.map +1 -0
  221. package/esm/synthetics/usr.js +2 -3
  222. package/esm/synthetics/usr.js.map +1 -0
  223. package/esm/telemetry/telemetry.js +111 -0
  224. package/esm/telemetry/telemetry.js.map +1 -0
  225. package/esm/telemetry/types.js +9 -0
  226. package/esm/telemetry/types.js.map +1 -0
  227. package/esm/tracekit/computeStackTrace.js +4 -31
  228. package/esm/tracekit/computeStackTrace.js.map +1 -0
  229. package/esm/tracekit/index.js +2 -1
  230. package/esm/tracekit/index.js.map +1 -0
  231. package/esm/tracekit/tracekit.js +5 -14
  232. package/esm/tracekit/tracekit.js.map +1 -0
  233. package/esm/transport/batch.js +9 -47
  234. package/esm/transport/batch.js.map +1 -0
  235. package/esm/transport/eventBridge.js +2 -5
  236. package/esm/transport/eventBridge.js.map +1 -0
  237. package/esm/transport/flushController.js +11 -20
  238. package/esm/transport/flushController.js.map +1 -0
  239. package/esm/transport/httpRequest.js +8 -18
  240. package/esm/transport/httpRequest.js.map +1 -0
  241. package/esm/transport/index.js +2 -1
  242. package/esm/transport/index.js.map +1 -0
  243. package/esm/transport/sendWithRetryStrategy.js +4 -17
  244. package/esm/transport/sendWithRetryStrategy.js.map +1 -0
  245. package/esm/transport/startBatchWithReplica.js +2 -3
  246. package/esm/transport/startBatchWithReplica.js.map +1 -0
  247. package/esm/user/index.js.map +1 -0
  248. package/esm/user/user.js +4 -5
  249. package/esm/user/user.js.map +1 -0
  250. package/esm/worker.js.map +1 -0
  251. package/package.json +2 -2
  252. package/src/browser/addEventListener.js +8 -7
  253. package/src/browser/fetchObservable.js +12 -3
  254. package/src/browser/scroll.js +25 -0
  255. package/src/configuration/configuration.js +16 -0
  256. package/src/configuration/transportConfiguration.js +2 -2
  257. package/src/console/consoleObservable.js +4 -2
  258. package/src/dataMap.js +17 -3
  259. package/src/error/trackRuntimeError.js +2 -2
  260. package/src/helper/contextHistory.js +3 -3
  261. package/src/helper/enums.js +4 -0
  262. package/src/helper/errorTools.js +55 -24
  263. package/src/helper/instrumentMethod.js +5 -2
  264. package/src/helper/monitor.js +44 -0
  265. package/src/helper/observable.js +10 -8
  266. package/src/helper/readBytesFromStream.js +5 -5
  267. package/src/helper/timer.js +3 -3
  268. package/src/helper/tools.js +2 -17
  269. package/src/index.js +4 -0
  270. package/src/init.js +19 -21
  271. package/src/report/reportObservable.js +6 -5
  272. package/src/telemetry/telemetry.js +164 -0
  273. package/src/telemetry/types.js +9 -0
  274. package/src/transport/batch.js +4 -4
  275. package/src/transport/httpRequest.js +5 -4
@@ -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
- }; // https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js
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
- } // eslint-disable-next-line no-control-regex
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
- } // Control characters and (dependent upon position) numbers get escaped as code points
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
- } // Other potentially-special ASCII characters get backslash-escaped
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
- }; // export var formatString = function (str) {
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
- n = [],
733
- o = {};
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
- start,
765
- end;
614
+ start,
615
+ end;
766
616
  var stringl = 0,
767
- n;
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
- o2,
813
- o3,
814
- h1,
815
- h2,
816
- h3,
817
- h4,
818
- bits,
819
- i = 0,
820
- ac = 0,
821
- enc = '',
822
- tmp_arr = [];
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 ? // eslint-disable-next-line no-bitwise
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
- } // 替换url包含数字的路由
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
- regex = new RegExp(regexS),
885
- results = regex.exec(url);
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; // url += this._values.Port ? ':' + this._values.Port : ''
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 : ''); // this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '')
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
- } // IE11 support
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
- expires = '',
1029
- secure = '';
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 || // old browsers compatibility
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
- }; // 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束
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([\?#])?/; // 如果页面 Referer 为空,从 URL 中获取
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(); // apply correction only for positive drift
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); // check if it is the high part of a surrogate pair
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