@microsoft/applicationinsights-core-js 2.8.0-beta.2203-04 → 2.8.0-beta.2203-07

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 (102) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +147 -33
  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 +1832 -94
  7. package/dist/applicationinsights-core-js.api.md +70 -12
  8. package/dist/applicationinsights-core-js.d.ts +167 -11
  9. package/dist/applicationinsights-core-js.js +147 -33
  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 +170 -14
  14. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +1 -1
  15. package/dist-esm/JavaScriptSDK/BaseCore.js +41 -17
  16. package/dist-esm/JavaScriptSDK/BaseCore.js.map +1 -1
  17. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +31 -3
  18. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  19. package/dist-esm/JavaScriptSDK/ChannelController.js +15 -2
  20. package/dist-esm/JavaScriptSDK/ChannelController.js.map +1 -1
  21. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  22. package/dist-esm/JavaScriptSDK/CookieMgr.js +3 -2
  23. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  24. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  25. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +1 -1
  26. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  27. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +14 -1
  28. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  29. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -1
  30. package/dist-esm/JavaScriptSDK/EventHelpers.js +18 -13
  31. package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
  32. package/dist-esm/JavaScriptSDK/HelperFuncs.js +2 -12
  33. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  34. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  35. package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
  36. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  37. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  38. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +56 -5
  39. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  40. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  41. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
  42. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +3 -2
  43. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +1 -1
  44. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +3 -2
  45. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js.map +1 -1
  46. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  47. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  48. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  49. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  50. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +8 -0
  51. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js.map +1 -0
  52. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  53. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  54. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  55. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  56. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  57. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  58. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +8 -0
  70. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js.map +1 -0
  71. package/dist-esm/applicationinsights-core-js.js +3 -3
  72. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  73. package/package.json +1 -1
  74. package/src/JavaScriptSDK/BaseCore.ts +82 -17
  75. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +55 -3
  76. package/src/JavaScriptSDK/ChannelController.ts +20 -1
  77. package/src/JavaScriptSDK/CookieMgr.ts +3 -1
  78. package/src/JavaScriptSDK/DiagnosticLogger.ts +14 -0
  79. package/src/JavaScriptSDK/EventHelpers.ts +18 -12
  80. package/src/JavaScriptSDK/HelperFuncs.ts +3 -1
  81. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +71 -8
  82. package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +3 -1
  83. package/src/JavaScriptSDK/UnloadHandlerContainer.ts +3 -1
  84. package/src/JavaScriptSDK.Enums/TelemetryUpdateReason.ts +27 -0
  85. package/src/JavaScriptSDK.Interfaces/IAppInsightsCore.ts +22 -5
  86. package/src/JavaScriptSDK.Interfaces/IInstrumentHooks.ts +11 -6
  87. package/src/JavaScriptSDK.Interfaces/IProcessTelemetryContext.ts +25 -2
  88. package/src/JavaScriptSDK.Interfaces/ITelemetryPlugin.ts +12 -1
  89. package/src/JavaScriptSDK.Interfaces/ITelemetryUpdateState.ts +34 -0
  90. package/types/JavaScriptSDK/BaseCore.d.ts +32 -3
  91. package/types/JavaScriptSDK/BaseTelemetryPlugin.d.ts +17 -1
  92. package/types/JavaScriptSDK/DiagnosticLogger.d.ts +10 -0
  93. package/types/JavaScriptSDK/EventHelpers.d.ts +4 -2
  94. package/types/JavaScriptSDK/HelperFuncs.d.ts +2 -1
  95. package/types/JavaScriptSDK/ProcessTelemetryContext.d.ts +9 -1
  96. package/types/JavaScriptSDK.Enums/TelemetryUpdateReason.d.ts +20 -0
  97. package/types/JavaScriptSDK.Interfaces/IAppInsightsCore.d.ts +20 -4
  98. package/types/JavaScriptSDK.Interfaces/IInstrumentHooks.d.ts +5 -0
  99. package/types/JavaScriptSDK.Interfaces/IProcessTelemetryContext.d.ts +23 -2
  100. package/types/JavaScriptSDK.Interfaces/ITelemetryPlugin.d.ts +11 -1
  101. package/types/JavaScriptSDK.Interfaces/ITelemetryUpdateState.d.ts +22 -0
  102. package/types/applicationinsights-core-js.d.ts +6 -3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 2.8.0-beta.2203-04
2
+ * Application Insights JavaScript SDK - Core, 2.8.0-beta.2203-07
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -347,6 +347,7 @@
347
347
  var strIsInitialized = "isInitialized";
348
348
  var strTeardown = "teardown";
349
349
  var strCore = "core";
350
+ var strUpdate = "update";
350
351
  var strDisabled = "disabled";
351
352
  var strDoTeardown = "_doTeardown";
352
353
  var strProcessNext = "processNext";
@@ -845,7 +846,7 @@
845
846
  }
846
847
  return theObject;
847
848
  }
848
- function objExtend(obj, obj2, obj3, obj4, obj5, obj6) {
849
+ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
849
850
  var theArgs = arguments;
850
851
  var extended = theArgs[0] || {};
851
852
  var argLen = theArgs.length;
@@ -1303,6 +1304,10 @@
1303
1304
  }
1304
1305
  return DiagnosticLogger;
1305
1306
  }());
1307
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1308
+ if (isUserAct === void 0) { isUserAct = false; }
1309
+ (logger || new DiagnosticLogger()).throwInternal(severity, msgId, msg, properties, isUserAct);
1310
+ }
1306
1311
 
1307
1312
  var strExecutionContextKey = "ctx";
1308
1313
  var _defaultPerfManager = null;
@@ -1730,7 +1735,7 @@
1730
1735
  completeDetails.func.call(completeDetails.self, completeDetails.args);
1731
1736
  }
1732
1737
  catch (e) {
1733
- core.logger.throwInternal(2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
1738
+ _throwInternal(core.logger, 2 , 73 , "Unexpected Exception during onComplete - " + dumpObj(e));
1734
1739
  }
1735
1740
  });
1736
1741
  _onComplete = [];
@@ -1829,6 +1834,27 @@
1829
1834
  context.createNew = _createNew;
1830
1835
  return context;
1831
1836
  }
1837
+ function createProcessTelemetryUpdateContext(telemetryChain, config, core, startAt) {
1838
+ var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1839
+ var context = internalContext.ctx;
1840
+ function _processNext(updateState) {
1841
+ return context.iterate(function (plugin) {
1842
+ if (isFunction(plugin[strUpdate])) {
1843
+ plugin[strUpdate](context, updateState);
1844
+ }
1845
+ });
1846
+ }
1847
+ function _createNew(plugins, startAt) {
1848
+ if (plugins === void 0) { plugins = null; }
1849
+ if (isArray(plugins)) {
1850
+ plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1851
+ }
1852
+ return createProcessTelemetryUpdateContext(plugins || context.getNext(), config, core, startAt);
1853
+ }
1854
+ context.processNext = _processNext;
1855
+ context.createNew = _createNew;
1856
+ return context;
1857
+ }
1832
1858
  function createTelemetryProxyChain(plugins, config, core, startAt) {
1833
1859
  var firstProxy = null;
1834
1860
  var add = startAt ? false : true;
@@ -1875,6 +1901,7 @@
1875
1901
  },
1876
1902
  processTelemetry: _processTelemetry,
1877
1903
  unload: _unloadPlugin,
1904
+ update: _updatePlugin,
1878
1905
  _id: chainId,
1879
1906
  _setNext: function (nextPlugin) {
1880
1907
  nextProxy = nextPlugin;
@@ -1914,7 +1941,7 @@
1914
1941
  hasRun = true;
1915
1942
  }
1916
1943
  if (!nextProxy || !hasNextRun) {
1917
- itemCtx.diagLog().throwInternal(1 , 73 , "Plugin [" + plugin.identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
1944
+ _throwInternal(itemCtx.diagLog(), 1 , 73 , "Plugin [" + plugin.identifier + "] failed during " + name + " - " + dumpObj(error) + ", run flags: " + dumpObj(hasRunContext));
1918
1945
  }
1919
1946
  }
1920
1947
  }, details, isAsync);
@@ -1962,6 +1989,24 @@
1962
1989
  unloadCtx.processNext(unloadState);
1963
1990
  }
1964
1991
  }
1992
+ function _updatePlugin(updateCtx, updateState) {
1993
+ function _callUpdate() {
1994
+ var hasRun = false;
1995
+ if (plugin) {
1996
+ var pluginState = _getPluginState(plugin);
1997
+ var pluginCore = plugin[strCore] || pluginState.core;
1998
+ if (plugin && (!pluginCore || pluginCore === updateCtx[strCore]()) && !pluginState[strTeardown]) {
1999
+ if (plugin[strUpdate] && plugin[strUpdate](updateCtx, updateState) === true) {
2000
+ hasRun = true;
2001
+ }
2002
+ }
2003
+ }
2004
+ return hasRun;
2005
+ }
2006
+ if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
2007
+ updateCtx.processNext(updateState);
2008
+ }
2009
+ }
1965
2010
  return objFreeze(proxyChain);
1966
2011
  }
1967
2012
  var ProcessTelemetryContext = /** @class */ (function () {
@@ -2139,7 +2184,7 @@
2139
2184
  _supportsCookies = doc[strCookie] !== undefined;
2140
2185
  }
2141
2186
  catch (e) {
2142
- logger && logger.throwInternal(2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
2187
+ _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
2143
2188
  }
2144
2189
  }
2145
2190
  return _supportsCookies;
@@ -2268,6 +2313,17 @@
2268
2313
  }
2269
2314
  _runChainOnComplete();
2270
2315
  }
2316
+ function _doUpdate(updateCtx, updateState) {
2317
+ var theUpdateState = updateState || {
2318
+ reason: 0
2319
+ };
2320
+ _processChannelQueue(channelQueue, updateCtx, function (chainCtx) {
2321
+ chainCtx[strProcessNext](theUpdateState);
2322
+ }, function () {
2323
+ updateCtx[strProcessNext](theUpdateState);
2324
+ });
2325
+ return true;
2326
+ }
2271
2327
  function _doTeardown(unloadCtx, unloadState) {
2272
2328
  var theUnloadState = unloadState || {
2273
2329
  reason: 0 ,
@@ -2319,7 +2375,8 @@
2319
2375
  }, function () {
2320
2376
  itemCtx[strProcessNext](item);
2321
2377
  });
2322
- }
2378
+ },
2379
+ update: _doUpdate
2323
2380
  },
2324
2381
  _a[strPause] = function () {
2325
2382
  _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {
@@ -2380,6 +2437,7 @@
2380
2437
  doneIterating = true;
2381
2438
  doCallback();
2382
2439
  });
2440
+ return true;
2383
2441
  },
2384
2442
  _a._setQueue = function (queue) {
2385
2443
  channelQueue = queue;
@@ -2417,7 +2475,7 @@
2417
2475
  handler(unloadCtx, unloadState);
2418
2476
  }
2419
2477
  catch (e) {
2420
- unloadCtx.diagLog().throwInternal(2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
2478
+ _throwInternal(unloadCtx.diagLog(), 2 , 73 , "Unexpected error calling unload handler - " + dumpObj(e));
2421
2479
  }
2422
2480
  });
2423
2481
  handlers = [];
@@ -2476,6 +2534,30 @@
2476
2534
  }
2477
2535
  return result;
2478
2536
  };
2537
+ _self.update = function (updateCtx, updateState) {
2538
+ if (!_self.core || (updateCtx && _self.core !== updateCtx.core())) {
2539
+ return;
2540
+ }
2541
+ var result;
2542
+ var updateDone = false;
2543
+ var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, {}, _self.core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);
2544
+ var theUpdateState = updateState || {
2545
+ reason: 0
2546
+ };
2547
+ function _updateCallback() {
2548
+ if (!updateDone) {
2549
+ updateDone = true;
2550
+ _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx.getNext());
2551
+ }
2552
+ }
2553
+ if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {
2554
+ _updateCallback();
2555
+ }
2556
+ else {
2557
+ result = true;
2558
+ }
2559
+ return result;
2560
+ };
2479
2561
  _self._addHook = function (hooks) {
2480
2562
  if (hooks) {
2481
2563
  if (isArray(hooks)) {
@@ -2590,7 +2672,7 @@
2590
2672
  }
2591
2673
  }
2592
2674
  catch (e) {
2593
- itemCtx.diagLog().throwInternal(1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
2675
+ _throwInternal(itemCtx.diagLog(), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
2594
2676
  }
2595
2677
  }
2596
2678
  }
@@ -2711,8 +2793,8 @@
2711
2793
  _configExtensions = [];
2712
2794
  _configExtensions.push.apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), config.extensions));
2713
2795
  _channelConfig = (config || {}).channels;
2714
- _initPluginChain(config);
2715
- if (_self.getTransmissionControls().length === 0) {
2796
+ _initPluginChain(config, null);
2797
+ if (!_channelQueue || _channelQueue.length === 0) {
2716
2798
  throwError("No channels available");
2717
2799
  }
2718
2800
  _isInitialized = true;
@@ -2833,16 +2915,12 @@
2833
2915
  _self.stopPollingInternalLogs();
2834
2916
  processUnloadCtx.processNext(unloadState);
2835
2917
  }
2836
- if (_channelControl) {
2837
- _channelControl.flush(isAsync, _doUnload, 6 , cbTimeout);
2838
- }
2839
- else {
2840
- _doUnload(true);
2918
+ if (!_flushChannels(isAsync, _doUnload, 6 , cbTimeout)) {
2919
+ _doUnload(false);
2841
2920
  }
2842
2921
  };
2843
2922
  _self.getPlugin = _getPlugin;
2844
2923
  _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
2845
- if (isAsync === void 0) { isAsync = true; }
2846
2924
  if (!plugin) {
2847
2925
  addCb && addCb(false);
2848
2926
  _logOrThrowError(strValidationError);
@@ -2854,22 +2932,28 @@
2854
2932
  _logOrThrowError("Plugin [" + plugin.identifier + "] is already loaded!");
2855
2933
  return;
2856
2934
  }
2935
+ var updateState = {
2936
+ reason: 16
2937
+ };
2857
2938
  function _addPlugin(removed) {
2858
2939
  _configExtensions.push(plugin);
2859
- _initPluginChain(_self.config);
2940
+ updateState.added = [plugin];
2941
+ _initPluginChain(_self.config, updateState);
2860
2942
  addCb && addCb(true);
2861
2943
  }
2862
2944
  if (existingPlugin) {
2863
- var removedPlugins = [existingPlugin.plugin];
2945
+ var removedPlugins_1 = [existingPlugin.plugin];
2864
2946
  var unloadState = {
2865
2947
  reason: 2 ,
2866
2948
  isAsync: isAsync
2867
2949
  };
2868
- _removePlugins(removedPlugins, unloadState, function (removed) {
2950
+ _removePlugins(removedPlugins_1, unloadState, function (removed) {
2869
2951
  if (!removed) {
2870
2952
  addCb && addCb(false);
2871
2953
  }
2872
2954
  else {
2955
+ updateState.removed = removedPlugins_1;
2956
+ updateState.reason |= 32 ;
2873
2957
  _addPlugin();
2874
2958
  }
2875
2959
  });
@@ -2881,6 +2965,7 @@
2881
2965
  _self.evtNamespace = function () {
2882
2966
  return _evtNamespace;
2883
2967
  };
2968
+ _self.flush = _flushChannels;
2884
2969
  proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
2885
2970
  function _initDefaults() {
2886
2971
  _isInitialized = false;
@@ -2907,7 +2992,7 @@
2907
2992
  function _createTelCtx() {
2908
2993
  return createProcessTelemetryContext(_getPluginChain(), _self.config, _self);
2909
2994
  }
2910
- function _initPluginChain(config) {
2995
+ function _initPluginChain(config, updateState) {
2911
2996
  var theExtensions = _validateExtensions(_self.logger, ChannelControllerPriority, _configExtensions);
2912
2997
  _coreExtensions = theExtensions.core;
2913
2998
  _pluginChain = null;
@@ -2933,6 +3018,9 @@
2933
3018
  _channelControl.initialize(config, _self, allExtensions);
2934
3019
  initializePlugins(_createTelCtx(), allExtensions);
2935
3020
  _self._extensions = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3021
+ if (updateState) {
3022
+ _doUpdate(updateState);
3023
+ }
2936
3024
  }
2937
3025
  function _getPlugin(pluginIdentifier) {
2938
3026
  var theExt = null;
@@ -2965,7 +3053,10 @@
2965
3053
  };
2966
3054
  _removePlugins(pluginsToRemove, unloadState, function (removed) {
2967
3055
  if (removed) {
2968
- _initPluginChain(_self.config);
3056
+ _initPluginChain(_self.config, {
3057
+ reason: 32 ,
3058
+ removed: pluginsToRemove
3059
+ });
2969
3060
  }
2970
3061
  removeCb && removeCb(removed);
2971
3062
  });
@@ -3040,6 +3131,13 @@
3040
3131
  queue.length = 0;
3041
3132
  }
3042
3133
  }
3134
+ function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {
3135
+ if (_channelControl) {
3136
+ return _channelControl.flush(isAsync, callBack, sendReason || 6 , cbTimeout);
3137
+ }
3138
+ callBack && callBack(false);
3139
+ return true;
3140
+ }
3043
3141
  function _initDebugListener(config) {
3044
3142
  if (config.disableDbgExt === true && _debugListener) {
3045
3143
  _notificationManager[strRemoveNotificationListener](_debugListener);
@@ -3062,10 +3160,16 @@
3062
3160
  var extConfig = getSetValue(config, strExtensionConfig);
3063
3161
  extConfig.NotificationManager = _notificationManager;
3064
3162
  }
3163
+ function _doUpdate(updateState) {
3164
+ var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self.config, _self);
3165
+ if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {
3166
+ updateCtx.processNext(updateState);
3167
+ }
3168
+ }
3065
3169
  function _logOrThrowError(message) {
3066
3170
  var logger = _self.logger;
3067
3171
  if (logger) {
3068
- logger.throwInternal(2 , 73 , message);
3172
+ _throwInternal(logger, 2 , 73 , message);
3069
3173
  }
3070
3174
  else {
3071
3175
  throwError(message);
@@ -3199,12 +3303,12 @@
3199
3303
  }
3200
3304
  return name;
3201
3305
  }
3202
- function _getEvtNamespace(eventName, namespaces) {
3203
- if (namespaces) {
3306
+ function _getEvtNamespace(eventName, evtNamespace) {
3307
+ if (evtNamespace) {
3204
3308
  var theNamespace_1 = "";
3205
- if (isArray(namespaces)) {
3309
+ if (isArray(evtNamespace)) {
3206
3310
  theNamespace_1 = "";
3207
- arrForEach(namespaces, function (name) {
3311
+ arrForEach(evtNamespace, function (name) {
3208
3312
  name = _normalizeNamespace(name);
3209
3313
  if (name) {
3210
3314
  if (name[0] !== ".") {
@@ -3215,7 +3319,7 @@
3215
3319
  });
3216
3320
  }
3217
3321
  else {
3218
- theNamespace_1 = _normalizeNamespace(namespaces);
3322
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
3219
3323
  }
3220
3324
  if (theNamespace_1) {
3221
3325
  if (theNamespace_1[0] !== ".") {
@@ -3230,16 +3334,19 @@
3230
3334
  ns: ((parsedEvent[2] || "").split(".").sort()).join(".")
3231
3335
  };
3232
3336
  }
3233
- function __getRegisteredEvents(target, evtName) {
3337
+ function __getRegisteredEvents(target, eventName, evtNamespace) {
3234
3338
  var theEvents = [];
3235
3339
  var eventCache = elmNodeData.get(target, strEvents, {}, false);
3340
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
3236
3341
  objForEachKey(eventCache, function (evtType, registeredEvents) {
3237
3342
  arrForEach(registeredEvents, function (value) {
3238
- if (!evtName || evtName === value.evtName.type) {
3239
- theEvents.push({
3240
- name: value.evtName.type + (value.evtName.ns ? "." + value.evtName.ns : ""),
3241
- handler: value.handler
3242
- });
3343
+ if (!evtName.type || evtName.type === value.evtName.type) {
3344
+ if (!evtName.ns || evtName.ns === evtName.ns) {
3345
+ theEvents.push({
3346
+ name: value.evtName.type + (value.evtName.ns ? "." + value.evtName.ns : ""),
3347
+ handler: value.handler
3348
+ });
3349
+ }
3243
3350
  }
3244
3351
  });
3245
3352
  });
@@ -3471,6 +3578,11 @@
3471
3578
  }
3472
3579
  return pageShowAdded;
3473
3580
  }
3581
+ function removePageShowEventListener(listener, evtNamespace) {
3582
+ var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);
3583
+ removeEventListeners([strPageShow], listener, newNamespaces);
3584
+ removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3585
+ }
3474
3586
 
3475
3587
  var _cookieMgrs = null;
3476
3588
  var _canUseCookies;
@@ -3868,6 +3980,7 @@
3868
3980
  exports._InternalMessageId = _InternalMessageId;
3869
3981
  exports.__getRegisteredEvents = __getRegisteredEvents;
3870
3982
  exports._legacyCookieMgr = _legacyCookieMgr;
3983
+ exports._throwInternal = _throwInternal;
3871
3984
  exports.addEventHandler = addEventHandler;
3872
3985
  exports.addEventListeners = addEventListeners;
3873
3986
  exports.addPageHideEventListener = addPageHideEventListener;
@@ -3966,6 +4079,7 @@
3966
4079
  exports.removeEventHandler = removeEventHandler;
3967
4080
  exports.removeEventListeners = removeEventListeners;
3968
4081
  exports.removePageHideEventListener = removePageHideEventListener;
4082
+ exports.removePageShowEventListener = removePageShowEventListener;
3969
4083
  exports.removePageUnloadEventListener = removePageUnloadEventListener;
3970
4084
  exports.safeGetCookieMgr = safeGetCookieMgr;
3971
4085
  exports.safeGetLogger = safeGetLogger;