@microsoft/applicationinsights-core-js 3.0.8 → 3.0.9

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 +179 -162
  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 +181 -164
  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 +181 -164
  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 +179 -162
  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 -1
  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 +59 -44
  32. package/dist-es5/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  33. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  34. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +3 -3
  35. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  36. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  37. package/dist-es5/JavaScriptSDK/CookieMgr.js +1 -1
  38. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  39. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +2 -2
  40. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  41. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  42. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  43. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  44. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  45. package/dist-es5/JavaScriptSDK/HelperFuncs.js +1 -1
  46. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  47. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  48. package/dist-es5/JavaScriptSDK/NotificationManager.js +38 -18
  49. package/dist-es5/JavaScriptSDK/NotificationManager.js.map +1 -1
  50. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  51. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  52. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  53. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  54. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  55. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  56. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +20 -1
  57. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js.map +1 -1
  58. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  59. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  60. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  91. package/dist-es5/__DynamicConstants.js +9 -9
  92. package/dist-es5/__DynamicConstants.js.map +1 -1
  93. package/dist-es5/applicationinsights-core-js.js +2 -2
  94. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  95. package/package.json +78 -75
  96. package/types/applicationinsights-core-js.d.ts +60 -2
  97. package/types/applicationinsights-core-js.namespaced.d.ts +1287 -104
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Application Insights JavaScript SDK - Core, 3.0.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -29,6 +29,7 @@ function _createAndUseHandler(state, configHandler) {
29
29
  configHandler = null;
30
30
  }
31
31
  };
32
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
32
33
  state.use(handler, configHandler);
33
34
  return handler;
34
35
  }
@@ -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 } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WARN_TO_CONSOLE, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty, _setDynamicPropertyState, _throwDynamicError } 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 try {\r\n target = _setDynamicProperty(theState, target, name, value);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError(logger, name, \"Setting value\", e);\r\n }\r\n return target[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 var _a;\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 /* _eSetDynamicPropertyFlags.inPlace */] = true, _a))[name];\r\n }\r\n function _rdOnly(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 /* _eSetDynamicPropertyFlags.readOnly */] = true, _a))[name];\r\n }\r\n function _blkPropValue(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */] = true, _a))[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[_DYN_BLK_VAL /* @min:blkVal */] = _blkPropValue,\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, \"config\", \"Creating\");\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[_DYN_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;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 } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WARN_TO_CONSOLE, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty, _setDynamicPropertyState, _throwDynamicError } 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 objDefine(handler, \"toJSON\", { v: function () { return \"WatcherHandler\" + (handler.fn ? \"\" : \"[X]\"); } });\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 try {\r\n target = _setDynamicProperty(theState, target, name, value);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError(logger, name, \"Setting value\", e);\r\n }\r\n return target[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 var _a;\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 /* _eSetDynamicPropertyFlags.inPlace */] = true, _a))[name];\r\n }\r\n function _rdOnly(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 /* _eSetDynamicPropertyFlags.readOnly */] = true, _a))[name];\r\n }\r\n function _blkPropValue(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */] = true, _a))[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[_DYN_BLK_VAL /* @min:blkVal */] = _blkPropValue,\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, \"config\", \"Creating\");\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[_DYN_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;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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
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.8
2
+ * Application Insights JavaScript SDK - Core, 3.0.9
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
 
@@ -11,7 +11,7 @@ import dynamicProto from "@microsoft/dynamicproto-js";
11
11
  import { createPromise } from "@nevware21/ts-async";
12
12
  import { arrAppend, arrForEach, arrIndexOf, createTimeout, deepExtend, hasDocument, isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, objDefine, objForEachKey, objFreeze, objHasOwn, scheduleTimeout, throwError } from "@nevware21/ts-utils";
13
13
  import { createDynamicConfig, onConfigChange } from "../Config/DynamicConfig";
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";
14
+ import { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_CREATE_NEW, _DYN_ENABLED, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT2, _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_0, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_UNLOAD, _DYN_VERSION, _DYN_WATCH } from "../__DynamicConstants";
15
15
  import { doUnloadAll, runTargetUnload } from "./AsyncUtils";
16
16
  import { ChannelControllerPriority } from "./Constants";
17
17
  import { createCookieMgr } from "./CookieMgr";
@@ -163,6 +163,31 @@ function _registerDelayedCfgListener(config, listeners, logger) {
163
163
  };
164
164
  });
165
165
  }
166
+ // Moved this outside of the closure to reduce the retained memory footprint
167
+ function _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {
168
+ // Will get recalled if any referenced config values are changed
169
+ unloadContainer.add(configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {
170
+ var disableDbgExt = details.cfg.disableDbgExt;
171
+ if (disableDbgExt === true && debugListener) {
172
+ // Remove any previously loaded debug listener
173
+ notificationManager[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */](debugListener);
174
+ debugListener = null;
175
+ }
176
+ if (notificationManager && !debugListener && disableDbgExt !== true) {
177
+ debugListener = getDebugListener(details.cfg);
178
+ notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](debugListener);
179
+ }
180
+ }));
181
+ return debugListener;
182
+ }
183
+ // Moved this outside of the closure to reduce the retained memory footprint
184
+ function _createUnloadHook(unloadHook) {
185
+ return objDefine({
186
+ rm: function () {
187
+ unloadHook.rm();
188
+ }
189
+ }, "toJSON", { v: function () { return "aicore::onCfgChange<" + JSON.stringify(unloadHook) + ">"; } });
190
+ }
166
191
  /**
167
192
  * @group Classes
168
193
  * @group Entrypoint
@@ -236,7 +261,8 @@ var AppInsightsCore = /** @class */ (function () {
236
261
  }
237
262
  }));
238
263
  _notificationManager = notificationManager;
239
- _initDebugListener();
264
+ // Initialize the debug listener outside of the closure to reduce the retained memory footprint
265
+ _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */](), _debugListener);
240
266
  _initPerfManager();
241
267
  _self[_DYN_LOGGER /* @min:%2elogger */] = logger;
242
268
  var cfgExtensions = config[STR_EXTENSIONS /* @min:%2eextensions */];
@@ -297,7 +323,7 @@ var AppInsightsCore = /** @class */ (function () {
297
323
  }
298
324
  }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
299
325
  };
300
- _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;
326
+ _self[_DYN_GET_PROCESS_TEL_CONT2 /* @min:%2egetProcessTelContext */] = _createTelCtx;
301
327
  _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {
302
328
  if (!_notificationManager) {
303
329
  _notificationManager = new NotificationManager(_configHandler.cfg);
@@ -313,15 +339,15 @@ var AppInsightsCore = /** @class */ (function () {
313
339
  * @param listener - An INotificationListener object.
314
340
  */
315
341
  _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {
316
- _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]()[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);
342
+ _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);
317
343
  };
318
344
  /**
319
345
  * Removes all instances of the listener.
320
346
  * @param listener - INotificationListener to remove.
321
347
  */
322
- _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {
348
+ _self[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */] = function (listener) {
323
349
  if (_notificationManager) {
324
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](listener);
350
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */](listener);
325
351
  }
326
352
  };
327
353
  _self.getCookieMgr = function () {
@@ -337,16 +363,6 @@ var AppInsightsCore = /** @class */ (function () {
337
363
  }
338
364
  };
339
365
  _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {
340
- if (!_perfManager && !_cfgPerfManager) {
341
- _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {
342
- if (details.cfg.enablePerfMgr) {
343
- var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */];
344
- if (isFunction(createPerfMgr)) {
345
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());
346
- }
347
- }
348
- }));
349
- }
350
366
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
351
367
  };
352
368
  _self.setPerfMgr = function (perfMgr) {
@@ -570,11 +586,7 @@ var AppInsightsCore = /** @class */ (function () {
570
586
  else {
571
587
  unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER /* @min:%2elogger */]);
572
588
  }
573
- return {
574
- rm: function () {
575
- unloadHook.rm();
576
- }
577
- };
589
+ return _createUnloadHook(unloadHook);
578
590
  };
579
591
  _self.getWParam = function () {
580
592
  return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;
@@ -677,6 +689,8 @@ var AppInsightsCore = /** @class */ (function () {
677
689
  _pluginVersionString = null;
678
690
  _pluginVersionStringArr = null;
679
691
  _forceStopInternalLogPoller = false;
692
+ _internalLogPoller = null;
693
+ _internalLogPollerListening = false;
680
694
  }
681
695
  function _createTelCtx() {
682
696
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -892,34 +906,35 @@ var AppInsightsCore = /** @class */ (function () {
892
906
  doCallback();
893
907
  return true;
894
908
  }
895
- function _initDebugListener() {
896
- // Lazily ensure that the notification manager is created
897
- !_notificationManager && _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();
898
- // Will get recalled if any referenced config values are changed
899
- _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {
900
- var disableDbgExt = details.cfg.disableDbgExt;
901
- if (disableDbgExt === true && _debugListener) {
902
- // Remove any previously loaded debug listener
903
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](_debugListener);
904
- _debugListener = null;
905
- }
906
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
907
- _debugListener = getDebugListener(details.cfg);
908
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](_debugListener);
909
- }
910
- }));
911
- }
912
909
  function _initPerfManager() {
910
+ // Save the previous config based performance manager creator to avoid creating new perf manager instances if unchanged
911
+ var prevCfgPerfMgr;
913
912
  // Will get recalled if any referenced config values are changed
914
913
  _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {
915
914
  var enablePerfMgr = details.cfg.enablePerfMgr;
916
- if (!enablePerfMgr && _cfgPerfManager) {
915
+ if (enablePerfMgr) {
916
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */];
917
+ if (prevCfgPerfMgr !== createPerfMgr) {
918
+ if (!createPerfMgr) {
919
+ createPerfMgr = _createPerfManager;
920
+ }
921
+ // Set the performance manager creation function if not defined
922
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);
923
+ prevCfgPerfMgr = createPerfMgr;
924
+ // Remove any existing config based performance manager
925
+ _cfgPerfManager = null;
926
+ }
927
+ // Only create the performance manager if it's not already created or manually set
928
+ if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {
929
+ // Create a new config based performance manager
930
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());
931
+ }
932
+ }
933
+ else {
917
934
  // Remove any existing config based performance manager
918
935
  _cfgPerfManager = null;
919
- }
920
- if (enablePerfMgr) {
921
- // Set the performance manager creation function if not defined
922
- getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
936
+ // Clear the previous cached value so it can be GC'd
937
+ prevCfgPerfMgr = null;
923
938
  }
924
939
  }));
925
940
  }