@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.
Files changed (264) hide show
  1. package/cjs/browser/addEventListener.js +3 -8
  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 +4 -21
  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 +3 -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 +32 -38
  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 +10 -22
  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 +2 -11
  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 +4 -14
  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 +2 -8
  74. package/cjs/helper/timer.js.map +1 -0
  75. package/cjs/helper/tools.js +57 -444
  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 +24 -95
  80. package/cjs/index.js.map +1 -0
  81. package/cjs/init.js +14 -20
  82. package/cjs/init.js.map +1 -0
  83. package/cjs/report/reportObservable.js +5 -24
  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 +5 -54
  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 +4 -18
  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 +3 -3
  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 +4 -14
  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 +3 -11
  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 +30 -25
  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 +10 -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 +2 -3
  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 +4 -12
  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 +2 -1
  200. package/esm/helper/timer.js.map +1 -0
  201. package/esm/helper/tools.js +57 -256
  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 +4 -1
  206. package/esm/index.js.map +1 -0
  207. package/esm/init.js +14 -14
  208. package/esm/init.js.map +1 -0
  209. package/esm/report/reportObservable.js +5 -16
  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 +7 -45
  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 +4 -15
  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/scroll.js +25 -0
  253. package/src/configuration/configuration.js +16 -0
  254. package/src/configuration/transportConfiguration.js +2 -2
  255. package/src/dataMap.js +17 -3
  256. package/src/error/trackRuntimeError.js +2 -2
  257. package/src/helper/contextHistory.js +3 -3
  258. package/src/helper/enums.js +4 -0
  259. package/src/helper/errorTools.js +49 -19
  260. package/src/helper/tools.js +1 -0
  261. package/src/index.js +3 -0
  262. package/src/report/reportObservable.js +3 -3
  263. package/src/telemetry/telemetry.js +164 -0
  264. package/src/telemetry/types.js +9 -0
@@ -1,5 +1,4 @@
1
- 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); }
2
-
1
+ 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); }
3
2
  import { display } from './display';
4
3
  import { setTimeout, clearTimeout } from './timer';
5
4
  var ArrayProto = Array.prototype;
@@ -13,7 +12,6 @@ var nativeIsArray = Array.isArray;
13
12
  var breaker = false;
14
13
  export var each = function each(obj, iterator, context) {
15
14
  if (obj === null) return false;
16
-
17
15
  if (nativeForEach && obj.forEach === nativeForEach) {
18
16
  obj.forEach(iterator, context);
19
17
  } else if (obj.length === +obj.length) {
@@ -86,7 +84,6 @@ export var isFunction = function isFunction(f) {
86
84
  if (!f) {
87
85
  return false;
88
86
  }
89
-
90
87
  try {
91
88
  return /^\s*\bfunction\b/.test(f);
92
89
  } catch (err) {
@@ -98,28 +95,22 @@ export var isArguments = function isArguments(obj) {
98
95
  };
99
96
  export var toArray = function toArray(iterable) {
100
97
  if (!iterable) return [];
101
-
102
98
  if (iterable.toArray) {
103
99
  return iterable.toArray();
104
100
  }
105
-
106
101
  if (isArray(iterable)) {
107
102
  return slice.call(iterable);
108
103
  }
109
-
110
104
  if (isArguments(iterable)) {
111
105
  return slice.call(iterable);
112
106
  }
113
-
114
107
  return values(iterable);
115
108
  };
116
109
  export var values = function values(obj) {
117
110
  var results = [];
118
-
119
111
  if (obj === null) {
120
112
  return results;
121
113
  }
122
-
123
114
  each(obj, function (value) {
124
115
  results[results.length] = value;
125
116
  });
@@ -127,11 +118,9 @@ export var values = function values(obj) {
127
118
  };
128
119
  export var keys = function keys(obj) {
129
120
  var results = [];
130
-
131
121
  if (obj === null) {
132
122
  return results;
133
123
  }
134
-
135
124
  each(obj, function (value, key) {
136
125
  results[results.length] = key;
137
126
  });
@@ -139,7 +128,6 @@ export var keys = function keys(obj) {
139
128
  };
140
129
  export var indexOf = function indexOf(arr, target) {
141
130
  var indexOf = arr.indexOf;
142
-
143
131
  if (indexOf) {
144
132
  return indexOf.call(arr, target);
145
133
  } else {
@@ -148,7 +136,6 @@ export var indexOf = function indexOf(arr, target) {
148
136
  return i;
149
137
  }
150
138
  }
151
-
152
139
  return -1;
153
140
  }
154
141
  };
@@ -163,90 +150,70 @@ export var filter = function filter(arr, fn, self) {
163
150
  if (arr.filter) {
164
151
  return arr.filter(fn);
165
152
  }
166
-
167
153
  var ret = [];
168
-
169
154
  for (var i = 0; i < arr.length; i++) {
170
155
  if (!hasOwnProperty.call(arr, i)) {
171
156
  continue;
172
157
  }
173
-
174
158
  var val = arr[i];
175
-
176
159
  if (fn.call(self, val, i, arr)) {
177
160
  ret.push(val);
178
161
  }
179
162
  }
180
-
181
163
  return ret;
182
164
  };
183
165
  export var map = function map(arr, fn, self) {
184
166
  if (arr.map) {
185
167
  return arr.map(fn);
186
168
  }
187
-
188
169
  var ret = [];
189
-
190
170
  for (var i = 0; i < arr.length; i++) {
191
171
  if (!hasOwnProperty.call(arr, i)) {
192
172
  continue;
193
173
  }
194
-
195
174
  var val = arr[i];
196
175
  ret.push(fn.call(self, val, i, arr));
197
176
  }
198
-
199
177
  return ret;
200
178
  };
201
179
  export var some = function some(arr, fn, self) {
202
180
  if (arr.some) {
203
181
  return arr.some(fn);
204
182
  }
205
-
206
183
  var flag = false;
207
-
208
184
  for (var i = 0; i < arr.length; i++) {
209
185
  if (!hasOwnProperty.call(arr, i)) {
210
186
  continue;
211
187
  }
212
-
213
188
  var val = arr[i];
214
-
215
189
  if (fn.call(self, val, i, arr)) {
216
190
  flag = true;
217
191
  break;
218
192
  }
219
193
  }
220
-
221
194
  return flag;
222
195
  };
223
196
  export var every = function every(arr, fn, self) {
224
197
  if (arr.every) {
225
198
  return arr.every(fn);
226
199
  }
227
-
228
200
  var flag = true;
229
-
230
201
  for (var i = 0; i < arr.length; i++) {
231
202
  if (!hasOwnProperty.call(arr, i)) {
232
203
  continue;
233
204
  }
234
-
235
205
  var val = arr[i];
236
-
237
206
  if (!fn.call(self, val, i, arr)) {
238
207
  flag = false;
239
208
  break;
240
209
  }
241
210
  }
242
-
243
211
  return flag;
244
212
  };
245
213
  export var matchList = function matchList(list, value, useStartsWith) {
246
214
  if (useStartsWith === undefined) {
247
215
  useStartsWith = false;
248
216
  }
249
-
250
217
  return some(list, function (item) {
251
218
  try {
252
219
  if (typeof item === 'function') {
@@ -260,34 +227,30 @@ export var matchList = function matchList(list, value, useStartsWith) {
260
227
  display.error(e);
261
228
  }
262
229
  });
263
- }; // https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js
264
-
230
+ };
231
+ // https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js
265
232
  export var cssEscape = function cssEscape(str) {
266
233
  str = str + '';
267
-
268
234
  if (window.CSS && window.CSS.escape) {
269
235
  return window.CSS.escape(str);
270
- } // eslint-disable-next-line no-control-regex
271
-
236
+ }
272
237
 
238
+ // eslint-disable-next-line no-control-regex
273
239
  return str.replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function (ch, asCodePoint) {
274
240
  if (asCodePoint) {
275
241
  // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
276
242
  if (ch === '\0') {
277
243
  return "\uFFFD";
278
- } // Control characters and (dependent upon position) numbers get escaped as code points
279
-
280
-
244
+ }
245
+ // Control characters and (dependent upon position) numbers get escaped as code points
281
246
  return ch.slice(0, -1) + '\\' + ch.charCodeAt(ch.length - 1).toString(16) + ' ';
282
- } // Other potentially-special ASCII characters get backslash-escaped
283
-
284
-
247
+ }
248
+ // Other potentially-special ASCII characters get backslash-escaped
285
249
  return '\\' + ch;
286
250
  });
287
251
  };
288
252
  export var inherit = function inherit(subclass, superclass) {
289
253
  var F = function F() {};
290
-
291
254
  F.prototype = superclass.prototype;
292
255
  subclass.prototype = new F();
293
256
  subclass.prototype.constructor = subclass;
@@ -308,7 +271,6 @@ export var isEmptyObject = function isEmptyObject(obj) {
308
271
  return false;
309
272
  }
310
273
  }
311
-
312
274
  return true;
313
275
  } else {
314
276
  return false;
@@ -345,29 +307,24 @@ export var isJSONString = function isJSONString(str) {
345
307
  } catch (e) {
346
308
  return false;
347
309
  }
348
-
349
310
  return true;
350
311
  };
351
312
  export var safeJSONParse = function safeJSONParse(str) {
352
313
  var val = null;
353
-
354
314
  try {
355
315
  val = JSON.parse(str);
356
316
  } catch (e) {
357
317
  return false;
358
318
  }
359
-
360
319
  return val;
361
320
  };
362
321
  export var decodeURIComponent = function decodeURIComponent(val) {
363
322
  var result = val;
364
-
365
323
  try {
366
324
  result = decodeURIComponent(val);
367
325
  } catch (error) {
368
326
  result = val;
369
327
  }
370
-
371
328
  return result;
372
329
  };
373
330
  export var encodeDates = function encodeDates(obj) {
@@ -386,19 +343,16 @@ export var mediaQueriesSupported = function mediaQueriesSupported() {
386
343
  export var getScreenOrientation = function getScreenOrientation() {
387
344
  var screenOrientationAPI = screen.msOrientation || screen.mozOrientation || (screen.orientation || {}).type;
388
345
  var screenOrientation = '未取到值';
389
-
390
346
  if (screenOrientationAPI) {
391
347
  screenOrientation = screenOrientationAPI.indexOf('landscape') > -1 ? 'landscape' : 'portrait';
392
348
  } else if (mediaQueriesSupported()) {
393
349
  var matchMediaFunc = window.matchMedia || window.msMatchMedia;
394
-
395
350
  if (matchMediaFunc('(orientation: landscape)').matches) {
396
351
  screenOrientation = 'landscape';
397
352
  } else if (matchMediaFunc('(orientation: portrait)').matches) {
398
353
  screenOrientation = 'portrait';
399
354
  }
400
355
  }
401
-
402
356
  return screenOrientation;
403
357
  };
404
358
  export var now = Date.now || function () {
@@ -417,19 +371,16 @@ export var throttle = function throttle(fn, wait, options) {
417
371
  pendingExecutionWithParameters = arguments;
418
372
  return;
419
373
  }
420
-
421
374
  if (needLeadingExecution) {
422
375
  fn.apply(context, arguments);
423
376
  } else {
424
377
  pendingExecutionWithParameters = arguments;
425
378
  }
426
-
427
379
  inWaitPeriod = true;
428
380
  pendingTimeoutId = setTimeout(function () {
429
381
  if (needTrailingExecution && pendingExecutionWithParameters) {
430
382
  fn.apply(context, pendingExecutionWithParameters);
431
383
  }
432
-
433
384
  inWaitPeriod = false;
434
385
  pendingExecutionWithParameters = undefined;
435
386
  }, wait);
@@ -445,27 +396,22 @@ export var hashCode = function hashCode(str) {
445
396
  if (typeof str !== 'string') {
446
397
  return 0;
447
398
  }
448
-
449
399
  var hash = 0;
450
400
  var _char = null;
451
-
452
401
  if (str.length == 0) {
453
402
  return hash;
454
403
  }
455
-
456
404
  for (var i = 0; i < str.length; i++) {
457
405
  _char = str.charCodeAt(i);
458
406
  hash = (hash << 5) - hash + _char;
459
407
  hash = hash & hash;
460
408
  }
461
-
462
409
  return hash;
463
410
  };
464
411
  export var formatDate = function formatDate(d) {
465
412
  function pad(n) {
466
413
  return n < 10 ? '0' + n : n;
467
414
  }
468
-
469
415
  return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate()) + ' ' + pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds()) + '.' + pad(d.getMilliseconds());
470
416
  };
471
417
  export var searchObjDate = function searchObjDate(o) {
@@ -487,7 +433,8 @@ export var formatJsonString = function formatJsonString(obj) {
487
433
  } catch (e) {
488
434
  return JSON.stringify(obj);
489
435
  }
490
- }; // export var formatString = function (str) {
436
+ };
437
+ // export var formatString = function (str) {
491
438
  // if (str.length > MAX_STRING_LENGTH) {
492
439
  // sd.log('字符串长度超过限制,已经做截取--' + str)
493
440
  // return str.slice(0, MAX_STRING_LENGTH)
@@ -495,7 +442,6 @@ export var formatJsonString = function formatJsonString(obj) {
495
442
  // return str
496
443
  // }
497
444
  // }
498
-
499
445
  export var searchObjString = function searchObjString(o) {
500
446
  if (isObject(o)) {
501
447
  each(o, function (a, b) {
@@ -511,18 +457,15 @@ export var searchObjString = function searchObjString(o) {
511
457
  };
512
458
  export var unique = function unique(ar) {
513
459
  var temp,
514
- n = [],
515
- o = {};
516
-
460
+ n = [],
461
+ o = {};
517
462
  for (var i = 0; i < ar.length; i++) {
518
463
  temp = ar[i];
519
-
520
464
  if (!(temp in o)) {
521
465
  o[temp] = true;
522
466
  n.push(temp);
523
467
  }
524
468
  }
525
-
526
469
  return n;
527
470
  };
528
471
  export var strip_empty_properties = function strip_empty_properties(p) {
@@ -537,17 +480,15 @@ export var strip_empty_properties = function strip_empty_properties(p) {
537
480
  export var utf8Encode = function utf8Encode(string) {
538
481
  string = (string + '').replace(/\r\n/g, '\n').replace(/\r/g, '\n');
539
482
  var utftext = '',
540
- start,
541
- end;
483
+ start,
484
+ end;
542
485
  var stringl = 0,
543
- n;
486
+ n;
544
487
  start = end = 0;
545
488
  stringl = string.length;
546
-
547
489
  for (n = 0; n < stringl; n++) {
548
490
  var c1 = string.charCodeAt(n);
549
491
  var enc = null;
550
-
551
492
  if (c1 < 128) {
552
493
  end++;
553
494
  } else if (c1 > 127 && c1 < 2048) {
@@ -555,21 +496,17 @@ export var utf8Encode = function utf8Encode(string) {
555
496
  } else {
556
497
  enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);
557
498
  }
558
-
559
499
  if (enc !== null) {
560
500
  if (end > start) {
561
501
  utftext += string.substring(start, end);
562
502
  }
563
-
564
503
  utftext += enc;
565
504
  start = end = n + 1;
566
505
  }
567
506
  }
568
-
569
507
  if (end > start) {
570
508
  utftext += string.substring(start, string.length);
571
509
  }
572
-
573
510
  return utftext;
574
511
  };
575
512
  export var base64Encode = function base64Encode(data) {
@@ -578,28 +515,24 @@ export var base64Encode = function base64Encode(data) {
578
515
  return String.fromCharCode('0x' + p1);
579
516
  }));
580
517
  }
581
-
582
518
  data = String(data);
583
519
  var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
584
520
  var o1,
585
- o2,
586
- o3,
587
- h1,
588
- h2,
589
- h3,
590
- h4,
591
- bits,
592
- i = 0,
593
- ac = 0,
594
- enc = '',
595
- tmp_arr = [];
596
-
521
+ o2,
522
+ o3,
523
+ h1,
524
+ h2,
525
+ h3,
526
+ h4,
527
+ bits,
528
+ i = 0,
529
+ ac = 0,
530
+ enc = '',
531
+ tmp_arr = [];
597
532
  if (!data) {
598
533
  return data;
599
534
  }
600
-
601
535
  data = utf8Encode(data);
602
-
603
536
  do {
604
537
  o1 = data.charCodeAt(i++);
605
538
  o2 = data.charCodeAt(i++);
@@ -611,47 +544,41 @@ export var base64Encode = function base64Encode(data) {
611
544
  h4 = bits & 0x3f;
612
545
  tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
613
546
  } while (i < data.length);
614
-
615
547
  enc = tmp_arr.join('');
616
-
617
548
  switch (data.length % 3) {
618
549
  case 1:
619
550
  enc = enc.slice(0, -2) + '==';
620
551
  break;
621
-
622
552
  case 2:
623
553
  enc = enc.slice(0, -1) + '=';
624
554
  break;
625
555
  }
626
-
627
556
  return enc;
628
557
  };
629
558
  /**
630
559
  * UUID v4
631
560
  * from https://gist.github.com/jed/982883
632
561
  */
633
-
634
562
  export function UUID(placeholder) {
635
- return placeholder ? // eslint-disable-next-line no-bitwise
563
+ return placeholder ?
564
+ // eslint-disable-next-line no-bitwise
636
565
  (parseInt(placeholder, 10) ^ Math.random() * 16 >> parseInt(placeholder, 10) / 4).toString(16) : "".concat(1e7, "-", 1e3, "-", 4e3, "-", 8e3, "-", 1e11).replace(/[018]/g, UUID);
637
- } // 替换url包含数字的路由
566
+ }
638
567
 
568
+ // 替换url包含数字的路由
639
569
  export function replaceNumberCharByPath(path) {
640
570
  var pathGroup = '';
641
-
642
571
  if (path) {
643
572
  pathGroup = path.replace(/\/([^\/]*)\d([^\/]*)/g, '/?').replace(/\/$/g, '');
644
573
  }
645
-
646
574
  return pathGroup || '/';
647
575
  }
648
576
  export var getQueryParam = function getQueryParam(url, param) {
649
577
  param = param.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
650
578
  url = decodeURIComponent(url);
651
579
  var regexS = '[\\?&]' + param + '=([^&#]*)',
652
- regex = new RegExp(regexS),
653
- results = regex.exec(url);
654
-
580
+ regex = new RegExp(regexS),
581
+ results = regex.exec(url);
655
582
  if (results === null || results && typeof results[1] !== 'string' && results[1].length) {
656
583
  return '';
657
584
  } else {
@@ -674,29 +601,23 @@ export var urlParse = function urlParse(para) {
674
601
  this._values = {};
675
602
  this._regex = null;
676
603
  this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;
677
-
678
604
  if (typeof a != 'undefined') {
679
605
  this._parse(a);
680
606
  }
681
607
  };
682
-
683
608
  URLParser.prototype.setUrl = function (a) {
684
609
  this._parse(a);
685
610
  };
686
-
687
611
  URLParser.prototype._initValues = function () {
688
612
  for (var a in this._fields) {
689
613
  this._values[a] = '';
690
614
  }
691
615
  };
692
-
693
616
  URLParser.prototype.addQueryString = function (queryObj) {
694
617
  if (_typeof(queryObj) !== 'object') {
695
618
  return false;
696
619
  }
697
-
698
620
  var query = this._values.QueryString || '';
699
-
700
621
  for (var i in queryObj) {
701
622
  if (new RegExp(i + '[^&]+').test(query)) {
702
623
  query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i]);
@@ -712,41 +633,34 @@ export var urlParse = function urlParse(para) {
712
633
  }
713
634
  }
714
635
  }
715
-
716
636
  this._values.QueryString = query;
717
637
  };
718
-
719
638
  URLParser.prototype.getParse = function () {
720
639
  return this._values;
721
640
  };
722
-
723
641
  URLParser.prototype.getUrl = function () {
724
642
  var url = '';
725
- url += this._values.Origin; // url += this._values.Port ? ':' + this._values.Port : ''
726
-
643
+ url += this._values.Origin;
644
+ // url += this._values.Port ? ':' + this._values.Port : ''
727
645
  url += this._values.Path;
728
646
  url += this._values.QueryString ? '?' + this._values.QueryString : '';
729
647
  return url;
730
648
  };
731
-
732
649
  URLParser.prototype._parse = function (a) {
733
650
  this._initValues();
734
-
735
651
  var b = this._regex.exec(a);
736
-
737
652
  if (!b) {
738
653
  throw 'DPURLParser::_parse -> Invalid URL';
739
654
  }
740
-
741
655
  for (var c in this._fields) {
742
656
  if (typeof b[this._fields[c]] != 'undefined') {
743
657
  this._values[c] = b[this._fields[c]];
744
658
  }
745
659
  }
746
-
747
660
  this._values['Path'] = this._values['Path'] || '/';
748
661
  this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '');
749
- this._values['Origin'] = this._values['Protocol'] + '://' + this._values['Hostname'] + (this._values.Port ? ':' + this._values.Port : ''); // this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '')
662
+ this._values['Origin'] = this._values['Protocol'] + '://' + this._values['Hostname'] + (this._values.Port ? ':' + this._values.Port : '');
663
+ // this._values['Hostname'] = this._values['Host'].replace(/:\d+$/, '')
750
664
  // this._values['Origin'] =
751
665
  // this._values['Protocol'] + '://' + this._values['Hostname']
752
666
  };
@@ -756,56 +670,45 @@ export var urlParse = function urlParse(para) {
756
670
  export function elementMatches(element, selector) {
757
671
  if (element.matches) {
758
672
  return element.matches(selector);
759
- } // IE11 support
760
-
761
-
673
+ }
674
+ // IE11 support
762
675
  if (element.msMatchesSelector) {
763
676
  return element.msMatchesSelector(selector);
764
677
  }
765
-
766
678
  return false;
767
679
  }
768
680
  export var cookie = {
769
681
  get: function get(name) {
770
682
  var nameEQ = name + '=';
771
683
  var ca = document.cookie.split(';');
772
-
773
684
  for (var i = 0; i < ca.length; i++) {
774
685
  var c = ca[i];
775
-
776
686
  while (c.charAt(0) == ' ') {
777
687
  c = c.substring(1, c.length);
778
688
  }
779
-
780
689
  if (c.indexOf(nameEQ) == 0) {
781
690
  return decodeURIComponent(c.substring(nameEQ.length, c.length));
782
691
  }
783
692
  }
784
-
785
693
  return null;
786
694
  },
787
695
  set: function set(name, value, days, is_secure) {
788
696
  var cdomain = '',
789
- expires = '',
790
- secure = '';
697
+ expires = '',
698
+ secure = '';
791
699
  days = days == null ? 73000 : days;
792
-
793
700
  if (days !== 0) {
794
701
  var date = new Date();
795
-
796
702
  if (String(days).slice(-1) === 's') {
797
703
  date.setTime(date.getTime() + Number(String(days).slice(0, -1)) * 1000);
798
704
  } else {
799
705
  date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
800
706
  }
801
-
802
707
  expires = '; expires=' + date.toGMTString();
803
708
  }
804
-
805
709
  if (is_secure) {
806
710
  secure = '; secure';
807
711
  }
808
-
809
712
  document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/' + cdomain + secure;
810
713
  },
811
714
  remove: function remove(name) {
@@ -818,13 +721,11 @@ export var localStorage = {
818
721
  },
819
722
  parse: function parse(name) {
820
723
  var storedValue;
821
-
822
724
  try {
823
725
  storedValue = JSON.parse(localStorage.get(name)) || null;
824
726
  } catch (err) {
825
727
  sd.log(err);
826
728
  }
827
-
828
729
  return storedValue;
829
730
  },
830
731
  set: function set(name, value) {
@@ -835,21 +736,17 @@ export var localStorage = {
835
736
  },
836
737
  isSupport: function isSupport() {
837
738
  var supported = true;
838
-
839
739
  try {
840
740
  var key = '__sensorsdatasupport__';
841
741
  var val = 'testIsSupportStorage';
842
742
  localStorage.set(key, val);
843
-
844
743
  if (localStorage.get(key) !== val) {
845
744
  supported = false;
846
745
  }
847
-
848
746
  localStorage.remove(key);
849
747
  } catch (err) {
850
748
  supported = false;
851
749
  }
852
-
853
750
  return supported;
854
751
  }
855
752
  };
@@ -858,7 +755,6 @@ export var sessionStorage = {
858
755
  var supported = true;
859
756
  var key = '__sensorsdatasupport__';
860
757
  var val = 'testIsSupportStorage';
861
-
862
758
  try {
863
759
  if (sessionStorage && sessionStorage.setItem) {
864
760
  sessionStorage.setItem(key, val);
@@ -870,7 +766,6 @@ export var sessionStorage = {
870
766
  } catch (e) {
871
767
  supported = false;
872
768
  }
873
-
874
769
  return supported;
875
770
  }
876
771
  };
@@ -878,7 +773,6 @@ export var isSupportCors = function isSupportCors() {
878
773
  if (typeof window.XMLHttpRequest === 'undefined') {
879
774
  return false;
880
775
  }
881
-
882
776
  if ('withCredentials' in new XMLHttpRequest()) {
883
777
  return true;
884
778
  } else if (typeof XDomainRequest !== 'undefined') {
@@ -900,7 +794,6 @@ export var xhr = function xhr(cors) {
900
794
  if (typeof window.XMLHttpRequest !== 'undefined') {
901
795
  return new XMLHttpRequest();
902
796
  }
903
-
904
797
  if (window.ActiveXObject) {
905
798
  try {
906
799
  return new ActiveXObject('Msxml2.XMLHTTP');
@@ -917,34 +810,27 @@ export var xhr = function xhr(cors) {
917
810
  export var ajax = function ajax(para) {
918
811
  para.timeout = para.timeout || 20000;
919
812
  para.credentials = typeof para.credentials === 'undefined' ? true : para.credentials;
920
-
921
813
  function getJSON(data) {
922
814
  if (!data) {
923
815
  return '';
924
816
  }
925
-
926
817
  try {
927
818
  return JSON.parse(data);
928
819
  } catch (e) {
929
820
  return {};
930
821
  }
931
822
  }
932
-
933
823
  var g = xhr(para.cors);
934
-
935
824
  if (!g) {
936
825
  return false;
937
826
  }
938
-
939
827
  if (!para.type) {
940
828
  para.type = para.data ? 'POST' : 'GET';
941
829
  }
942
-
943
830
  para = extend({
944
831
  success: function success() {},
945
832
  error: function error() {}
946
833
  }, para);
947
-
948
834
  try {
949
835
  if (_typeof(g) === 'object' && 'timeout' in g) {
950
836
  g.timeout = para.timeout;
@@ -960,7 +846,6 @@ export var ajax = function ajax(para) {
960
846
  }, para.timeout + 500);
961
847
  } catch (e2) {}
962
848
  }
963
-
964
849
  g.onreadystatechange = function () {
965
850
  try {
966
851
  if (g.readyState == 4) {
@@ -969,7 +854,6 @@ export var ajax = function ajax(para) {
969
854
  } else {
970
855
  para.error(getJSON(g.responseText), g.status);
971
856
  }
972
-
973
857
  g.onreadystatechange = null;
974
858
  g.onload = null;
975
859
  }
@@ -978,25 +862,20 @@ export var ajax = function ajax(para) {
978
862
  g.onload = null;
979
863
  }
980
864
  };
981
-
982
865
  g.open(para.type, para.url, true);
983
-
984
866
  try {
985
867
  if (para.credentials) {
986
868
  g.withCredentials = true;
987
869
  }
988
-
989
870
  if (isObject(para.header)) {
990
871
  for (var i in para.header) {
991
872
  g.setRequestHeader(i, para.header[i]);
992
873
  }
993
874
  }
994
-
995
875
  if (para.data) {
996
876
  if (!para.cors) {
997
877
  g.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
998
878
  }
999
-
1000
879
  if (para.contentType === 'application/json') {
1001
880
  g.setRequestHeader('Content-type', 'application/json; charset=UTF-8');
1002
881
  } else {
@@ -1004,7 +883,6 @@ export var ajax = function ajax(para) {
1004
883
  }
1005
884
  }
1006
885
  } catch (e) {}
1007
-
1008
886
  g.send(para.data || null);
1009
887
  };
1010
888
  export var loadScript = function loadScript(para) {
@@ -1016,13 +894,11 @@ export var loadScript = function loadScript(para) {
1016
894
  }
1017
895
  }, para);
1018
896
  var g = null;
1019
-
1020
897
  if (para.type === 'css') {
1021
898
  g = document.createElement('link');
1022
899
  g.rel = 'stylesheet';
1023
900
  g.href = para.url;
1024
901
  }
1025
-
1026
902
  if (para.type === 'js') {
1027
903
  g = document.createElement('script');
1028
904
  g.async = 'async';
@@ -1030,56 +906,45 @@ export var loadScript = function loadScript(para) {
1030
906
  g.src = para.url;
1031
907
  g.type = 'text/javascript';
1032
908
  }
1033
-
1034
909
  g.onload = g.onreadystatechange = function () {
1035
910
  if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {
1036
911
  para.success();
1037
912
  g.onload = g.onreadystatechange = null;
1038
913
  }
1039
914
  };
1040
-
1041
915
  g.onerror = function () {
1042
916
  para.error();
1043
917
  g.onerror = null;
1044
918
  };
1045
-
1046
919
  para.appendCall(g);
1047
920
  };
1048
921
  export var getHostname = function getHostname(url, defaultValue) {
1049
922
  if (!defaultValue || typeof defaultValue !== 'string') {
1050
923
  defaultValue = 'hostname解析异常';
1051
924
  }
1052
-
1053
925
  var hostname = null;
1054
-
1055
926
  try {
1056
927
  hostname = URL(url).hostname;
1057
928
  } catch (e) {}
1058
-
1059
929
  return hostname || defaultValue;
1060
930
  };
1061
931
  export var getQueryParamsFromUrl = function getQueryParamsFromUrl(url) {
1062
932
  var result = {};
1063
933
  var arr = url.split('?');
1064
934
  var queryString = arr[1] || '';
1065
-
1066
935
  if (queryString) {
1067
936
  result = getURLSearchParams('?' + queryString);
1068
937
  }
1069
-
1070
938
  return result;
1071
939
  };
1072
940
  export var getURLSearchParams = function getURLSearchParams(queryString) {
1073
941
  queryString = queryString || '';
1074
-
1075
942
  var decodeParam = function decodeParam(str) {
1076
943
  return decodeURIComponent(str);
1077
944
  };
1078
-
1079
945
  var args = {};
1080
946
  var query = queryString.substring(1);
1081
947
  var pairs = query.split('&');
1082
-
1083
948
  for (var i = 0; i < pairs.length; i++) {
1084
949
  var pos = pairs[i].indexOf('=');
1085
950
  if (pos === -1) continue;
@@ -1089,35 +954,28 @@ export var getURLSearchParams = function getURLSearchParams(queryString) {
1089
954
  value = decodeParam(value);
1090
955
  args[name] = value;
1091
956
  }
1092
-
1093
957
  return args;
1094
958
  };
1095
-
1096
959
  function createCircularReferenceChecker() {
1097
960
  if (typeof WeakSet !== 'undefined') {
1098
961
  var set = new WeakSet();
1099
962
  return {
1100
963
  hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
1101
964
  var has = set.has(value);
1102
-
1103
965
  if (!has) {
1104
966
  set.add(value);
1105
967
  }
1106
-
1107
968
  return has;
1108
969
  }
1109
970
  };
1110
971
  }
1111
-
1112
972
  var array = [];
1113
973
  return {
1114
974
  hasAlreadyBeenSeen: function hasAlreadyBeenSeen(value) {
1115
975
  var has = array.indexOf(value) >= 0;
1116
-
1117
976
  if (!has) {
1118
977
  array.push(value);
1119
978
  }
1120
-
1121
979
  return has;
1122
980
  }
1123
981
  };
@@ -1125,85 +983,71 @@ function createCircularReferenceChecker() {
1125
983
  /**
1126
984
  * Similar to `typeof`, but distinguish plain objects from `null` and arrays
1127
985
  */
1128
-
1129
-
1130
986
  export function getType(value) {
1131
987
  if (value === null) {
1132
988
  return 'null';
1133
989
  }
1134
-
1135
990
  if (Array.isArray(value)) {
1136
991
  return 'array';
1137
992
  }
1138
-
1139
993
  return _typeof(value);
1140
994
  }
1141
995
  /**
1142
996
  * Iterate over source and affect its sub values into destination, recursively.
1143
997
  * If the source and destination can't be merged, return source.
1144
998
  */
1145
-
1146
999
  export function mergeInto(destination, source, circularReferenceChecker) {
1147
1000
  // ignore the source if it is undefined
1148
1001
  if (typeof circularReferenceChecker === 'undefined') {
1149
1002
  circularReferenceChecker = createCircularReferenceChecker();
1150
1003
  }
1151
-
1152
1004
  if (source === undefined) {
1153
1005
  return destination;
1154
1006
  }
1155
-
1156
1007
  if (_typeof(source) !== 'object' || source === null) {
1157
1008
  // primitive values - just return source
1158
1009
  return source;
1159
1010
  } else if (source instanceof Date) {
1160
1011
  return new Date(source.getTime());
1161
1012
  } else if (source instanceof RegExp) {
1162
- var flags = source.flags || // old browsers compatibility
1013
+ var flags = source.flags ||
1014
+ // old browsers compatibility
1163
1015
  [source.global ? 'g' : '', source.ignoreCase ? 'i' : '', source.multiline ? 'm' : '', source.sticky ? 'y' : '', source.unicode ? 'u' : ''].join('');
1164
1016
  return new RegExp(source.source, flags);
1165
1017
  }
1166
-
1167
1018
  if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {
1168
1019
  // remove circular references
1169
1020
  return undefined;
1170
1021
  } else if (Array.isArray(source)) {
1171
1022
  var merged = Array.isArray(destination) ? destination : [];
1172
-
1173
1023
  for (var i = 0; i < source.length; ++i) {
1174
1024
  merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker);
1175
1025
  }
1176
-
1177
1026
  return merged;
1178
1027
  }
1179
-
1180
1028
  var merged = getType(destination) === 'object' ? destination : {};
1181
-
1182
1029
  for (var key in source) {
1183
1030
  if (Object.prototype.hasOwnProperty.call(source, key)) {
1184
1031
  merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);
1185
1032
  }
1186
1033
  }
1187
-
1188
1034
  return merged;
1189
1035
  }
1036
+
1190
1037
  /**
1191
1038
  * A simplistic implementation of a deep clone algorithm.
1192
1039
  * Caveats:
1193
1040
  * - It doesn't maintain prototype chains - don't use with instances of custom classes.
1194
1041
  * - It doesn't handle Map and Set
1195
1042
  */
1196
-
1197
1043
  export function deepClone(value) {
1198
1044
  return mergeInto(undefined, value);
1199
1045
  }
1200
1046
  export var _URL = function _URL(url) {
1201
1047
  var result = {};
1202
1048
  var basicProps = ['hash', 'host', 'hostname', 'href', 'origin', 'password', 'pathname', 'port', 'protocol', 'search', 'username'];
1203
-
1204
1049
  var isURLAPIWorking = function isURLAPIWorking() {
1205
1050
  var url;
1206
-
1207
1051
  try {
1208
1052
  url = new URL('http://modernizr.com/');
1209
1053
  return url.href === 'http://modernizr.com/';
@@ -1211,10 +1055,8 @@ export var _URL = function _URL(url) {
1211
1055
  return false;
1212
1056
  }
1213
1057
  };
1214
-
1215
1058
  if (typeof window.URL === 'function' && isURLAPIWorking()) {
1216
1059
  result = new URL(url);
1217
-
1218
1060
  if (!result.searchParams) {
1219
1061
  result.searchParams = function () {
1220
1062
  var params = getURLSearchParams(result.search);
@@ -1227,23 +1069,18 @@ export var _URL = function _URL(url) {
1227
1069
  }
1228
1070
  } else {
1229
1071
  var _regex = /^https?:\/\/.+/;
1230
-
1231
1072
  if (_regex.test(url) === false) {
1232
1073
  throw 'Invalid URL';
1233
1074
  }
1234
-
1235
1075
  var link = document.createElement('a');
1236
1076
  link.href = url;
1237
-
1238
1077
  for (var i = basicProps.length - 1; i >= 0; i--) {
1239
1078
  var prop = basicProps[i];
1240
1079
  result[prop] = link[prop];
1241
1080
  }
1242
-
1243
1081
  if (result.hostname && typeof result.pathname === 'string' && result.pathname.indexOf('/') !== 0) {
1244
1082
  result.pathname = '/' + result.pathname;
1245
1083
  }
1246
-
1247
1084
  result.searchParams = function () {
1248
1085
  var params = getURLSearchParams(result.search);
1249
1086
  return {
@@ -1253,12 +1090,10 @@ export var _URL = function _URL(url) {
1253
1090
  };
1254
1091
  }();
1255
1092
  }
1256
-
1257
1093
  return result;
1258
1094
  };
1259
1095
  export var getCurrentDomain = function getCurrentDomain(url) {
1260
1096
  var cookieTopLevelDomain = getCookieTopLevelDomain();
1261
-
1262
1097
  if (url === '') {
1263
1098
  return 'url解析失败';
1264
1099
  } else if (cookieTopLevelDomain === '') {
@@ -1270,14 +1105,11 @@ export var getCurrentDomain = function getCurrentDomain(url) {
1270
1105
  export var getCookieTopLevelDomain = function getCookieTopLevelDomain(hostname) {
1271
1106
  hostname = hostname || window.location.hostname;
1272
1107
  var splitResult = hostname.split('.');
1273
-
1274
1108
  if (isArray(splitResult) && splitResult.length >= 2 && !/^(\d+\.)+\d+$/.test(hostname)) {
1275
1109
  var domainStr = '.' + splitResult.splice(splitResult.length - 1, 1);
1276
-
1277
1110
  while (splitResult.length > 0) {
1278
1111
  domainStr = '.' + splitResult.splice(splitResult.length - 1, 1) + domainStr;
1279
1112
  document.cookie = 'domain_test=true; path=/; domain=' + domainStr;
1280
-
1281
1113
  if (document.cookie.indexOf('domain_test=true') !== -1) {
1282
1114
  var now = new Date();
1283
1115
  now.setTime(now.getTime() - 1000);
@@ -1286,20 +1118,16 @@ export var getCookieTopLevelDomain = function getCookieTopLevelDomain(hostname)
1286
1118
  }
1287
1119
  }
1288
1120
  }
1289
-
1290
1121
  return '';
1291
1122
  };
1292
1123
  export var strToUnicode = function strToUnicode(str) {
1293
1124
  if (typeof str !== 'string') {
1294
1125
  return str;
1295
1126
  }
1296
-
1297
1127
  var nstr = '';
1298
-
1299
1128
  for (var i = 0; i < str.length; i++) {
1300
1129
  nstr += '\\' + str.charCodeAt(i).toString(16);
1301
1130
  }
1302
-
1303
1131
  return nstr;
1304
1132
  };
1305
1133
  export var autoExeQueue = function autoExeQueue() {
@@ -1334,7 +1162,6 @@ export var strip_sa_properties = function strip_sa_properties(p) {
1334
1162
  if (!isObject(p)) {
1335
1163
  return p;
1336
1164
  }
1337
-
1338
1165
  each(p, function (v, k) {
1339
1166
  if (isArray(v)) {
1340
1167
  var temp = [];
@@ -1345,7 +1172,6 @@ export var strip_sa_properties = function strip_sa_properties(p) {
1345
1172
  console.log('您的数据-', k, v, '的数组里的值必须是字符串,已经将其删除');
1346
1173
  }
1347
1174
  });
1348
-
1349
1175
  if (temp.length !== 0) {
1350
1176
  p[k] = temp;
1351
1177
  } else {
@@ -1353,7 +1179,6 @@ export var strip_sa_properties = function strip_sa_properties(p) {
1353
1179
  console.log('已经删除空的数组');
1354
1180
  }
1355
1181
  }
1356
-
1357
1182
  if (!(isString(v) || isNumber(v) || isDate(v) || isBoolean(v) || isArray(v) || isFunction(v) || k === '$option')) {
1358
1183
  console.log('您的数据-', k, v, '-格式不满足要求,我们已经将其删除');
1359
1184
  delete p[k];
@@ -1369,23 +1194,20 @@ export var searchConfigData = function searchConfigData(data) {
1369
1194
  } else {
1370
1195
  return {};
1371
1196
  }
1372
- }; // 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束
1197
+ };
1198
+ // 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束
1373
1199
  // abcd=1&b=1&c=3;
1374
1200
  // abdc=1;b=1;a=3;
1375
-
1376
1201
  export var stringSplice = function stringSplice(src, k, e, sp) {
1377
1202
  if (src === '') {
1378
1203
  return '';
1379
1204
  }
1380
-
1381
1205
  sp = sp === '' ? '=' : sp;
1382
1206
  k += sp;
1383
1207
  var ps = src.indexOf(k);
1384
-
1385
1208
  if (ps < 0) {
1386
1209
  return '';
1387
1210
  }
1388
-
1389
1211
  ps += k.length;
1390
1212
  var pe = pe < ps ? src.length : src.indexOf(e, ps);
1391
1213
  return src.substring(ps, pe);
@@ -1396,16 +1218,14 @@ export function getStatusGroup(status) {
1396
1218
  }
1397
1219
  export var getReferrer = function getReferrer() {
1398
1220
  var ref = document.referrer.toLowerCase();
1399
- var re = /^[^\?&#]*.swf([\?#])?/; // 如果页面 Referer 为空,从 URL 中获取
1400
-
1221
+ var re = /^[^\?&#]*.swf([\?#])?/;
1222
+ // 如果页面 Referer 为空,从 URL 中获取
1401
1223
  if (ref === '' || ref.match(re)) {
1402
1224
  ref = stringSplice(window.location.href, 'ref', '&', '');
1403
-
1404
1225
  if (ref !== '') {
1405
1226
  return encodeURIComponent(ref);
1406
1227
  }
1407
1228
  }
1408
-
1409
1229
  return encodeURIComponent(ref);
1410
1230
  };
1411
1231
  export var typeDecide = function typeDecide(o, type) {
@@ -1417,11 +1237,11 @@ export var ONE_MINUTE = 60 * ONE_SECOND;
1417
1237
  export var ONE_HOUR = 60 * ONE_MINUTE;
1418
1238
  export var ONE_DAY = 24 * ONE_HOUR;
1419
1239
  export var ONE_YEAR = 365 * ONE_DAY;
1240
+
1420
1241
  /**
1421
1242
  * Return true if the draw is successful
1422
1243
  * @param threshold between 0 and 100
1423
1244
  */
1424
-
1425
1245
  export function performDraw(threshold) {
1426
1246
  return threshold !== 0 && Math.random() * 100 <= threshold;
1427
1247
  }
@@ -1432,7 +1252,6 @@ export function msToNs(duration) {
1432
1252
  if (typeof duration !== 'number') {
1433
1253
  return duration;
1434
1254
  }
1435
-
1436
1255
  return round(duration * 1e6, 0);
1437
1256
  }
1438
1257
  export function mapValues(object, fn) {
@@ -1446,7 +1265,6 @@ export function toServerDuration(duration) {
1446
1265
  if (!isNumber(duration)) {
1447
1266
  return duration;
1448
1267
  }
1449
-
1450
1268
  return round(duration * 1e6, 0);
1451
1269
  }
1452
1270
  export function getRelativeTime(timestamp) {
@@ -1509,27 +1327,22 @@ export function currentDrift() {
1509
1327
  export function addDuration(a, b) {
1510
1328
  return a + b;
1511
1329
  }
1512
-
1513
1330
  function getCorrectedTimeStamp(relativeTime) {
1514
- var correctedOrigin = dateNow() - performance.now(); // apply correction only for positive drift
1515
-
1331
+ var correctedOrigin = dateNow() - performance.now();
1332
+ // apply correction only for positive drift
1516
1333
  if (correctedOrigin > getNavigationStart()) {
1517
1334
  return Math.round(correctedOrigin + relativeTime);
1518
1335
  }
1519
-
1520
1336
  return getTimestamp(relativeTime);
1521
1337
  }
1522
1338
  /**
1523
1339
  * Navigation start slightly change on some rare cases
1524
1340
  */
1525
-
1526
-
1527
1341
  var navigationStart;
1528
1342
  export function getNavigationStart() {
1529
1343
  if (navigationStart === undefined) {
1530
1344
  navigationStart = performance.timing.navigationStart;
1531
1345
  }
1532
-
1533
1346
  return navigationStart;
1534
1347
  }
1535
1348
  export function findCommaSeparatedValue(rawString, name) {
@@ -1538,26 +1351,22 @@ export function findCommaSeparatedValue(rawString, name) {
1538
1351
  }
1539
1352
  export function findByPath(source, path) {
1540
1353
  var pathArr = path.split('.');
1541
-
1542
1354
  while (pathArr.length) {
1543
1355
  var key = pathArr.shift();
1544
-
1545
1356
  if (source && key in source && hasOwnProperty.call(source, key)) {
1546
1357
  source = source[key];
1547
1358
  } else {
1548
1359
  return undefined;
1549
1360
  }
1550
1361
  }
1551
-
1552
1362
  return source;
1553
1363
  }
1554
1364
  export function safeTruncate(candidate, length) {
1555
- var lastChar = candidate.charCodeAt(length - 1); // check if it is the high part of a surrogate pair
1556
-
1365
+ var lastChar = candidate.charCodeAt(length - 1);
1366
+ // check if it is the high part of a surrogate pair
1557
1367
  if (lastChar >= 0xd800 && lastChar <= 0xdbff) {
1558
1368
  return candidate.slice(0, length + 1);
1559
1369
  }
1560
-
1561
1370
  return candidate.slice(0, length);
1562
1371
  }
1563
1372
  export function isMatchOption(item) {
@@ -1571,21 +1380,17 @@ export function includes(candidate, search) {
1571
1380
  export function find(array, predicate) {
1572
1381
  for (var i = 0; i < array.length; i += 1) {
1573
1382
  var item = array[i];
1574
-
1575
1383
  if (predicate(item, i, array)) {
1576
1384
  return item;
1577
1385
  }
1578
1386
  }
1579
-
1580
1387
  return undefined;
1581
1388
  }
1582
1389
  export function arrayFrom(arrayLike) {
1583
1390
  if (Array.from) {
1584
1391
  return Array.from(arrayLike);
1585
1392
  }
1586
-
1587
1393
  var array = [];
1588
-
1589
1394
  if (arrayLike instanceof Set) {
1590
1395
  arrayLike.forEach(function (item) {
1591
1396
  array.push(item);
@@ -1595,18 +1400,15 @@ export function arrayFrom(arrayLike) {
1595
1400
  array.push(arrayLike[i]);
1596
1401
  }
1597
1402
  }
1598
-
1599
1403
  return array;
1600
1404
  }
1601
1405
  export function findLast(array, predicate) {
1602
1406
  for (var i = array.length - 1; i >= 0; i -= 1) {
1603
1407
  var item = array[i];
1604
-
1605
1408
  if (predicate(item, i, array)) {
1606
1409
  return item;
1607
1410
  }
1608
1411
  }
1609
-
1610
1412
  return undefined;
1611
1413
  }
1612
1414
  export function isPercentage(value) {
@@ -1621,16 +1423,15 @@ export function isIE() {
1621
1423
  export function isChromium() {
1622
1424
  return !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);
1623
1425
  }
1426
+
1624
1427
  /**
1625
1428
  * IE fallback
1626
1429
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin
1627
1430
  */
1628
-
1629
1431
  export function getLinkElementOrigin(element) {
1630
1432
  if (element.origin && element.origin !== 'null') {
1631
1433
  return element.origin;
1632
1434
  }
1633
-
1634
1435
  var sanitizedHost = element.host.replace(/(:80|:443)$/, '');
1635
1436
  return element.protocol + '//' + sanitizedHost;
1636
1437
  }
@@ -1647,11 +1448,9 @@ export function deepSnakeCase(candidate) {
1647
1448
  return deepSnakeCase(value);
1648
1449
  });
1649
1450
  }
1650
-
1651
1451
  if (_typeof(candidate) === 'object' && candidate !== null) {
1652
1452
  return withSnakeCaseKeys(candidate);
1653
1453
  }
1654
-
1655
1454
  return candidate;
1656
1455
  }
1657
1456
  export function toSnakeCase(word) {
@@ -1687,9 +1486,11 @@ export function tryToClone(response) {
1687
1486
  }
1688
1487
  export function isHashAnAnchor(hash) {
1689
1488
  var correspondingId = hash.substr(1);
1489
+ if (!correspondingId) return false;
1690
1490
  return !!document.getElementById(correspondingId);
1691
1491
  }
1692
1492
  export function getPathFromHash(hash) {
1693
1493
  var index = hash.indexOf('?');
1694
1494
  return index < 0 ? hash : hash.slice(0, index);
1695
- }
1495
+ }
1496
+ //# sourceMappingURL=tools.js.map