@cloudcare/rum-uniapp 2.1.18 → 2.1.22

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 (107) hide show
  1. package/README.md +42 -34
  2. package/cjs/boot/buildEnv.js +3 -4
  3. package/cjs/boot/rum.entry.js +11 -36
  4. package/cjs/boot/rum.js +2 -25
  5. package/cjs/core/baseInfo.js +6 -25
  6. package/cjs/core/boundedBuffer.js +1 -7
  7. package/cjs/core/configuration.js +15 -27
  8. package/cjs/core/contextManager.js +5 -17
  9. package/cjs/core/dataMap.js +5 -10
  10. package/cjs/core/downloadProxy.js +4 -26
  11. package/cjs/core/errorCollection.js +5 -35
  12. package/cjs/core/errorFilter.js +0 -8
  13. package/cjs/core/errorTools.js +2 -10
  14. package/cjs/core/heavyCustomerDataWarning.js +3 -9
  15. package/cjs/core/lifeCycle.js +8 -18
  16. package/cjs/core/observable.js +7 -13
  17. package/cjs/core/sdk.js +11 -19
  18. package/cjs/core/sessionManagement.js +8 -17
  19. package/cjs/core/transport.js +6 -53
  20. package/cjs/core/user.js +2 -7
  21. package/cjs/core/xhrProxy.js +4 -26
  22. package/cjs/helper/byteUtils.js +6 -12
  23. package/cjs/helper/commonContext.js +2 -3
  24. package/cjs/helper/enums.js +17 -28
  25. package/cjs/helper/jsonStringify.js +5 -12
  26. package/cjs/helper/limitModification.js +3 -21
  27. package/cjs/helper/tracekit.js +32 -145
  28. package/cjs/helper/utils.js +92 -306
  29. package/cjs/index.js +0 -1
  30. package/cjs/main.js +10 -0
  31. package/cjs/rumEventsCollection/action/actionCollection.js +0 -9
  32. package/cjs/rumEventsCollection/action/trackActions.js +46 -39
  33. package/cjs/rumEventsCollection/app/appCollection.js +0 -6
  34. package/cjs/rumEventsCollection/app/index.js +14 -25
  35. package/cjs/rumEventsCollection/assembly.js +0 -14
  36. package/cjs/rumEventsCollection/error/errorCollection.js +1 -16
  37. package/cjs/rumEventsCollection/internalContext.js +0 -2
  38. package/cjs/rumEventsCollection/page/index.js +19 -49
  39. package/cjs/rumEventsCollection/page/viewCollection.js +0 -8
  40. package/cjs/rumEventsCollection/parentContexts.js +3 -20
  41. package/cjs/rumEventsCollection/performanceCollection.js +0 -4
  42. package/cjs/rumEventsCollection/requestCollection.js +1 -14
  43. package/cjs/rumEventsCollection/resource/resourceCollection.js +0 -11
  44. package/cjs/rumEventsCollection/resource/resourceUtils.js +50 -46
  45. package/cjs/rumEventsCollection/setDataCollection.js +0 -16
  46. package/cjs/rumEventsCollection/tracing/ddtraceTracer.js +0 -6
  47. package/cjs/rumEventsCollection/tracing/jaegerTracer.js +3 -9
  48. package/cjs/rumEventsCollection/tracing/skywalkingTracer.js +3 -10
  49. package/cjs/rumEventsCollection/tracing/tracer.js +1 -25
  50. package/cjs/rumEventsCollection/tracing/w3cTraceParentTracer.js +1 -6
  51. package/cjs/rumEventsCollection/tracing/zipkinMultiTracer.js +3 -10
  52. package/cjs/rumEventsCollection/tracing/zipkinSingleTracer.js +1 -6
  53. package/cjs/rumEventsCollection/trackEventCounts.js +0 -8
  54. package/cjs/rumEventsCollection/trackPageActiveites.js +10 -33
  55. package/cjs/rumEventsCollection/transport/batch.js +0 -9
  56. package/esm/boot/buildEnv.js +1 -1
  57. package/esm/boot/rum.entry.js +8 -20
  58. package/esm/boot/rum.js +0 -4
  59. package/esm/core/baseInfo.js +0 -11
  60. package/esm/core/boundedBuffer.js +0 -3
  61. package/esm/core/configuration.js +13 -21
  62. package/esm/core/contextManager.js +3 -8
  63. package/esm/core/dataMap.js +2 -2
  64. package/esm/core/downloadProxy.js +2 -17
  65. package/esm/core/errorCollection.js +2 -15
  66. package/esm/core/errorFilter.js +0 -5
  67. package/esm/core/errorTools.js +0 -3
  68. package/esm/core/heavyCustomerDataWarning.js +3 -3
  69. package/esm/core/lifeCycle.js +0 -5
  70. package/esm/core/observable.js +0 -3
  71. package/esm/core/sdk.js +8 -12
  72. package/esm/core/sessionManagement.js +0 -3
  73. package/esm/core/transport.js +4 -38
  74. package/esm/core/user.js +2 -4
  75. package/esm/core/xhrProxy.js +2 -17
  76. package/esm/helper/byteUtils.js +4 -7
  77. package/esm/helper/commonContext.js +2 -2
  78. package/esm/helper/jsonStringify.js +4 -7
  79. package/esm/helper/limitModification.js +1 -11
  80. package/esm/helper/tracekit.js +29 -130
  81. package/esm/helper/utils.js +27 -125
  82. package/esm/main.js +4 -0
  83. package/esm/rumEventsCollection/action/actionCollection.js +0 -4
  84. package/esm/rumEventsCollection/action/trackActions.js +46 -31
  85. package/esm/rumEventsCollection/app/appCollection.js +0 -1
  86. package/esm/rumEventsCollection/app/index.js +12 -17
  87. package/esm/rumEventsCollection/assembly.js +0 -6
  88. package/esm/rumEventsCollection/error/errorCollection.js +0 -7
  89. package/esm/rumEventsCollection/internalContext.js +0 -1
  90. package/esm/rumEventsCollection/page/index.js +19 -43
  91. package/esm/rumEventsCollection/page/viewCollection.js +0 -3
  92. package/esm/rumEventsCollection/parentContexts.js +0 -10
  93. package/esm/rumEventsCollection/requestCollection.js +0 -4
  94. package/esm/rumEventsCollection/resource/resourceCollection.js +0 -5
  95. package/esm/rumEventsCollection/resource/resourceUtils.js +48 -39
  96. package/esm/rumEventsCollection/setDataCollection.js +0 -13
  97. package/esm/rumEventsCollection/tracing/ddtraceTracer.js +0 -4
  98. package/esm/rumEventsCollection/tracing/jaegerTracer.js +3 -7
  99. package/esm/rumEventsCollection/tracing/skywalkingTracer.js +5 -9
  100. package/esm/rumEventsCollection/tracing/tracer.js +0 -14
  101. package/esm/rumEventsCollection/tracing/w3cTraceParentTracer.js +1 -4
  102. package/esm/rumEventsCollection/tracing/zipkinMultiTracer.js +3 -8
  103. package/esm/rumEventsCollection/tracing/zipkinSingleTracer.js +1 -4
  104. package/esm/rumEventsCollection/trackEventCounts.js +0 -4
  105. package/esm/rumEventsCollection/trackPageActiveites.js +9 -22
  106. package/esm/rumEventsCollection/transport/batch.js +0 -5
  107. package/package.json +7 -4
@@ -1,17 +1,13 @@
1
1
  import { sdk } from '../core/sdk';
2
2
  var UNKNOWN_FUNCTION = '?';
3
-
4
3
  function has(object, key) {
5
4
  return Object.prototype.hasOwnProperty.call(object, key);
6
5
  }
7
-
8
6
  function isUndefined(what) {
9
7
  return typeof what === 'undefined';
10
8
  }
11
-
12
9
  export function wrap(func) {
13
10
  var _this = this;
14
-
15
11
  function wrapped() {
16
12
  try {
17
13
  return func.apply(_this, arguments);
@@ -20,7 +16,6 @@ export function wrap(func) {
20
16
  throw e;
21
17
  }
22
18
  }
23
-
24
19
  return wrapped;
25
20
  }
26
21
  /**
@@ -67,15 +62,14 @@ export function wrap(func) {
67
62
  * @memberof TraceKit
68
63
  * @namespace
69
64
  */
70
-
71
65
  export var report = function reportModuleWrapper() {
72
66
  var handlers = [];
67
+
73
68
  /**
74
69
  * Add a crash handler.
75
70
  * @param {Function} handler
76
71
  * @memberof report
77
72
  */
78
-
79
73
  function subscribe(handler) {
80
74
  installGlobalHandler();
81
75
  installGlobalUnhandledRejectionHandler();
@@ -84,13 +78,12 @@ export var report = function reportModuleWrapper() {
84
78
  installGlobalOnLazyLoadErrorHandler();
85
79
  handlers.push(handler);
86
80
  }
81
+
87
82
  /**
88
83
  * Remove a crash handler.
89
84
  * @param {Function} handler
90
85
  * @memberof report
91
86
  */
92
-
93
-
94
87
  function unsubscribe(handler) {
95
88
  for (var i = handlers.length - 1; i >= 0; i -= 1) {
96
89
  if (handlers[i] === handler) {
@@ -98,6 +91,7 @@ export var report = function reportModuleWrapper() {
98
91
  }
99
92
  }
100
93
  }
94
+
101
95
  /**
102
96
  * Dispatch stack information to all handlers.
103
97
  * @param {StackTrace} stack
@@ -106,11 +100,8 @@ export var report = function reportModuleWrapper() {
106
100
  * @memberof report
107
101
  * @throws An exception if an error occurs while calling an handler.
108
102
  */
109
-
110
-
111
103
  function notifyHandlers(stack, isWindowError, error) {
112
104
  var exception;
113
-
114
105
  for (var i in handlers) {
115
106
  if (has(handlers, i)) {
116
107
  try {
@@ -120,12 +111,10 @@ export var report = function reportModuleWrapper() {
120
111
  }
121
112
  }
122
113
  }
123
-
124
114
  if (exception) {
125
115
  throw exception;
126
116
  }
127
117
  }
128
-
129
118
  var onErrorHandlerInstalled;
130
119
  var onUnhandledRejectionHandlerInstalled;
131
120
  var onPageNotFoundHandlerInstalled;
@@ -141,38 +130,32 @@ export var report = function reportModuleWrapper() {
141
130
  * @param {Error=} errorObj The actual Error object.
142
131
  * @memberof report
143
132
  */
144
-
145
133
  function traceKitWindowOnError(err) {
146
134
  var error = typeof err === 'string' ? new Error(err) : err;
147
135
  var stack;
148
136
  var name = '';
149
137
  var msg = '';
150
138
  stack = computeStackTrace(error);
151
-
152
139
  if (error && error.message && {}.toString.call(error.message) === '[object String]') {
153
140
  var messages = error.message.split('\n');
154
-
155
141
  if (messages.length >= 3) {
156
142
  msg = messages[2];
157
143
  var groups = msg.match(ERROR_TYPES_RE);
158
-
159
144
  if (groups) {
160
145
  name = groups[1];
161
146
  msg = groups[2];
162
147
  }
163
148
  }
164
149
  }
165
-
166
150
  if (msg) {
167
151
  stack.message = msg;
168
152
  }
169
-
170
153
  if (name) {
171
154
  stack.name = name;
172
155
  }
173
-
174
156
  notifyHandlers(stack, true, error);
175
157
  }
158
+
176
159
  /**
177
160
  * Ensures all unhandled rejections are recorded.
178
161
  * @param {PromiseRejectionEvent} e event.
@@ -180,8 +163,6 @@ export var report = function reportModuleWrapper() {
180
163
  * @see https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onunhandledrejection
181
164
  * @see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent
182
165
  */
183
-
184
-
185
166
  function traceKitWindowOnUnhandledRejection(_ref) {
186
167
  var {
187
168
  reason,
@@ -192,65 +173,53 @@ export var report = function reportModuleWrapper() {
192
173
  var name = '';
193
174
  var msg = '';
194
175
  stack = computeStackTrace(error);
195
-
196
176
  if (error && error.message && {}.toString.call(error.message) === '[object String]') {
197
177
  var messages = error.message.split('\n');
198
-
199
178
  if (messages.length >= 3) {
200
179
  msg = messages[2];
201
180
  var groups = msg.match(ERROR_TYPES_RE);
202
-
203
181
  if (groups) {
204
182
  name = groups[1];
205
183
  msg = groups[2];
206
184
  }
207
185
  }
208
186
  }
209
-
210
187
  if (msg) {
211
188
  stack.message = msg;
212
189
  }
213
-
214
190
  if (name) {
215
191
  stack.name = name;
216
192
  }
217
-
218
193
  notifyHandlers(stack, true, error);
219
194
  }
195
+
220
196
  /**
221
197
  * Install a global onerror handler
222
198
  * @memberof report
223
199
  */
224
-
225
-
226
200
  function installGlobalHandler() {
227
201
  if (onErrorHandlerInstalled || !sdk.onError) {
228
202
  return;
229
203
  }
230
-
231
204
  sdk.onError(traceKitWindowOnError);
232
205
  onErrorHandlerInstalled = true;
233
206
  }
207
+
234
208
  /**
235
209
  * Install a global onunhandledrejection handler
236
210
  * @memberof report
237
211
  */
238
-
239
-
240
212
  function installGlobalUnhandledRejectionHandler() {
241
213
  if (onUnhandledRejectionHandlerInstalled || !sdk.onUnhandledRejection) {
242
214
  return;
243
215
  }
244
-
245
216
  sdk.onUnhandledRejection && sdk.onUnhandledRejection(traceKitWindowOnUnhandledRejection);
246
217
  onUnhandledRejectionHandlerInstalled = true;
247
218
  }
248
-
249
219
  function installGlobalOnPageNotFoundHandler() {
250
220
  if (onPageNotFoundHandlerInstalled || !sdk.onPageNotFound) {
251
221
  return;
252
222
  }
253
-
254
223
  sdk.onPageNotFound(res => {
255
224
  var url = res.path.split('?')[0];
256
225
  notifyHandlers({
@@ -261,35 +230,28 @@ export var report = function reportModuleWrapper() {
261
230
  });
262
231
  onPageNotFoundHandlerInstalled = true;
263
232
  }
264
-
265
233
  function installGlobalOnMemoryWarningHandler() {
266
234
  if (onMemoryWarningHandlerInstalled || !sdk.onMemoryWarning) {
267
235
  return;
268
236
  }
269
-
270
- sdk.onMemoryWarning((_ref2) => {
237
+ sdk.onMemoryWarning(_ref2 => {
271
238
  var {
272
239
  level = -1
273
240
  } = _ref2;
274
241
  var levelMessage = '没有获取到告警级别信息';
275
-
276
242
  switch (level) {
277
243
  case 5:
278
244
  levelMessage = 'TRIM_MEMORY_RUNNING_MODERATE';
279
245
  break;
280
-
281
246
  case 10:
282
247
  levelMessage = 'TRIM_MEMORY_RUNNING_LOW';
283
248
  break;
284
-
285
249
  case 15:
286
250
  levelMessage = 'TRIM_MEMORY_RUNNING_CRITICAL';
287
251
  break;
288
-
289
252
  default:
290
253
  return;
291
254
  }
292
-
293
255
  notifyHandlers({
294
256
  message: levelMessage,
295
257
  type: 'memorywarning',
@@ -298,12 +260,10 @@ export var report = function reportModuleWrapper() {
298
260
  });
299
261
  onMemoryWarningHandlerInstalled = true;
300
262
  }
301
-
302
263
  function installGlobalOnLazyLoadErrorHandler() {
303
264
  if (onLazyLoadErrorHandlerInstalled || !sdk.onLazyLoadError) {
304
265
  return;
305
266
  }
306
-
307
267
  sdk.onLazyLoadError(res => {
308
268
  var subpackage = res.subpackage || [];
309
269
  notifyHandlers({
@@ -320,15 +280,13 @@ export var report = function reportModuleWrapper() {
320
280
  * @memberof report
321
281
  * @throws An exception if an incompvare stack trace is detected (old IE browsers).
322
282
  */
323
-
324
-
325
283
  function doReport(ex) {}
326
-
327
284
  doReport.subscribe = subscribe;
328
285
  doReport.unsubscribe = unsubscribe;
329
286
  doReport.traceKitWindowOnError = traceKitWindowOnError;
330
287
  return doReport;
331
288
  }();
289
+
332
290
  /**
333
291
  * computeStackTrace: cross-browser stack traces in JavaScript
334
292
  *
@@ -392,9 +350,10 @@ export var report = function reportModuleWrapper() {
392
350
  * @memberof TraceKit
393
351
  * @namespace
394
352
  */
395
-
396
353
  export var computeStackTrace = function computeStackTraceWrapper() {
397
- var debug = false; // Contents of Exception in various browsers.
354
+ var debug = false;
355
+
356
+ // Contents of Exception in various browsers.
398
357
  //
399
358
  // SAFARI:
400
359
  // ex.message = Can't find variable: qq
@@ -438,19 +397,19 @@ export var computeStackTrace = function computeStackTraceWrapper() {
438
397
  * @return {?StackTrace} Stack trace information.
439
398
  * @memberof computeStackTrace
440
399
  */
441
-
442
400
  function computeStackTraceFromStackProp(ex) {
443
401
  if (!ex.stack) {
444
402
  return;
445
- } // tslint:disable-next-line max-line-length
446
-
447
-
448
- var chrome = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i; // tslint:disable-next-line max-line-length
449
-
450
- var gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i; // tslint:disable-next-line max-line-length
403
+ }
451
404
 
452
- var winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i; // Used to additionally parse URL/line/column from eval frames
405
+ // tslint:disable-next-line max-line-length
406
+ var chrome = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
407
+ // tslint:disable-next-line max-line-length
408
+ var gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
409
+ // tslint:disable-next-line max-line-length
410
+ var winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
453
411
 
412
+ // Used to additionally parse URL/line/column from eval frames
454
413
  var isEval;
455
414
  var geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
456
415
  var chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/;
@@ -459,22 +418,16 @@ export var computeStackTrace = function computeStackTraceWrapper() {
459
418
  var submatch;
460
419
  var parts;
461
420
  var element;
462
-
463
421
  for (var i = 0, j = lines.length; i < j; i += 1) {
464
422
  if (chrome.exec(lines[i])) {
465
423
  parts = chrome.exec(lines[i]);
466
424
  var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
467
-
468
425
  isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
469
-
470
426
  submatch = chromeEval.exec(parts[2]);
471
-
472
427
  if (isEval && submatch) {
473
428
  // throw out eval line/column and use top-most line/column number
474
429
  parts[2] = submatch[1]; // url
475
-
476
430
  parts[3] = submatch[2]; // line
477
-
478
431
  parts[4] = submatch[3]; // column
479
432
  }
480
433
 
@@ -498,7 +451,6 @@ export var computeStackTrace = function computeStackTraceWrapper() {
498
451
  parts = gecko.exec(lines[i]);
499
452
  isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
500
453
  submatch = geckoEval.exec(parts[3]);
501
-
502
454
  if (isEval && submatch) {
503
455
  // throw out eval line/column and use top-most line number
504
456
  parts[3] = submatch[1];
@@ -511,7 +463,6 @@ export var computeStackTrace = function computeStackTraceWrapper() {
511
463
  // NOTE: this hack doesn't work if top-most frame is eval
512
464
  stack[0].column = ex.columnNumber + 1;
513
465
  }
514
-
515
466
  element = {
516
467
  args: parts[2] ? parts[2].split(',') : [],
517
468
  column: parts[5] ? +parts[5] : undefined,
@@ -522,24 +473,21 @@ export var computeStackTrace = function computeStackTraceWrapper() {
522
473
  } else {
523
474
  continue;
524
475
  }
525
-
526
476
  if (!element.func && element.line) {
527
477
  element.func = UNKNOWN_FUNCTION;
528
478
  }
529
-
530
479
  stack.push(element);
531
480
  }
532
-
533
481
  if (!stack.length) {
534
482
  return;
535
483
  }
536
-
537
484
  return {
538
485
  stack,
539
486
  message: extractMessage(ex),
540
487
  name: ex.name
541
488
  };
542
489
  }
490
+
543
491
  /**
544
492
  * Computes stack trace information from the stacktrace property.
545
493
  * Opera 10+ uses this property.
@@ -547,28 +495,22 @@ export var computeStackTrace = function computeStackTraceWrapper() {
547
495
  * @return {?StackTrace} Stack trace information.
548
496
  * @memberof computeStackTrace
549
497
  */
550
-
551
-
552
498
  function computeStackTraceFromStacktraceProp(ex) {
553
499
  // Access and store the stacktrace property before doing ANYTHING
554
500
  // else to it because Opera is not very good at providing it
555
501
  // reliably in other circumstances.
556
502
  var stacktrace = ex.stacktrace;
557
-
558
503
  if (!stacktrace) {
559
504
  return;
560
505
  }
561
-
562
- var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i; // tslint:disable-next-line max-line-length
563
-
506
+ var opera10Regex = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i;
507
+ // tslint:disable-next-line max-line-length
564
508
  var opera11Regex = / line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i;
565
509
  var lines = stacktrace.split('\n');
566
510
  var stack = [];
567
511
  var parts;
568
-
569
512
  for (var line = 0; line < lines.length; line += 2) {
570
513
  var element;
571
-
572
514
  if (opera10Regex.exec(lines[line])) {
573
515
  parts = opera10Regex.exec(lines[line]);
574
516
  element = {
@@ -588,27 +530,24 @@ export var computeStackTrace = function computeStackTraceWrapper() {
588
530
  url: parts[6]
589
531
  };
590
532
  }
591
-
592
533
  if (element) {
593
534
  if (!element.func && element.line) {
594
535
  element.func = UNKNOWN_FUNCTION;
595
536
  }
596
-
597
537
  element.context = [lines[line + 1]];
598
538
  stack.push(element);
599
539
  }
600
540
  }
601
-
602
541
  if (!stack.length) {
603
542
  return;
604
543
  }
605
-
606
544
  return {
607
545
  stack,
608
546
  message: extractMessage(ex),
609
547
  name: ex.name
610
548
  };
611
549
  }
550
+
612
551
  /**
613
552
  * NOT TESTED.
614
553
  * Computes stack trace information from an error message that includes
@@ -619,8 +558,6 @@ export var computeStackTrace = function computeStackTraceWrapper() {
619
558
  * @return {?StackTrace} Stack information.
620
559
  * @memberof computeStackTrace
621
560
  */
622
-
623
-
624
561
  function computeStackTraceFromOperaMultiLineMessage(ex) {
625
562
  // TODO: Clean this function up
626
563
  // Opera includes a stack trace into the exception message. An example is:
@@ -639,12 +576,11 @@ export var computeStackTrace = function computeStackTraceWrapper() {
639
576
  // Line 1 of function script
640
577
  // try { xxx('hi'); return false; } catch(ex) { report(ex); }
641
578
  // ...
642
- var lines = ex.message.split('\n');
643
579
 
580
+ var lines = ex.message.split('\n');
644
581
  if (lines.length < 4) {
645
582
  return;
646
583
  }
647
-
648
584
  var lineRE1 = /^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i;
649
585
  var lineRE2 = /^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i;
650
586
  var lineRE3 = /^\s*Line (\d+) of function script\s*$/i;
@@ -652,16 +588,13 @@ export var computeStackTrace = function computeStackTraceWrapper() {
652
588
  var scripts = window && window.document && window.document.getElementsByTagName('script');
653
589
  var inlineScriptBlocks = [];
654
590
  var parts;
655
-
656
591
  for (var s in scripts) {
657
592
  if (has(scripts, s) && !scripts[s].src) {
658
593
  inlineScriptBlocks.push(scripts[s]);
659
594
  }
660
595
  }
661
-
662
596
  for (var line = 2; line < lines.length; line += 2) {
663
597
  var item;
664
-
665
598
  if (lineRE1.exec(lines[line])) {
666
599
  parts = lineRE1.exec(lines[line]);
667
600
  item = {
@@ -692,17 +625,14 @@ export var computeStackTrace = function computeStackTraceWrapper() {
692
625
  line: +parts[1]
693
626
  };
694
627
  }
695
-
696
628
  if (item) {
697
629
  if (!item.func) {
698
630
  item.func = UNKNOWN_FUNCTION;
699
631
  }
700
-
701
632
  item.context = [lines[line + 1]];
702
633
  stack.push(item);
703
634
  }
704
635
  }
705
-
706
636
  if (!stack.length) {
707
637
  return; // could not parse multiline exception message as Opera stack trace
708
638
  }
@@ -713,6 +643,7 @@ export var computeStackTrace = function computeStackTraceWrapper() {
713
643
  name: ex.name
714
644
  };
715
645
  }
646
+
716
647
  /**
717
648
  * Adds information about the first frame to incompvare stack traces.
718
649
  * Safari and IE require this to get compvare data on the first frame.
@@ -727,18 +658,14 @@ export var computeStackTrace = function computeStackTraceWrapper() {
727
658
  * augmented.
728
659
  * @memberof computeStackTrace
729
660
  */
730
-
731
-
732
661
  function augmentStackTraceWithInitialElement(stackInfo, url, lineNo, message) {
733
662
  var initial = {
734
663
  url,
735
664
  line: lineNo ? +lineNo : undefined
736
665
  };
737
-
738
666
  if (initial.url && initial.line) {
739
667
  stackInfo.incompvare = false;
740
668
  var stack = stackInfo.stack;
741
-
742
669
  if (stack.length > 0) {
743
670
  if (stack[0].url === initial.url) {
744
671
  if (stack[0].line === initial.line) {
@@ -752,15 +679,14 @@ export var computeStackTrace = function computeStackTraceWrapper() {
752
679
  }
753
680
  }
754
681
  }
755
-
756
682
  stack.unshift(initial);
757
683
  stackInfo.partial = true;
758
684
  return true;
759
685
  }
760
-
761
686
  stackInfo.incompvare = true;
762
687
  return false;
763
688
  }
689
+
764
690
  /**
765
691
  * Computes stack trace information by walking the arguments.caller
766
692
  * chain at the time the exception occurred. This will cause earlier
@@ -772,8 +698,6 @@ export var computeStackTrace = function computeStackTraceWrapper() {
772
698
  * @return {StackTrace} Stack trace information.
773
699
  * @memberof computeStackTrace
774
700
  */
775
-
776
-
777
701
  function computeStackTraceByWalkingCallerChain(ex, depth) {
778
702
  var functionName = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i;
779
703
  var stack = [];
@@ -781,12 +705,10 @@ export var computeStackTrace = function computeStackTraceWrapper() {
781
705
  var recursion = false;
782
706
  var parts;
783
707
  var item;
784
-
785
708
  for (var curr = computeStackTraceByWalkingCallerChain.caller; curr && !recursion; curr = curr.caller) {
786
709
  if (curr === computeStackTrace || curr === report) {
787
710
  continue;
788
711
  }
789
-
790
712
  item = {
791
713
  args: [],
792
714
  column: undefined,
@@ -795,30 +717,24 @@ export var computeStackTrace = function computeStackTraceWrapper() {
795
717
  url: undefined
796
718
  };
797
719
  parts = functionName.exec(curr.toString());
798
-
799
720
  if (curr.name) {
800
721
  item.func = curr.name;
801
722
  } else if (parts) {
802
723
  item.func = parts[1];
803
724
  }
804
-
805
725
  if (typeof item.func === 'undefined') {
806
726
  item.func = parts ? parts.input.substring(0, parts.input.indexOf('{')) : undefined;
807
727
  }
808
-
809
728
  if (funcs[curr + '']) {
810
729
  recursion = true;
811
730
  } else {
812
731
  funcs[curr + ''] = true;
813
732
  }
814
-
815
733
  stack.push(item);
816
734
  }
817
-
818
735
  if (depth) {
819
736
  stack.splice(0, depth);
820
737
  }
821
-
822
738
  var result = {
823
739
  stack,
824
740
  message: ex.message,
@@ -827,24 +743,21 @@ export var computeStackTrace = function computeStackTraceWrapper() {
827
743
  augmentStackTraceWithInitialElement(result, ex.sourceURL || ex.fileName, ex.line || ex.lineNumber, ex.message || ex.description);
828
744
  return result;
829
745
  }
746
+
830
747
  /**
831
748
  * Computes a stack trace for an exception.
832
749
  * @param {Error} ex
833
750
  * @param {(string|number)=} depth
834
751
  * @memberof computeStackTrace
835
752
  */
836
-
837
-
838
753
  function doComputeStackTrace(ex, depth) {
839
754
  var stack;
840
755
  var normalizedDepth = depth === undefined ? 0 : +depth;
841
-
842
756
  try {
843
757
  // This must be tried first because Opera 10 *destroys*
844
758
  // its stacktrace property if you try to access the stack
845
759
  // property first!!
846
760
  stack = computeStackTraceFromStacktraceProp(ex);
847
-
848
761
  if (stack) {
849
762
  return stack;
850
763
  }
@@ -853,10 +766,8 @@ export var computeStackTrace = function computeStackTraceWrapper() {
853
766
  throw e;
854
767
  }
855
768
  }
856
-
857
769
  try {
858
770
  stack = computeStackTraceFromStackProp(ex);
859
-
860
771
  if (stack) {
861
772
  return stack;
862
773
  }
@@ -865,10 +776,8 @@ export var computeStackTrace = function computeStackTraceWrapper() {
865
776
  throw e;
866
777
  }
867
778
  }
868
-
869
779
  try {
870
780
  stack = computeStackTraceFromOperaMultiLineMessage(ex);
871
-
872
781
  if (stack) {
873
782
  return stack;
874
783
  }
@@ -877,10 +786,8 @@ export var computeStackTrace = function computeStackTraceWrapper() {
877
786
  throw e;
878
787
  }
879
788
  }
880
-
881
789
  try {
882
790
  stack = computeStackTraceByWalkingCallerChain(ex, normalizedDepth + 1);
883
-
884
791
  if (stack) {
885
792
  return stack;
886
793
  }
@@ -889,48 +796,40 @@ export var computeStackTrace = function computeStackTraceWrapper() {
889
796
  throw e;
890
797
  }
891
798
  }
892
-
893
799
  return {
894
800
  message: extractMessage(ex),
895
801
  name: ex.name,
896
802
  stack: []
897
803
  };
898
804
  }
805
+
899
806
  /**
900
807
  * Logs a stacktrace starting from the previous call and working down.
901
808
  * @param {(number|string)=} depth How many frames deep to trace.
902
809
  * @return {StackTrace} Stack trace information.
903
810
  * @memberof computeStackTrace
904
811
  */
905
-
906
-
907
812
  function computeStackTraceOfCaller(depth) {
908
813
  var currentDepth = (depth === undefined ? 0 : +depth) + 1; // "+ 1" because "ofCaller" should drop one frame
909
-
910
814
  try {
911
815
  throw new Error();
912
816
  } catch (ex) {
913
817
  return computeStackTrace(ex, currentDepth + 1);
914
818
  }
915
819
  }
916
-
917
820
  doComputeStackTrace.augmentStackTraceWithInitialElement = augmentStackTraceWithInitialElement;
918
821
  doComputeStackTrace.computeStackTraceFromStackProp = computeStackTraceFromStackProp;
919
822
  doComputeStackTrace.ofCaller = computeStackTraceOfCaller;
920
823
  return doComputeStackTrace;
921
824
  }();
922
825
  var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;
923
-
924
826
  function extractMessage(ex) {
925
- var message = ex && ex.message; // console.log('message',message)
926
-
827
+ var message = ex && ex.message;
927
828
  if (!message) {
928
829
  return 'No error message';
929
830
  }
930
-
931
831
  if (message.error && typeof message.error.message === 'string') {
932
832
  return message.error.message;
933
833
  }
934
-
935
834
  return message;
936
835
  }