@microsoft/applicationinsights-common 3.3.5-nightly3.2501-07 → 3.3.5-nightly3.2502-02

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 (101) hide show
  1. package/browser/es5/applicationinsights-common.cjs.js +247 -136
  2. package/browser/es5/applicationinsights-common.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-common.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-common.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-common.gbl.js +249 -138
  6. package/browser/es5/applicationinsights-common.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-common.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-common.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-common.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-common.js +249 -138
  11. package/browser/es5/applicationinsights-common.js.map +1 -1
  12. package/browser/es5/applicationinsights-common.min.js +2 -2
  13. package/browser/es5/applicationinsights-common.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-common.js +247 -136
  15. package/dist/es5/applicationinsights-common.js.map +1 -1
  16. package/dist/es5/applicationinsights-common.min.js +2 -2
  17. package/dist/es5/applicationinsights-common.min.js.map +1 -1
  18. package/dist-es5/ConnectionStringParser.js +1 -1
  19. package/dist-es5/Constants.js +1 -1
  20. package/dist-es5/DomHelperFuncs.js +1 -1
  21. package/dist-es5/Enums.js +1 -1
  22. package/dist-es5/HelperFuncs.js +1 -1
  23. package/dist-es5/Interfaces/ConnectionString.js +1 -1
  24. package/dist-es5/Interfaces/Context/IApplication.js +1 -1
  25. package/dist-es5/Interfaces/Context/IDevice.js +1 -1
  26. package/dist-es5/Interfaces/Context/IInternal.js +1 -1
  27. package/dist-es5/Interfaces/Context/ILocation.js +1 -1
  28. package/dist-es5/Interfaces/Context/IOperatingSystem.js +1 -1
  29. package/dist-es5/Interfaces/Context/ISample.js +1 -1
  30. package/dist-es5/Interfaces/Context/ISession.js +1 -1
  31. package/dist-es5/Interfaces/Context/ISessionManager.js +1 -1
  32. package/dist-es5/Interfaces/Context/ITelemetryTrace.js +1 -1
  33. package/dist-es5/Interfaces/Context/IUser.js +1 -1
  34. package/dist-es5/Interfaces/Context/IWeb.js +1 -1
  35. package/dist-es5/Interfaces/Contracts/AvailabilityData.js +1 -1
  36. package/dist-es5/Interfaces/Contracts/ContextTagKeys.js +1 -1
  37. package/dist-es5/Interfaces/Contracts/DataPointType.js +1 -1
  38. package/dist-es5/Interfaces/Contracts/DependencyKind.js +1 -1
  39. package/dist-es5/Interfaces/Contracts/DependencySourceType.js +1 -1
  40. package/dist-es5/Interfaces/Contracts/IBase.js +1 -1
  41. package/dist-es5/Interfaces/Contracts/IData.js +1 -1
  42. package/dist-es5/Interfaces/Contracts/IDataPoint.js +1 -1
  43. package/dist-es5/Interfaces/Contracts/IDomain.js +1 -1
  44. package/dist-es5/Interfaces/Contracts/IEnvelope.js +1 -1
  45. package/dist-es5/Interfaces/Contracts/IEventData.js +1 -1
  46. package/dist-es5/Interfaces/Contracts/IExceptionData.js +1 -1
  47. package/dist-es5/Interfaces/Contracts/IExceptionDetails.js +1 -1
  48. package/dist-es5/Interfaces/Contracts/IMessageData.js +1 -1
  49. package/dist-es5/Interfaces/Contracts/IMetricData.js +1 -1
  50. package/dist-es5/Interfaces/Contracts/IPageViewData.js +1 -1
  51. package/dist-es5/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  52. package/dist-es5/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  53. package/dist-es5/Interfaces/Contracts/IStackFrame.js +1 -1
  54. package/dist-es5/Interfaces/Contracts/RequestData.js +1 -1
  55. package/dist-es5/Interfaces/Contracts/SeverityLevel.js +1 -1
  56. package/dist-es5/Interfaces/IAppInsights.js +1 -1
  57. package/dist-es5/Interfaces/IConfig.js +1 -1
  58. package/dist-es5/Interfaces/ICorrelationConfig.js +1 -1
  59. package/dist-es5/Interfaces/IDependencyTelemetry.js +1 -1
  60. package/dist-es5/Interfaces/IEventTelemetry.js +1 -1
  61. package/dist-es5/Interfaces/IExceptionTelemetry.js +1 -1
  62. package/dist-es5/Interfaces/IMetricTelemetry.js +1 -1
  63. package/dist-es5/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  64. package/dist-es5/Interfaces/IPageViewTelemetry.js +1 -1
  65. package/dist-es5/Interfaces/IPartC.js +1 -1
  66. package/dist-es5/Interfaces/IPropertiesPlugin.js +1 -1
  67. package/dist-es5/Interfaces/IRequestContext.js +1 -1
  68. package/dist-es5/Interfaces/IStorageBuffer.js +1 -1
  69. package/dist-es5/Interfaces/ITelemetryContext.js +1 -1
  70. package/dist-es5/Interfaces/IThrottleMgr.js +1 -1
  71. package/dist-es5/Interfaces/ITraceTelemetry.js +1 -1
  72. package/dist-es5/Interfaces/PartAExtensions.js +1 -1
  73. package/dist-es5/Interfaces/Telemetry/IEnvelope.js +1 -1
  74. package/dist-es5/Interfaces/Telemetry/ISerializable.js +1 -1
  75. package/dist-es5/Offline.js +1 -1
  76. package/dist-es5/RequestResponseHeaders.js +1 -1
  77. package/dist-es5/StorageHelperFuncs.js +1 -1
  78. package/dist-es5/Telemetry/Common/Data.js +1 -1
  79. package/dist-es5/Telemetry/Common/DataPoint.js +1 -1
  80. package/dist-es5/Telemetry/Common/DataSanitizer.js +1 -1
  81. package/dist-es5/Telemetry/Common/Envelope.js +3 -3
  82. package/dist-es5/Telemetry/Common/Envelope.js.map +1 -1
  83. package/dist-es5/Telemetry/Event.js +1 -1
  84. package/dist-es5/Telemetry/Exception.js +371 -137
  85. package/dist-es5/Telemetry/Exception.js.map +1 -1
  86. package/dist-es5/Telemetry/Metric.js +1 -1
  87. package/dist-es5/Telemetry/PageView.js +1 -1
  88. package/dist-es5/Telemetry/PageViewPerformance.js +1 -1
  89. package/dist-es5/Telemetry/RemoteDependencyData.js +1 -1
  90. package/dist-es5/Telemetry/Trace.js +1 -1
  91. package/dist-es5/TelemetryItemCreator.js +1 -1
  92. package/dist-es5/ThrottleMgr.js +1 -1
  93. package/dist-es5/UrlHelperFuncs.js +4 -4
  94. package/dist-es5/UrlHelperFuncs.js.map +1 -1
  95. package/dist-es5/Util.js +1 -1
  96. package/dist-es5/__DynamicConstants.js +13 -12
  97. package/dist-es5/__DynamicConstants.js.map +1 -1
  98. package/dist-es5/applicationinsights-common.js +1 -1
  99. package/package.json +3 -3
  100. package/types/applicationinsights-common.d.ts +1 -1
  101. package/types/applicationinsights-common.namespaced.d.ts +6 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Common, 3.3.5-nightly3.2501-07
2
+ * Application Insights JavaScript SDK - Common, 3.3.5-nightly3.2502-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -1188,7 +1188,7 @@
1188
1188
  return result;
1189
1189
  }
1190
1190
 
1191
- var version = '3.3.5-nightly3.2501-07';
1191
+ var version = '3.3.5-nightly3.2502-02';
1192
1192
  var instanceName = "." + newId(6);
1193
1193
  var _dataUid = 0;
1194
1194
  function _canAcceptData(target) {
@@ -2428,6 +2428,7 @@
2428
2428
  var _DYN_GET_UTCDATE = "getUTCDate";
2429
2429
  var _DYN_STRINGIFY = "stringify";
2430
2430
  var _DYN_PATHNAME = "pathname";
2431
+ var _DYN_MATCH = "match";
2431
2432
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
2432
2433
  var _DYN_EXTENSION_CONFIG = "extensionConfig";
2433
2434
  var _DYN_EXCEPTIONS = "exceptions";
@@ -2439,13 +2440,13 @@
2439
2440
  var _DYN_SEVERITY_LEVEL = "severityLevel";
2440
2441
  var _DYN_PROBLEM_GROUP = "problemGroup";
2441
2442
  var _DYN_IS_MANUAL = "isManual";
2442
- var _DYN__CREATE_FROM_INTERFA1 = "CreateFromInterface";
2443
+ var _DYN_HAS_FULL_STACK = "hasFullStack";
2443
2444
  var _DYN_ASSEMBLY = "assembly";
2444
2445
  var _DYN_FILE_NAME = "fileName";
2445
- var _DYN_HAS_FULL_STACK = "hasFullStack";
2446
- var _DYN_LEVEL = "level";
2447
- var _DYN_METHOD = "method";
2448
2446
  var _DYN_LINE = "line";
2447
+ var _DYN_METHOD = "method";
2448
+ var _DYN_LEVEL = "level";
2449
+ var _DYN_AI_DATA_CONTRACT = "aiDataContract";
2449
2450
  var _DYN_DURATION = "duration";
2450
2451
  var _DYN_RECEIVED_RESPONSE = "receivedResponse";
2451
2452
 
@@ -2607,7 +2608,7 @@
2607
2608
  function urlParseHost(url, inclPort) {
2608
2609
  var fullHost = urlParseFullHost(url, inclPort) || "";
2609
2610
  if (fullHost) {
2610
- var match = fullHost.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
2611
+ var match = fullHost[_DYN_MATCH ](/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
2611
2612
  if (match != null && match[_DYN_LENGTH ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH ] > 0) {
2612
2613
  return match[2] + (match[3] || "");
2613
2614
  }
@@ -2617,7 +2618,7 @@
2617
2618
  function urlParseFullHost(url, inclPort) {
2618
2619
  var result = null;
2619
2620
  if (url) {
2620
- var match = url.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
2621
+ var match = url[_DYN_MATCH ](/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
2621
2622
  if (match != null && match[_DYN_LENGTH ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH ] > 0) {
2622
2623
  result = match[2] || "";
2623
2624
  if (inclPort && match[_DYN_LENGTH ] > 2) {
@@ -3324,7 +3325,7 @@
3324
3325
  _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
3325
3326
  _self.data = data;
3326
3327
  _self.time = toISOString(new Date());
3327
- _self.aiDataContract = {
3328
+ _self[_DYN_AI_DATA_CONTRACT ] = {
3328
3329
  time: 1 ,
3329
3330
  iKey: 1 ,
3330
3331
  name: 1 ,
@@ -3357,6 +3358,14 @@
3357
3358
  return Event;
3358
3359
  }());
3359
3360
 
3361
+ var STACKFRAME_BASE_SIZE = 58;
3362
+ var IS_FRAME = /^\s{0,50}(from\s|at\s|Line\s{1,5}\d{1,10}\s{1,5}of|\w{1,50}@\w{1,80}|[^\(\s\n]+:[0-9\?]+(?::[0-9\?]+)?)/;
3363
+ var FULL_STACK_FRAME_1 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\]]+):([0-9\?]+):([0-9\?]+)\)?$/;
3364
+ var FULL_STACK_FRAME_2 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\]]+):([0-9\?]+)\)?$/;
3365
+ var FULL_STACK_FRAME_3 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\)\]]+)\)?$/;
3366
+ var EXTRACT_FILENAME = /(?:^|\(|\s{0,10}[\w\)]+\@)?([^\(\n\s\]\)]+)(?:\:([0-9]+)(?:\:([0-9]+))?)?\)?(?:,|$)/;
3367
+ var PARSE_FILENAME_LINE_COL = /([^\(\s\n]+):([0-9]+):([0-9]+)$/;
3368
+ var PARSE_FILENAME_LINE_ONLY = /([^\(\s\n]+):([0-9]+)$/;
3360
3369
  var NoMethod = "<no_method>";
3361
3370
  var strError = "error";
3362
3371
  var strStack = "stack";
@@ -3364,6 +3373,18 @@
3364
3373
  var strErrorSrc = "errorSrc";
3365
3374
  var strMessage = "message";
3366
3375
  var strDescription = "description";
3376
+ var _parseSequence = [
3377
+ { re: FULL_STACK_FRAME_1, len: 5, m: 1, fn: 2, ln: 3, col: 4 },
3378
+ { chk: _ignoreNative, pre: _scrubAnonymous, re: FULL_STACK_FRAME_2, len: 4, m: 1, fn: 2, ln: 3 },
3379
+ { re: FULL_STACK_FRAME_3, len: 3, m: 1, fn: 2, hdl: _handleFilename },
3380
+ { re: EXTRACT_FILENAME, len: 2, fn: 1, hdl: _handleFilename }
3381
+ ];
3382
+ function _scrubAnonymous(frame) {
3383
+ return frame.replace(/(\(anonymous\))/, "<anonymous>");
3384
+ }
3385
+ function _ignoreNative(frame) {
3386
+ return strIndexOf(frame, "[native") < 0;
3387
+ }
3367
3388
  function _stringify(value, convertToString) {
3368
3389
  var result = value;
3369
3390
  if (result && !isString(result)) {
@@ -3511,9 +3532,7 @@
3511
3532
  var stack = "";
3512
3533
  if (stackDetails) {
3513
3534
  if (stackDetails.obj) {
3514
- arrForEach(stackDetails.obj, function (entry) {
3515
- stack += entry + "\n";
3516
- });
3535
+ stack = stackDetails.obj.join("\n");
3517
3536
  }
3518
3537
  else {
3519
3538
  stack = stackDetails.src || "";
@@ -3527,13 +3546,18 @@
3527
3546
  if (frames && frames[_DYN_LENGTH ] > 0) {
3528
3547
  parsedStack = [];
3529
3548
  var level_1 = 0;
3549
+ var foundStackStart_1 = false;
3530
3550
  var totalSizeInBytes_1 = 0;
3531
3551
  arrForEach(frames, function (frame) {
3532
- var theFrame = frame[_DYN_TO_STRING ]();
3533
- if (_StackFrame.regex.test(theFrame)) {
3534
- var parsedFrame = new _StackFrame(theFrame, level_1++);
3535
- totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
3536
- parsedStack[_DYN_PUSH ](parsedFrame);
3552
+ if (foundStackStart_1 || _isStackFrame(frame)) {
3553
+ var theFrame = asString(frame);
3554
+ foundStackStart_1 = true;
3555
+ var parsedFrame = _extractStackFrame(theFrame, level_1);
3556
+ if (parsedFrame) {
3557
+ totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
3558
+ parsedStack[_DYN_PUSH ](parsedFrame);
3559
+ level_1++;
3560
+ }
3537
3561
  }
3538
3562
  });
3539
3563
  var exceptionParsedStackThreshold = 32 * 1024;
@@ -3619,7 +3643,7 @@
3619
3643
  if (id) {
3620
3644
  properties.id = id;
3621
3645
  }
3622
- _self[_DYN_EXCEPTIONS ] = [new _ExceptionDetails(logger, exception, properties)];
3646
+ _self[_DYN_EXCEPTIONS ] = [_createExceptionDetails(logger, exception, properties)];
3623
3647
  _self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
3624
3648
  _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
3625
3649
  if (severityLevel) {
@@ -3665,7 +3689,7 @@
3665
3689
  };
3666
3690
  Exception.CreateFromInterface = function (logger, exception, properties, measurements) {
3667
3691
  var exceptions = exception[_DYN_EXCEPTIONS ]
3668
- && arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 ](logger, ex); });
3692
+ && arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _createExDetailsFromInterface(logger, ex); });
3669
3693
  var exceptionData = new Exception(logger, __assignFn(__assignFn({}, exception), { exceptions: exceptions }), properties, measurements);
3670
3694
  return exceptionData;
3671
3695
  };
@@ -3705,131 +3729,218 @@
3705
3729
  Exception.formatError = _formatErrorCode;
3706
3730
  return Exception;
3707
3731
  }());
3708
- var _ExceptionDetails = /** @class */ (function () {
3709
- function _ExceptionDetails(logger, exception, properties) {
3710
- this.aiDataContract = {
3711
- id: 0 ,
3712
- outerId: 0 ,
3713
- typeName: 1 ,
3714
- message: 1 ,
3715
- hasFullStack: 0 ,
3716
- stack: 0 ,
3717
- parsedStack: 2
3718
- };
3719
- var _self = this;
3720
- if (!_isExceptionDetailsInternal(exception)) {
3721
- var error = exception;
3722
- var evt = error && error.evt;
3723
- if (!isError(error)) {
3724
- error = error[strError] || evt || error;
3725
- }
3726
- _self[_DYN_TYPE_NAME ] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
3727
- _self[_DYN_MESSAGE ] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME ])) || strNotSpecified;
3728
- var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
3729
- _self[_DYN_PARSED_STACK ] = _parseStack(stack);
3730
- if (isArray(_self[_DYN_PARSED_STACK ])) {
3731
- arrMap(_self[_DYN_PARSED_STACK ], function (frame) {
3732
- frame[_DYN_ASSEMBLY ] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY ]);
3733
- frame[_DYN_FILE_NAME ] = dataSanitizeString(logger, frame[_DYN_FILE_NAME ]);
3734
- });
3735
- }
3736
- _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));
3737
- _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH ] > 0;
3738
- if (properties) {
3739
- properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || _self[_DYN_TYPE_NAME ];
3740
- }
3732
+ var exDetailsAiDataContract = objFreeze({
3733
+ id: 0 ,
3734
+ outerId: 0 ,
3735
+ typeName: 1 ,
3736
+ message: 1 ,
3737
+ hasFullStack: 0 ,
3738
+ stack: 0 ,
3739
+ parsedStack: 2
3740
+ });
3741
+ function _toInterface() {
3742
+ var _a;
3743
+ var _self = this;
3744
+ var parsedStack = isArray(_self[_DYN_PARSED_STACK ])
3745
+ && arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return _parsedFrameToInterface(frame); });
3746
+ var exceptionDetailsInterface = (_a = {
3747
+ id: _self.id,
3748
+ outerId: _self.outerId,
3749
+ typeName: _self[_DYN_TYPE_NAME ],
3750
+ message: _self[_DYN_MESSAGE ],
3751
+ hasFullStack: _self[_DYN_HAS_FULL_STACK ],
3752
+ stack: _self[strStack]
3753
+ },
3754
+ _a[_DYN_PARSED_STACK ] = parsedStack || undefined,
3755
+ _a);
3756
+ return exceptionDetailsInterface;
3757
+ }
3758
+ function _createExceptionDetails(logger, exception, properties) {
3759
+ var _a;
3760
+ var id;
3761
+ var outerId;
3762
+ var typeName;
3763
+ var message;
3764
+ var hasFullStack;
3765
+ var theStack;
3766
+ var parsedStack;
3767
+ if (!_isExceptionDetailsInternal(exception)) {
3768
+ var error = exception;
3769
+ var evt = error && error.evt;
3770
+ if (!isError(error)) {
3771
+ error = error[strError] || evt || error;
3772
+ }
3773
+ typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
3774
+ message = dataSanitizeMessage(logger, _formatMessage(exception || error, typeName)) || strNotSpecified;
3775
+ var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
3776
+ parsedStack = _parseStack(stack);
3777
+ if (isArray(parsedStack)) {
3778
+ arrMap(parsedStack, function (frame) {
3779
+ frame[_DYN_ASSEMBLY ] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY ]);
3780
+ frame[_DYN_FILE_NAME ] = dataSanitizeString(logger, frame[_DYN_FILE_NAME ]);
3781
+ });
3782
+ }
3783
+ theStack = dataSanitizeException(logger, _formatStackTrace(stack));
3784
+ hasFullStack = isArray(parsedStack) && parsedStack[_DYN_LENGTH ] > 0;
3785
+ if (properties) {
3786
+ properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || typeName;
3787
+ }
3788
+ }
3789
+ else {
3790
+ typeName = exception[_DYN_TYPE_NAME ];
3791
+ message = exception[_DYN_MESSAGE ];
3792
+ theStack = exception[strStack];
3793
+ parsedStack = exception[_DYN_PARSED_STACK ] || [];
3794
+ hasFullStack = exception[_DYN_HAS_FULL_STACK ];
3795
+ }
3796
+ return _a = {},
3797
+ _a[_DYN_AI_DATA_CONTRACT ] = exDetailsAiDataContract,
3798
+ _a.id = id,
3799
+ _a.outerId = outerId,
3800
+ _a[_DYN_TYPE_NAME ] = typeName,
3801
+ _a[_DYN_MESSAGE ] = message,
3802
+ _a[_DYN_HAS_FULL_STACK ] = hasFullStack,
3803
+ _a.stack = theStack,
3804
+ _a[_DYN_PARSED_STACK ] = parsedStack,
3805
+ _a.toInterface = _toInterface,
3806
+ _a;
3807
+ }
3808
+ function _createExDetailsFromInterface(logger, exception) {
3809
+ var parsedStack = (isArray(exception[_DYN_PARSED_STACK ])
3810
+ && arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _stackFrameFromInterface(frame); }))
3811
+ || exception[_DYN_PARSED_STACK ];
3812
+ var exceptionDetails = _createExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
3813
+ return exceptionDetails;
3814
+ }
3815
+ function _parseFilename(theFrame, fileName) {
3816
+ var lineCol = fileName[_DYN_MATCH ](PARSE_FILENAME_LINE_COL);
3817
+ if (lineCol && lineCol[_DYN_LENGTH ] >= 4) {
3818
+ theFrame[_DYN_FILE_NAME ] = lineCol[1];
3819
+ theFrame[_DYN_LINE ] = parseInt(lineCol[2]);
3820
+ }
3821
+ else {
3822
+ var lineNo = fileName[_DYN_MATCH ](PARSE_FILENAME_LINE_ONLY);
3823
+ if (lineNo && lineNo[_DYN_LENGTH ] >= 3) {
3824
+ theFrame[_DYN_FILE_NAME ] = lineNo[1];
3825
+ theFrame[_DYN_LINE ] = parseInt(lineNo[2]);
3741
3826
  }
3742
3827
  else {
3743
- _self[_DYN_TYPE_NAME ] = exception[_DYN_TYPE_NAME ];
3744
- _self[_DYN_MESSAGE ] = exception[_DYN_MESSAGE ];
3745
- _self[strStack] = exception[strStack];
3746
- _self[_DYN_PARSED_STACK ] = exception[_DYN_PARSED_STACK ] || [];
3747
- _self[_DYN_HAS_FULL_STACK ] = exception[_DYN_HAS_FULL_STACK ];
3828
+ theFrame[_DYN_FILE_NAME ] = fileName;
3748
3829
  }
3749
3830
  }
3750
- _ExceptionDetails.prototype.toInterface = function () {
3751
- var _a;
3752
- var _self = this;
3753
- var parsedStack = _self[_DYN_PARSED_STACK ] instanceof Array
3754
- && arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return frame.toInterface(); });
3755
- var exceptionDetailsInterface = (_a = {
3756
- id: _self.id,
3757
- outerId: _self.outerId,
3758
- typeName: _self[_DYN_TYPE_NAME ],
3759
- message: _self[_DYN_MESSAGE ],
3760
- hasFullStack: _self[_DYN_HAS_FULL_STACK ],
3761
- stack: _self[strStack]
3762
- },
3763
- _a[_DYN_PARSED_STACK ] = parsedStack || undefined,
3831
+ }
3832
+ function _handleFilename(theFrame, sequence, matches) {
3833
+ var filename = theFrame[_DYN_FILE_NAME ];
3834
+ if (sequence.fn && matches && matches[_DYN_LENGTH ] > sequence.fn) {
3835
+ if (sequence.ln && matches[_DYN_LENGTH ] > sequence.ln) {
3836
+ filename = strTrim(matches[sequence.fn] || "");
3837
+ theFrame[_DYN_LINE ] = parseInt(strTrim(matches[sequence.ln] || "")) || 0;
3838
+ }
3839
+ else {
3840
+ filename = strTrim(matches[sequence.fn] || "");
3841
+ }
3842
+ }
3843
+ if (filename) {
3844
+ _parseFilename(theFrame, filename);
3845
+ }
3846
+ }
3847
+ function _isStackFrame(frame) {
3848
+ var result = false;
3849
+ if (frame && isString(frame)) {
3850
+ var trimmedFrame = strTrim(frame);
3851
+ if (trimmedFrame) {
3852
+ result = IS_FRAME.test(trimmedFrame);
3853
+ }
3854
+ }
3855
+ return result;
3856
+ }
3857
+ var stackFrameAiDataContract = objFreeze({
3858
+ level: 1 ,
3859
+ method: 1 ,
3860
+ assembly: 0 ,
3861
+ fileName: 0 ,
3862
+ line: 0
3863
+ });
3864
+ function _extractStackFrame(frame, level) {
3865
+ var _a;
3866
+ var theFrame;
3867
+ if (frame && isString(frame) && strTrim(frame)) {
3868
+ theFrame = (_a = {},
3869
+ _a[_DYN_AI_DATA_CONTRACT ] = stackFrameAiDataContract,
3870
+ _a[_DYN_LEVEL ] = level,
3871
+ _a[_DYN_ASSEMBLY ] = strTrim(frame),
3872
+ _a[_DYN_METHOD ] = NoMethod,
3873
+ _a.fileName = "",
3874
+ _a.line = 0,
3875
+ _a[_DYN_SIZE_IN_BYTES ] = 0,
3764
3876
  _a);
3765
- return exceptionDetailsInterface;
3766
- };
3767
- _ExceptionDetails.CreateFromInterface = function (logger, exception) {
3768
- var parsedStack = (exception[_DYN_PARSED_STACK ] instanceof Array
3769
- && arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 ](frame); }))
3770
- || exception[_DYN_PARSED_STACK ];
3771
- var exceptionDetails = new _ExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
3772
- return exceptionDetails;
3773
- };
3774
- return _ExceptionDetails;
3775
- }());
3776
- var _StackFrame = /** @class */ (function () {
3777
- function _StackFrame(sourceFrame, level) {
3778
- this.aiDataContract = {
3779
- level: 1 ,
3780
- method: 1 ,
3781
- assembly: 0 ,
3782
- fileName: 0 ,
3783
- line: 0
3784
- };
3785
- var _self = this;
3786
- _self[_DYN_SIZE_IN_BYTES ] = 0;
3787
- if (typeof sourceFrame === "string") {
3788
- var frame = sourceFrame;
3789
- _self[_DYN_LEVEL ] = level;
3790
- _self[_DYN_METHOD ] = NoMethod;
3791
- _self[_DYN_ASSEMBLY ] = strTrim(frame);
3792
- _self[_DYN_FILE_NAME ] = "";
3793
- _self[_DYN_LINE ] = 0;
3794
- var matches = frame.match(_StackFrame.regex);
3795
- if (matches && matches[_DYN_LENGTH ] >= 5) {
3796
- _self[_DYN_METHOD ] = strTrim(matches[2]) || _self[_DYN_METHOD ];
3797
- _self[_DYN_FILE_NAME ] = strTrim(matches[4]);
3798
- _self[_DYN_LINE ] = parseInt(matches[5]) || 0;
3877
+ var idx = 0;
3878
+ while (idx < _parseSequence[_DYN_LENGTH ]) {
3879
+ var sequence = _parseSequence[idx];
3880
+ if (sequence.chk && !sequence.chk(frame)) {
3881
+ break;
3882
+ }
3883
+ if (sequence.pre) {
3884
+ frame = sequence.pre(frame);
3799
3885
  }
3886
+ var matches = frame[_DYN_MATCH ](sequence.re);
3887
+ if (matches && matches[_DYN_LENGTH ] >= sequence.len) {
3888
+ if (sequence.m) {
3889
+ theFrame[_DYN_METHOD ] = strTrim(matches[sequence.m] || NoMethod);
3890
+ }
3891
+ if (sequence.hdl) {
3892
+ sequence.hdl(theFrame, sequence, matches);
3893
+ }
3894
+ else if (sequence.fn) {
3895
+ if (sequence.ln) {
3896
+ theFrame[_DYN_FILE_NAME ] = strTrim(matches[sequence.fn] || "");
3897
+ theFrame[_DYN_LINE ] = parseInt(strTrim(matches[sequence.ln] || "")) || 0;
3898
+ }
3899
+ else {
3900
+ _parseFilename(theFrame, matches[sequence.fn] || "");
3901
+ }
3902
+ }
3903
+ break;
3904
+ }
3905
+ idx++;
3800
3906
  }
3801
- else {
3802
- _self[_DYN_LEVEL ] = sourceFrame[_DYN_LEVEL ];
3803
- _self[_DYN_METHOD ] = sourceFrame[_DYN_METHOD ];
3804
- _self[_DYN_ASSEMBLY ] = sourceFrame[_DYN_ASSEMBLY ];
3805
- _self[_DYN_FILE_NAME ] = sourceFrame[_DYN_FILE_NAME ];
3806
- _self[_DYN_LINE ] = sourceFrame[_DYN_LINE ];
3807
- _self[_DYN_SIZE_IN_BYTES ] = 0;
3808
- }
3809
- _self.sizeInBytes += _self.method[_DYN_LENGTH ];
3810
- _self.sizeInBytes += _self.fileName[_DYN_LENGTH ];
3811
- _self.sizeInBytes += _self.assembly[_DYN_LENGTH ];
3812
- _self[_DYN_SIZE_IN_BYTES ] += _StackFrame.baseSize;
3813
- _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH ];
3814
- _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH ];
3815
- }
3816
- _StackFrame.CreateFromInterface = function (frame) {
3817
- return new _StackFrame(frame, null );
3818
- };
3819
- _StackFrame.prototype.toInterface = function () {
3820
- var _self = this;
3821
- return {
3822
- level: _self[_DYN_LEVEL ],
3823
- method: _self[_DYN_METHOD ],
3824
- assembly: _self[_DYN_ASSEMBLY ],
3825
- fileName: _self[_DYN_FILE_NAME ],
3826
- line: _self[_DYN_LINE ]
3827
- };
3907
+ }
3908
+ return _populateFrameSizeInBytes(theFrame);
3909
+ }
3910
+ function _stackFrameFromInterface(frame) {
3911
+ var _a;
3912
+ var parsedFrame = (_a = {},
3913
+ _a[_DYN_AI_DATA_CONTRACT ] = stackFrameAiDataContract,
3914
+ _a.level = frame[_DYN_LEVEL ],
3915
+ _a.method = frame[_DYN_METHOD ],
3916
+ _a.assembly = frame[_DYN_ASSEMBLY ],
3917
+ _a.fileName = frame[_DYN_FILE_NAME ],
3918
+ _a.line = frame[_DYN_LINE ],
3919
+ _a[_DYN_SIZE_IN_BYTES ] = 0,
3920
+ _a);
3921
+ return _populateFrameSizeInBytes(parsedFrame);
3922
+ }
3923
+ function _populateFrameSizeInBytes(frame) {
3924
+ var sizeInBytes = STACKFRAME_BASE_SIZE;
3925
+ if (frame) {
3926
+ sizeInBytes += frame.method[_DYN_LENGTH ];
3927
+ sizeInBytes += frame.assembly[_DYN_LENGTH ];
3928
+ sizeInBytes += frame.fileName[_DYN_LENGTH ];
3929
+ sizeInBytes += frame.level.toString()[_DYN_LENGTH ];
3930
+ sizeInBytes += frame.line.toString()[_DYN_LENGTH ];
3931
+ frame[_DYN_SIZE_IN_BYTES ] = sizeInBytes;
3932
+ }
3933
+ return frame;
3934
+ }
3935
+ function _parsedFrameToInterface(frame) {
3936
+ return {
3937
+ level: frame[_DYN_LEVEL ],
3938
+ method: frame[_DYN_METHOD ],
3939
+ assembly: frame[_DYN_ASSEMBLY ],
3940
+ fileName: frame[_DYN_FILE_NAME ],
3941
+ line: frame[_DYN_LINE ]
3828
3942
  };
3829
- _StackFrame.regex = /^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/;
3830
- _StackFrame.baseSize = 58;
3831
- return _StackFrame;
3832
- }());
3943
+ }
3833
3944
 
3834
3945
  var DataPoint = /** @class */ (function () {
3835
3946
  function DataPoint() {