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