@microsoft/applicationinsights-core-js 2.7.5-nightly.2203-03 → 2.7.5

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 (160) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +766 -1967
  3. package/browser/applicationinsights-core-js.js.map +1 -1
  4. package/browser/applicationinsights-core-js.min.js +2 -2
  5. package/browser/applicationinsights-core-js.min.js.map +1 -1
  6. package/dist/applicationinsights-core-js.api.json +9840 -16439
  7. package/dist/applicationinsights-core-js.api.md +48 -425
  8. package/dist/applicationinsights-core-js.d.ts +123 -784
  9. package/dist/applicationinsights-core-js.js +766 -1967
  10. package/dist/applicationinsights-core-js.js.map +1 -1
  11. package/dist/applicationinsights-core-js.min.js +2 -2
  12. package/dist/applicationinsights-core-js.min.js.map +1 -1
  13. package/dist/applicationinsights-core-js.rollup.d.ts +123 -784
  14. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +69 -3
  15. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  16. package/dist-esm/JavaScriptSDK/BaseCore.js +99 -496
  17. package/dist-esm/JavaScriptSDK/BaseCore.js.map +1 -1
  18. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +21 -120
  19. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  20. package/dist-esm/JavaScriptSDK/ChannelController.js +87 -202
  21. package/dist-esm/JavaScriptSDK/ChannelController.js.map +1 -1
  22. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  23. package/dist-esm/JavaScriptSDK/CookieMgr.js +4 -4
  24. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  25. package/dist-esm/JavaScriptSDK/CoreUtils.js +148 -7
  26. package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
  27. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  28. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +14 -27
  29. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  30. package/dist-esm/JavaScriptSDK/EnvUtils.js +12 -13
  31. package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
  32. package/dist-esm/JavaScriptSDK/HelperFuncs.js +86 -89
  33. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  34. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -3
  35. package/dist-esm/JavaScriptSDK/InstrumentHooks.js.map +1 -1
  36. package/dist-esm/JavaScriptSDK/NotificationManager.js +42 -37
  37. package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
  38. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  39. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +119 -430
  40. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/RandomHelper.js +4 -30
  42. package/dist-esm/JavaScriptSDK/RandomHelper.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +14 -60
  44. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  45. package/dist-esm/JavaScriptSDK/TelemetryPluginChain.js +76 -0
  46. package/dist-esm/JavaScriptSDK/TelemetryPluginChain.js.map +1 -0
  47. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  48. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +96 -90
  49. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js.map +1 -1
  50. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  51. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +2 -1
  52. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js.map +1 -1
  53. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  54. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  55. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  56. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  57. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  58. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +2 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js.map +1 -1
  68. package/dist-esm/applicationinsights-core-js.js +7 -12
  69. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  70. package/package.json +67 -70
  71. package/src/JavaScriptSDK/AppInsightsCore.ts +101 -2
  72. package/src/JavaScriptSDK/BaseCore.ts +120 -696
  73. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +31 -205
  74. package/src/JavaScriptSDK/ChannelController.ts +103 -242
  75. package/src/JavaScriptSDK/CookieMgr.ts +5 -7
  76. package/src/JavaScriptSDK/CoreUtils.ts +172 -8
  77. package/src/JavaScriptSDK/DiagnosticLogger.ts +14 -29
  78. package/src/JavaScriptSDK/EnvUtils.ts +12 -13
  79. package/src/JavaScriptSDK/HelperFuncs.ts +97 -123
  80. package/src/JavaScriptSDK/InstrumentHooks.ts +2 -4
  81. package/src/JavaScriptSDK/NotificationManager.ts +37 -34
  82. package/src/JavaScriptSDK/PerfManager.ts +7 -4
  83. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +134 -543
  84. package/src/JavaScriptSDK/RandomHelper.ts +3 -35
  85. package/src/JavaScriptSDK/TelemetryHelpers.ts +21 -83
  86. package/src/JavaScriptSDK/TelemetryPluginChain.ts +120 -0
  87. package/src/JavaScriptSDK.Enums/LoggingEnums.ts +87 -184
  88. package/src/JavaScriptSDK.Enums/SendRequestReason.ts +0 -5
  89. package/src/JavaScriptSDK.Interfaces/IAppInsightsCore.ts +2 -82
  90. package/src/JavaScriptSDK.Interfaces/IChannelControls.ts +5 -16
  91. package/src/JavaScriptSDK.Interfaces/IInstrumentHooks.ts +6 -16
  92. package/src/JavaScriptSDK.Interfaces/IProcessTelemetryContext.ts +14 -94
  93. package/src/JavaScriptSDK.Interfaces/ITelemetryPlugin.ts +10 -28
  94. package/src/JavaScriptSDK.Interfaces/ITelemetryPluginChain.ts +11 -9
  95. package/types/JavaScriptSDK/AppInsightsCore.d.ts +21 -0
  96. package/types/JavaScriptSDK/BaseCore.d.ts +3 -81
  97. package/types/JavaScriptSDK/BaseTelemetryPlugin.d.ts +10 -53
  98. package/types/JavaScriptSDK/ChannelController.d.ts +17 -16
  99. package/types/JavaScriptSDK/CoreUtils.d.ts +48 -1
  100. package/types/JavaScriptSDK/DiagnosticLogger.d.ts +0 -10
  101. package/types/JavaScriptSDK/HelperFuncs.d.ts +32 -33
  102. package/types/JavaScriptSDK/PerfManager.d.ts +1 -1
  103. package/types/JavaScriptSDK/ProcessTelemetryContext.d.ts +6 -69
  104. package/types/JavaScriptSDK/RandomHelper.d.ts +0 -6
  105. package/types/JavaScriptSDK/TelemetryHelpers.d.ts +3 -23
  106. package/types/JavaScriptSDK/TelemetryPluginChain.d.ts +32 -0
  107. package/types/JavaScriptSDK.Enums/LoggingEnums.d.ts +2 -91
  108. package/types/JavaScriptSDK.Enums/SendRequestReason.d.ts +0 -4
  109. package/types/JavaScriptSDK.Interfaces/IAppInsightsCore.d.ts +1 -72
  110. package/types/JavaScriptSDK.Interfaces/IChannelControls.d.ts +5 -16
  111. package/types/JavaScriptSDK.Interfaces/IInstrumentHooks.d.ts +0 -9
  112. package/types/JavaScriptSDK.Interfaces/IProcessTelemetryContext.d.ts +11 -82
  113. package/types/JavaScriptSDK.Interfaces/ITelemetryPlugin.d.ts +8 -25
  114. package/types/JavaScriptSDK.Interfaces/ITelemetryPluginChain.d.ts +10 -9
  115. package/types/applicationinsights-core-js.d.ts +9 -18
  116. package/types/tsdoc-metadata.json +1 -1
  117. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +0 -93
  118. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +0 -1
  119. package/dist-esm/JavaScriptSDK/EventHelpers.js +0 -477
  120. package/dist-esm/JavaScriptSDK/EventHelpers.js.map +0 -1
  121. package/dist-esm/JavaScriptSDK/InternalConstants.js +0 -28
  122. package/dist-esm/JavaScriptSDK/InternalConstants.js.map +0 -1
  123. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +0 -81
  124. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +0 -1
  125. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +0 -33
  126. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js.map +0 -1
  127. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +0 -8
  128. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js.map +0 -1
  129. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +0 -8
  130. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js.map +0 -1
  131. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +0 -6
  132. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js.map +0 -1
  133. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +0 -8
  134. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js.map +0 -1
  135. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +0 -8
  136. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js.map +0 -1
  137. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +0 -6
  138. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js.map +0 -1
  139. package/src/JavaScriptSDK/DataCacheHelper.ts +0 -106
  140. package/src/JavaScriptSDK/EventHelpers.ts +0 -550
  141. package/src/JavaScriptSDK/InternalConstants.ts +0 -26
  142. package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +0 -111
  143. package/src/JavaScriptSDK/UnloadHandlerContainer.ts +0 -46
  144. package/src/JavaScriptSDK.Enums/TelemetryUnloadReason.ts +0 -27
  145. package/src/JavaScriptSDK.Enums/TelemetryUpdateReason.ts +0 -27
  146. package/src/JavaScriptSDK.Interfaces/ITelemetryInitializers.ts +0 -16
  147. package/src/JavaScriptSDK.Interfaces/ITelemetryUnloadState.ts +0 -10
  148. package/src/JavaScriptSDK.Interfaces/ITelemetryUpdateState.ts +0 -34
  149. package/src/JavaScriptSDK.Interfaces/IUnloadableComponent.ts +0 -17
  150. package/types/JavaScriptSDK/DataCacheHelper.d.ts +0 -13
  151. package/types/JavaScriptSDK/EventHelpers.d.ts +0 -154
  152. package/types/JavaScriptSDK/InternalConstants.d.ts +0 -20
  153. package/types/JavaScriptSDK/TelemetryInitializerPlugin.d.ts +0 -16
  154. package/types/JavaScriptSDK/UnloadHandlerContainer.d.ts +0 -11
  155. package/types/JavaScriptSDK.Enums/TelemetryUnloadReason.d.ts +0 -21
  156. package/types/JavaScriptSDK.Enums/TelemetryUpdateReason.d.ts +0 -20
  157. package/types/JavaScriptSDK.Interfaces/ITelemetryInitializers.d.ts +0 -13
  158. package/types/JavaScriptSDK.Interfaces/ITelemetryUnloadState.d.ts +0 -6
  159. package/types/JavaScriptSDK.Interfaces/ITelemetryUpdateState.d.ts +0 -22
  160. package/types/JavaScriptSDK.Interfaces/IUnloadableComponent.d.ts +0 -13
@@ -7,23 +7,6 @@ import { INotificationManager } from "../JavaScriptSDK.Interfaces/INotificationM
7
7
  import { IPerfEvent } from "../JavaScriptSDK.Interfaces/IPerfEvent";
8
8
  import dynamicProto from "@microsoft/dynamicproto-js";
9
9
  import { arrForEach, arrIndexOf } from "./HelperFuncs";
10
- import { strAddNotificationListener, strEventsDiscarded, strEventsSendRequest, strEventsSent, strPerfEvent, strRemoveNotificationListener } from "./InternalConstants";
11
-
12
- function _runListeners(listeners: INotificationListener[], name: string, isAsync: boolean, callback: (listener: INotificationListener) => void) {
13
- arrForEach(listeners, (listener) => {
14
- if (listener && listener[name]) {
15
- if (isAsync) {
16
- setTimeout(() => callback(listener), 0);
17
- } else {
18
- try {
19
- callback(listener);
20
- } catch (e) {
21
- // Catch errors to ensure we don't block sending the requests
22
- }
23
- }
24
- }
25
- });
26
- }
27
10
 
28
11
  /**
29
12
  * Class to manage sending notifications to all the listeners.
@@ -35,7 +18,7 @@ export class NotificationManager implements INotificationManager {
35
18
  let perfEvtsSendAll = !!(config ||{}).perfEvtsSendAll;
36
19
 
37
20
  dynamicProto(NotificationManager, this, (_self) => {
38
- _self[strAddNotificationListener] = (listener: INotificationListener): void => {
21
+ _self.addNotificationListener = (listener: INotificationListener): void => {
39
22
  _self.listeners.push(listener);
40
23
  };
41
24
 
@@ -43,7 +26,7 @@ export class NotificationManager implements INotificationManager {
43
26
  * Removes all instances of the listener.
44
27
  * @param {INotificationListener} listener - AWTNotificationListener to remove.
45
28
  */
46
- _self[strRemoveNotificationListener] = (listener: INotificationListener): void => {
29
+ _self.removeNotificationListener = (listener: INotificationListener): void => {
47
30
  let index: number = arrIndexOf(_self.listeners, listener);
48
31
  while (index > -1) {
49
32
  _self.listeners.splice(index, 1);
@@ -55,9 +38,11 @@ export class NotificationManager implements INotificationManager {
55
38
  * Notification for events sent.
56
39
  * @param {ITelemetryItem[]} events - The array of events that have been sent.
57
40
  */
58
- _self[strEventsSent] = (events: ITelemetryItem[]): void => {
59
- _runListeners(_self.listeners, strEventsSent, true, (listener) => {
60
- listener[strEventsSent](events);
41
+ _self.eventsSent = (events: ITelemetryItem[]): void => {
42
+ arrForEach(_self.listeners, (listener) => {
43
+ if (listener && listener.eventsSent) {
44
+ setTimeout(() => listener.eventsSent(events), 0);
45
+ }
61
46
  });
62
47
  };
63
48
 
@@ -67,9 +52,11 @@ export class NotificationManager implements INotificationManager {
67
52
  * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason
68
53
  * constant should be used to check the different values.
69
54
  */
70
- _self[strEventsDiscarded] = (events: ITelemetryItem[], reason: number): void => {
71
- _runListeners(_self.listeners, strEventsDiscarded, true, (listener) => {
72
- listener[strEventsDiscarded](events, reason);
55
+ _self.eventsDiscarded = (events: ITelemetryItem[], reason: number): void => {
56
+ arrForEach(_self.listeners, (listener) => {
57
+ if (listener && listener.eventsDiscarded) {
58
+ setTimeout(() => listener.eventsDiscarded(events, reason), 0);
59
+ }
73
60
  });
74
61
  };
75
62
 
@@ -78,22 +65,38 @@ export class NotificationManager implements INotificationManager {
78
65
  * @param {number} sendReason - The reason why the event batch is being sent.
79
66
  * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.
80
67
  */
81
- _self[strEventsSendRequest] = (sendReason: number, isAsync: boolean): void => {
82
- _runListeners(_self.listeners, strEventsSendRequest, isAsync, (listener) => {
83
- listener[strEventsSendRequest](sendReason, isAsync);
68
+ _self.eventsSendRequest = (sendReason: number, isAsync: boolean): void => {
69
+ arrForEach(_self.listeners, (listener) => {
70
+ if (listener && listener.eventsSendRequest) {
71
+ if (isAsync) {
72
+ setTimeout(() => listener.eventsSendRequest(sendReason, isAsync), 0);
73
+ } else {
74
+ try {
75
+ listener.eventsSendRequest(sendReason, isAsync);
76
+ } catch (e) {
77
+ // Catch errors to ensure we don't block sending the requests
78
+ }
79
+ }
80
+ }
84
81
  });
85
82
  };
86
83
 
87
- _self[strPerfEvent] = (perfEvent?: IPerfEvent): void => {
84
+ _self.perfEvent = (perfEvent?: IPerfEvent): void => {
88
85
  if (perfEvent) {
89
86
 
90
87
  // Send all events or only parent events
91
88
  if (perfEvtsSendAll || !perfEvent.isChildEvt()) {
92
- _runListeners(_self.listeners, strPerfEvent, false, (listener) => {
93
- if (perfEvent.isAsync) {
94
- setTimeout(() => listener[strPerfEvent](perfEvent), 0);
95
- } else {
96
- listener[strPerfEvent](perfEvent);
89
+ arrForEach(_self.listeners, (listener) => {
90
+ if (listener && listener.perfEvent) {
91
+ if (perfEvent.isAsync) {
92
+ setTimeout(() => listener.perfEvent(perfEvent), 0);
93
+ } else {
94
+ try {
95
+ listener.perfEvent(perfEvent);
96
+ } catch (e) {
97
+ // Catch errors to ensure we don't block sending the requests
98
+ }
99
+ }
97
100
  }
98
101
  });
99
102
  }
@@ -104,9 +104,12 @@ export class PerfEvent implements IPerfEvent {
104
104
  _self.isChildEvt = (): boolean => true;
105
105
  }
106
106
  _self[key] = value;
107
- } else if (key === PerfEvent.ChildrenContextKey) {
107
+ }
108
+ else if (key === PerfEvent.ChildrenContextKey) {
108
109
  _self[key] = value;
109
- } else {
110
+ }
111
+ else
112
+ {
110
113
  let ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};
111
114
  ctx[key] = value;
112
115
  }
@@ -116,7 +119,7 @@ export class PerfEvent implements IPerfEvent {
116
119
  _self.complete = () => {
117
120
  let childTime = 0;
118
121
  let childEvts = _self.getCtx(PerfEvent.ChildrenContextKey);
119
- if (isArray<IPerfEvent>(childEvts)) {
122
+ if (isArray(childEvts)) {
120
123
  for (let lp = 0; lp < childEvts.length; lp++) {
121
124
  let childEvt: IPerfEvent = childEvts[lp];
122
125
  if (childEvt) {
@@ -143,7 +146,7 @@ export class PerfManager implements IPerfManager {
143
146
  */
144
147
  private ctx: { [key: string] : any } = {};
145
148
 
146
- constructor(manager?: INotificationManager) {
149
+ constructor(manager: INotificationManager) {
147
150
 
148
151
  dynamicProto(PerfManager, this, (_self) => {
149
152