@microsoft/applicationinsights-core-js 3.4.0-nightlybeta3.2602-27 → 3.4.1

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 (258) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +997 -114
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +999 -116
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +999 -116
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/index.js +997 -114
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/index.min.js +2 -2
  17. package/dist/es5/index.min.js.map +1 -1
  18. package/dist-es5/__DynamicConstants.js +44 -27
  19. package/dist-es5/__DynamicConstants.js.map +1 -1
  20. package/dist-es5/config/ConfigDefaultHelpers.js +1 -1
  21. package/dist-es5/config/ConfigDefaults.js +1 -1
  22. package/dist-es5/config/DynamicConfig.js +1 -1
  23. package/dist-es5/config/DynamicProperty.js +1 -1
  24. package/dist-es5/config/DynamicState.js +1 -1
  25. package/dist-es5/config/DynamicSupport.js +1 -1
  26. package/dist-es5/constants/Constants.js +1 -1
  27. package/dist-es5/constants/InternalConstants.js +4 -1
  28. package/dist-es5/constants/InternalConstants.js.map +1 -1
  29. package/dist-es5/core/AggregationError.js +1 -1
  30. package/dist-es5/core/AppInsightsCore.js +13 -13
  31. package/dist-es5/core/AppInsightsCore.js.map +1 -1
  32. package/dist-es5/core/AsyncUtils.js +1 -1
  33. package/dist-es5/core/BaseTelemetryPlugin.js +1 -1
  34. package/dist-es5/core/CookieMgr.js +1 -1
  35. package/dist-es5/core/DbgExtensionUtils.js +1 -1
  36. package/dist-es5/core/InstrumentHooks.js +1 -1
  37. package/dist-es5/core/NotificationManager.js +1 -1
  38. package/dist-es5/core/PerfManager.js +1 -1
  39. package/dist-es5/core/ProcessTelemetryContext.js +3 -3
  40. package/dist-es5/core/ProcessTelemetryContext.js.map +1 -1
  41. package/dist-es5/core/ResponseHelpers.js +1 -1
  42. package/dist-es5/core/SenderPostManager.js +1 -1
  43. package/dist-es5/core/StatsBeat.js +9 -9
  44. package/dist-es5/core/StatsBeat.js.map +1 -1
  45. package/dist-es5/core/TelemetryHelpers.js +3 -3
  46. package/dist-es5/core/TelemetryHelpers.js.map +1 -1
  47. package/dist-es5/core/TelemetryInitializerPlugin.js +1 -1
  48. package/dist-es5/core/UnloadHandlerContainer.js +1 -1
  49. package/dist-es5/core/UnloadHookContainer.js +3 -3
  50. package/dist-es5/core/UnloadHookContainer.js.map +1 -1
  51. package/dist-es5/diagnostics/DiagnosticLogger.js +3 -3
  52. package/dist-es5/diagnostics/DiagnosticLogger.js.map +1 -1
  53. package/dist-es5/diagnostics/ThrottleMgr.js +1 -1
  54. package/dist-es5/enums/EnumHelperFuncs.js +1 -1
  55. package/dist-es5/enums/W3CTraceFlags.js +1 -1
  56. package/dist-es5/enums/ai/DependencyTypes.js +1 -1
  57. package/dist-es5/enums/ai/Enums.js +1 -1
  58. package/dist-es5/enums/ai/EventsDiscardedReason.js +1 -1
  59. package/dist-es5/enums/ai/FeatureOptInEnums.js +1 -1
  60. package/dist-es5/enums/ai/InitActiveStatusEnum.js +1 -1
  61. package/dist-es5/enums/ai/LoggingEnums.js +1 -1
  62. package/dist-es5/enums/ai/SendRequestReason.js +1 -1
  63. package/dist-es5/enums/ai/StatsType.js +1 -1
  64. package/dist-es5/enums/ai/TelemetryUnloadReason.js +1 -1
  65. package/dist-es5/enums/ai/TelemetryUpdateReason.js +1 -1
  66. package/dist-es5/enums/ai/TraceHeadersMode.js +1 -1
  67. package/dist-es5/enums/ai/UrlRedactionOptions.js +36 -0
  68. package/dist-es5/enums/ai/UrlRedactionOptions.js.map +1 -0
  69. package/dist-es5/enums/ext/Enums.js +78 -0
  70. package/dist-es5/enums/ext/Enums.js.map +1 -0
  71. package/dist-es5/enums/otel/OTelSamplingDecision.js +1 -1
  72. package/dist-es5/enums/otel/OTelSpanKind.js +1 -1
  73. package/dist-es5/enums/otel/OTelSpanStatus.js +1 -1
  74. package/dist-es5/enums/otel/eAttributeChangeOp.js +1 -1
  75. package/dist-es5/ext/AppInsightsExtCore.js +98 -0
  76. package/dist-es5/ext/AppInsightsExtCore.js.map +1 -0
  77. package/dist-es5/ext/ValueSanitizer.js +260 -0
  78. package/dist-es5/ext/ValueSanitizer.js.map +1 -0
  79. package/dist-es5/ext/extSpanUtils.js +312 -0
  80. package/dist-es5/ext/extSpanUtils.js.map +1 -0
  81. package/dist-es5/ext/extUtils.js +412 -0
  82. package/dist-es5/ext/extUtils.js.map +1 -0
  83. package/dist-es5/index.js +14 -1
  84. package/dist-es5/index.js.map +1 -1
  85. package/dist-es5/interfaces/IException.js +1 -1
  86. package/dist-es5/interfaces/IOTelHrTime.js +1 -1
  87. package/dist-es5/interfaces/ai/ConnectionString.js +1 -1
  88. package/dist-es5/interfaces/ai/IAppInsights.js +1 -1
  89. package/dist-es5/interfaces/ai/IAppInsightsCore.js +1 -1
  90. package/dist-es5/interfaces/ai/IChannelControls.js +1 -1
  91. package/dist-es5/interfaces/ai/IChannelControlsHost.js +1 -1
  92. package/dist-es5/interfaces/ai/IConfig.js +1 -1
  93. package/dist-es5/interfaces/ai/IConfiguration.js +1 -1
  94. package/dist-es5/interfaces/ai/ICookieMgr.js +1 -1
  95. package/dist-es5/interfaces/ai/ICorrelationConfig.js +1 -1
  96. package/dist-es5/interfaces/ai/IDbgExtension.js +1 -1
  97. package/dist-es5/interfaces/ai/IDependencyTelemetry.js +1 -1
  98. package/dist-es5/interfaces/ai/IDiagnosticLogger.js +1 -1
  99. package/dist-es5/interfaces/ai/IDistributedTraceContext.js +1 -1
  100. package/dist-es5/interfaces/ai/IEventTelemetry.js +1 -1
  101. package/dist-es5/interfaces/ai/IExceptionConfig.js +1 -1
  102. package/dist-es5/interfaces/ai/IExceptionTelemetry.js +1 -1
  103. package/dist-es5/interfaces/ai/IFeatureOptIn.js +1 -1
  104. package/dist-es5/interfaces/ai/IInstrumentHooks.js +1 -1
  105. package/dist-es5/interfaces/ai/IMetricTelemetry.js +1 -1
  106. package/dist-es5/interfaces/ai/INetworkStatsbeat.js +1 -1
  107. package/dist-es5/interfaces/ai/INotificationListener.js +1 -1
  108. package/dist-es5/interfaces/ai/INotificationManager.js +1 -1
  109. package/dist-es5/interfaces/ai/IPageViewPerformanceTelemetry.js +1 -1
  110. package/dist-es5/interfaces/ai/IPageViewTelemetry.js +1 -1
  111. package/dist-es5/interfaces/ai/IPartC.js +1 -1
  112. package/dist-es5/interfaces/ai/IPerfEvent.js +1 -1
  113. package/dist-es5/interfaces/ai/IPerfManager.js +1 -1
  114. package/dist-es5/interfaces/ai/IProcessTelemetryContext.js +1 -1
  115. package/dist-es5/interfaces/ai/IPropertiesPlugin.js +1 -1
  116. package/dist-es5/interfaces/ai/IRequestContext.js +1 -1
  117. package/dist-es5/interfaces/ai/IRequestTelemetry.js +1 -1
  118. package/dist-es5/interfaces/ai/ISenderPostManager.js +1 -1
  119. package/dist-es5/interfaces/ai/IStatsBeat.js +1 -1
  120. package/dist-es5/interfaces/ai/IStatsEventData.js +1 -1
  121. package/dist-es5/interfaces/ai/IStatsMgr.js +1 -1
  122. package/dist-es5/interfaces/ai/IStorageBuffer.js +1 -1
  123. package/dist-es5/interfaces/ai/ITelemetryContext.js +1 -1
  124. package/dist-es5/interfaces/ai/ITelemetryInitializers.js +1 -1
  125. package/dist-es5/interfaces/ai/ITelemetryItem.js +1 -1
  126. package/dist-es5/interfaces/ai/ITelemetryPlugin.js +1 -1
  127. package/dist-es5/interfaces/ai/ITelemetryPluginChain.js +1 -1
  128. package/dist-es5/interfaces/ai/ITelemetryUnloadState.js +1 -1
  129. package/dist-es5/interfaces/ai/ITelemetryUpdateState.js +1 -1
  130. package/dist-es5/interfaces/ai/IThrottleMgr.js +1 -1
  131. package/dist-es5/interfaces/ai/ITraceParent.js +1 -1
  132. package/dist-es5/interfaces/ai/ITraceProvider.js +1 -1
  133. package/dist-es5/interfaces/ai/ITraceTelemetry.js +1 -1
  134. package/dist-es5/interfaces/ai/IUnloadHook.js +1 -1
  135. package/dist-es5/interfaces/ai/IUnloadableComponent.js +1 -1
  136. package/dist-es5/interfaces/ai/IW3cTraceState.js +1 -1
  137. package/dist-es5/interfaces/ai/IXDomainRequest.js +1 -1
  138. package/dist-es5/interfaces/ai/IXHROverride.js +1 -1
  139. package/dist-es5/interfaces/ai/PartAExtensions.js +1 -1
  140. package/dist-es5/interfaces/ai/context/IApplication.js +1 -1
  141. package/dist-es5/interfaces/ai/context/IDevice.js +1 -1
  142. package/dist-es5/interfaces/ai/context/IInternal.js +1 -1
  143. package/dist-es5/interfaces/ai/context/ILocation.js +1 -1
  144. package/dist-es5/interfaces/ai/context/IOperatingSystem.js +1 -1
  145. package/dist-es5/interfaces/ai/context/ISample.js +1 -1
  146. package/dist-es5/interfaces/ai/context/ISession.js +1 -1
  147. package/dist-es5/interfaces/ai/context/ISessionManager.js +1 -1
  148. package/dist-es5/interfaces/ai/context/ITelemetryTrace.js +1 -1
  149. package/dist-es5/interfaces/ai/context/IUser.js +1 -1
  150. package/dist-es5/interfaces/ai/context/IWeb.js +1 -1
  151. package/dist-es5/interfaces/ai/contracts/AvailabilityData.js +1 -1
  152. package/dist-es5/interfaces/ai/contracts/ContextTagKeys.js +1 -1
  153. package/dist-es5/interfaces/ai/contracts/DataPointType.js +1 -1
  154. package/dist-es5/interfaces/ai/contracts/DependencyKind.js +1 -1
  155. package/dist-es5/interfaces/ai/contracts/DependencySourceType.js +1 -1
  156. package/dist-es5/interfaces/ai/contracts/IBase.js +1 -1
  157. package/dist-es5/interfaces/ai/contracts/IData.js +1 -1
  158. package/dist-es5/interfaces/ai/contracts/IDataPoint.js +1 -1
  159. package/dist-es5/interfaces/ai/contracts/IDomain.js +1 -1
  160. package/dist-es5/interfaces/ai/contracts/IEventData.js +1 -1
  161. package/dist-es5/interfaces/ai/contracts/IExceptionData.js +1 -1
  162. package/dist-es5/interfaces/ai/contracts/IExceptionDetails.js +1 -1
  163. package/dist-es5/interfaces/ai/contracts/IMessageData.js +1 -1
  164. package/dist-es5/interfaces/ai/contracts/IMetricData.js +1 -1
  165. package/dist-es5/interfaces/ai/contracts/IPageViewData.js +1 -1
  166. package/dist-es5/interfaces/ai/contracts/IPageViewPerfData.js +1 -1
  167. package/dist-es5/interfaces/ai/contracts/IRemoteDependencyData.js +1 -1
  168. package/dist-es5/interfaces/ai/contracts/IStackFrame.js +1 -1
  169. package/dist-es5/interfaces/ai/contracts/SeverityLevel.js +1 -1
  170. package/dist-es5/interfaces/ai/telemetry/IEnvelope.js +1 -1
  171. package/dist-es5/interfaces/ai/telemetry/ISerializable.js +1 -1
  172. package/dist-es5/interfaces/config/IConfigDefaults.js +1 -1
  173. package/dist-es5/interfaces/config/IDynamicConfigHandler.js +1 -1
  174. package/dist-es5/interfaces/config/IDynamicPropertyHandler.js +1 -1
  175. package/dist-es5/interfaces/config/IDynamicWatcher.js +1 -1
  176. package/dist-es5/interfaces/config/_IDynamicConfigHandlerState.js +1 -1
  177. package/dist-es5/interfaces/ext/DataModels.js +6 -0
  178. package/dist-es5/interfaces/ext/DataModels.js.map +1 -0
  179. package/dist-es5/interfaces/otel/IOTelApi.js +1 -1
  180. package/dist-es5/interfaces/otel/IOTelApiCtx.js +1 -1
  181. package/dist-es5/interfaces/otel/IOTelAttributes.js +1 -1
  182. package/dist-es5/interfaces/otel/attribute/IAttributeContainer.js +1 -1
  183. package/dist-es5/interfaces/otel/config/IOTelAttributeLimits.js +1 -1
  184. package/dist-es5/interfaces/otel/config/IOTelConfig.js +1 -1
  185. package/dist-es5/interfaces/otel/config/IOTelErrorHandlers.js +1 -1
  186. package/dist-es5/interfaces/otel/config/IOTelSpanLimits.js +1 -1
  187. package/dist-es5/interfaces/otel/config/IOTelTraceCfg.js +1 -1
  188. package/dist-es5/interfaces/otel/trace/IOTelSpan.js +1 -1
  189. package/dist-es5/interfaces/otel/trace/IOTelSpanContext.js +1 -1
  190. package/dist-es5/interfaces/otel/trace/IOTelSpanCtx.js +1 -1
  191. package/dist-es5/interfaces/otel/trace/IOTelSpanOptions.js +1 -1
  192. package/dist-es5/interfaces/otel/trace/IOTelSpanStatus.js +1 -1
  193. package/dist-es5/interfaces/otel/trace/IOTelTraceApi.js +1 -1
  194. package/dist-es5/interfaces/otel/trace/IOTelTraceState.js +1 -1
  195. package/dist-es5/interfaces/otel/trace/IOTelTracer.js +1 -1
  196. package/dist-es5/interfaces/otel/trace/IOTelTracerOptions.js +1 -1
  197. package/dist-es5/interfaces/otel/trace/IOTelTracerProvider.js +1 -1
  198. package/dist-es5/interfaces/otel/trace/IReadableSpan.js +1 -1
  199. package/dist-es5/internal/EventHelpers.js +5 -5
  200. package/dist-es5/internal/EventHelpers.js.map +1 -1
  201. package/dist-es5/internal/attributeHelpers.js +1 -1
  202. package/dist-es5/internal/commonUtils.js +1 -1
  203. package/dist-es5/internal/handleErrors.js +1 -1
  204. package/dist-es5/internal/noopHelpers.js +1 -1
  205. package/dist-es5/internal/timeHelpers.js +1 -1
  206. package/dist-es5/otel/api/OTelApi.js +1 -1
  207. package/dist-es5/otel/api/errors/OTelError.js +1 -1
  208. package/dist-es5/otel/api/errors/OTelInvalidAttributeError.js +1 -1
  209. package/dist-es5/otel/api/errors/OTelSpanError.js +1 -1
  210. package/dist-es5/otel/api/trace/span.js +4 -4
  211. package/dist-es5/otel/api/trace/span.js.map +1 -1
  212. package/dist-es5/otel/api/trace/spanContext.js +1 -1
  213. package/dist-es5/otel/api/trace/traceApi.js +1 -1
  214. package/dist-es5/otel/api/trace/traceProvider.js +3 -3
  215. package/dist-es5/otel/api/trace/traceProvider.js.map +1 -1
  216. package/dist-es5/otel/api/trace/traceState.js +1 -1
  217. package/dist-es5/otel/api/trace/tracer.js +1 -1
  218. package/dist-es5/otel/api/trace/tracerProvider.js +1 -1
  219. package/dist-es5/otel/api/trace/utils.js +1 -1
  220. package/dist-es5/otel/attribute/SemanticConventions.js +1 -1
  221. package/dist-es5/otel/attribute/attributeContainer.js +1 -1
  222. package/dist-es5/telemetry/ConnectionStringParser.js +1 -1
  223. package/dist-es5/telemetry/RequestResponseHeaders.js +1 -1
  224. package/dist-es5/telemetry/TelemetryItemCreator.js +1 -1
  225. package/dist-es5/telemetry/W3cTraceState.js +1 -1
  226. package/dist-es5/telemetry/ai/Common/Data.js +3 -2
  227. package/dist-es5/telemetry/ai/Common/Data.js.map +1 -1
  228. package/dist-es5/telemetry/ai/Common/DataPoint.js +1 -1
  229. package/dist-es5/telemetry/ai/Common/DataSanitizer.js +1 -1
  230. package/dist-es5/telemetry/ai/Common/Envelope.js +1 -1
  231. package/dist-es5/telemetry/ai/DataTypes.js +1 -1
  232. package/dist-es5/telemetry/ai/EnvelopeTypes.js +1 -1
  233. package/dist-es5/telemetry/ai/Event.js +1 -1
  234. package/dist-es5/telemetry/ai/Exception.js +1 -1
  235. package/dist-es5/telemetry/ai/Metric.js +1 -1
  236. package/dist-es5/telemetry/ai/PageView.js +1 -1
  237. package/dist-es5/telemetry/ai/PageViewPerformance.js +1 -1
  238. package/dist-es5/telemetry/ai/RemoteDependencyData.js +1 -1
  239. package/dist-es5/telemetry/ai/Trace.js +1 -1
  240. package/dist-es5/utils/CoreUtils.js +1 -1
  241. package/dist-es5/utils/DataCacheHelper.js +2 -2
  242. package/dist-es5/utils/DataCacheHelper.js.map +1 -1
  243. package/dist-es5/utils/DomHelperFuncs.js +1 -1
  244. package/dist-es5/utils/EnvUtils.js +16 -5
  245. package/dist-es5/utils/EnvUtils.js.map +1 -1
  246. package/dist-es5/utils/HelperFuncs.js +4 -4
  247. package/dist-es5/utils/HelperFuncs.js.map +1 -1
  248. package/dist-es5/utils/Offline.js +1 -1
  249. package/dist-es5/utils/RandomHelper.js +1 -1
  250. package/dist-es5/utils/StorageHelperFuncs.js +1 -1
  251. package/dist-es5/utils/TraceParent.js +5 -5
  252. package/dist-es5/utils/TraceParent.js.map +1 -1
  253. package/dist-es5/utils/UrlHelperFuncs.js +1 -1
  254. package/dist-es5/utils/Util.js +4 -4
  255. package/dist-es5/utils/Util.js.map +1 -1
  256. package/package.json +75 -78
  257. package/types/applicationinsights-core-js.d.ts +830 -11
  258. package/types/applicationinsights-core-js.namespaced.d.ts +829 -10
@@ -1 +1 @@
1
- {"version":3,"file":"span.js.map","sources":["span.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, getDeferred, isNullOrUndefined, isString, objDefineProps, objFreeze, objIs, objKeys, perfNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ATTRIBUTES, _DYN_ERROR_HANDLERS, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PARENT_SPAN_CONTEXT, _DYN_SPAN_CONTEXT, _DYN_SPAN_ID, _DYN_SUPPRESS_TRACING, _DYN_TRACE_ID } from \"../../../__DynamicConstants\";\r\nimport { STR_EMPTY, UNDEFINED_VALUE } from \"../../../constants/InternalConstants\";\r\nimport { isAttributeValue } from \"../../../internal/attributeHelpers\";\r\nimport { handleAttribError, handleNotImplemented, handleSpanError, handleWarn } from \"../../../internal/handleErrors\";\r\nimport { hrTime, hrTimeDuration, hrTimeToMilliseconds, millisToHrTime, timeInputToHrTime, zeroHrTime } from \"../../../internal/timeHelpers\";\r\nimport { setProtoTypeName, updateProtoTypeName } from \"../../../utils/HelperFuncs\";\r\nimport { addAttributes, createAttributeContainer } from \"../../attribute/attributeContainer\";\r\nexport function createSpan(spanCtx, orgName, kind) {\r\n var otelCfg = spanCtx.api.cfg;\r\n var perfStartTime = perfNow();\r\n var spanContext = spanCtx[_DYN_SPAN_CONTEXT /* @min:%2espanContext */];\r\n var attributes;\r\n var isEnded = false;\r\n var errorHandlers = otelCfg[_DYN_ERROR_HANDLERS /* @min:%2eerrorHandlers */] || {};\r\n var spanStartTime = getDeferred(function () {\r\n if (isNullOrUndefined(spanCtx.startTime)) {\r\n return hrTime(perfStartTime);\r\n }\r\n return timeInputToHrTime(spanCtx.startTime);\r\n });\r\n var spanEndTime;\r\n var spanDuration;\r\n var spanStatus;\r\n // let links: IOTelLink[] = [];\r\n // let events: IOTelTimedEvent[] = [];\r\n var localDroppedAttributes = 0;\r\n var localContainer = null;\r\n // let droppedEvents = 0;\r\n // let droppedLinks = 0;\r\n var isRecording = spanCtx.isRecording !== false;\r\n if (otelCfg.traceCfg && otelCfg.traceCfg[_DYN_SUPPRESS_TRACING /* @min:%2esuppressTracing */]) {\r\n // Automatically disable the span from recording\r\n isRecording = false;\r\n }\r\n var spanName = orgName || STR_EMPTY;\r\n if (isRecording) {\r\n attributes = getDeferred(function () { return createAttributeContainer(otelCfg, spanName, spanCtx[_DYN_ATTRIBUTES /* @min:%2eattributes */]); });\r\n }\r\n function _handleIsEnded(operation, extraMsg) {\r\n if (isEnded) {\r\n handleSpanError(errorHandlers, \"Span {traceID: \" + spanContext[_DYN_TRACE_ID /* @min:%2etraceId */] + \", spanId: \" + spanContext[_DYN_SPAN_ID /* @min:%2espanId */] + \"} has ended - operation [\" + operation + \"] unsuccessful\" + (extraMsg ? (\" - \" + extraMsg) : STR_EMPTY) + \".\", spanName);\r\n }\r\n return isEnded;\r\n }\r\n function _toString() {\r\n return \"ReadableSpan (\\\"\" + spanName + \"\\\")\";\r\n }\r\n var theSpan = setProtoTypeName({\r\n spanContext: function () { return spanContext; },\r\n setAttribute: function (key, value) {\r\n var message;\r\n if (value !== null && !_handleIsEnded(\"setAttribute\") && isRecording) {\r\n if (!key || key[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n message = \"Invalid attribute key: \" + dumpObj(key);\r\n }\r\n else if (!isAttributeValue(value)) {\r\n message = \"Invalid attribute value: \" + dumpObj(value);\r\n }\r\n if (message) {\r\n handleAttribError(errorHandlers, message, key, value);\r\n localDroppedAttributes++;\r\n }\r\n else if (attributes) {\r\n attributes.v.set(key, value);\r\n }\r\n else {\r\n localDroppedAttributes++;\r\n }\r\n }\r\n else {\r\n localDroppedAttributes++;\r\n }\r\n return theSpan;\r\n },\r\n setAttributes: function (attrs) {\r\n if (!_handleIsEnded(\"setAttributes\") && isRecording && attributes) {\r\n addAttributes(attributes.v, attrs);\r\n }\r\n else {\r\n localDroppedAttributes += (objKeys(attrs)[_DYN_LENGTH /* @min:%2elength */] || 0);\r\n }\r\n return theSpan;\r\n },\r\n // addEvent: (name: string, attributesOrStartTime?: IOTelAttributes | OTelTimeInput, startTime?: OTelTimeInput) => {\r\n // droppedEvents++;\r\n // if(!_handleIsEnded(\"addEvent\") && isRecording) {\r\n // handleWarn(errorHandlers, \"Span.addEvent: \" + name + \" not added - No events allowed\");\r\n // }\r\n // return theSpan;\r\n // },\r\n // addLink: (link: any) => {\r\n // droppedLinks++;\r\n // if(!_handleIsEnded(\"addEvent\") && isRecording) {\r\n // handleWarn(errorHandlers, \"Span.addLink: \" + link + \" not added - No links allowed\");\r\n // }\r\n // return theSpan;\r\n // },\r\n // addLinks: (links: any[]) => {\r\n // droppedLinks += links.length;\r\n // if (!_handleIsEnded(\"addLinks\") && isRecording) {\r\n // handleWarn(errorHandlers, \"Span.addLinks: \" + links + \" not added - No links allowed\");\r\n // }\r\n // return theSpan;\r\n // },\r\n setStatus: function (newStatus) {\r\n if (!_handleIsEnded(\"setStatus\")) {\r\n spanStatus = newStatus;\r\n if (!isNullOrUndefined(spanStatus) && !isNullOrUndefined(spanStatus[_DYN_MESSAGE /* @min:%2emessage */]) && !isString(spanStatus[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n spanStatus[_DYN_MESSAGE /* @min:%2emessage */] = dumpObj(spanStatus[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n return theSpan;\r\n },\r\n updateName: function (name) {\r\n if (!_handleIsEnded(\"updateName\") && !objIs(spanName, name)) {\r\n spanName = name;\r\n updateProtoTypeName(theSpan, _toString());\r\n }\r\n return theSpan;\r\n },\r\n end: function (endTime) {\r\n var calcDuration;\r\n if (!_handleIsEnded(\"end\", \"You can only call end once\")) {\r\n try {\r\n if (!isNullOrUndefined(endTime)) {\r\n // User provided an end time\r\n spanEndTime = timeInputToHrTime(endTime);\r\n spanDuration = hrTimeDuration(spanStartTime.v, spanEndTime);\r\n calcDuration = hrTimeToMilliseconds(spanDuration);\r\n }\r\n else {\r\n var perfEndTime = perfNow();\r\n calcDuration = perfEndTime - perfStartTime;\r\n spanDuration = millisToHrTime(calcDuration);\r\n spanEndTime = hrTime(perfEndTime);\r\n }\r\n if (calcDuration < 0) {\r\n handleWarn(errorHandlers, \"Span.end: duration is negative - startTime > endTime. Setting duration to 0 ms\");\r\n spanDuration = zeroHrTime();\r\n spanEndTime = spanStartTime.v;\r\n }\r\n // if (droppedEvents > 0) {\r\n // handleWarn(errorHandlers, \"Droped \" + droppedEvents + \" events\");\r\n // }\r\n // We don't mark as ended until after the onEnd callback to ensure that it can\r\n // still read / change the span if required as well as ensuring that the returned\r\n // value for isRecording is correct.\r\n spanCtx.onEnd && spanCtx.onEnd(theSpan);\r\n }\r\n finally {\r\n // Ensure we mark as ended even if the onEnd throws\r\n isEnded = true;\r\n }\r\n }\r\n },\r\n isRecording: function () { return isRecording && !isEnded; },\r\n recordException: function (exception, time) {\r\n if (!_handleIsEnded(\"recordException\")) {\r\n if (spanCtx.onException) {\r\n spanCtx.onException(theSpan, exception, time);\r\n }\r\n else {\r\n handleNotImplemented(errorHandlers, \"Span.recordException: \" + dumpObj(exception) + \" not handled\");\r\n }\r\n }\r\n }\r\n }, _toString());\r\n // Make the relevant properties dynamic (and read-only)\r\n objDefineProps(theSpan, {\r\n name: {\r\n g: function () { return spanName; }\r\n },\r\n kind: {\r\n v: kind || 0 /* eOTelSpanKind.INTERNAL */\r\n },\r\n startTime: {\r\n g: function () {\r\n return spanStartTime.v;\r\n }\r\n },\r\n endTime: {\r\n g: function () {\r\n return spanEndTime;\r\n }\r\n },\r\n status: {\r\n g: function () {\r\n return spanStatus || {\r\n code: 0 /* eOTelSpanStatusCode.UNSET */\r\n };\r\n }\r\n },\r\n attributes: {\r\n g: function () {\r\n return attributes ? attributes.v[_DYN_ATTRIBUTES /* @min:%2eattributes */] : objFreeze({});\r\n }\r\n },\r\n attribContainer: {\r\n g: function () {\r\n if (!attributes && !localContainer) {\r\n // Create an empty container and cache it for future use (for performance only)\r\n localContainer = createAttributeContainer(otelCfg, spanName);\r\n }\r\n return attributes ? attributes.v : localContainer;\r\n }\r\n },\r\n links: {\r\n g: function () {\r\n return [];\r\n }\r\n },\r\n events: {\r\n g: function () {\r\n return [];\r\n }\r\n },\r\n duration: {\r\n g: function () {\r\n return spanDuration || zeroHrTime();\r\n }\r\n },\r\n ended: {\r\n g: function () {\r\n return isEnded;\r\n }\r\n },\r\n droppedAttributesCount: {\r\n g: function () {\r\n return attributes ? attributes.v.droppedAttributes : localDroppedAttributes;\r\n }\r\n },\r\n // droppedEventsCount: {\r\n // g: () => {\r\n // return droppedEvents;\r\n // }\r\n // },\r\n // droppedLinksCount: {\r\n // g: () => {\r\n // return droppedLinks;\r\n // }\r\n // },\r\n parentSpanContext: {\r\n l: getDeferred(function () {\r\n return spanCtx ? spanCtx[_DYN_PARENT_SPAN_CONTEXT /* @min:%2eparentSpanContext */] : UNDEFINED_VALUE;\r\n })\r\n },\r\n parentSpanId: {\r\n l: getDeferred(function () {\r\n var parentSpanId = UNDEFINED_VALUE;\r\n if (spanCtx) {\r\n var parentSpanCtx = spanCtx[_DYN_PARENT_SPAN_CONTEXT /* @min:%2eparentSpanContext */];\r\n parentSpanId = parentSpanCtx ? parentSpanCtx[_DYN_SPAN_ID /* @min:%2espanId */] : UNDEFINED_VALUE;\r\n }\r\n return parentSpanId;\r\n })\r\n }\r\n });\r\n return theSpan;\r\n}\r\n//# sourceMappingURL=span.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"span.js.map","sources":["span.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, getDeferred, isNullOrUndefined, isString, objDefineProps, objFreeze, objIs, objKeys, perfNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ATTRIBUTES, _DYN_ERROR_HANDLERS, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PARENT_SPAN_CONTEXT, _DYN_SPAN_CONTEXT, _DYN_SPAN_ID, _DYN_START_TIME, _DYN_SUPPRESS_TRACING, _DYN_TRACE_ID } from \"../../../__DynamicConstants\";\r\nimport { STR_EMPTY, UNDEFINED_VALUE } from \"../../../constants/InternalConstants\";\r\nimport { isAttributeValue } from \"../../../internal/attributeHelpers\";\r\nimport { handleAttribError, handleNotImplemented, handleSpanError, handleWarn } from \"../../../internal/handleErrors\";\r\nimport { hrTime, hrTimeDuration, hrTimeToMilliseconds, millisToHrTime, timeInputToHrTime, zeroHrTime } from \"../../../internal/timeHelpers\";\r\nimport { setProtoTypeName, updateProtoTypeName } from \"../../../utils/HelperFuncs\";\r\nimport { addAttributes, createAttributeContainer } from \"../../attribute/attributeContainer\";\r\nexport function createSpan(spanCtx, orgName, kind) {\r\n var otelCfg = spanCtx.api.cfg;\r\n var perfStartTime = perfNow();\r\n var spanContext = spanCtx[_DYN_SPAN_CONTEXT /* @min:%2espanContext */];\r\n var attributes;\r\n var isEnded = false;\r\n var errorHandlers = otelCfg[_DYN_ERROR_HANDLERS /* @min:%2eerrorHandlers */] || {};\r\n var spanStartTime = getDeferred(function () {\r\n if (isNullOrUndefined(spanCtx[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n return hrTime(perfStartTime);\r\n }\r\n return timeInputToHrTime(spanCtx[_DYN_START_TIME /* @min:%2estartTime */]);\r\n });\r\n var spanEndTime;\r\n var spanDuration;\r\n var spanStatus;\r\n // let links: IOTelLink[] = [];\r\n // let events: IOTelTimedEvent[] = [];\r\n var localDroppedAttributes = 0;\r\n var localContainer = null;\r\n // let droppedEvents = 0;\r\n // let droppedLinks = 0;\r\n var isRecording = spanCtx.isRecording !== false;\r\n if (otelCfg.traceCfg && otelCfg.traceCfg[_DYN_SUPPRESS_TRACING /* @min:%2esuppressTracing */]) {\r\n // Automatically disable the span from recording\r\n isRecording = false;\r\n }\r\n var spanName = orgName || STR_EMPTY;\r\n if (isRecording) {\r\n attributes = getDeferred(function () { return createAttributeContainer(otelCfg, spanName, spanCtx[_DYN_ATTRIBUTES /* @min:%2eattributes */]); });\r\n }\r\n function _handleIsEnded(operation, extraMsg) {\r\n if (isEnded) {\r\n handleSpanError(errorHandlers, \"Span {traceID: \" + spanContext[_DYN_TRACE_ID /* @min:%2etraceId */] + \", spanId: \" + spanContext[_DYN_SPAN_ID /* @min:%2espanId */] + \"} has ended - operation [\" + operation + \"] unsuccessful\" + (extraMsg ? (\" - \" + extraMsg) : STR_EMPTY) + \".\", spanName);\r\n }\r\n return isEnded;\r\n }\r\n function _toString() {\r\n return \"ReadableSpan (\\\"\" + spanName + \"\\\")\";\r\n }\r\n var theSpan = setProtoTypeName({\r\n spanContext: function () { return spanContext; },\r\n setAttribute: function (key, value) {\r\n var message;\r\n if (value !== null && !_handleIsEnded(\"setAttribute\") && isRecording) {\r\n if (!key || key[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n message = \"Invalid attribute key: \" + dumpObj(key);\r\n }\r\n else if (!isAttributeValue(value)) {\r\n message = \"Invalid attribute value: \" + dumpObj(value);\r\n }\r\n if (message) {\r\n handleAttribError(errorHandlers, message, key, value);\r\n localDroppedAttributes++;\r\n }\r\n else if (attributes) {\r\n attributes.v.set(key, value);\r\n }\r\n else {\r\n localDroppedAttributes++;\r\n }\r\n }\r\n else {\r\n localDroppedAttributes++;\r\n }\r\n return theSpan;\r\n },\r\n setAttributes: function (attrs) {\r\n if (!_handleIsEnded(\"setAttributes\") && isRecording && attributes) {\r\n addAttributes(attributes.v, attrs);\r\n }\r\n else {\r\n localDroppedAttributes += (objKeys(attrs)[_DYN_LENGTH /* @min:%2elength */] || 0);\r\n }\r\n return theSpan;\r\n },\r\n // addEvent: (name: string, attributesOrStartTime?: IOTelAttributes | OTelTimeInput, startTime?: OTelTimeInput) => {\r\n // droppedEvents++;\r\n // if(!_handleIsEnded(\"addEvent\") && isRecording) {\r\n // handleWarn(errorHandlers, \"Span.addEvent: \" + name + \" not added - No events allowed\");\r\n // }\r\n // return theSpan;\r\n // },\r\n // addLink: (link: any) => {\r\n // droppedLinks++;\r\n // if(!_handleIsEnded(\"addEvent\") && isRecording) {\r\n // handleWarn(errorHandlers, \"Span.addLink: \" + link + \" not added - No links allowed\");\r\n // }\r\n // return theSpan;\r\n // },\r\n // addLinks: (links: any[]) => {\r\n // droppedLinks += links.length;\r\n // if (!_handleIsEnded(\"addLinks\") && isRecording) {\r\n // handleWarn(errorHandlers, \"Span.addLinks: \" + links + \" not added - No links allowed\");\r\n // }\r\n // return theSpan;\r\n // },\r\n setStatus: function (newStatus) {\r\n if (!_handleIsEnded(\"setStatus\")) {\r\n spanStatus = newStatus;\r\n if (!isNullOrUndefined(spanStatus) && !isNullOrUndefined(spanStatus[_DYN_MESSAGE /* @min:%2emessage */]) && !isString(spanStatus[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n spanStatus[_DYN_MESSAGE /* @min:%2emessage */] = dumpObj(spanStatus[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n return theSpan;\r\n },\r\n updateName: function (name) {\r\n if (!_handleIsEnded(\"updateName\") && !objIs(spanName, name)) {\r\n spanName = name;\r\n updateProtoTypeName(theSpan, _toString());\r\n }\r\n return theSpan;\r\n },\r\n end: function (endTime) {\r\n var calcDuration;\r\n if (!_handleIsEnded(\"end\", \"You can only call end once\")) {\r\n try {\r\n if (!isNullOrUndefined(endTime)) {\r\n // User provided an end time\r\n spanEndTime = timeInputToHrTime(endTime);\r\n spanDuration = hrTimeDuration(spanStartTime.v, spanEndTime);\r\n calcDuration = hrTimeToMilliseconds(spanDuration);\r\n }\r\n else {\r\n var perfEndTime = perfNow();\r\n calcDuration = perfEndTime - perfStartTime;\r\n spanDuration = millisToHrTime(calcDuration);\r\n spanEndTime = hrTime(perfEndTime);\r\n }\r\n if (calcDuration < 0) {\r\n handleWarn(errorHandlers, \"Span.end: duration is negative - startTime > endTime. Setting duration to 0 ms\");\r\n spanDuration = zeroHrTime();\r\n spanEndTime = spanStartTime.v;\r\n }\r\n // if (droppedEvents > 0) {\r\n // handleWarn(errorHandlers, \"Droped \" + droppedEvents + \" events\");\r\n // }\r\n // We don't mark as ended until after the onEnd callback to ensure that it can\r\n // still read / change the span if required as well as ensuring that the returned\r\n // value for isRecording is correct.\r\n spanCtx.onEnd && spanCtx.onEnd(theSpan);\r\n }\r\n finally {\r\n // Ensure we mark as ended even if the onEnd throws\r\n isEnded = true;\r\n }\r\n }\r\n },\r\n isRecording: function () { return isRecording && !isEnded; },\r\n recordException: function (exception, time) {\r\n if (!_handleIsEnded(\"recordException\")) {\r\n if (spanCtx.onException) {\r\n spanCtx.onException(theSpan, exception, time);\r\n }\r\n else {\r\n handleNotImplemented(errorHandlers, \"Span.recordException: \" + dumpObj(exception) + \" not handled\");\r\n }\r\n }\r\n }\r\n }, _toString());\r\n // Make the relevant properties dynamic (and read-only)\r\n objDefineProps(theSpan, {\r\n name: {\r\n g: function () { return spanName; }\r\n },\r\n kind: {\r\n v: kind || 0 /* eOTelSpanKind.INTERNAL */\r\n },\r\n startTime: {\r\n g: function () {\r\n return spanStartTime.v;\r\n }\r\n },\r\n endTime: {\r\n g: function () {\r\n return spanEndTime;\r\n }\r\n },\r\n status: {\r\n g: function () {\r\n return spanStatus || {\r\n code: 0 /* eOTelSpanStatusCode.UNSET */\r\n };\r\n }\r\n },\r\n attributes: {\r\n g: function () {\r\n return attributes ? attributes.v[_DYN_ATTRIBUTES /* @min:%2eattributes */] : objFreeze({});\r\n }\r\n },\r\n attribContainer: {\r\n g: function () {\r\n if (!attributes && !localContainer) {\r\n // Create an empty container and cache it for future use (for performance only)\r\n localContainer = createAttributeContainer(otelCfg, spanName);\r\n }\r\n return attributes ? attributes.v : localContainer;\r\n }\r\n },\r\n links: {\r\n g: function () {\r\n return [];\r\n }\r\n },\r\n events: {\r\n g: function () {\r\n return [];\r\n }\r\n },\r\n duration: {\r\n g: function () {\r\n return spanDuration || zeroHrTime();\r\n }\r\n },\r\n ended: {\r\n g: function () {\r\n return isEnded;\r\n }\r\n },\r\n droppedAttributesCount: {\r\n g: function () {\r\n return attributes ? attributes.v.droppedAttributes : localDroppedAttributes;\r\n }\r\n },\r\n // droppedEventsCount: {\r\n // g: () => {\r\n // return droppedEvents;\r\n // }\r\n // },\r\n // droppedLinksCount: {\r\n // g: () => {\r\n // return droppedLinks;\r\n // }\r\n // },\r\n parentSpanContext: {\r\n l: getDeferred(function () {\r\n return spanCtx ? spanCtx[_DYN_PARENT_SPAN_CONTEXT /* @min:%2eparentSpanContext */] : UNDEFINED_VALUE;\r\n })\r\n },\r\n parentSpanId: {\r\n l: getDeferred(function () {\r\n var parentSpanId = UNDEFINED_VALUE;\r\n if (spanCtx) {\r\n var parentSpanCtx = spanCtx[_DYN_PARENT_SPAN_CONTEXT /* @min:%2eparentSpanContext */];\r\n parentSpanId = parentSpanCtx ? parentSpanCtx[_DYN_SPAN_ID /* @min:%2espanId */] : UNDEFINED_VALUE;\r\n }\r\n return parentSpanId;\r\n })\r\n }\r\n });\r\n return theSpan;\r\n}\r\n//# sourceMappingURL=span.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,11 +1,11 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
6
6
 
7
7
  import { objDefine, strSubstr } from "@nevware21/ts-utils";
8
- import { _DYN_ATTRIBUTES, _DYN_GET_TRACE_CTX, _DYN_SPAN_ID } from "../../../__DynamicConstants";
8
+ import { _DYN_ATTRIBUTES, _DYN_GET_TRACE_CTX, _DYN_SPAN_ID, _DYN_START_TIME } from "../../../__DynamicConstants";
9
9
  import { createDistributedTraceContext } from "../../../core/TelemetryHelpers";
10
10
  import { generateW3CId } from "../../../utils/CoreUtils";
11
11
  import { createSpan } from "./span";
@@ -41,7 +41,7 @@ export function createTraceProvider(host, traceName, api, onEnd, onException) {
41
41
  api: api,
42
42
  spanContext: newCtx,
43
43
  attributes: options ? options[_DYN_ATTRIBUTES /* @min:%2eattributes */] : undefined,
44
- startTime: options ? options.startTime : undefined,
44
+ startTime: options ? options[_DYN_START_TIME /* @min:%2estartTime */] : undefined,
45
45
  isRecording: options ? options.recording !== false : true,
46
46
  onEnd: onEnd,
47
47
  onException: onException
@@ -1 +1 @@
1
- {"version":3,"file":"traceProvider.js.map","sources":["traceProvider.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine, strSubstr } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ATTRIBUTES, _DYN_GET_TRACE_CTX, _DYN_SPAN_ID } from \"../../../__DynamicConstants\";\r\nimport { createDistributedTraceContext } from \"../../../core/TelemetryHelpers\";\r\nimport { generateW3CId } from \"../../../utils/CoreUtils\";\r\nimport { createSpan } from \"./span\";\r\n/**\r\n * @internal\r\n * Creates a new trace provider adapter\r\n * @param host - The trace host instance (typically IAppInsightsCore).\r\n * @param traceName - The name of the trace provider.\r\n * @param api - The OpenTelemetry API instance (as a lazy value).\r\n * @param onEnd - Optional callback to be invoked when a span ends.\r\n * @param onException - Optional callback to be invoked when an exception is recorded on a span.\r\n * @returns The created trace provider.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function createTraceProvider(host, traceName, api, onEnd, onException) {\r\n var provider = {\r\n api: null,\r\n createSpan: function (name, options, parent) {\r\n var newCtx;\r\n var parentCtx;\r\n if (options && options.root) {\r\n newCtx = createDistributedTraceContext();\r\n }\r\n else {\r\n newCtx = createDistributedTraceContext(parent || host[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]());\r\n if (newCtx.parentCtx) {\r\n parentCtx = newCtx.parentCtx;\r\n }\r\n }\r\n // Always generate a new spanId\r\n newCtx[_DYN_SPAN_ID /* @min:%2espanId */] = strSubstr(generateW3CId(), 0, 16);\r\n var spanCtx = {\r\n api: api,\r\n spanContext: newCtx,\r\n attributes: options ? options[_DYN_ATTRIBUTES /* @min:%2eattributes */] : undefined,\r\n startTime: options ? options.startTime : undefined,\r\n isRecording: options ? options.recording !== false : true,\r\n onEnd: onEnd,\r\n onException: onException\r\n };\r\n if (parentCtx) {\r\n objDefine(spanCtx, \"parentSpanContext\", {\r\n v: parentCtx,\r\n w: false\r\n });\r\n }\r\n return createSpan(spanCtx, name, (options === null || options === void 0 ? void 0 : options.kind) || 0 /* eOTelSpanKind.INTERNAL */);\r\n },\r\n getProviderId: function () { return traceName; },\r\n isAvailable: function () { return !!onEnd; }\r\n };\r\n objDefine(provider, \"api\", {\r\n v: api,\r\n w: false\r\n });\r\n return provider;\r\n}\r\n//# sourceMappingURL=traceProvider.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;AACA;AACA;AACA;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":"traceProvider.js.map","sources":["traceProvider.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine, strSubstr } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ATTRIBUTES, _DYN_GET_TRACE_CTX, _DYN_SPAN_ID, _DYN_START_TIME } from \"../../../__DynamicConstants\";\r\nimport { createDistributedTraceContext } from \"../../../core/TelemetryHelpers\";\r\nimport { generateW3CId } from \"../../../utils/CoreUtils\";\r\nimport { createSpan } from \"./span\";\r\n/**\r\n * @internal\r\n * Creates a new trace provider adapter\r\n * @param host - The trace host instance (typically IAppInsightsCore).\r\n * @param traceName - The name of the trace provider.\r\n * @param api - The OpenTelemetry API instance (as a lazy value).\r\n * @param onEnd - Optional callback to be invoked when a span ends.\r\n * @param onException - Optional callback to be invoked when an exception is recorded on a span.\r\n * @returns The created trace provider.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function createTraceProvider(host, traceName, api, onEnd, onException) {\r\n var provider = {\r\n api: null,\r\n createSpan: function (name, options, parent) {\r\n var newCtx;\r\n var parentCtx;\r\n if (options && options.root) {\r\n newCtx = createDistributedTraceContext();\r\n }\r\n else {\r\n newCtx = createDistributedTraceContext(parent || host[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]());\r\n if (newCtx.parentCtx) {\r\n parentCtx = newCtx.parentCtx;\r\n }\r\n }\r\n // Always generate a new spanId\r\n newCtx[_DYN_SPAN_ID /* @min:%2espanId */] = strSubstr(generateW3CId(), 0, 16);\r\n var spanCtx = {\r\n api: api,\r\n spanContext: newCtx,\r\n attributes: options ? options[_DYN_ATTRIBUTES /* @min:%2eattributes */] : undefined,\r\n startTime: options ? options[_DYN_START_TIME /* @min:%2estartTime */] : undefined,\r\n isRecording: options ? options.recording !== false : true,\r\n onEnd: onEnd,\r\n onException: onException\r\n };\r\n if (parentCtx) {\r\n objDefine(spanCtx, \"parentSpanContext\", {\r\n v: parentCtx,\r\n w: false\r\n });\r\n }\r\n return createSpan(spanCtx, name, (options === null || options === void 0 ? void 0 : options.kind) || 0 /* eOTelSpanKind.INTERNAL */);\r\n },\r\n getProviderId: function () { return traceName; },\r\n isAvailable: function () { return !!onEnd; }\r\n };\r\n objDefine(provider, \"api\", {\r\n v: api,\r\n w: false\r\n });\r\n return provider;\r\n}\r\n//# sourceMappingURL=traceProvider.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;AACA;AACA;AACA;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,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,9 +1,10 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
6
6
 
7
+ import { _DYN_BASE_DATA } from "../../../__DynamicConstants";
7
8
  /**
8
9
  * @deprecated - will be removed in future releases as this was only used by the applicationinsights-channel-js package.
9
10
  * And it no longer uses this class.
@@ -21,7 +22,7 @@ var Data = /** @class */ (function () {
21
22
  baseData: 1 /* FieldType.Required */
22
23
  };
23
24
  this.baseType = baseType;
24
- this.baseData = data;
25
+ this[_DYN_BASE_DATA /* @min:%2ebaseData */] = data;
25
26
  }
26
27
  return Data;
27
28
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"Data.js.map","sources":["Data.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * @deprecated - will be removed in future releases as this was only used by the applicationinsights-channel-js package.\r\n * And it no longer uses this class.\r\n */\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n//# sourceMappingURL=Data.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"}
1
+ {"version":3,"file":"Data.js.map","sources":["Data.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _DYN_BASE_DATA } from \"../../../__DynamicConstants\";\r\n/**\r\n * @deprecated - will be removed in future releases as this was only used by the applicationinsights-channel-js package.\r\n * And it no longer uses this class.\r\n */\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this[_DYN_BASE_DATA /* @min:%2ebaseData */] = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n//# sourceMappingURL=Data.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"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -8,7 +8,7 @@ import { objDefine } from "@nevware21/ts-utils";
8
8
  import { STR_EMPTY } from "../constants/InternalConstants";
9
9
  import { normalizeJsName } from "./HelperFuncs";
10
10
  import { newId } from "./RandomHelper";
11
- var version = '3.4.0-nightlybeta3.2602-27';
11
+ var version = '3.4.1';
12
12
  var instanceName = "." + newId(6);
13
13
  var _dataUid = 0;
14
14
  // Accepts only:
@@ -1 +1 @@
1
- {"version":3,"file":"DataCacheHelper.js.map","sources":["DataCacheHelper.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { STR_EMPTY } from \"../constants/InternalConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.4.0-nightlybeta3.2602-27';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"DataCacheHelper.js.map","sources":["DataCacheHelper.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { STR_EMPTY } from \"../constants/InternalConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.4.1';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -7,7 +7,7 @@
7
7
  "use strict";
8
8
  import { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from "@microsoft/applicationinsights-shims";
9
9
  import { arrForEach, createCachedValue, getDeferred, getDocument, getInst, getLazy, getNavigator, getPerformance, hasNavigator, isFunction, isNullOrUndefined, isString, isUndefined, mathMax, strIndexOf, strSubstring } from "@nevware21/ts-utils";
10
- import { _DYN_CONCAT, _DYN_CREATE_EVENT, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_TO_LOWER_CASE } from "../__DynamicConstants";
10
+ import { _DYN_CONCAT, _DYN_CREATE_EVENT, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from "../__DynamicConstants";
11
11
  import { DEFAULT_SENSITIVE_PARAMS, STR_EMPTY, STR_REDACTED } from "../constants/InternalConstants";
12
12
  import { strContains } from "./HelperFuncs";
13
13
  /**
@@ -66,7 +66,7 @@ export function getUserAgentString() {
66
66
  // Use lazy to allow mocking
67
67
  _userAgent = getLazy(function () {
68
68
  var nav = getNavigator() || {};
69
- return nav.userAgent || STR_EMPTY;
69
+ return nav[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY;
70
70
  });
71
71
  }
72
72
  return _userAgent.v;
@@ -405,9 +405,13 @@ function redactQueryParameters(url, config) {
405
405
  if (questionMarkIndex === -1) {
406
406
  return url;
407
407
  }
408
- if (config && config.redactQueryParams) {
408
+ var option = config ? config.redactUrls : undefined;
409
+ if (option === 3 /* eUrlRedactionOptions.appendToDefault */) {
409
410
  sensitiveParams = DEFAULT_SENSITIVE_PARAMS[_DYN_CONCAT /* @min:%2econcat */](config.redactQueryParams);
410
411
  }
412
+ else if (option === 4 /* eUrlRedactionOptions.replaceDefault */) {
413
+ sensitiveParams = config.redactQueryParams;
414
+ }
411
415
  else {
412
416
  sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
413
417
  }
@@ -486,7 +490,8 @@ export function fieldRedaction(input, config) {
486
490
  if (!input || !isString(input) || strIndexOf(input, " ") !== -1) {
487
491
  return input;
488
492
  }
489
- var isRedactionDisabled = config && config.redactUrls === false;
493
+ var option = config ? config.redactUrls : undefined;
494
+ var isRedactionDisabled = option === false || option === 2 /* eUrlRedactionOptions.false */;
490
495
  if (isRedactionDisabled) {
491
496
  return input;
492
497
  }
@@ -496,6 +501,12 @@ export function fieldRedaction(input, config) {
496
501
  if (!hasCredentials && !hasQueryParams) {
497
502
  return input;
498
503
  }
504
+ if (option === 5 /* eUrlRedactionOptions.usernamePasswordOnly */) {
505
+ hasQueryParams = false;
506
+ }
507
+ if (option === 6 /* eUrlRedactionOptions.queryParamsOnly */) {
508
+ hasCredentials = false;
509
+ }
499
510
  try {
500
511
  var result = input;
501
512
  if (hasCredentials) {
@@ -1 +1 @@
1
- {"version":3,"file":"EnvUtils.js.map","sources":["EnvUtils.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, createCachedValue, getDeferred, getDocument, getInst, getLazy, getNavigator, getPerformance, hasNavigator, isFunction, isNullOrUndefined, isString, isUndefined, mathMax, strIndexOf, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_CONCAT, _DYN_CREATE_EVENT, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\nimport { DEFAULT_SENSITIVE_PARAMS, STR_EMPTY, STR_REDACTED } from \"../constants/InternalConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\n// Local cached properties which are used to avoid multiple checks within the module\r\nvar _isTrident;\r\nvar _navUserAgentCheck;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest;\r\nvar _beaconsSupported;\r\nvar _userAgent;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getUserAgentString() {\r\n if (!_userAgent) {\r\n // Use lazy to allow mocking\r\n _userAgent = getLazy(function () {\r\n var nav = getNavigator() || {};\r\n return nav.userAgent || STR_EMPTY;\r\n });\r\n }\r\n return _userAgent.v;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled - A flag to enable or disable the mock\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isIE() {\r\n var userAgent = getUserAgentString();\r\n if (!_isTrident || userAgent !== _navUserAgentCheck) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = userAgent;\r\n var lwrUserAgent = _navUserAgentCheck[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = createCachedValue(strContains(lwrUserAgent, strMsie) || strContains(lwrUserAgent, strTrident));\r\n }\r\n return _isTrident.v;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n userAgentStr = getUserAgentString();\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return mathMax(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n userAgentStr = getUserAgentString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment. There is a side effect (for testing)\r\n * when `useCached` is set to `false`, it will reset the cached value causing all future calls to\r\n * use the new re-evaluated value for all future calls.\r\n * @param useCached - [Optional] used for testing to bypass the cached lookup, when `true` this will\r\n * cause the cached global to be reset.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported(useCached) {\r\n if (!_beaconsSupported || useCached === false) {\r\n _beaconsSupported = createCachedValue(hasNavigator() && !!(getNavigator().sendBeacon));\r\n }\r\n return _beaconsSupported.v;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function useXDomainRequest() {\r\n if (!_useXDomainRequest) {\r\n _useXDomainRequest = getDeferred(function () {\r\n var useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (useXDomainRequest && isXhrSupported()) {\r\n useXDomainRequest = useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n return !!useXDomainRequest;\r\n });\r\n }\r\n return _useXDomainRequest.v;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction _getNamedValue(values, name) {\r\n var items = [];\r\n if (values) {\r\n arrForEach(values, function (value) {\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n items[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n }\r\n });\r\n }\r\n return items;\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name - The name of the meta-tag to find.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findMetaTag(name) {\r\n var tags = findMetaTags(name);\r\n if (tags[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return tags[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch all named meta-tag from the page.\r\n * @since 3.4.0\r\n * @param name - The name of the meta-tag to find.\r\n * @returns - An array of meta-tag values.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findMetaTags(name) {\r\n var tags = [];\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n arrForEach(_getNamedValue(doc.querySelectorAll(\"meta\"), name), function (item) {\r\n tags[_DYN_PUSH /* @min:%2epush */](item.content);\r\n });\r\n }\r\n return tags;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name - The name of the server timing value to find.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var serverTimings = findNamedServerTimings(name);\r\n if (serverTimings[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n value = serverTimings[0];\r\n }\r\n return value;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @since 3.4.0\r\n * @param name - The name of the server timing value to find.\r\n * @returns - An array of server timing values.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findNamedServerTimings(name) {\r\n var values = [];\r\n var perf = getPerformance();\r\n if (perf && perf.getEntriesByType) {\r\n // Try looking for a server-timing header\r\n arrForEach(perf.getEntriesByType(\"navigation\") || [], function (navPerf) {\r\n arrForEach(_getNamedValue(navPerf.serverTiming, name), function (value) {\r\n var desc = value.description;\r\n if (!isNullOrUndefined(desc)) {\r\n values[_DYN_PUSH /* @min:%2epush */](desc);\r\n }\r\n });\r\n });\r\n }\r\n return values;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc[_DYN_CREATE_EVENT /* @min:%2ecreateEvent */]) {\r\n event = doc[_DYN_CREATE_EVENT /* @min:%2ecreateEvent */](\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Redacts user information from a URL\r\n * @param url - The URL string to redact\r\n * @returns The URL with user information redacted\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction redactUserInfo(url) {\r\n return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\\/\\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, \"$1REDACTED:REDACTED@$4\");\r\n}\r\n/**\r\n * Redacts sensitive query parameters from a URL\r\n * @param url - The URL string to redact\r\n * @returns The URL with sensitive query parameters redacted\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction redactQueryParameters(url, config) {\r\n var sensitiveParams;\r\n var questionMarkIndex = strIndexOf(url, \"?\");\r\n if (questionMarkIndex === -1) {\r\n return url;\r\n }\r\n if (config && config.redactQueryParams) {\r\n sensitiveParams = DEFAULT_SENSITIVE_PARAMS[_DYN_CONCAT /* @min:%2econcat */](config.redactQueryParams);\r\n }\r\n else {\r\n sensitiveParams = DEFAULT_SENSITIVE_PARAMS;\r\n }\r\n var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);\r\n var queryString = strSubstring(url, questionMarkIndex + 1);\r\n var fragment = STR_EMPTY;\r\n var hashIndex = strIndexOf(queryString, \"#\");\r\n if (hashIndex !== -1) {\r\n fragment = strSubstring(queryString, hashIndex);\r\n queryString = strSubstring(queryString, 0, hashIndex);\r\n }\r\n var hasPotentialSensitiveParam = false;\r\n for (var i = 0; i < sensitiveParams[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var paramCheck = sensitiveParams[i] + \"=\";\r\n if (strIndexOf(queryString, paramCheck) !== -1) {\r\n hasPotentialSensitiveParam = true;\r\n break;\r\n }\r\n }\r\n if (!hasPotentialSensitiveParam) {\r\n return url;\r\n }\r\n var resultParts = [];\r\n var anyParamRedacted = false;\r\n if (queryString && queryString[_DYN_LENGTH /* @min:%2elength */]) {\r\n var pairs = queryString[_DYN_SPLIT /* @min:%2esplit */](\"&\");\r\n for (var i = 0; i < pairs[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var pair = pairs[i];\r\n if (!pair) {\r\n continue;\r\n }\r\n var equalsIndex = strIndexOf(pair, \"=\");\r\n if (equalsIndex === -1) {\r\n // Parameter without value\r\n resultParts[_DYN_PUSH /* @min:%2epush */](pair);\r\n }\r\n else {\r\n var paramName = pair[_DYN_SUBSTRING /* @min:%2esubstring */](0, equalsIndex);\r\n var paramValue = pair[_DYN_SUBSTRING /* @min:%2esubstring */](equalsIndex + 1);\r\n if (paramValue === STR_EMPTY) {\r\n resultParts[_DYN_PUSH /* @min:%2epush */](pair);\r\n }\r\n else {\r\n var shouldRedact = false;\r\n for (var j = 0; j < sensitiveParams[_DYN_LENGTH /* @min:%2elength */]; j++) {\r\n if (paramName === sensitiveParams[j]) {\r\n shouldRedact = true;\r\n anyParamRedacted = true;\r\n break;\r\n }\r\n }\r\n if (shouldRedact) {\r\n resultParts[_DYN_PUSH /* @min:%2epush */](paramName + \"=\" + STR_REDACTED);\r\n }\r\n else {\r\n resultParts[_DYN_PUSH /* @min:%2epush */](pair);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // If no parameters were redacted, return the original URL\r\n if (!anyParamRedacted) {\r\n return url;\r\n }\r\n return baseUrl + resultParts[_DYN_JOIN /* @min:%2ejoin */](\"&\") + fragment;\r\n}\r\n/**\r\n * Redacts sensitive information from a URL string, including credentials and specific query parameters.\r\n * @param input - The URL string to be redacted.\r\n * @param config - Configuration object that contain redactUrls setting.\r\n * @returns The redacted URL string or the original string if no redaction was needed or possible.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function fieldRedaction(input, config) {\r\n if (!input || !isString(input) || strIndexOf(input, \" \") !== -1) {\r\n return input;\r\n }\r\n var isRedactionDisabled = config && config.redactUrls === false;\r\n if (isRedactionDisabled) {\r\n return input;\r\n }\r\n var hasCredentials = strIndexOf(input, \"@\") !== -1;\r\n var hasQueryParams = strIndexOf(input, \"?\") !== -1;\r\n // If no credentials and no query params, return original\r\n if (!hasCredentials && !hasQueryParams) {\r\n return input;\r\n }\r\n try {\r\n var result = input;\r\n if (hasCredentials) {\r\n result = redactUserInfo(input);\r\n }\r\n if (hasQueryParams) {\r\n result = redactQueryParameters(result, config);\r\n }\r\n return result;\r\n }\r\n catch (e) {\r\n return input;\r\n }\r\n}\r\n//# sourceMappingURL=EnvUtils.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"EnvUtils.js.map","sources":["EnvUtils.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, createCachedValue, getDeferred, getDocument, getInst, getLazy, getNavigator, getPerformance, hasNavigator, isFunction, isNullOrUndefined, isString, isUndefined, mathMax, strIndexOf, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_CONCAT, _DYN_CREATE_EVENT, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { DEFAULT_SENSITIVE_PARAMS, STR_EMPTY, STR_REDACTED } from \"../constants/InternalConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\n// Local cached properties which are used to avoid multiple checks within the module\r\nvar _isTrident;\r\nvar _navUserAgentCheck;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest;\r\nvar _beaconsSupported;\r\nvar _userAgent;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getUserAgentString() {\r\n if (!_userAgent) {\r\n // Use lazy to allow mocking\r\n _userAgent = getLazy(function () {\r\n var nav = getNavigator() || {};\r\n return nav[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY;\r\n });\r\n }\r\n return _userAgent.v;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled - A flag to enable or disable the mock\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isIE() {\r\n var userAgent = getUserAgentString();\r\n if (!_isTrident || userAgent !== _navUserAgentCheck) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = userAgent;\r\n var lwrUserAgent = _navUserAgentCheck[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = createCachedValue(strContains(lwrUserAgent, strMsie) || strContains(lwrUserAgent, strTrident));\r\n }\r\n return _isTrident.v;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n userAgentStr = getUserAgentString();\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return mathMax(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n userAgentStr = getUserAgentString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment. There is a side effect (for testing)\r\n * when `useCached` is set to `false`, it will reset the cached value causing all future calls to\r\n * use the new re-evaluated value for all future calls.\r\n * @param useCached - [Optional] used for testing to bypass the cached lookup, when `true` this will\r\n * cause the cached global to be reset.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported(useCached) {\r\n if (!_beaconsSupported || useCached === false) {\r\n _beaconsSupported = createCachedValue(hasNavigator() && !!(getNavigator().sendBeacon));\r\n }\r\n return _beaconsSupported.v;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function useXDomainRequest() {\r\n if (!_useXDomainRequest) {\r\n _useXDomainRequest = getDeferred(function () {\r\n var useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (useXDomainRequest && isXhrSupported()) {\r\n useXDomainRequest = useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n return !!useXDomainRequest;\r\n });\r\n }\r\n return _useXDomainRequest.v;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction _getNamedValue(values, name) {\r\n var items = [];\r\n if (values) {\r\n arrForEach(values, function (value) {\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n items[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n }\r\n });\r\n }\r\n return items;\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name - The name of the meta-tag to find.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findMetaTag(name) {\r\n var tags = findMetaTags(name);\r\n if (tags[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return tags[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch all named meta-tag from the page.\r\n * @since 3.4.0\r\n * @param name - The name of the meta-tag to find.\r\n * @returns - An array of meta-tag values.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findMetaTags(name) {\r\n var tags = [];\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n arrForEach(_getNamedValue(doc.querySelectorAll(\"meta\"), name), function (item) {\r\n tags[_DYN_PUSH /* @min:%2epush */](item.content);\r\n });\r\n }\r\n return tags;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name - The name of the server timing value to find.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var serverTimings = findNamedServerTimings(name);\r\n if (serverTimings[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n value = serverTimings[0];\r\n }\r\n return value;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @since 3.4.0\r\n * @param name - The name of the server timing value to find.\r\n * @returns - An array of server timing values.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function findNamedServerTimings(name) {\r\n var values = [];\r\n var perf = getPerformance();\r\n if (perf && perf.getEntriesByType) {\r\n // Try looking for a server-timing header\r\n arrForEach(perf.getEntriesByType(\"navigation\") || [], function (navPerf) {\r\n arrForEach(_getNamedValue(navPerf.serverTiming, name), function (value) {\r\n var desc = value.description;\r\n if (!isNullOrUndefined(desc)) {\r\n values[_DYN_PUSH /* @min:%2epush */](desc);\r\n }\r\n });\r\n });\r\n }\r\n return values;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc[_DYN_CREATE_EVENT /* @min:%2ecreateEvent */]) {\r\n event = doc[_DYN_CREATE_EVENT /* @min:%2ecreateEvent */](\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Redacts user information from a URL\r\n * @param url - The URL string to redact\r\n * @returns The URL with user information redacted\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction redactUserInfo(url) {\r\n return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\\/\\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, \"$1REDACTED:REDACTED@$4\");\r\n}\r\n/**\r\n * Redacts sensitive query parameters from a URL\r\n * @param url - The URL string to redact\r\n * @returns The URL with sensitive query parameters redacted\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction redactQueryParameters(url, config) {\r\n var sensitiveParams;\r\n var questionMarkIndex = strIndexOf(url, \"?\");\r\n if (questionMarkIndex === -1) {\r\n return url;\r\n }\r\n var option = config ? config.redactUrls : undefined;\r\n if (option === 3 /* eUrlRedactionOptions.appendToDefault */) {\r\n sensitiveParams = DEFAULT_SENSITIVE_PARAMS[_DYN_CONCAT /* @min:%2econcat */](config.redactQueryParams);\r\n }\r\n else if (option === 4 /* eUrlRedactionOptions.replaceDefault */) {\r\n sensitiveParams = config.redactQueryParams;\r\n }\r\n else {\r\n sensitiveParams = DEFAULT_SENSITIVE_PARAMS;\r\n }\r\n var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);\r\n var queryString = strSubstring(url, questionMarkIndex + 1);\r\n var fragment = STR_EMPTY;\r\n var hashIndex = strIndexOf(queryString, \"#\");\r\n if (hashIndex !== -1) {\r\n fragment = strSubstring(queryString, hashIndex);\r\n queryString = strSubstring(queryString, 0, hashIndex);\r\n }\r\n var hasPotentialSensitiveParam = false;\r\n for (var i = 0; i < sensitiveParams[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var paramCheck = sensitiveParams[i] + \"=\";\r\n if (strIndexOf(queryString, paramCheck) !== -1) {\r\n hasPotentialSensitiveParam = true;\r\n break;\r\n }\r\n }\r\n if (!hasPotentialSensitiveParam) {\r\n return url;\r\n }\r\n var resultParts = [];\r\n var anyParamRedacted = false;\r\n if (queryString && queryString[_DYN_LENGTH /* @min:%2elength */]) {\r\n var pairs = queryString[_DYN_SPLIT /* @min:%2esplit */](\"&\");\r\n for (var i = 0; i < pairs[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var pair = pairs[i];\r\n if (!pair) {\r\n continue;\r\n }\r\n var equalsIndex = strIndexOf(pair, \"=\");\r\n if (equalsIndex === -1) {\r\n // Parameter without value\r\n resultParts[_DYN_PUSH /* @min:%2epush */](pair);\r\n }\r\n else {\r\n var paramName = pair[_DYN_SUBSTRING /* @min:%2esubstring */](0, equalsIndex);\r\n var paramValue = pair[_DYN_SUBSTRING /* @min:%2esubstring */](equalsIndex + 1);\r\n if (paramValue === STR_EMPTY) {\r\n resultParts[_DYN_PUSH /* @min:%2epush */](pair);\r\n }\r\n else {\r\n var shouldRedact = false;\r\n for (var j = 0; j < sensitiveParams[_DYN_LENGTH /* @min:%2elength */]; j++) {\r\n if (paramName === sensitiveParams[j]) {\r\n shouldRedact = true;\r\n anyParamRedacted = true;\r\n break;\r\n }\r\n }\r\n if (shouldRedact) {\r\n resultParts[_DYN_PUSH /* @min:%2epush */](paramName + \"=\" + STR_REDACTED);\r\n }\r\n else {\r\n resultParts[_DYN_PUSH /* @min:%2epush */](pair);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // If no parameters were redacted, return the original URL\r\n if (!anyParamRedacted) {\r\n return url;\r\n }\r\n return baseUrl + resultParts[_DYN_JOIN /* @min:%2ejoin */](\"&\") + fragment;\r\n}\r\n/**\r\n * Redacts sensitive information from a URL string, including credentials and specific query parameters.\r\n * @param input - The URL string to be redacted.\r\n * @param config - Configuration object that contain redactUrls setting.\r\n * @returns The redacted URL string or the original string if no redaction was needed or possible.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function fieldRedaction(input, config) {\r\n if (!input || !isString(input) || strIndexOf(input, \" \") !== -1) {\r\n return input;\r\n }\r\n var option = config ? config.redactUrls : undefined;\r\n var isRedactionDisabled = option === false || option === 2 /* eUrlRedactionOptions.false */;\r\n if (isRedactionDisabled) {\r\n return input;\r\n }\r\n var hasCredentials = strIndexOf(input, \"@\") !== -1;\r\n var hasQueryParams = strIndexOf(input, \"?\") !== -1;\r\n // If no credentials and no query params, return original\r\n if (!hasCredentials && !hasQueryParams) {\r\n return input;\r\n }\r\n if (option === 5 /* eUrlRedactionOptions.usernamePasswordOnly */) {\r\n hasQueryParams = false;\r\n }\r\n if (option === 6 /* eUrlRedactionOptions.queryParamsOnly */) {\r\n hasCredentials = false;\r\n }\r\n try {\r\n var result = input;\r\n if (hasCredentials) {\r\n result = redactUserInfo(input);\r\n }\r\n if (hasQueryParams) {\r\n result = redactQueryParameters(result, config);\r\n }\r\n return result;\r\n }\r\n catch (e) {\r\n return input;\r\n }\r\n}\r\n//# sourceMappingURL=EnvUtils.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,12 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2602-27
2
+ * Application Insights JavaScript SDK - Core, 3.4.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
6
6
 
7
7
  import { ObjAssign, ObjClass, ObjProto } from "@microsoft/applicationinsights-shims";
8
8
  import { arrForEach, asString as asString21, createCachedValue, getKnownSymbol, isArray, isBoolean, isError, isFunction, isNullOrUndefined, isNumber, isObject, isPlainObject, isString, isUndefined, mathFloor, mathRound, newSymbol, objCreate, objDeepFreeze, objDefine, objForEachKey, objGetPrototypeOf, objHasOwn, objSetPrototypeOf, safe, strIndexOf, strSplit, strTrim } from "@nevware21/ts-utils";
9
- import { _DYN_APPLY, _DYN_CONCAT, _DYN_GET_ALL_RESPONSE_HEA6, _DYN_IDENTIFIER, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE, _DYN_SPLIT, _DYN_STATUS, _DYN_SUBSTRING, _DYN_TO_LOWER_CASE } from "../__DynamicConstants";
9
+ import { _DYN_APPLY, _DYN_CONCAT, _DYN_GET_ALL_RESPONSE_HEA7, _DYN_IDENTIFIER, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE, _DYN_SPLIT, _DYN_STATUS, _DYN_SUBSTRING, _DYN_TO_LOWER_CASE } from "../__DynamicConstants";
10
10
  import { STR_EMPTY } from "../constants/InternalConstants";
11
11
  // RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly
12
12
  // Added to help with minification
@@ -551,7 +551,7 @@ var STR_TIME_DELTA_HEADER = "time-delta-millis";
551
551
  */
552
552
  export function _getAllResponseHeaders(xhr, isOneDs) {
553
553
  var theHeaders = {};
554
- if (!xhr[_DYN_GET_ALL_RESPONSE_HEA6 /* @min:%2egetAllResponseHeaders */]) {
554
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA7 /* @min:%2egetAllResponseHeaders */]) {
555
555
  // Firefox 2-63 doesn't have getAllResponseHeaders function but it does have getResponseHeader
556
556
  // Only call these if getAllResponseHeaders doesn't exist, otherwise we can get invalid response errors
557
557
  // as collector is not currently returning the correct header to allow JS to access these headers
@@ -562,7 +562,7 @@ export function _getAllResponseHeaders(xhr, isOneDs) {
562
562
  }
563
563
  }
564
564
  else {
565
- theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA6 /* @min:%2egetAllResponseHeaders */]());
565
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA7 /* @min:%2egetAllResponseHeaders */]());
566
566
  }
567
567
  return theHeaders;
568
568
  }