@microsoft/applicationinsights-core-js 3.0.1-nightly3.2304-41 → 3.0.1-nightly3.2305-01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +596 -129
  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 +596 -129
  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 +596 -129
  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/applicationinsights-core-js.js +596 -129
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +2 -2
  21. package/dist-es5/Config/DynamicConfig.js.map +1 -1
  22. package/dist-es5/Config/DynamicProperty.js +1 -1
  23. package/dist-es5/Config/DynamicState.js +1 -1
  24. package/dist-es5/Config/DynamicSupport.js +1 -1
  25. package/dist-es5/Config/IConfigDefaults.js +1 -1
  26. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  28. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  29. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  31. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +52 -22
  32. package/dist-es5/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  33. package/dist-es5/JavaScriptSDK/AsyncUtils.js +49 -0
  34. package/dist-es5/JavaScriptSDK/AsyncUtils.js.map +1 -0
  35. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  36. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  37. package/dist-es5/JavaScriptSDK/CookieMgr.js +101 -96
  38. package/dist-es5/JavaScriptSDK/CookieMgr.js.map +1 -1
  39. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  40. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +2 -2
  41. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  42. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  43. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +11 -7
  44. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  45. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  46. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  47. package/dist-es5/JavaScriptSDK/HelperFuncs.js +1 -1
  48. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  49. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  50. package/dist-es5/JavaScriptSDK/NotificationManager.js +48 -12
  51. package/dist-es5/JavaScriptSDK/NotificationManager.js.map +1 -1
  52. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  53. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +3 -3
  54. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  55. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  56. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  57. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  58. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  59. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +1 -1
  60. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +3 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js.map +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  91. package/dist-es5/__DynamicConstants.js +5 -5
  92. package/dist-es5/__DynamicConstants.js.map +1 -1
  93. package/dist-es5/applicationinsights-core-js.js +2 -1
  94. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  95. package/package.json +3 -2
  96. package/types/applicationinsights-core-js.d.ts +112 -11
  97. package/types/applicationinsights-core-js.namespaced.d.ts +112 -11
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -156,6 +156,6 @@ export function onConfigChange(config, configHandler, logger) {
156
156
  return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);
157
157
  }
158
158
  _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
159
- createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);
159
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);
160
160
  }
161
161
  //# sourceMappingURL=DynamicConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicConfig.js.map","sources":["DynamicConfig.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, isUndefined, objDefine, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR, STR_WARN_TO_CONSOLE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var _a;\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState[_DYN_NOTIFY /* @min:%2enotify */]();\r\n }\r\n function _setValue(target, name, value) {\r\n return _setDynamicProperty(theState, target, name, value)[name];\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler, allowUpdate) {\r\n theState.use(null, function (details) {\r\n var prevUpd = theState.upd;\r\n try {\r\n if (!isUndefined(allowUpdate)) {\r\n theState.upd = allowUpdate;\r\n }\r\n configHandler(details);\r\n }\r\n finally {\r\n theState.upd = prevUpd;\r\n }\r\n });\r\n }\r\n function _ref(target, name) {\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicProperty(theState, target, name, target[name], true)[name];\r\n }\r\n function _rdOnly(target, name) {\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicProperty(theState, target, name, target[name], false, true)[name];\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = (_a = {\r\n uid: null,\r\n cfg: newTarget\r\n },\r\n _a[_DYN_LOGGER /* @min:logger */] = logger,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.set = _setValue,\r\n _a[_DYN_SET_DF /* @min:setDf */] = _applyDefaults,\r\n _a[_DYN_WATCH /* @min:watch */] = _watch,\r\n _a.ref = _ref,\r\n _a[_DYN_RD_ONLY /* @min:rdOnly */] = _rdOnly,\r\n _a._block = _block,\r\n _a);\r\n objDefine(cfgHandler, \"uid\", {\r\n c: false,\r\n e: false,\r\n w: false,\r\n v: uid\r\n });\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget);\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n * @param message\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param config\r\n * @param configHandler\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.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"}
1
+ {"version":3,"file":"DynamicConfig.js.map","sources":["DynamicConfig.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, isUndefined, objDefine, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR, STR_WARN_TO_CONSOLE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var _a;\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState[_DYN_NOTIFY /* @min:%2enotify */]();\r\n }\r\n function _setValue(target, name, value) {\r\n return _setDynamicProperty(theState, target, name, value)[name];\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler, allowUpdate) {\r\n theState.use(null, function (details) {\r\n var prevUpd = theState.upd;\r\n try {\r\n if (!isUndefined(allowUpdate)) {\r\n theState.upd = allowUpdate;\r\n }\r\n configHandler(details);\r\n }\r\n finally {\r\n theState.upd = prevUpd;\r\n }\r\n });\r\n }\r\n function _ref(target, name) {\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicProperty(theState, target, name, target[name], true)[name];\r\n }\r\n function _rdOnly(target, name) {\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicProperty(theState, target, name, target[name], false, true)[name];\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = (_a = {\r\n uid: null,\r\n cfg: newTarget\r\n },\r\n _a[_DYN_LOGGER /* @min:logger */] = logger,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.set = _setValue,\r\n _a[_DYN_SET_DF /* @min:setDf */] = _applyDefaults,\r\n _a[_DYN_WATCH /* @min:watch */] = _watch,\r\n _a.ref = _ref,\r\n _a[_DYN_RD_ONLY /* @min:rdOnly */] = _rdOnly,\r\n _a._block = _block,\r\n _a);\r\n objDefine(cfgHandler, \"uid\", {\r\n c: false,\r\n e: false,\r\n w: false,\r\n v: uid\r\n });\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget);\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n * @param message\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param config\r\n * @param configHandler\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n return createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.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"}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
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.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript SDK - Core, 3.0.1-nightly3.2305-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -8,9 +8,11 @@
8
8
  var _a;
9
9
  import { __spreadArrayFn as __spreadArray } from "@microsoft/applicationinsights-shims";
10
10
  import dynamicProto from "@microsoft/dynamicproto-js";
11
+ import { createPromise } from "@nevware21/ts-async";
11
12
  import { arrAppend, arrForEach, arrIndexOf, createTimeout, deepExtend, hasDocument, isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, objDefine, objForEachKey, objFreeze, objHasOwn, scheduleTimeout, throwError } from "@nevware21/ts-utils";
12
13
  import { createDynamicConfig, onConfigChange } from "../Config/DynamicConfig";
13
- import { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_CREATE_NEW, _DYN_ENABLED, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_NOTIFY, _DYN_ON_COMPLETE, _DYN_POLL_INTERNAL_LOGS, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_VERSION, _DYN_WATCH } from "../__DynamicConstants";
14
+ import { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_CREATE_NEW, _DYN_ENABLED, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_NOTIFY, _DYN_ON_COMPLETE, _DYN_POLL_INTERNAL_LOGS, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_UNLOAD, _DYN_VERSION, _DYN_WATCH } from "../__DynamicConstants";
15
+ import { doUnloadAll, runTargetUnload } from "./AsyncUtils";
14
16
  import { ChannelControllerPriority } from "./Constants";
15
17
  import { createCookieMgr } from "./CookieMgr";
16
18
  import { createUniqueNamespace } from "./DataCacheHelper";
@@ -166,6 +168,7 @@ var AppInsightsCore = /** @class */ (function () {
166
168
  // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()
167
169
  var _configHandler;
168
170
  var _isInitialized;
171
+ var _logger;
169
172
  var _eventQueue;
170
173
  var _notificationManager;
171
174
  var _perfManager;
@@ -231,8 +234,7 @@ var AppInsightsCore = /** @class */ (function () {
231
234
  _notificationManager = notificationManager;
232
235
  _initDebugListener();
233
236
  _initPerfManager();
234
- _self[_DYN_LOGGER /* @min:%2elogger */] = logger || new DiagnosticLogger(config);
235
- _configHandler[_DYN_LOGGER /* @min:%2elogger */] = _self[_DYN_LOGGER /* @min:%2elogger */];
237
+ _self[_DYN_LOGGER /* @min:%2elogger */] = logger;
236
238
  var cfgExtensions = config[STR_EXTENSIONS /* @min:%2eextensions */];
237
239
  // Extension validation
238
240
  _configExtensions = [];
@@ -245,10 +247,10 @@ var AppInsightsCore = /** @class */ (function () {
245
247
  if (_channels[_DYN_LENGTH /* @min:%2elength */] > 1) {
246
248
  var teeController = _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]("TeeChannelController");
247
249
  if (!teeController || !teeController.plugin) {
248
- _throwInternal(_self[_DYN_LOGGER /* @min:%2elogger */], 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, "TeeChannel required");
250
+ _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, "TeeChannel required");
249
251
  }
250
252
  }
251
- _registerDelayedCfgListener(config, _cfgListeners, _self[_DYN_LOGGER /* @min:%2elogger */]);
253
+ _registerDelayedCfgListener(config, _cfgListeners, _logger);
252
254
  _cfgListeners = null;
253
255
  _isInitialized = true;
254
256
  _self.releaseQueue();
@@ -294,11 +296,9 @@ var AppInsightsCore = /** @class */ (function () {
294
296
  _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;
295
297
  _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {
296
298
  if (!_notificationManager) {
297
- _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {
298
- _notificationManager = new NotificationManager(details.cfg);
299
- // For backward compatibility only
300
- _self[strNotificationManager] = _notificationManager;
301
- }));
299
+ _notificationManager = new NotificationManager(_configHandler.cfg);
300
+ // For backward compatibility only
301
+ _self[strNotificationManager] = _notificationManager;
302
302
  }
303
303
  return _notificationManager;
304
304
  };
@@ -322,14 +322,15 @@ var AppInsightsCore = /** @class */ (function () {
322
322
  };
323
323
  _self.getCookieMgr = function () {
324
324
  if (!_cookieManager) {
325
- _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {
326
- _cookieManager = createCookieMgr(details.cfg, _self[_DYN_LOGGER /* @min:%2elogger */]);
327
- }));
325
+ _cookieManager = createCookieMgr(_configHandler.cfg, _self[_DYN_LOGGER /* @min:%2elogger */]);
328
326
  }
329
327
  return _cookieManager;
330
328
  };
331
329
  _self.setCookieMgr = function (cookieMgr) {
332
- _cookieManager = cookieMgr;
330
+ if (_cookieManager !== cookieMgr) {
331
+ runTargetUnload(_cookieManager, false);
332
+ _cookieManager = cookieMgr;
333
+ }
333
334
  };
334
335
  _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {
335
336
  if (!_perfManager && !_cfgPerfManager) {
@@ -367,7 +368,7 @@ var AppInsightsCore = /** @class */ (function () {
367
368
  };
368
369
  function _startLogPoller(alwaysStart) {
369
370
  if ((!_internalLogPoller || !_internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */]) && !_forceStopInternalLogPoller) {
370
- var shouldStart = alwaysStart || (_self.logger && _self.logger.queue[_DYN_LENGTH /* @min:%2elength */] > 0);
371
+ var shouldStart = alwaysStart || (_logger && _logger.queue[_DYN_LENGTH /* @min:%2elength */] > 0);
371
372
  if (shouldStart) {
372
373
  if (!_internalLogPollerListening) {
373
374
  _internalLogPollerListening = true;
@@ -403,7 +404,7 @@ var AppInsightsCore = /** @class */ (function () {
403
404
  };
404
405
  // Add addTelemetryInitializer
405
406
  proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, ["addTelemetryInitializer"]);
406
- _self.unload = function (isAsync, unloadComplete, cbTimeout) {
407
+ _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync, unloadComplete, cbTimeout) {
407
408
  var _a;
408
409
  if (isAsync === void 0) { isAsync = true; }
409
410
  if (!_isInitialized) {
@@ -421,11 +422,21 @@ var AppInsightsCore = /** @class */ (function () {
421
422
  _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,
422
423
  _a.flushComplete = false,
423
424
  _a);
425
+ var result;
426
+ if (isAsync && !unloadComplete) {
427
+ result = createPromise(function (resolve) {
428
+ // Set the callback to the promise resolve callback
429
+ unloadComplete = resolve;
430
+ });
431
+ }
424
432
  var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
425
433
  processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {
426
434
  _hookContainer.run(_self[_DYN_LOGGER /* @min:%2elogger */]);
427
- _initDefaults();
428
- unloadComplete && unloadComplete(unloadState);
435
+ // Run any "unload" functions for the _cookieManager, _notificationManager and _logger
436
+ doUnloadAll([_cookieManager, _notificationManager, _logger], isAsync, function () {
437
+ _initDefaults();
438
+ unloadComplete && unloadComplete(unloadState);
439
+ });
429
440
  }, _self);
430
441
  function _doUnload(flushComplete) {
431
442
  unloadState.flushComplete = flushComplete;
@@ -441,6 +452,7 @@ var AppInsightsCore = /** @class */ (function () {
441
452
  if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {
442
453
  _doUnload(false);
443
454
  }
455
+ return result;
444
456
  };
445
457
  _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;
446
458
  _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
@@ -618,6 +630,22 @@ var AppInsightsCore = /** @class */ (function () {
618
630
  return _pluginVersionString || STR_EMPTY;
619
631
  }
620
632
  });
633
+ objDefine(_self, "logger", {
634
+ g: function () {
635
+ if (!_logger) {
636
+ _logger = new DiagnosticLogger(_configHandler.cfg);
637
+ _configHandler[_DYN_LOGGER /* @min:%2elogger */] = _logger;
638
+ }
639
+ return _logger;
640
+ },
641
+ s: function (newLogger) {
642
+ _configHandler[_DYN_LOGGER /* @min:%2elogger */] = newLogger;
643
+ if (_logger !== newLogger) {
644
+ runTargetUnload(_logger, false);
645
+ _logger = newLogger;
646
+ }
647
+ }
648
+ });
621
649
  _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_configHandler.cfg);
622
650
  _extensions = [];
623
651
  var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];
@@ -625,9 +653,11 @@ var AppInsightsCore = /** @class */ (function () {
625
653
  arrAppend(cfgExtensions, _extensions);
626
654
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
627
655
  _eventQueue = [];
656
+ runTargetUnload(_notificationManager, false);
628
657
  _notificationManager = null;
629
658
  _perfManager = null;
630
659
  _cfgPerfManager = null;
660
+ runTargetUnload(_cookieManager, false);
631
661
  _cookieManager = null;
632
662
  _pluginChain = null;
633
663
  _configExtensions = [];
@@ -795,9 +825,9 @@ var AppInsightsCore = /** @class */ (function () {
795
825
  }
796
826
  }
797
827
  function _flushInternalLogs() {
798
- if (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue) {
799
- var queue = _self[_DYN_LOGGER /* @min:%2elogger */].queue.slice(0);
800
- _self.logger.queue[_DYN_LENGTH /* @min:%2elength */] = 0;
828
+ if (_logger && _logger.queue) {
829
+ var queue = _logger.queue.slice(0);
830
+ _logger.queue[_DYN_LENGTH /* @min:%2elength */] = 0;
801
831
  arrForEach(queue, function (logMessage) {
802
832
  var _a;
803
833
  var item = (_a = {},