@microsoft/applicationinsights-common 2.8.5-nightly.2206-03 → 2.8.5-nightly.2207-01

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 (142) hide show
  1. package/browser/applicationinsights-common.integrity.json +9 -9
  2. package/browser/applicationinsights-common.js +619 -530
  3. package/browser/applicationinsights-common.js.map +1 -1
  4. package/browser/applicationinsights-common.min.js +2 -2
  5. package/browser/applicationinsights-common.min.js.map +1 -1
  6. package/dist/applicationinsights-common.api.json +293 -106
  7. package/dist/applicationinsights-common.api.md +15 -4
  8. package/dist/applicationinsights-common.d.ts +15 -5
  9. package/dist/applicationinsights-common.js +619 -530
  10. package/dist/applicationinsights-common.js.map +1 -1
  11. package/dist/applicationinsights-common.min.js +2 -2
  12. package/dist/applicationinsights-common.min.js.map +1 -1
  13. package/dist/applicationinsights-common.rollup.d.ts +15 -5
  14. package/dist-esm/ConnectionStringParser.js +10 -9
  15. package/dist-esm/ConnectionStringParser.js.map +1 -1
  16. package/dist-esm/Constants.js +2 -1
  17. package/dist-esm/Constants.js.map +1 -1
  18. package/dist-esm/DomHelperFuncs.js +1 -1
  19. package/dist-esm/Enums.js +1 -1
  20. package/dist-esm/HelperFuncs.js +7 -6
  21. package/dist-esm/HelperFuncs.js.map +1 -1
  22. package/dist-esm/Interfaces/ConnectionString.js +1 -1
  23. package/dist-esm/Interfaces/Context/IApplication.js +1 -1
  24. package/dist-esm/Interfaces/Context/IDevice.js +1 -1
  25. package/dist-esm/Interfaces/Context/IInternal.js +1 -1
  26. package/dist-esm/Interfaces/Context/ILocation.js +1 -1
  27. package/dist-esm/Interfaces/Context/IOperatingSystem.js +1 -1
  28. package/dist-esm/Interfaces/Context/ISample.js +1 -1
  29. package/dist-esm/Interfaces/Context/ISession.js +1 -1
  30. package/dist-esm/Interfaces/Context/ITelemetryTrace.js +1 -1
  31. package/dist-esm/Interfaces/Context/IUser.js +1 -1
  32. package/dist-esm/Interfaces/Context/IWeb.js +1 -1
  33. package/dist-esm/Interfaces/Contracts/AvailabilityData.js +1 -1
  34. package/dist-esm/Interfaces/Contracts/ContextTagKeys.js +1 -1
  35. package/dist-esm/Interfaces/Contracts/DataPointType.js +1 -1
  36. package/dist-esm/Interfaces/Contracts/DependencyKind.js +1 -1
  37. package/dist-esm/Interfaces/Contracts/DependencySourceType.js +1 -1
  38. package/dist-esm/Interfaces/Contracts/IBase.js +1 -1
  39. package/dist-esm/Interfaces/Contracts/IData.js +1 -1
  40. package/dist-esm/Interfaces/Contracts/IDataPoint.js +1 -1
  41. package/dist-esm/Interfaces/Contracts/IDomain.js +1 -1
  42. package/dist-esm/Interfaces/Contracts/IEnvelope.js +1 -1
  43. package/dist-esm/Interfaces/Contracts/IEventData.js +1 -1
  44. package/dist-esm/Interfaces/Contracts/IExceptionData.js +1 -1
  45. package/dist-esm/Interfaces/Contracts/IExceptionDetails.js +1 -1
  46. package/dist-esm/Interfaces/Contracts/IMessageData.js +1 -1
  47. package/dist-esm/Interfaces/Contracts/IMetricData.js +1 -1
  48. package/dist-esm/Interfaces/Contracts/IPageViewData.js +1 -1
  49. package/dist-esm/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  50. package/dist-esm/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  51. package/dist-esm/Interfaces/Contracts/IStackFrame.js +1 -1
  52. package/dist-esm/Interfaces/Contracts/RequestData.js +1 -1
  53. package/dist-esm/Interfaces/Contracts/SeverityLevel.js +1 -1
  54. package/dist-esm/Interfaces/IAppInsights.js +1 -1
  55. package/dist-esm/Interfaces/IChannelControlsAI.js +1 -1
  56. package/dist-esm/Interfaces/IConfig.js +4 -3
  57. package/dist-esm/Interfaces/IConfig.js.map +1 -1
  58. package/dist-esm/Interfaces/ICorrelationConfig.js +1 -1
  59. package/dist-esm/Interfaces/IDependencyTelemetry.js +1 -1
  60. package/dist-esm/Interfaces/IEventTelemetry.js +1 -1
  61. package/dist-esm/Interfaces/IExceptionTelemetry.js +1 -1
  62. package/dist-esm/Interfaces/IMetricTelemetry.js +1 -1
  63. package/dist-esm/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  64. package/dist-esm/Interfaces/IPageViewTelemetry.js +1 -1
  65. package/dist-esm/Interfaces/IPartC.js +1 -1
  66. package/dist-esm/Interfaces/IPropertiesPlugin.js +1 -1
  67. package/dist-esm/Interfaces/IRequestContext.js +1 -1
  68. package/dist-esm/Interfaces/ITelemetryContext.js +1 -1
  69. package/dist-esm/Interfaces/ITraceTelemetry.js +1 -1
  70. package/dist-esm/Interfaces/PartAExtensions.js +1 -1
  71. package/dist-esm/Interfaces/Telemetry/IEnvelope.js +1 -1
  72. package/dist-esm/Interfaces/Telemetry/ISerializable.js +1 -1
  73. package/dist-esm/RequestResponseHeaders.js +1 -1
  74. package/dist-esm/StorageHelperFuncs.js +7 -6
  75. package/dist-esm/StorageHelperFuncs.js.map +1 -1
  76. package/dist-esm/Telemetry/Common/Data.js +1 -1
  77. package/dist-esm/Telemetry/Common/DataPoint.js +1 -1
  78. package/dist-esm/Telemetry/Common/DataSanitizer.js +43 -40
  79. package/dist-esm/Telemetry/Common/DataSanitizer.js.map +1 -1
  80. package/dist-esm/Telemetry/Common/Envelope.js +4 -3
  81. package/dist-esm/Telemetry/Common/Envelope.js.map +1 -1
  82. package/dist-esm/Telemetry/Event.js +6 -5
  83. package/dist-esm/Telemetry/Event.js.map +1 -1
  84. package/dist-esm/Telemetry/Exception.js +122 -115
  85. package/dist-esm/Telemetry/Exception.js.map +1 -1
  86. package/dist-esm/Telemetry/Metric.js +7 -6
  87. package/dist-esm/Telemetry/Metric.js.map +1 -1
  88. package/dist-esm/Telemetry/PageView.js +8 -7
  89. package/dist-esm/Telemetry/PageView.js.map +1 -1
  90. package/dist-esm/Telemetry/PageViewPerformance.js +8 -7
  91. package/dist-esm/Telemetry/PageViewPerformance.js.map +1 -1
  92. package/dist-esm/Telemetry/RemoteDependencyData.js +8 -7
  93. package/dist-esm/Telemetry/RemoteDependencyData.js.map +1 -1
  94. package/dist-esm/Telemetry/Trace.js +7 -6
  95. package/dist-esm/Telemetry/Trace.js.map +1 -1
  96. package/dist-esm/TelemetryItemCreator.js +16 -13
  97. package/dist-esm/TelemetryItemCreator.js.map +1 -1
  98. package/dist-esm/UrlHelperFuncs.js +8 -7
  99. package/dist-esm/UrlHelperFuncs.js.map +1 -1
  100. package/dist-esm/Util.js +30 -29
  101. package/dist-esm/Util.js.map +1 -1
  102. package/dist-esm/__DynamicConstants.js +50 -0
  103. package/dist-esm/__DynamicConstants.js.map +1 -0
  104. package/dist-esm/applicationinsights-common.js +2 -2
  105. package/dist-esm/applicationinsights-common.js.map +1 -1
  106. package/package.json +6 -3
  107. package/src/ConnectionStringParser.ts +8 -10
  108. package/src/Constants.ts +1 -0
  109. package/src/HelperFuncs.ts +6 -6
  110. package/src/Interfaces/IConfig.ts +7 -7
  111. package/src/StorageHelperFuncs.ts +10 -7
  112. package/src/Telemetry/Common/DataPoint.ts +3 -3
  113. package/src/Telemetry/Common/DataSanitizer.ts +8 -6
  114. package/src/Telemetry/Common/Envelope.ts +11 -11
  115. package/src/Telemetry/Event.ts +11 -11
  116. package/src/Telemetry/Exception.ts +21 -17
  117. package/src/Telemetry/Metric.ts +12 -12
  118. package/src/Telemetry/PageView.ts +14 -12
  119. package/src/Telemetry/PageViewPerformance.ts +12 -13
  120. package/src/Telemetry/RemoteDependencyData.ts +12 -12
  121. package/src/Telemetry/Trace.ts +12 -12
  122. package/src/TelemetryItemCreator.ts +10 -9
  123. package/src/UrlHelperFuncs.ts +6 -6
  124. package/src/Util.ts +26 -28
  125. package/src/__DynamicConstants.ts +48 -0
  126. package/src/applicationinsights-common.ts +1 -1
  127. package/types/Constants.d.ts +1 -0
  128. package/types/Telemetry/Common/DataPoint.d.ts +2 -2
  129. package/types/Telemetry/Common/DataSanitizer.d.ts +5 -4
  130. package/types/Telemetry/Common/Envelope.d.ts +1 -1
  131. package/types/Telemetry/Event.d.ts +2 -2
  132. package/types/Telemetry/Exception.d.ts +5 -5
  133. package/types/Telemetry/Metric.d.ts +2 -2
  134. package/types/Telemetry/PageView.d.ts +2 -2
  135. package/types/Telemetry/PageViewPerformance.d.ts +3 -3
  136. package/types/Telemetry/RemoteDependencyData.d.ts +2 -2
  137. package/types/Telemetry/Trace.d.ts +3 -3
  138. package/types/TelemetryItemCreator.d.ts +1 -1
  139. package/types/Util.d.ts +2 -2
  140. package/types/__DynamicConstants.d.ts +36 -0
  141. package/types/applicationinsights-common.d.ts +1 -1
  142. package/types/tsdoc-metadata.json +1 -1
@@ -1,13 +1,14 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Common, 2.8.5-nightly.2206-03
2
+ * Application Insights JavaScript SDK - Common, 2.8.5-nightly.2207-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
6
6
 
7
7
  import { __assignFn as __assign } from "@microsoft/applicationinsights-shims";
8
- import { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from "./Common/DataSanitizer";
9
- import { isNullOrUndefined, arrMap, isString, strTrim, isArray, isError, arrForEach, isObject, isFunction } from "@microsoft/applicationinsights-core-js";
8
+ import { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from "@microsoft/applicationinsights-core-js";
10
9
  import { strNotSpecified } from "../Constants";
10
+ import { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_INDEX_OF, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from "../__DynamicConstants";
11
+ import { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from "./Common/DataSanitizer";
11
12
  var NoMethod = "<no_method>";
12
13
  var strError = "error";
13
14
  var strStack = "stack";
@@ -18,11 +19,11 @@ var strDescription = "description";
18
19
  function _stringify(value, convertToString) {
19
20
  var result = value;
20
21
  if (result && !isString(result)) {
21
- if (JSON && JSON.stringify) {
22
- result = JSON.stringify(value);
22
+ if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {
23
+ result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);
23
24
  if (convertToString && (!result || result === "{}")) {
24
- if (isFunction(value.toString)) {
25
- result = value.toString();
25
+ if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {
26
+ result = value[_DYN_TO_STRING /* @min:%2etoString */]();
26
27
  }
27
28
  else {
28
29
  result = "" + value;
@@ -52,7 +53,7 @@ function _formatMessage(theEvent, errorType) {
52
53
  }
53
54
  }
54
55
  // Automatically add the error type to the message if it does already appear to be present
55
- if (errorType && errorType !== "String" && errorType !== "Object" && errorType !== "Error" && (evtMessage || "").indexOf(errorType) === -1) {
56
+ if (errorType && errorType !== "String" && errorType !== "Object" && errorType !== "Error" && (evtMessage || "")[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) === -1) {
56
57
  evtMessage = errorType + ": " + evtMessage;
57
58
  }
58
59
  return evtMessage || "";
@@ -92,7 +93,7 @@ function _convertStackObj(errorStack) {
92
93
  src = "" + src;
93
94
  }
94
95
  }
95
- var items = src.split("\n");
96
+ var items = src[_DYN_SPLIT /* @min:%2esplit */]("\n");
96
97
  return {
97
98
  src: src,
98
99
  obj: items
@@ -100,8 +101,8 @@ function _convertStackObj(errorStack) {
100
101
  }
101
102
  function _getOperaStack(errorMessage) {
102
103
  var stack = [];
103
- var lines = errorMessage.split("\n");
104
- for (var lp = 0; lp < lines.length; lp++) {
104
+ var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */]("\n");
105
+ for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {
105
106
  var entry = lines[lp];
106
107
  if (lines[lp + 1]) {
107
108
  entry += "@" + lines[lp + 1];
@@ -139,7 +140,7 @@ function _getStackFromErrorObj(errorObj) {
139
140
  }
140
141
  else if (window && window["opera"] && errorObj[strMessage]) {
141
142
  // Opera
142
- details = _getOperaStack(errorObj.message);
143
+ details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);
143
144
  }
144
145
  else if (isString(errorObj)) {
145
146
  details = _convertStackObj(errorObj);
@@ -185,15 +186,15 @@ function _formatStackTrace(stackDetails) {
185
186
  function _parseStack(stack) {
186
187
  var parsedStack;
187
188
  var frames = stack.obj;
188
- if (frames && frames.length > 0) {
189
+ if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {
189
190
  parsedStack = [];
190
191
  var level_1 = 0;
191
192
  var totalSizeInBytes_1 = 0;
192
193
  arrForEach(frames, function (frame) {
193
- var theFrame = frame.toString();
194
+ var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();
194
195
  if (_StackFrame.regex.test(theFrame)) {
195
196
  var parsedFrame = new _StackFrame(theFrame, level_1++);
196
- totalSizeInBytes_1 += parsedFrame.sizeInBytes;
197
+ totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];
197
198
  parsedStack.push(parsedFrame);
198
199
  }
199
200
  });
@@ -202,14 +203,14 @@ function _parseStack(stack) {
202
203
  var exceptionParsedStackThreshold = 32 * 1024;
203
204
  if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {
204
205
  var left = 0;
205
- var right = parsedStack.length - 1;
206
+ var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;
206
207
  var size = 0;
207
208
  var acceptedLeft = left;
208
209
  var acceptedRight = right;
209
210
  while (left < right) {
210
211
  // check size
211
- var lSize = parsedStack[left].sizeInBytes;
212
- var rSize = parsedStack[right].sizeInBytes;
212
+ var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];
213
+ var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];
213
214
  size += lSize + rSize;
214
215
  if (size > exceptionParsedStackThreshold) {
215
216
  // remove extra frames from the middle
@@ -231,12 +232,12 @@ function _getErrorType(errorType) {
231
232
  // Gets the Error Type by passing the constructor (used to get the true type of native error object).
232
233
  var typeName = "";
233
234
  if (errorType) {
234
- typeName = errorType.typeName || errorType.name || "";
235
+ typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || "";
235
236
  if (!typeName) {
236
237
  try {
237
238
  var funcNameRegex = /function (.{1,200})\(/;
238
- var results = (funcNameRegex).exec((errorType).constructor.toString());
239
- typeName = (results && results.length > 1) ? results[1] : "";
239
+ var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());
240
+ typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : "";
240
241
  }
241
242
  catch (e) {
242
243
  // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do
@@ -263,7 +264,7 @@ export function _formatErrorCode(errorObj) {
263
264
  }
264
265
  result = _stringify(errorObj, true);
265
266
  }
266
- if (result.indexOf(errorType) !== 0 && errorType !== "String") {
267
+ if (result[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) !== 0 && errorType !== "String") {
267
268
  return errorType + ":" + result;
268
269
  }
269
270
  return result;
@@ -294,83 +295,87 @@ var Exception = /** @class */ (function () {
294
295
  if (!properties) {
295
296
  properties = {};
296
297
  }
297
- _self.exceptions = [new _ExceptionDetails(logger, exception, properties)];
298
- _self.properties = dataSanitizeProperties(logger, properties);
299
- _self.measurements = dataSanitizeMeasurements(logger, measurements);
298
+ _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];
299
+ _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);
300
+ _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);
300
301
  if (severityLevel) {
301
- _self.severityLevel = severityLevel;
302
+ _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;
302
303
  }
303
304
  if (id) {
304
305
  _self.id = id;
305
306
  }
306
307
  }
307
308
  else {
308
- _self.exceptions = exception.exceptions || [];
309
- _self.properties = exception.properties;
310
- _self.measurements = exception.measurements;
311
- if (exception.severityLevel) {
312
- _self.severityLevel = exception.severityLevel;
309
+ _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];
310
+ _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];
311
+ _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];
312
+ if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {
313
+ _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];
313
314
  }
314
315
  if (exception.id) {
315
316
  _self.id = exception.id;
316
317
  }
317
- if (exception.problemGroup) {
318
- _self.problemGroup = exception.problemGroup;
318
+ if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {
319
+ _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];
319
320
  }
320
321
  // bool/int types, use isNullOrUndefined
321
- if (!isNullOrUndefined(exception.isManual)) {
322
- _self.isManual = exception.isManual;
322
+ if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {
323
+ _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];
323
324
  }
324
325
  }
325
326
  }
326
327
  Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {
328
+ var _a;
327
329
  var errorType = _getErrorType(error || evt || message);
328
- return {
329
- message: _formatMessage(message, errorType),
330
- url: url,
331
- lineNumber: lineNumber,
332
- columnNumber: columnNumber,
333
- error: _formatErrorCode(error || evt || message),
334
- evt: _formatErrorCode(evt || message),
335
- typeName: errorType,
336
- stackDetails: _getStackFromErrorObj(stack || error || evt),
337
- errorSrc: errorSrc
338
- };
330
+ return _a = {},
331
+ _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),
332
+ _a.url = url,
333
+ _a.lineNumber = lineNumber,
334
+ _a.columnNumber = columnNumber,
335
+ _a.error = _formatErrorCode(error || evt || message),
336
+ _a.evt = _formatErrorCode(evt || message),
337
+ _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,
338
+ _a.stackDetails = _getStackFromErrorObj(stack || error || evt),
339
+ _a.errorSrc = errorSrc,
340
+ _a;
339
341
  };
340
342
  Exception.CreateFromInterface = function (logger, exception, properties, measurements) {
341
- var exceptions = exception.exceptions
342
- && arrMap(exception.exceptions, function (ex) { return _ExceptionDetails.CreateFromInterface(logger, ex); });
343
+ var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]
344
+ && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });
343
345
  var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);
344
346
  return exceptionData;
345
347
  };
346
348
  Exception.prototype.toInterface = function () {
347
- var _a = this, exceptions = _a.exceptions, properties = _a.properties, measurements = _a.measurements, severityLevel = _a.severityLevel, problemGroup = _a.problemGroup, id = _a.id, isManual = _a.isManual;
349
+ var _a;
350
+ var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;
348
351
  var exceptionDetailsInterface = exceptions instanceof Array
349
352
  && arrMap(exceptions, function (exception) { return exception.toInterface(); })
350
353
  || undefined;
351
- return {
352
- ver: "4.0",
353
- exceptions: exceptionDetailsInterface,
354
- severityLevel: severityLevel,
355
- properties: properties,
356
- measurements: measurements,
357
- problemGroup: problemGroup,
358
- id: id,
359
- isManual: isManual
360
- };
354
+ return _a = {
355
+ ver: "4.0"
356
+ },
357
+ _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,
358
+ _a.severityLevel = severityLevel,
359
+ _a.properties = properties,
360
+ _a.measurements = measurements,
361
+ _a.problemGroup = problemGroup,
362
+ _a.id = id,
363
+ _a.isManual = isManual,
364
+ _a;
361
365
  };
362
366
  /**
363
367
  * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.
364
368
  */
365
369
  Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {
370
+ var _a;
366
371
  return {
367
372
  exceptions: [
368
- {
369
- hasFullStack: true,
370
- message: message,
371
- stack: details,
372
- typeName: typeName
373
- }
373
+ (_a = {},
374
+ _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,
375
+ _a.message = message,
376
+ _a.stack = details,
377
+ _a.typeName = typeName,
378
+ _a)
374
379
  ]
375
380
  };
376
381
  };
@@ -398,43 +403,45 @@ var _ExceptionDetails = /** @class */ (function () {
398
403
  if (!isError(error)) {
399
404
  error = error[strError] || evt || error;
400
405
  }
401
- _self.typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
402
- _self.message = dataSanitizeMessage(logger, _formatMessage(exception || error, _self.typeName)) || strNotSpecified;
406
+ _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
407
+ _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;
403
408
  var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
404
- _self.parsedStack = _parseStack(stack);
409
+ _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);
405
410
  _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));
406
- _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack.length > 0;
411
+ _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;
407
412
  if (properties) {
408
- properties.typeName = properties.typeName || _self.typeName;
413
+ properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];
409
414
  }
410
415
  }
411
416
  else {
412
- _self.typeName = exception.typeName;
413
- _self.message = exception.message;
417
+ _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];
418
+ _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];
414
419
  _self[strStack] = exception[strStack];
415
- _self.parsedStack = exception.parsedStack || [];
416
- _self.hasFullStack = exception.hasFullStack;
420
+ _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];
421
+ _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];
417
422
  }
418
423
  }
419
424
  _ExceptionDetails.prototype.toInterface = function () {
425
+ var _a;
420
426
  var _self = this;
421
- var parsedStack = _self.parsedStack instanceof Array
422
- && arrMap(_self.parsedStack, function (frame) { return frame.toInterface(); });
423
- var exceptionDetailsInterface = {
424
- id: _self.id,
425
- outerId: _self.outerId,
426
- typeName: _self.typeName,
427
- message: _self.message,
428
- hasFullStack: _self.hasFullStack,
429
- stack: _self[strStack],
430
- parsedStack: parsedStack || undefined
431
- };
427
+ var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array
428
+ && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });
429
+ var exceptionDetailsInterface = (_a = {
430
+ id: _self.id,
431
+ outerId: _self.outerId,
432
+ typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],
433
+ message: _self[_DYN_MESSAGE /* @min:%2emessage */],
434
+ hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],
435
+ stack: _self[strStack]
436
+ },
437
+ _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,
438
+ _a);
432
439
  return exceptionDetailsInterface;
433
440
  };
434
441
  _ExceptionDetails.CreateFromInterface = function (logger, exception) {
435
- var parsedStack = (exception.parsedStack instanceof Array
436
- && arrMap(exception.parsedStack, function (frame) { return _StackFrame.CreateFromInterface(frame); }))
437
- || exception.parsedStack;
442
+ var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array
443
+ && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))
444
+ || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];
438
445
  var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));
439
446
  return exceptionDetails;
440
447
  };
@@ -451,38 +458,38 @@ var _StackFrame = /** @class */ (function () {
451
458
  line: 0 /* FieldType.Default */
452
459
  };
453
460
  var _self = this;
454
- _self.sizeInBytes = 0;
461
+ _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;
455
462
  // Not converting this to isString() as typescript uses this logic to "understand" the different
456
463
  // types for the 2 different code paths
457
464
  if (typeof sourceFrame === "string") {
458
465
  var frame = sourceFrame;
459
- _self.level = level;
460
- _self.method = NoMethod;
461
- _self.assembly = strTrim(frame);
462
- _self.fileName = "";
463
- _self.line = 0;
466
+ _self[_DYN_LEVEL /* @min:%2elevel */] = level;
467
+ _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;
468
+ _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);
469
+ _self[_DYN_FILE_NAME /* @min:%2efileName */] = "";
470
+ _self[_DYN_LINE /* @min:%2eline */] = 0;
464
471
  var matches = frame.match(_StackFrame.regex);
465
- if (matches && matches.length >= 5) {
466
- _self.method = strTrim(matches[2]) || _self.method;
467
- _self.fileName = strTrim(matches[4]);
468
- _self.line = parseInt(matches[5]) || 0;
472
+ if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {
473
+ _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];
474
+ _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);
475
+ _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;
469
476
  }
470
477
  }
471
478
  else {
472
- _self.level = sourceFrame.level;
473
- _self.method = sourceFrame.method;
474
- _self.assembly = sourceFrame.assembly;
475
- _self.fileName = sourceFrame.fileName;
476
- _self.line = sourceFrame.line;
477
- _self.sizeInBytes = 0;
479
+ _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];
480
+ _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];
481
+ _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];
482
+ _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];
483
+ _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];
484
+ _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;
478
485
  }
479
- _self.sizeInBytes += _self.method.length;
480
- _self.sizeInBytes += _self.fileName.length;
481
- _self.sizeInBytes += _self.assembly.length;
486
+ _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];
487
+ _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];
488
+ _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];
482
489
  // todo: these might need to be removed depending on how the back-end settles on their size calculation
483
- _self.sizeInBytes += _StackFrame.baseSize;
484
- _self.sizeInBytes += _self.level.toString().length;
485
- _self.sizeInBytes += _self.line.toString().length;
490
+ _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;
491
+ _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];
492
+ _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];
486
493
  }
487
494
  _StackFrame.CreateFromInterface = function (frame) {
488
495
  return new _StackFrame(frame, null /* level is available in frame interface */);
@@ -490,11 +497,11 @@ var _StackFrame = /** @class */ (function () {
490
497
  _StackFrame.prototype.toInterface = function () {
491
498
  var _self = this;
492
499
  return {
493
- level: _self.level,
494
- method: _self.method,
495
- assembly: _self.assembly,
496
- fileName: _self.fileName,
497
- line: _self.line
500
+ level: _self[_DYN_LEVEL /* @min:%2elevel */],
501
+ method: _self[_DYN_METHOD /* @min:%2emethod */],
502
+ assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],
503
+ fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],
504
+ line: _self[_DYN_LINE /* @min:%2eline */]
498
505
  };
499
506
  };
500
507
  // regex to match stack frames from ie/chrome/ff
@@ -1 +1 @@
1
- {"version":3,"file":"Exception.js.map","sources":["Exception.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign } from \"tslib\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nimport { isNullOrUndefined, arrMap, isString, strTrim, isArray, isError, arrForEach, isObject, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar NoMethod = \"<no_method>\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON.stringify) {\r\n result = JSON.stringify(value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value.toString)) {\r\n result = value.toString();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\").indexOf(errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src.split(\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage.split(\"\\n\");\r\n for (var lp = 0; lp < lines.length; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj.message);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames.length > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame.toString();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame.sizeInBytes;\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack.length - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left].sizeInBytes;\r\n var rSize = parsedStack[right].sizeInBytes;\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType.name || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor.toString());\r\n typeName = (results && results.length > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result.indexOf(errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self.exceptions = [new _ExceptionDetails(logger, exception, properties)];\r\n _self.properties = dataSanitizeProperties(logger, properties);\r\n _self.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self.severityLevel = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self.exceptions = exception.exceptions || [];\r\n _self.properties = exception.properties;\r\n _self.measurements = exception.measurements;\r\n if (exception.severityLevel) {\r\n _self.severityLevel = exception.severityLevel;\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception.problemGroup) {\r\n _self.problemGroup = exception.problemGroup;\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception.isManual)) {\r\n _self.isManual = exception.isManual;\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var errorType = _getErrorType(error || evt || message);\r\n return {\r\n message: _formatMessage(message, errorType),\r\n url: url,\r\n lineNumber: lineNumber,\r\n columnNumber: columnNumber,\r\n error: _formatErrorCode(error || evt || message),\r\n evt: _formatErrorCode(evt || message),\r\n typeName: errorType,\r\n stackDetails: _getStackFromErrorObj(stack || error || evt),\r\n errorSrc: errorSrc\r\n };\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception.exceptions\r\n && arrMap(exception.exceptions, function (ex) { return _ExceptionDetails.CreateFromInterface(logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a = this, exceptions = _a.exceptions, properties = _a.properties, measurements = _a.measurements, severityLevel = _a.severityLevel, problemGroup = _a.problemGroup, id = _a.id, isManual = _a.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return {\r\n ver: \"4.0\",\r\n exceptions: exceptionDetailsInterface,\r\n severityLevel: severityLevel,\r\n properties: properties,\r\n measurements: measurements,\r\n problemGroup: problemGroup,\r\n id: id,\r\n isManual: isManual\r\n };\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n return {\r\n exceptions: [\r\n {\r\n hasFullStack: true,\r\n message: message,\r\n stack: details,\r\n typeName: typeName\r\n }\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self.typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self.message = dataSanitizeMessage(logger, _formatMessage(exception || error, _self.typeName)) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self.parsedStack = _parseStack(stack);\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack.length > 0;\r\n if (properties) {\r\n properties.typeName = properties.typeName || _self.typeName;\r\n }\r\n }\r\n else {\r\n _self.typeName = exception.typeName;\r\n _self.message = exception.message;\r\n _self[strStack] = exception[strStack];\r\n _self.parsedStack = exception.parsedStack || [];\r\n _self.hasFullStack = exception.hasFullStack;\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _self = this;\r\n var parsedStack = _self.parsedStack instanceof Array\r\n && arrMap(_self.parsedStack, function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self.typeName,\r\n message: _self.message,\r\n hasFullStack: _self.hasFullStack,\r\n stack: _self[strStack],\r\n parsedStack: parsedStack || undefined\r\n };\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception.parsedStack instanceof Array\r\n && arrMap(exception.parsedStack, function (frame) { return _StackFrame.CreateFromInterface(frame); }))\r\n || exception.parsedStack;\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.sizeInBytes = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self.level = level;\r\n _self.method = NoMethod;\r\n _self.assembly = strTrim(frame);\r\n _self.fileName = \"\";\r\n _self.line = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches.length >= 5) {\r\n _self.method = strTrim(matches[2]) || _self.method;\r\n _self.fileName = strTrim(matches[4]);\r\n _self.line = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self.level = sourceFrame.level;\r\n _self.method = sourceFrame.method;\r\n _self.assembly = sourceFrame.assembly;\r\n _self.fileName = sourceFrame.fileName;\r\n _self.line = sourceFrame.line;\r\n _self.sizeInBytes = 0;\r\n }\r\n _self.sizeInBytes += _self.method.length;\r\n _self.sizeInBytes += _self.fileName.length;\r\n _self.sizeInBytes += _self.assembly.length;\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self.sizeInBytes += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString().length;\r\n _self.sizeInBytes += _self.line.toString().length;\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self.level,\r\n method: _self.method,\r\n assembly: _self.assembly,\r\n fileName: _self.fileName,\r\n line: _self.line\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC,8EAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"Exception.js.map","sources":["Exception.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign } from \"tslib\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_INDEX_OF, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"<no_method>\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\")[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC,8EAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1,12 +1,13 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Common, 2.8.5-nightly.2206-03
2
+ * Application Insights JavaScript SDK - Common, 2.8.5-nightly.2207-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
6
6
 
7
- import { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from "./Common/DataSanitizer";
8
- import { DataPoint } from "./Common/DataPoint";
9
7
  import { strNotSpecified } from "../Constants";
8
+ import { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from "../__DynamicConstants";
9
+ import { DataPoint } from "./Common/DataPoint";
10
+ import { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from "./Common/DataSanitizer";
10
11
  var Metric = /** @class */ (function () {
11
12
  /**
12
13
  * Constructs a new instance of the MetricTelemetry object
@@ -23,12 +24,12 @@ var Metric = /** @class */ (function () {
23
24
  dataPoint.count = count > 0 ? count : undefined;
24
25
  dataPoint.max = isNaN(max) || max === null ? undefined : max;
25
26
  dataPoint.min = isNaN(min) || min === null ? undefined : min;
26
- dataPoint.name = dataSanitizeString(logger, name) || strNotSpecified;
27
+ dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;
27
28
  dataPoint.value = value;
28
29
  dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;
29
30
  _self.metrics = [dataPoint];
30
- _self.properties = dataSanitizeProperties(logger, properties);
31
- _self.measurements = dataSanitizeMeasurements(logger, measurements);
31
+ _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);
32
+ _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);
32
33
  }
33
34
  Metric.envelopeType = "Microsoft.ApplicationInsights.{0}.Metric";
34
35
  Metric.dataType = "MetricData";
@@ -1 +1 @@
1
- {"version":3,"file":"Metric.js.map","sources":["Metric.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint.count = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self.properties = dataSanitizeProperties(logger, properties);\r\n _self.measurements = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"Metric.js.map","sources":["Metric.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint.count = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}