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

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.2501-08
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -1185,7 +1185,7 @@ function newId(maxLength) {
1185
1185
  return result;
1186
1186
  }
1187
1187
 
1188
- var version = '3.3.5-nightly3.2501-07';
1188
+ var version = '3.3.5-nightly3.2501-08';
1189
1189
  var instanceName = "." + newId(6);
1190
1190
  var _dataUid = 0;
1191
1191
  function _canAcceptData(target) {
@@ -2425,6 +2425,7 @@ var _DYN_DATE = "date";
2425
2425
  var _DYN_GET_UTCDATE = "getUTCDate";
2426
2426
  var _DYN_STRINGIFY = "stringify";
2427
2427
  var _DYN_PATHNAME = "pathname";
2428
+ var _DYN_MATCH = "match";
2428
2429
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
2429
2430
  var _DYN_EXTENSION_CONFIG = "extensionConfig";
2430
2431
  var _DYN_EXCEPTIONS = "exceptions";
@@ -2436,13 +2437,13 @@ var _DYN_TYPE_NAME = "typeName";
2436
2437
  var _DYN_SEVERITY_LEVEL = "severityLevel";
2437
2438
  var _DYN_PROBLEM_GROUP = "problemGroup";
2438
2439
  var _DYN_IS_MANUAL = "isManual";
2439
- var _DYN__CREATE_FROM_INTERFA1 = "CreateFromInterface";
2440
+ var _DYN_HAS_FULL_STACK = "hasFullStack";
2440
2441
  var _DYN_ASSEMBLY = "assembly";
2441
2442
  var _DYN_FILE_NAME = "fileName";
2442
- var _DYN_HAS_FULL_STACK = "hasFullStack";
2443
- var _DYN_LEVEL = "level";
2444
- var _DYN_METHOD = "method";
2445
2443
  var _DYN_LINE = "line";
2444
+ var _DYN_METHOD = "method";
2445
+ var _DYN_LEVEL = "level";
2446
+ var _DYN_AI_DATA_CONTRACT = "aiDataContract";
2446
2447
  var _DYN_DURATION = "duration";
2447
2448
  var _DYN_RECEIVED_RESPONSE = "receivedResponse";
2448
2449
 
@@ -2604,7 +2605,7 @@ function urlGetCompleteUrl(method, absoluteUrl) {
2604
2605
  function urlParseHost(url, inclPort) {
2605
2606
  var fullHost = urlParseFullHost(url, inclPort) || "";
2606
2607
  if (fullHost) {
2607
- var match = fullHost.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
2608
+ var match = fullHost[_DYN_MATCH ](/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
2608
2609
  if (match != null && match[_DYN_LENGTH ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH ] > 0) {
2609
2610
  return match[2] + (match[3] || "");
2610
2611
  }
@@ -2614,7 +2615,7 @@ function urlParseHost(url, inclPort) {
2614
2615
  function urlParseFullHost(url, inclPort) {
2615
2616
  var result = null;
2616
2617
  if (url) {
2617
- var match = url.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
2618
+ var match = url[_DYN_MATCH ](/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
2618
2619
  if (match != null && match[_DYN_LENGTH ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH ] > 0) {
2619
2620
  result = match[2] || "";
2620
2621
  if (inclPort && match[_DYN_LENGTH ] > 2) {
@@ -3321,7 +3322,7 @@ var Envelope = /** @class */ (function () {
3321
3322
  _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
3322
3323
  _self.data = data;
3323
3324
  _self.time = toISOString(new Date());
3324
- _self.aiDataContract = {
3325
+ _self[_DYN_AI_DATA_CONTRACT ] = {
3325
3326
  time: 1 ,
3326
3327
  iKey: 1 ,
3327
3328
  name: 1 ,
@@ -3354,6 +3355,14 @@ var Event$1 = /** @class */ (function () {
3354
3355
  return Event;
3355
3356
  }());
3356
3357
 
3358
+ var STACKFRAME_BASE_SIZE = 58;
3359
+ 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\?]+)?)/;
3360
+ 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\?]+)\)?$/;
3361
+ var FULL_STACK_FRAME_2 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\]]+):([0-9\?]+)\)?$/;
3362
+ var FULL_STACK_FRAME_3 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\)\]]+)\)?$/;
3363
+ var EXTRACT_FILENAME = /(?:^|\(|\s{0,10}[\w\)]+\@)?([^\(\n\s\]\)]+)(?:\:([0-9]+)(?:\:([0-9]+))?)?\)?(?:,|$)/;
3364
+ var PARSE_FILENAME_LINE_COL = /([^\(\s\n]+):([0-9]+):([0-9]+)$/;
3365
+ var PARSE_FILENAME_LINE_ONLY = /([^\(\s\n]+):([0-9]+)$/;
3357
3366
  var NoMethod = "<no_method>";
3358
3367
  var strError = "error";
3359
3368
  var strStack = "stack";
@@ -3361,6 +3370,18 @@ var strStackDetails = "stackDetails";
3361
3370
  var strErrorSrc = "errorSrc";
3362
3371
  var strMessage = "message";
3363
3372
  var strDescription = "description";
3373
+ var _parseSequence = [
3374
+ { re: FULL_STACK_FRAME_1, len: 5, m: 1, fn: 2, ln: 3, col: 4 },
3375
+ { chk: _ignoreNative, pre: _scrubAnonymous, re: FULL_STACK_FRAME_2, len: 4, m: 1, fn: 2, ln: 3 },
3376
+ { re: FULL_STACK_FRAME_3, len: 3, m: 1, fn: 2, hdl: _handleFilename },
3377
+ { re: EXTRACT_FILENAME, len: 2, fn: 1, hdl: _handleFilename }
3378
+ ];
3379
+ function _scrubAnonymous(frame) {
3380
+ return frame.replace(/(\(anonymous\))/, "<anonymous>");
3381
+ }
3382
+ function _ignoreNative(frame) {
3383
+ return strIndexOf(frame, "[native") < 0;
3384
+ }
3364
3385
  function _stringify(value, convertToString) {
3365
3386
  var result = value;
3366
3387
  if (result && !isString(result)) {
@@ -3508,9 +3529,7 @@ function _formatStackTrace(stackDetails) {
3508
3529
  var stack = "";
3509
3530
  if (stackDetails) {
3510
3531
  if (stackDetails.obj) {
3511
- arrForEach(stackDetails.obj, function (entry) {
3512
- stack += entry + "\n";
3513
- });
3532
+ stack = stackDetails.obj.join("\n");
3514
3533
  }
3515
3534
  else {
3516
3535
  stack = stackDetails.src || "";
@@ -3524,13 +3543,18 @@ function _parseStack(stack) {
3524
3543
  if (frames && frames[_DYN_LENGTH ] > 0) {
3525
3544
  parsedStack = [];
3526
3545
  var level_1 = 0;
3546
+ var foundStackStart_1 = false;
3527
3547
  var totalSizeInBytes_1 = 0;
3528
3548
  arrForEach(frames, function (frame) {
3529
- var theFrame = frame[_DYN_TO_STRING ]();
3530
- if (_StackFrame.regex.test(theFrame)) {
3531
- var parsedFrame = new _StackFrame(theFrame, level_1++);
3532
- totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
3533
- parsedStack[_DYN_PUSH ](parsedFrame);
3549
+ if (foundStackStart_1 || _isStackFrame(frame)) {
3550
+ var theFrame = asString(frame);
3551
+ foundStackStart_1 = true;
3552
+ var parsedFrame = _extractStackFrame(theFrame, level_1);
3553
+ if (parsedFrame) {
3554
+ totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
3555
+ parsedStack[_DYN_PUSH ](parsedFrame);
3556
+ level_1++;
3557
+ }
3534
3558
  }
3535
3559
  });
3536
3560
  var exceptionParsedStackThreshold = 32 * 1024;
@@ -3616,7 +3640,7 @@ var Exception = /** @class */ (function () {
3616
3640
  if (id) {
3617
3641
  properties.id = id;
3618
3642
  }
3619
- _self[_DYN_EXCEPTIONS ] = [new _ExceptionDetails(logger, exception, properties)];
3643
+ _self[_DYN_EXCEPTIONS ] = [_createExceptionDetails(logger, exception, properties)];
3620
3644
  _self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
3621
3645
  _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
3622
3646
  if (severityLevel) {
@@ -3662,7 +3686,7 @@ var Exception = /** @class */ (function () {
3662
3686
  };
3663
3687
  Exception.CreateFromInterface = function (logger, exception, properties, measurements) {
3664
3688
  var exceptions = exception[_DYN_EXCEPTIONS ]
3665
- && arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 ](logger, ex); });
3689
+ && arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _createExDetailsFromInterface(logger, ex); });
3666
3690
  var exceptionData = new Exception(logger, __assignFn(__assignFn({}, exception), { exceptions: exceptions }), properties, measurements);
3667
3691
  return exceptionData;
3668
3692
  };
@@ -3702,131 +3726,218 @@ var Exception = /** @class */ (function () {
3702
3726
  Exception.formatError = _formatErrorCode;
3703
3727
  return Exception;
3704
3728
  }());
3705
- var _ExceptionDetails = /** @class */ (function () {
3706
- function _ExceptionDetails(logger, exception, properties) {
3707
- this.aiDataContract = {
3708
- id: 0 ,
3709
- outerId: 0 ,
3710
- typeName: 1 ,
3711
- message: 1 ,
3712
- hasFullStack: 0 ,
3713
- stack: 0 ,
3714
- parsedStack: 2
3715
- };
3716
- var _self = this;
3717
- if (!_isExceptionDetailsInternal(exception)) {
3718
- var error = exception;
3719
- var evt = error && error.evt;
3720
- if (!isError(error)) {
3721
- error = error[strError] || evt || error;
3722
- }
3723
- _self[_DYN_TYPE_NAME ] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
3724
- _self[_DYN_MESSAGE ] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME ])) || strNotSpecified;
3725
- var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
3726
- _self[_DYN_PARSED_STACK ] = _parseStack(stack);
3727
- if (isArray(_self[_DYN_PARSED_STACK ])) {
3728
- arrMap(_self[_DYN_PARSED_STACK ], function (frame) {
3729
- frame[_DYN_ASSEMBLY ] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY ]);
3730
- frame[_DYN_FILE_NAME ] = dataSanitizeString(logger, frame[_DYN_FILE_NAME ]);
3731
- });
3732
- }
3733
- _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));
3734
- _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH ] > 0;
3735
- if (properties) {
3736
- properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || _self[_DYN_TYPE_NAME ];
3737
- }
3729
+ var exDetailsAiDataContract = objFreeze({
3730
+ id: 0 ,
3731
+ outerId: 0 ,
3732
+ typeName: 1 ,
3733
+ message: 1 ,
3734
+ hasFullStack: 0 ,
3735
+ stack: 0 ,
3736
+ parsedStack: 2
3737
+ });
3738
+ function _toInterface() {
3739
+ var _a;
3740
+ var _self = this;
3741
+ var parsedStack = isArray(_self[_DYN_PARSED_STACK ])
3742
+ && arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return _parsedFrameToInterface(frame); });
3743
+ var exceptionDetailsInterface = (_a = {
3744
+ id: _self.id,
3745
+ outerId: _self.outerId,
3746
+ typeName: _self[_DYN_TYPE_NAME ],
3747
+ message: _self[_DYN_MESSAGE ],
3748
+ hasFullStack: _self[_DYN_HAS_FULL_STACK ],
3749
+ stack: _self[strStack]
3750
+ },
3751
+ _a[_DYN_PARSED_STACK ] = parsedStack || undefined,
3752
+ _a);
3753
+ return exceptionDetailsInterface;
3754
+ }
3755
+ function _createExceptionDetails(logger, exception, properties) {
3756
+ var _a;
3757
+ var id;
3758
+ var outerId;
3759
+ var typeName;
3760
+ var message;
3761
+ var hasFullStack;
3762
+ var theStack;
3763
+ var parsedStack;
3764
+ if (!_isExceptionDetailsInternal(exception)) {
3765
+ var error = exception;
3766
+ var evt = error && error.evt;
3767
+ if (!isError(error)) {
3768
+ error = error[strError] || evt || error;
3769
+ }
3770
+ typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
3771
+ message = dataSanitizeMessage(logger, _formatMessage(exception || error, typeName)) || strNotSpecified;
3772
+ var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
3773
+ parsedStack = _parseStack(stack);
3774
+ if (isArray(parsedStack)) {
3775
+ arrMap(parsedStack, function (frame) {
3776
+ frame[_DYN_ASSEMBLY ] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY ]);
3777
+ frame[_DYN_FILE_NAME ] = dataSanitizeString(logger, frame[_DYN_FILE_NAME ]);
3778
+ });
3779
+ }
3780
+ theStack = dataSanitizeException(logger, _formatStackTrace(stack));
3781
+ hasFullStack = isArray(parsedStack) && parsedStack[_DYN_LENGTH ] > 0;
3782
+ if (properties) {
3783
+ properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || typeName;
3784
+ }
3785
+ }
3786
+ else {
3787
+ typeName = exception[_DYN_TYPE_NAME ];
3788
+ message = exception[_DYN_MESSAGE ];
3789
+ theStack = exception[strStack];
3790
+ parsedStack = exception[_DYN_PARSED_STACK ] || [];
3791
+ hasFullStack = exception[_DYN_HAS_FULL_STACK ];
3792
+ }
3793
+ return _a = {},
3794
+ _a[_DYN_AI_DATA_CONTRACT ] = exDetailsAiDataContract,
3795
+ _a.id = id,
3796
+ _a.outerId = outerId,
3797
+ _a[_DYN_TYPE_NAME ] = typeName,
3798
+ _a[_DYN_MESSAGE ] = message,
3799
+ _a[_DYN_HAS_FULL_STACK ] = hasFullStack,
3800
+ _a.stack = theStack,
3801
+ _a[_DYN_PARSED_STACK ] = parsedStack,
3802
+ _a.toInterface = _toInterface,
3803
+ _a;
3804
+ }
3805
+ function _createExDetailsFromInterface(logger, exception) {
3806
+ var parsedStack = (isArray(exception[_DYN_PARSED_STACK ])
3807
+ && arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _stackFrameFromInterface(frame); }))
3808
+ || exception[_DYN_PARSED_STACK ];
3809
+ var exceptionDetails = _createExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
3810
+ return exceptionDetails;
3811
+ }
3812
+ function _parseFilename(theFrame, fileName) {
3813
+ var lineCol = fileName[_DYN_MATCH ](PARSE_FILENAME_LINE_COL);
3814
+ if (lineCol && lineCol[_DYN_LENGTH ] >= 4) {
3815
+ theFrame[_DYN_FILE_NAME ] = lineCol[1];
3816
+ theFrame[_DYN_LINE ] = parseInt(lineCol[2]);
3817
+ }
3818
+ else {
3819
+ var lineNo = fileName[_DYN_MATCH ](PARSE_FILENAME_LINE_ONLY);
3820
+ if (lineNo && lineNo[_DYN_LENGTH ] >= 3) {
3821
+ theFrame[_DYN_FILE_NAME ] = lineNo[1];
3822
+ theFrame[_DYN_LINE ] = parseInt(lineNo[2]);
3738
3823
  }
3739
3824
  else {
3740
- _self[_DYN_TYPE_NAME ] = exception[_DYN_TYPE_NAME ];
3741
- _self[_DYN_MESSAGE ] = exception[_DYN_MESSAGE ];
3742
- _self[strStack] = exception[strStack];
3743
- _self[_DYN_PARSED_STACK ] = exception[_DYN_PARSED_STACK ] || [];
3744
- _self[_DYN_HAS_FULL_STACK ] = exception[_DYN_HAS_FULL_STACK ];
3825
+ theFrame[_DYN_FILE_NAME ] = fileName;
3745
3826
  }
3746
3827
  }
3747
- _ExceptionDetails.prototype.toInterface = function () {
3748
- var _a;
3749
- var _self = this;
3750
- var parsedStack = _self[_DYN_PARSED_STACK ] instanceof Array
3751
- && arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return frame.toInterface(); });
3752
- var exceptionDetailsInterface = (_a = {
3753
- id: _self.id,
3754
- outerId: _self.outerId,
3755
- typeName: _self[_DYN_TYPE_NAME ],
3756
- message: _self[_DYN_MESSAGE ],
3757
- hasFullStack: _self[_DYN_HAS_FULL_STACK ],
3758
- stack: _self[strStack]
3759
- },
3760
- _a[_DYN_PARSED_STACK ] = parsedStack || undefined,
3828
+ }
3829
+ function _handleFilename(theFrame, sequence, matches) {
3830
+ var filename = theFrame[_DYN_FILE_NAME ];
3831
+ if (sequence.fn && matches && matches[_DYN_LENGTH ] > sequence.fn) {
3832
+ if (sequence.ln && matches[_DYN_LENGTH ] > sequence.ln) {
3833
+ filename = strTrim(matches[sequence.fn] || "");
3834
+ theFrame[_DYN_LINE ] = parseInt(strTrim(matches[sequence.ln] || "")) || 0;
3835
+ }
3836
+ else {
3837
+ filename = strTrim(matches[sequence.fn] || "");
3838
+ }
3839
+ }
3840
+ if (filename) {
3841
+ _parseFilename(theFrame, filename);
3842
+ }
3843
+ }
3844
+ function _isStackFrame(frame) {
3845
+ var result = false;
3846
+ if (frame && isString(frame)) {
3847
+ var trimmedFrame = strTrim(frame);
3848
+ if (trimmedFrame) {
3849
+ result = IS_FRAME.test(trimmedFrame);
3850
+ }
3851
+ }
3852
+ return result;
3853
+ }
3854
+ var stackFrameAiDataContract = objFreeze({
3855
+ level: 1 ,
3856
+ method: 1 ,
3857
+ assembly: 0 ,
3858
+ fileName: 0 ,
3859
+ line: 0
3860
+ });
3861
+ function _extractStackFrame(frame, level) {
3862
+ var _a;
3863
+ var theFrame;
3864
+ if (frame && isString(frame) && strTrim(frame)) {
3865
+ theFrame = (_a = {},
3866
+ _a[_DYN_AI_DATA_CONTRACT ] = stackFrameAiDataContract,
3867
+ _a[_DYN_LEVEL ] = level,
3868
+ _a[_DYN_ASSEMBLY ] = strTrim(frame),
3869
+ _a[_DYN_METHOD ] = NoMethod,
3870
+ _a.fileName = "",
3871
+ _a.line = 0,
3872
+ _a[_DYN_SIZE_IN_BYTES ] = 0,
3761
3873
  _a);
3762
- return exceptionDetailsInterface;
3763
- };
3764
- _ExceptionDetails.CreateFromInterface = function (logger, exception) {
3765
- var parsedStack = (exception[_DYN_PARSED_STACK ] instanceof Array
3766
- && arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 ](frame); }))
3767
- || exception[_DYN_PARSED_STACK ];
3768
- var exceptionDetails = new _ExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
3769
- return exceptionDetails;
3770
- };
3771
- return _ExceptionDetails;
3772
- }());
3773
- var _StackFrame = /** @class */ (function () {
3774
- function _StackFrame(sourceFrame, level) {
3775
- this.aiDataContract = {
3776
- level: 1 ,
3777
- method: 1 ,
3778
- assembly: 0 ,
3779
- fileName: 0 ,
3780
- line: 0
3781
- };
3782
- var _self = this;
3783
- _self[_DYN_SIZE_IN_BYTES ] = 0;
3784
- if (typeof sourceFrame === "string") {
3785
- var frame = sourceFrame;
3786
- _self[_DYN_LEVEL ] = level;
3787
- _self[_DYN_METHOD ] = NoMethod;
3788
- _self[_DYN_ASSEMBLY ] = strTrim(frame);
3789
- _self[_DYN_FILE_NAME ] = "";
3790
- _self[_DYN_LINE ] = 0;
3791
- var matches = frame.match(_StackFrame.regex);
3792
- if (matches && matches[_DYN_LENGTH ] >= 5) {
3793
- _self[_DYN_METHOD ] = strTrim(matches[2]) || _self[_DYN_METHOD ];
3794
- _self[_DYN_FILE_NAME ] = strTrim(matches[4]);
3795
- _self[_DYN_LINE ] = parseInt(matches[5]) || 0;
3874
+ var idx = 0;
3875
+ while (idx < _parseSequence[_DYN_LENGTH ]) {
3876
+ var sequence = _parseSequence[idx];
3877
+ if (sequence.chk && !sequence.chk(frame)) {
3878
+ break;
3879
+ }
3880
+ if (sequence.pre) {
3881
+ frame = sequence.pre(frame);
3796
3882
  }
3883
+ var matches = frame[_DYN_MATCH ](sequence.re);
3884
+ if (matches && matches[_DYN_LENGTH ] >= sequence.len) {
3885
+ if (sequence.m) {
3886
+ theFrame[_DYN_METHOD ] = strTrim(matches[sequence.m] || NoMethod);
3887
+ }
3888
+ if (sequence.hdl) {
3889
+ sequence.hdl(theFrame, sequence, matches);
3890
+ }
3891
+ else if (sequence.fn) {
3892
+ if (sequence.ln) {
3893
+ theFrame[_DYN_FILE_NAME ] = strTrim(matches[sequence.fn] || "");
3894
+ theFrame[_DYN_LINE ] = parseInt(strTrim(matches[sequence.ln] || "")) || 0;
3895
+ }
3896
+ else {
3897
+ _parseFilename(theFrame, matches[sequence.fn] || "");
3898
+ }
3899
+ }
3900
+ break;
3901
+ }
3902
+ idx++;
3797
3903
  }
3798
- else {
3799
- _self[_DYN_LEVEL ] = sourceFrame[_DYN_LEVEL ];
3800
- _self[_DYN_METHOD ] = sourceFrame[_DYN_METHOD ];
3801
- _self[_DYN_ASSEMBLY ] = sourceFrame[_DYN_ASSEMBLY ];
3802
- _self[_DYN_FILE_NAME ] = sourceFrame[_DYN_FILE_NAME ];
3803
- _self[_DYN_LINE ] = sourceFrame[_DYN_LINE ];
3804
- _self[_DYN_SIZE_IN_BYTES ] = 0;
3805
- }
3806
- _self.sizeInBytes += _self.method[_DYN_LENGTH ];
3807
- _self.sizeInBytes += _self.fileName[_DYN_LENGTH ];
3808
- _self.sizeInBytes += _self.assembly[_DYN_LENGTH ];
3809
- _self[_DYN_SIZE_IN_BYTES ] += _StackFrame.baseSize;
3810
- _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH ];
3811
- _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH ];
3812
- }
3813
- _StackFrame.CreateFromInterface = function (frame) {
3814
- return new _StackFrame(frame, null );
3815
- };
3816
- _StackFrame.prototype.toInterface = function () {
3817
- var _self = this;
3818
- return {
3819
- level: _self[_DYN_LEVEL ],
3820
- method: _self[_DYN_METHOD ],
3821
- assembly: _self[_DYN_ASSEMBLY ],
3822
- fileName: _self[_DYN_FILE_NAME ],
3823
- line: _self[_DYN_LINE ]
3824
- };
3904
+ }
3905
+ return _populateFrameSizeInBytes(theFrame);
3906
+ }
3907
+ function _stackFrameFromInterface(frame) {
3908
+ var _a;
3909
+ var parsedFrame = (_a = {},
3910
+ _a[_DYN_AI_DATA_CONTRACT ] = stackFrameAiDataContract,
3911
+ _a.level = frame[_DYN_LEVEL ],
3912
+ _a.method = frame[_DYN_METHOD ],
3913
+ _a.assembly = frame[_DYN_ASSEMBLY ],
3914
+ _a.fileName = frame[_DYN_FILE_NAME ],
3915
+ _a.line = frame[_DYN_LINE ],
3916
+ _a[_DYN_SIZE_IN_BYTES ] = 0,
3917
+ _a);
3918
+ return _populateFrameSizeInBytes(parsedFrame);
3919
+ }
3920
+ function _populateFrameSizeInBytes(frame) {
3921
+ var sizeInBytes = STACKFRAME_BASE_SIZE;
3922
+ if (frame) {
3923
+ sizeInBytes += frame.method[_DYN_LENGTH ];
3924
+ sizeInBytes += frame.assembly[_DYN_LENGTH ];
3925
+ sizeInBytes += frame.fileName[_DYN_LENGTH ];
3926
+ sizeInBytes += frame.level.toString()[_DYN_LENGTH ];
3927
+ sizeInBytes += frame.line.toString()[_DYN_LENGTH ];
3928
+ frame[_DYN_SIZE_IN_BYTES ] = sizeInBytes;
3929
+ }
3930
+ return frame;
3931
+ }
3932
+ function _parsedFrameToInterface(frame) {
3933
+ return {
3934
+ level: frame[_DYN_LEVEL ],
3935
+ method: frame[_DYN_METHOD ],
3936
+ assembly: frame[_DYN_ASSEMBLY ],
3937
+ fileName: frame[_DYN_FILE_NAME ],
3938
+ line: frame[_DYN_LINE ]
3825
3939
  };
3826
- _StackFrame.regex = /^([\s]+at)?[\s]{0,50}([^\@\()]+?)[\s]{0,50}(\@|\()([^\(\n]+):([0-9]+):([0-9]+)(\)?)$/;
3827
- _StackFrame.baseSize = 58;
3828
- return _StackFrame;
3829
- }());
3940
+ }
3830
3941
 
3831
3942
  var DataPoint = /** @class */ (function () {
3832
3943
  function DataPoint() {