@microsoft/applicationinsights-core-js 3.0.0-beta.2209-03 → 3.0.0-beta.2210-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +1249 -675
  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 +3669 -1713
  7. package/dist/applicationinsights-core-js.api.md +131 -54
  8. package/dist/applicationinsights-core-js.d.ts +332 -131
  9. package/dist/applicationinsights-core-js.js +1249 -675
  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 +332 -131
  14. package/dist-esm/Config/ConfigDefaults.js +114 -0
  15. package/dist-esm/Config/ConfigDefaults.js.map +1 -0
  16. package/dist-esm/Config/DynamicConfig.js +129 -0
  17. package/dist-esm/Config/DynamicConfig.js.map +1 -0
  18. package/dist-esm/Config/DynamicProperty.js +139 -0
  19. package/dist-esm/Config/DynamicProperty.js.map +1 -0
  20. package/dist-esm/Config/DynamicState.js +109 -0
  21. package/dist-esm/Config/DynamicState.js.map +1 -0
  22. package/dist-esm/Config/DynamicSupport.js +57 -0
  23. package/dist-esm/Config/DynamicSupport.js.map +1 -0
  24. package/dist-esm/Config/IConfigDefaults.js +8 -0
  25. package/dist-esm/Config/IConfigDefaults.js.map +1 -0
  26. package/dist-esm/Config/IDynamicConfigHandler.js +8 -0
  27. package/dist-esm/Config/IDynamicConfigHandler.js.map +1 -0
  28. package/dist-esm/Config/IDynamicPropertyHandler.js +8 -0
  29. package/dist-esm/Config/IDynamicPropertyHandler.js.map +1 -0
  30. package/dist-esm/Config/IDynamicWatcher.js +8 -0
  31. package/dist-esm/Config/IDynamicWatcher.js.map +1 -0
  32. package/dist-esm/Config/_IDynamicConfigHandlerState.js +6 -0
  33. package/dist-esm/Config/_IDynamicConfigHandlerState.js.map +1 -0
  34. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +808 -23
  35. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  36. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +22 -18
  37. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  38. package/dist-esm/JavaScriptSDK/ChannelController.js +1 -1
  39. package/dist-esm/JavaScriptSDK/CookieMgr.js +78 -38
  40. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/CoreUtils.js +6 -5
  42. package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +10 -8
  44. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  45. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  46. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +40 -23
  47. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  48. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -115
  49. package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
  50. package/dist-esm/JavaScriptSDK/EventHelpers.js +30 -29
  51. package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
  52. package/dist-esm/JavaScriptSDK/HelperFuncs.js +19 -34
  53. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  54. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  55. package/dist-esm/JavaScriptSDK/InternalConstants.js +5 -1
  56. package/dist-esm/JavaScriptSDK/InternalConstants.js.map +1 -1
  57. package/dist-esm/JavaScriptSDK/NotificationManager.js +18 -11
  58. package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
  59. package/dist-esm/JavaScriptSDK/PerfManager.js +2 -3
  60. package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
  61. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +62 -53
  62. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  63. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  64. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +8 -10
  65. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  66. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +3 -4
  67. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +1 -1
  68. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  69. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +12 -10
  70. package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  71. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -2
  72. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js.map +1 -1
  73. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +2 -107
  75. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js.map +1 -1
  76. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  84. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  85. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  86. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  87. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  88. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  89. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  90. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  91. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  92. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  93. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  94. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  95. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  96. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  97. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  98. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  99. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +8 -0
  100. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js.map +1 -0
  101. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +3 -1
  102. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js.map +1 -1
  103. package/dist-esm/__DynamicConstants.js +26 -23
  104. package/dist-esm/__DynamicConstants.js.map +1 -1
  105. package/dist-esm/applicationinsights-core-js.js +6 -4
  106. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  107. package/package.json +2 -2
  108. package/src/JavaScriptSDK/AppInsightsCore.ts +1156 -16
  109. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +25 -17
  110. package/src/JavaScriptSDK/CookieMgr.ts +88 -41
  111. package/src/JavaScriptSDK/CoreUtils.ts +4 -3
  112. package/src/JavaScriptSDK/DiagnosticLogger.ts +51 -29
  113. package/src/JavaScriptSDK/EnvUtils.ts +0 -133
  114. package/src/JavaScriptSDK/EventHelpers.ts +29 -28
  115. package/src/JavaScriptSDK/HelperFuncs.ts +22 -39
  116. package/src/JavaScriptSDK/InternalConstants.ts +5 -0
  117. package/src/JavaScriptSDK/NotificationManager.ts +25 -14
  118. package/src/JavaScriptSDK/PerfManager.ts +2 -2
  119. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +73 -56
  120. package/src/JavaScriptSDK/TelemetryHelpers.ts +8 -9
  121. package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +2 -2
  122. package/src/JavaScriptSDK/W3cTraceParent.ts +7 -6
  123. package/src/JavaScriptSDK.Enums/EnumHelperFuncs.ts +0 -1
  124. package/src/JavaScriptSDK.Enums/LoggingEnums.ts +9 -108
  125. package/src/JavaScriptSDK.Enums/TelemetryUpdateReason.ts +1 -1
  126. package/src/JavaScriptSDK.Interfaces/IAppInsightsCore.ts +28 -3
  127. package/src/JavaScriptSDK.Interfaces/ICookieMgr.ts +8 -0
  128. package/src/JavaScriptSDK.Interfaces/IDiagnosticLogger.ts +15 -8
  129. package/src/JavaScriptSDK.Interfaces/IInstrumentHooks.ts +3 -1
  130. package/src/JavaScriptSDK.Interfaces/INotificationListener.ts +5 -5
  131. package/src/JavaScriptSDK.Interfaces/INotificationManager.ts +8 -8
  132. package/src/JavaScriptSDK.Interfaces/IPerfManager.ts +3 -3
  133. package/src/JavaScriptSDK.Interfaces/IProcessTelemetryContext.ts +10 -9
  134. package/src/JavaScriptSDK.Interfaces/ITelemetryInitializers.ts +2 -1
  135. package/src/JavaScriptSDK.Interfaces/ITelemetryUpdateState.ts +15 -5
  136. package/src/JavaScriptSDK.Interfaces/IUnloadHook.ts +22 -0
  137. package/src/JavaScriptSDK.Interfaces/IUnloadableComponent.ts +3 -3
  138. package/tsconfig.json +3 -2
  139. package/types/Config/ConfigDefaults.d.ts +10 -0
  140. package/types/Config/DynamicConfig.d.ts +23 -0
  141. package/types/Config/DynamicProperty.d.ts +3 -0
  142. package/types/Config/DynamicState.d.ts +3 -0
  143. package/types/Config/DynamicSupport.d.ts +15 -0
  144. package/types/Config/IConfigDefaults.d.ts +42 -0
  145. package/types/Config/IDynamicConfigHandler.d.ts +46 -0
  146. package/types/Config/IDynamicPropertyHandler.d.ts +11 -0
  147. package/types/Config/IDynamicWatcher.d.ts +28 -0
  148. package/types/Config/_IDynamicConfigHandlerState.d.ts +35 -0
  149. package/types/JavaScriptSDK/AppInsightsCore.d.ts +136 -4
  150. package/types/JavaScriptSDK/BaseTelemetryPlugin.d.ts +2 -2
  151. package/types/JavaScriptSDK/CookieMgr.d.ts +0 -10
  152. package/types/JavaScriptSDK/DiagnosticLogger.d.ts +18 -16
  153. package/types/JavaScriptSDK/EventHelpers.d.ts +24 -24
  154. package/types/JavaScriptSDK/HelperFuncs.d.ts +13 -11
  155. package/types/JavaScriptSDK/InternalConstants.d.ts +4 -0
  156. package/types/JavaScriptSDK/NotificationManager.d.ts +7 -7
  157. package/types/JavaScriptSDK/PerfManager.d.ts +2 -2
  158. package/types/JavaScriptSDK/ProcessTelemetryContext.d.ts +3 -2
  159. package/types/JavaScriptSDK/TelemetryHelpers.d.ts +3 -3
  160. package/types/JavaScriptSDK.Enums/LoggingEnums.d.ts +7 -5
  161. package/types/JavaScriptSDK.Enums/TelemetryUpdateReason.d.ts +1 -0
  162. package/types/JavaScriptSDK.Interfaces/IAppInsightsCore.d.ts +25 -3
  163. package/types/JavaScriptSDK.Interfaces/ICookieMgr.d.ts +6 -0
  164. package/types/JavaScriptSDK.Interfaces/IDiagnosticLogger.d.ts +14 -8
  165. package/types/JavaScriptSDK.Interfaces/IInstrumentHooks.d.ts +2 -1
  166. package/types/JavaScriptSDK.Interfaces/INotificationListener.d.ts +5 -5
  167. package/types/JavaScriptSDK.Interfaces/INotificationManager.d.ts +8 -8
  168. package/types/JavaScriptSDK.Interfaces/IPerfManager.d.ts +3 -3
  169. package/types/JavaScriptSDK.Interfaces/IProcessTelemetryContext.d.ts +5 -9
  170. package/types/JavaScriptSDK.Interfaces/ITelemetryInitializers.d.ts +2 -1
  171. package/types/JavaScriptSDK.Interfaces/ITelemetryUpdateState.d.ts +13 -2
  172. package/types/JavaScriptSDK.Interfaces/IUnloadHook.d.ts +18 -0
  173. package/types/__DynamicConstants.d.ts +18 -15
  174. package/types/applicationinsights-core-js.d.ts +11 -4
  175. package/types/tsdoc-metadata.json +1 -1
  176. package/dist-esm/JavaScriptSDK/BaseCore.js +0 -654
  177. package/dist-esm/JavaScriptSDK/BaseCore.js.map +0 -1
  178. package/src/JavaScriptSDK/BaseCore.ts +0 -948
  179. package/types/JavaScriptSDK/BaseCore.d.ts +0 -124
@@ -1,654 +0,0 @@
1
- /*
2
- * Application Insights JavaScript SDK - Core, 3.0.0-beta.2209-03
3
- * Copyright (c) Microsoft and contributors. All rights reserved.
4
- */
5
-
6
-
7
- "use strict";
8
- import { __spreadArrayFn as __spreadArray } from "@microsoft/applicationinsights-shims";
9
- import dynamicProto from "@microsoft/dynamicproto-js";
10
- import { objCreateFn } from "@microsoft/applicationinsights-shims";
11
- import { arrForEach, arrIndexOf, isFunction, isNullOrUndefined, objFreeze, throwError } from "@nevware21/ts-utils";
12
- import { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CONFIG, _DYN_FLUSH, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN__EXTENSIONS } from "../__DynamicConstants";
13
- import { ChannelControllerPriority, createChannelControllerPlugin, createChannelQueues } from "./ChannelController";
14
- import { createCookieMgr } from "./CookieMgr";
15
- import { createUniqueNamespace } from "./DataCacheHelper";
16
- import { getDebugListener } from "./DbgExtensionUtils";
17
- import { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from "./DiagnosticLogger";
18
- import { getCfgValue, getSetValue, objExtend, proxyFunctionAs, proxyFunctions, toISOString } from "./HelperFuncs";
19
- import { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY } from "./InternalConstants";
20
- import { PerfManager, getGblPerfMgr } from "./PerfManager";
21
- import { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from "./ProcessTelemetryContext";
22
- import { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from "./TelemetryHelpers";
23
- import { TelemetryInitializerPlugin } from "./TelemetryInitializerPlugin";
24
- import { createUnloadHandlerContainer } from "./UnloadHandlerContainer";
25
- var strValidationError = "Plugins must provide initialize method";
26
- var strNotificationManager = "_notificationManager";
27
- var strSdkUnloadingError = "SDK is still unloading...";
28
- var strSdkNotInitialized = "SDK is not initialized";
29
- // const strPluginUnloadFailed = "Failed to unload plugin";
30
- var defaultInitConfig = {
31
- // Have the Diagnostic Logger default to log critical errors to the console
32
- loggingLevelConsole: 1 /* eLoggingSeverity.CRITICAL */
33
- };
34
- /**
35
- * Helper to create the default performance manager
36
- * @param core
37
- * @param notificationMgr
38
- */
39
- function _createPerfManager(core, notificationMgr) {
40
- return new PerfManager(notificationMgr);
41
- }
42
- function _validateExtensions(logger, channelPriority, allExtensions) {
43
- var _a;
44
- // Concat all available extensions
45
- var coreExtensions = [];
46
- // Check if any two extensions have the same priority, then warn to console
47
- // And extract the local extensions from the
48
- var extPriorities = {};
49
- // Extension validation
50
- arrForEach(allExtensions, function (ext) {
51
- // Check for ext.initialize
52
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {
53
- throwError(strValidationError);
54
- }
55
- var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];
56
- var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];
57
- if (ext && extPriority) {
58
- if (!isNullOrUndefined(extPriorities[extPriority])) {
59
- _warnToConsole(logger, "Two extensions have same priority #" + extPriority + " - " + extPriorities[extPriority] + ", " + identifier);
60
- }
61
- else {
62
- // set a value
63
- extPriorities[extPriority] = identifier;
64
- }
65
- }
66
- // Split extensions to core and channelController
67
- if (!extPriority || extPriority < channelPriority) {
68
- // Add to core extension that will be managed by BaseCore
69
- coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);
70
- }
71
- });
72
- return _a = {
73
- all: allExtensions
74
- },
75
- _a[STR_CORE /* @min:core */] = coreExtensions,
76
- _a;
77
- }
78
- function _isPluginPresent(thePlugin, plugins) {
79
- var exists = false;
80
- arrForEach(plugins, function (plugin) {
81
- if (plugin === thePlugin) {
82
- exists = true;
83
- return -1;
84
- }
85
- });
86
- return exists;
87
- }
88
- function _createDummyNotificationManager() {
89
- var _a;
90
- return objCreateFn((_a = {},
91
- _a[_DYN_ADD_NOTIFICATION_LIS1 /* @min:addNotificationListener */] = function (listener) { },
92
- _a[_DYN_REMOVE_NOTIFICATION_2 /* @min:removeNotificationListener */] = function (listener) { },
93
- _a[STR_EVENTS_SENT /* @min:eventsSent */] = function (events) { },
94
- _a[STR_EVENTS_DISCARDED /* @min:eventsDiscarded */] = function (events, reason) { },
95
- _a[STR_EVENTS_SEND_REQUEST /* @min:eventsSendRequest */] = function (sendReason, isAsync) { },
96
- _a));
97
- }
98
- var BaseCore = /** @class */ (function () {
99
- function BaseCore() {
100
- // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()
101
- var _config;
102
- var _isInitialized;
103
- var _eventQueue;
104
- var _notificationManager;
105
- var _perfManager;
106
- var _cfgPerfManager;
107
- var _cookieManager;
108
- var _pluginChain;
109
- var _configExtensions;
110
- var _coreExtensions;
111
- var _channelControl;
112
- var _channelConfig;
113
- var _channelQueue;
114
- var _isUnloading;
115
- var _telemetryInitializerPlugin;
116
- var _internalLogsEventName;
117
- var _evtNamespace;
118
- var _unloadHandlers;
119
- var _debugListener;
120
- var _traceCtx;
121
- /**
122
- * Internal log poller
123
- */
124
- var _internalLogPoller = 0;
125
- dynamicProto(BaseCore, this, function (_self) {
126
- // Set the default values (also called during teardown)
127
- _initDefaults();
128
- _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };
129
- // Creating the self.initialize = ()
130
- _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {
131
- if (_isUnloading) {
132
- throwError(strSdkUnloadingError);
133
- }
134
- // Make sure core is only initialized once
135
- if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {
136
- throwError("Core should not be initialized more than once");
137
- }
138
- _config = config || {};
139
- _self[_DYN_CONFIG /* @min:%2econfig */] = _config;
140
- if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {
141
- throwError("Please provide instrumentation key");
142
- }
143
- _notificationManager = notificationManager;
144
- // For backward compatibility only
145
- _self[strNotificationManager] = notificationManager;
146
- _initDebugListener();
147
- _initPerfManager();
148
- // add notification to the extensions in the config so other plugins can access it
149
- _initExtConfig();
150
- if (logger) {
151
- _self[_DYN_LOGGER /* @min:%2elogger */] = logger;
152
- }
153
- var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);
154
- // Extension validation
155
- _configExtensions = [];
156
- _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));
157
- _channelConfig = getSetValue(_config, STR_CHANNELS, []);
158
- _initPluginChain(null);
159
- if (!_channelQueue || _channelQueue[_DYN_LENGTH /* @min:%2elength */] === 0) {
160
- throwError("No " + STR_CHANNELS + " available");
161
- }
162
- _isInitialized = true;
163
- _self.releaseQueue();
164
- };
165
- _self.getTransmissionControls = function () {
166
- var controls = [];
167
- if (_channelQueue) {
168
- arrForEach(_channelQueue, function (channels) {
169
- controls[_DYN_PUSH /* @min:%2epush */](channels.queue);
170
- });
171
- }
172
- return objFreeze(controls);
173
- };
174
- _self.track = function (telemetryItem) {
175
- // setup default iKey if not passed in
176
- telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];
177
- // add default timestamp if not passed in
178
- telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());
179
- // Common Schema 4.0
180
- telemetryItem.ver = telemetryItem.ver || "4.0";
181
- if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {
182
- // Process the telemetry plugin chain
183
- _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);
184
- }
185
- else {
186
- // Queue events until all extensions are initialized
187
- _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);
188
- }
189
- };
190
- _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;
191
- _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {
192
- if (!_notificationManager) {
193
- // Create Dummy notification manager
194
- _notificationManager = _createDummyNotificationManager();
195
- // For backward compatibility only
196
- _self[strNotificationManager] = _notificationManager;
197
- }
198
- return _notificationManager;
199
- };
200
- /**
201
- * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.
202
- * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be
203
- * called.
204
- * @param {INotificationListener} listener - An INotificationListener object.
205
- */
206
- _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {
207
- if (_notificationManager) {
208
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);
209
- }
210
- };
211
- /**
212
- * Removes all instances of the listener.
213
- * @param {INotificationListener} listener - INotificationListener to remove.
214
- */
215
- _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {
216
- if (_notificationManager) {
217
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](listener);
218
- }
219
- };
220
- _self.getCookieMgr = function () {
221
- if (!_cookieManager) {
222
- _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER /* @min:%2elogger */]);
223
- }
224
- return _cookieManager;
225
- };
226
- _self.setCookieMgr = function (cookieMgr) {
227
- _cookieManager = cookieMgr;
228
- };
229
- _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {
230
- if (!_perfManager && !_cfgPerfManager) {
231
- if (getCfgValue(_config.enablePerfMgr)) {
232
- var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */]);
233
- if (isFunction(createPerfMgr)) {
234
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());
235
- }
236
- }
237
- }
238
- return _perfManager || _cfgPerfManager || getGblPerfMgr();
239
- };
240
- _self.setPerfMgr = function (perfMgr) {
241
- _perfManager = perfMgr;
242
- };
243
- _self.eventCnt = function () {
244
- return _eventQueue[_DYN_LENGTH /* @min:%2elength */];
245
- };
246
- _self.releaseQueue = function () {
247
- if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {
248
- var eventQueue = _eventQueue;
249
- _eventQueue = [];
250
- arrForEach(eventQueue, function (event) {
251
- _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);
252
- });
253
- }
254
- };
255
- /**
256
- * Periodically check logger.queue for log messages to be flushed
257
- */
258
- _self.pollInternalLogs = function (eventName) {
259
- _internalLogsEventName = eventName || null;
260
- var interval = getCfgValue(_config.diagnosticLogInterval);
261
- if (!interval || !(interval > 0)) {
262
- interval = 10000;
263
- }
264
- if (_internalLogPoller) {
265
- clearInterval(_internalLogPoller);
266
- }
267
- _internalLogPoller = setInterval(function () {
268
- _flushInternalLogs();
269
- }, interval);
270
- return _internalLogPoller;
271
- };
272
- /**
273
- * Stop polling log messages from logger.queue
274
- */
275
- _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {
276
- if (_internalLogPoller) {
277
- clearInterval(_internalLogPoller);
278
- _internalLogPoller = 0;
279
- _flushInternalLogs();
280
- }
281
- };
282
- // Add addTelemetryInitializer
283
- proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, ["addTelemetryInitializer"]);
284
- _self.unload = function (isAsync, unloadComplete, cbTimeout) {
285
- var _a;
286
- if (isAsync === void 0) { isAsync = true; }
287
- if (!_isInitialized) {
288
- // The SDK is not initialized
289
- throwError(strSdkNotInitialized);
290
- }
291
- // Check if the SDK still unloading so throw
292
- if (_isUnloading) {
293
- // The SDK is already unloading
294
- throwError(strSdkUnloadingError);
295
- }
296
- var unloadState = (_a = {
297
- reason: 50 /* TelemetryUnloadReason.SdkUnload */
298
- },
299
- _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,
300
- _a.flushComplete = false,
301
- _a);
302
- var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
303
- processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {
304
- _initDefaults();
305
- unloadComplete && unloadComplete(unloadState);
306
- }, _self);
307
- function _doUnload(flushComplete) {
308
- unloadState.flushComplete = flushComplete;
309
- _isUnloading = true;
310
- // Run all of the unload handlers first (before unloading the plugins)
311
- _unloadHandlers.run(processUnloadCtx, unloadState);
312
- // Stop polling the internal logs
313
- _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();
314
- // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state
315
- processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);
316
- }
317
- if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {
318
- _doUnload(false);
319
- }
320
- };
321
- _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;
322
- _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
323
- if (!plugin) {
324
- addCb && addCb(false);
325
- _logOrThrowError(strValidationError);
326
- return;
327
- }
328
- var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);
329
- if (existingPlugin && !replaceExisting) {
330
- addCb && addCb(false);
331
- _logOrThrowError("Plugin [" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + "] is already loaded!");
332
- return;
333
- }
334
- var updateState = {
335
- reason: 16 /* TelemetryUpdateReason.PluginAdded */
336
- };
337
- function _addPlugin(removed) {
338
- _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);
339
- updateState.added = [plugin];
340
- // Re-Initialize the plugin chain
341
- _initPluginChain(updateState);
342
- addCb && addCb(true);
343
- }
344
- if (existingPlugin) {
345
- var removedPlugins_1 = [existingPlugin.plugin];
346
- var unloadState = {
347
- reason: 2 /* TelemetryUnloadReason.PluginReplace */,
348
- isAsync: !!isAsync
349
- };
350
- _removePlugins(removedPlugins_1, unloadState, function (removed) {
351
- if (!removed) {
352
- // Previous plugin was successfully removed or was not installed
353
- addCb && addCb(false);
354
- }
355
- else {
356
- updateState.removed = removedPlugins_1;
357
- updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;
358
- _addPlugin(true);
359
- }
360
- });
361
- }
362
- else {
363
- _addPlugin(false);
364
- }
365
- };
366
- _self.evtNamespace = function () {
367
- return _evtNamespace;
368
- };
369
- _self[_DYN_FLUSH /* @min:%2eflush */] = _flushChannels;
370
- _self.getTraceCtx = function (createNew) {
371
- if (!_traceCtx) {
372
- _traceCtx = createDistributedTraceContext();
373
- }
374
- return _traceCtx;
375
- };
376
- _self.setTraceCtx = function (traceCtx) {
377
- _traceCtx = traceCtx || null;
378
- };
379
- // Create the addUnloadCb
380
- proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
381
- function _initDefaults() {
382
- _isInitialized = false;
383
- // Use a default logger so initialization errors are not dropped on the floor with full logging
384
- _config = objExtend(true, {}, defaultInitConfig);
385
- _self[_DYN_CONFIG /* @min:%2econfig */] = _config;
386
- _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_config);
387
- _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = [];
388
- _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
389
- _eventQueue = [];
390
- _notificationManager = null;
391
- _perfManager = null;
392
- _cfgPerfManager = null;
393
- _cookieManager = null;
394
- _pluginChain = null;
395
- _coreExtensions = null;
396
- _configExtensions = [];
397
- _channelControl = null;
398
- _channelConfig = null;
399
- _channelQueue = null;
400
- _isUnloading = false;
401
- _internalLogsEventName = null;
402
- _evtNamespace = createUniqueNamespace("AIBaseCore", true);
403
- _unloadHandlers = createUnloadHandlerContainer();
404
- _traceCtx = null;
405
- }
406
- function _createTelCtx() {
407
- return createProcessTelemetryContext(_getPluginChain(), _config, _self);
408
- }
409
- // Initialize or Re-initialize the plugins
410
- function _initPluginChain(updateState) {
411
- // Extension validation
412
- var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);
413
- _coreExtensions = theExtensions[STR_CORE /* @min:%2ecore */];
414
- _pluginChain = null;
415
- // Sort the complete set of extensions by priority
416
- var allExtensions = theExtensions.all;
417
- // Initialize the Channel Queues and the channel plugins first
418
- _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self));
419
- if (_channelControl) {
420
- // During add / remove of a plugin this may get called again, so don't re-add if already present
421
- // But we also want the controller as the last, so remove if already present
422
- // And reusing the existing instance, just in case an installed plugin has a reference and
423
- // is using it.
424
- var idx = arrIndexOf(allExtensions, _channelControl);
425
- if (idx !== -1) {
426
- allExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);
427
- }
428
- idx = arrIndexOf(_coreExtensions, _channelControl);
429
- if (idx !== -1) {
430
- _coreExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);
431
- }
432
- _channelControl._setQueue(_channelQueue);
433
- }
434
- else {
435
- _channelControl = createChannelControllerPlugin(_channelQueue, _self);
436
- }
437
- // Add on "channelController" as the last "plugin"
438
- allExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);
439
- _coreExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);
440
- // Required to allow plugins to call core.getPlugin() during their own initialization
441
- _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = sortPlugins(allExtensions);
442
- // Initialize the controls
443
- _channelControl[_DYN_INITIALIZE /* @min:%2einitialize */](_config, _self, allExtensions);
444
- initializePlugins(_createTelCtx(), allExtensions);
445
- // Now reset the extensions to just those being managed by Basecore
446
- _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = objFreeze(sortPlugins(_coreExtensions || [])).slice();
447
- if (updateState) {
448
- _doUpdate(updateState);
449
- }
450
- }
451
- function _getPlugin(pluginIdentifier) {
452
- var theExt = null;
453
- var thePlugin = null;
454
- arrForEach(_self[_DYN__EXTENSIONS /* @min:%2e_extensions */], function (ext) {
455
- if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {
456
- thePlugin = ext;
457
- return -1;
458
- }
459
- });
460
- if (!thePlugin && _channelControl) {
461
- // Check the channel Controller
462
- thePlugin = _channelControl.getChannel(pluginIdentifier);
463
- }
464
- if (thePlugin) {
465
- theExt = {
466
- plugin: thePlugin,
467
- setEnabled: function (enabled) {
468
- _getPluginState(thePlugin)[STR_DISABLED] = !enabled;
469
- },
470
- isEnabled: function () {
471
- var pluginState = _getPluginState(thePlugin);
472
- return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];
473
- },
474
- remove: function (isAsync, removeCb) {
475
- var _a;
476
- if (isAsync === void 0) { isAsync = true; }
477
- var pluginsToRemove = [thePlugin];
478
- var unloadState = (_a = {
479
- reason: 1 /* TelemetryUnloadReason.PluginUnload */
480
- },
481
- _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,
482
- _a);
483
- _removePlugins(pluginsToRemove, unloadState, function (removed) {
484
- if (removed) {
485
- // Re-Initialize the plugin chain
486
- _initPluginChain({
487
- reason: 32 /* TelemetryUpdateReason.PluginRemoved */,
488
- removed: pluginsToRemove
489
- });
490
- }
491
- removeCb && removeCb(removed);
492
- });
493
- }
494
- };
495
- }
496
- return theExt;
497
- }
498
- function _getPluginChain() {
499
- if (!_pluginChain) {
500
- // copy the collection of extensions
501
- var extensions = (_coreExtensions || []).slice();
502
- // During add / remove this may get called again, so don't readd if already present
503
- if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {
504
- extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);
505
- }
506
- _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);
507
- }
508
- return _pluginChain;
509
- }
510
- function _removePlugins(thePlugins, unloadState, removeComplete) {
511
- if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {
512
- var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);
513
- var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);
514
- unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {
515
- var removed = false;
516
- // Remove the listed config extensions
517
- var newConfigExtensions = [];
518
- arrForEach(_configExtensions, function (plugin, idx) {
519
- if (!_isPluginPresent(plugin, thePlugins)) {
520
- newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);
521
- }
522
- else {
523
- removed = true;
524
- }
525
- });
526
- _configExtensions = newConfigExtensions;
527
- // Re-Create the channel config
528
- var newChannelConfig = [];
529
- if (_channelConfig) {
530
- arrForEach(_channelConfig, function (queue, idx) {
531
- var newQueue = [];
532
- arrForEach(queue, function (channel) {
533
- if (!_isPluginPresent(channel, thePlugins)) {
534
- newQueue[_DYN_PUSH /* @min:%2epush */](channel);
535
- }
536
- else {
537
- removed = true;
538
- }
539
- });
540
- newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);
541
- });
542
- _channelConfig = newChannelConfig;
543
- }
544
- removeComplete && removeComplete(removed);
545
- });
546
- unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);
547
- }
548
- else {
549
- removeComplete(false);
550
- }
551
- }
552
- function _flushInternalLogs() {
553
- var queue = _self[_DYN_LOGGER /* @min:%2elogger */] ? _self[_DYN_LOGGER /* @min:%2elogger */].queue : [];
554
- if (queue) {
555
- arrForEach(queue, function (logMessage) {
556
- var _a;
557
- var item = (_a = {},
558
- _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],
559
- _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]),
560
- _a.time = toISOString(new Date()),
561
- _a.baseType = _InternalLogMessage.dataType,
562
- _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },
563
- _a);
564
- _self.track(item);
565
- });
566
- queue[_DYN_LENGTH /* @min:%2elength */] = 0;
567
- }
568
- }
569
- function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {
570
- if (_channelControl) {
571
- return _channelControl[_DYN_FLUSH /* @min:%2eflush */](isAsync, callBack, sendReason || 6 /* SendRequestReason.SdkUnload */, cbTimeout);
572
- }
573
- callBack && callBack(false);
574
- return true;
575
- }
576
- function _initDebugListener() {
577
- var disableDbgExt = getCfgValue(_config.disableDbgExt);
578
- if (disableDbgExt === true && _debugListener) {
579
- // Remove any previously loaded debug listener
580
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](_debugListener);
581
- _debugListener = null;
582
- }
583
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
584
- _debugListener = getDebugListener(_config);
585
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](_debugListener);
586
- }
587
- }
588
- function _initPerfManager() {
589
- var enablePerfMgr = getCfgValue(_config.enablePerfMgr);
590
- if (!enablePerfMgr && _cfgPerfManager) {
591
- // Remove any existing config based performance manager
592
- _cfgPerfManager = null;
593
- }
594
- if (enablePerfMgr) {
595
- // Set the performance manager creation function if not defined
596
- getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);
597
- }
598
- }
599
- function _initExtConfig() {
600
- var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});
601
- extConfig.NotificationManager = _notificationManager;
602
- }
603
- function _doUpdate(updateState) {
604
- var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
605
- if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {
606
- updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);
607
- }
608
- }
609
- function _logOrThrowError(message) {
610
- var logger = _self[_DYN_LOGGER /* @min:%2elogger */];
611
- if (logger) {
612
- // there should always be a logger
613
- _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);
614
- }
615
- else {
616
- throwError(message);
617
- }
618
- }
619
- });
620
- }
621
- // Removed Stub for BaseCore.prototype.initialize.
622
- // Removed Stub for BaseCore.prototype.getTransmissionControls.
623
- // Removed Stub for BaseCore.prototype.track.
624
- // Removed Stub for BaseCore.prototype.getProcessTelContext.
625
- // Removed Stub for BaseCore.prototype.getNotifyMgr.
626
- // Removed Stub for BaseCore.prototype.addNotificationListener.
627
- // Removed Stub for BaseCore.prototype.removeNotificationListener.
628
- // Removed Stub for BaseCore.prototype.getCookieMgr.
629
- // Removed Stub for BaseCore.prototype.setCookieMgr.
630
- // Removed Stub for BaseCore.prototype.getPerfMgr.
631
- // Removed Stub for BaseCore.prototype.setPerfMgr.
632
- // Removed Stub for BaseCore.prototype.eventCnt.
633
- // Removed Stub for BaseCore.prototype.pollInternalLogs.
634
- // Removed Stub for BaseCore.prototype.stopPollingInternalLogs.
635
- // Removed Stub for BaseCore.prototype.addTelemetryInitializer.
636
- // Removed Stub for BaseCore.prototype.unload.
637
- // Removed Stub for BaseCore.prototype.getPlugin.
638
- // Removed Stub for BaseCore.prototype.addPlugin.
639
- // Removed Stub for BaseCore.prototype.evtNamespace.
640
- // Removed Stub for BaseCore.prototype.addUnloadCb.
641
- // Removed Stub for BaseCore.prototype.flush.
642
- // Removed Stub for BaseCore.prototype.getTraceCtx.
643
- // Removed Stub for BaseCore.prototype.setTraceCtx.
644
- // Removed Stub for BaseCore.prototype.releaseQueue.
645
- // Removed Stub for BaseCore.prototype._updateHook.
646
- // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any
647
- // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.
648
- // this will be removed when ES3 support is dropped.
649
- BaseCore.__ieDyn=1;
650
-
651
- return BaseCore;
652
- }());
653
- export { BaseCore };
654
- //# sourceMappingURL=BaseCore.js.map