@microsoft/applicationinsights-core-js 3.0.0-beta.2303-06 → 3.0.0-beta.2303-09

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 (91) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +67 -76
  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 +112 -4
  7. package/dist/applicationinsights-core-js.api.md +7 -2
  8. package/dist/applicationinsights-core-js.d.ts +11 -3
  9. package/dist/applicationinsights-core-js.js +67 -76
  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 +11 -3
  14. package/dist-esm/Config/ConfigDefaultHelpers.js +1 -1
  15. package/dist-esm/Config/ConfigDefaults.js +1 -1
  16. package/dist-esm/Config/DynamicConfig.js +10 -10
  17. package/dist-esm/Config/DynamicConfig.js.map +1 -1
  18. package/dist-esm/Config/DynamicProperty.js +8 -11
  19. package/dist-esm/Config/DynamicProperty.js.map +1 -1
  20. package/dist-esm/Config/DynamicState.js +1 -1
  21. package/dist-esm/Config/DynamicSupport.js +1 -1
  22. package/dist-esm/Config/IConfigDefaults.js +1 -1
  23. package/dist-esm/Config/IDynamicConfigHandler.js +1 -1
  24. package/dist-esm/Config/IDynamicPropertyHandler.js +1 -1
  25. package/dist-esm/Config/IDynamicWatcher.js +1 -1
  26. package/dist-esm/Config/_IDynamicConfigHandlerState.js +1 -1
  27. package/dist-esm/JavaScriptSDK/AggregationError.js +1 -1
  28. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +42 -34
  29. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  30. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  31. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  32. package/dist-esm/JavaScriptSDK/CookieMgr.js +1 -1
  33. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  34. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +8 -28
  35. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  36. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  37. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +1 -1
  38. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -1
  39. package/dist-esm/JavaScriptSDK/EventHelpers.js +1 -1
  40. package/dist-esm/JavaScriptSDK/HelperFuncs.js +10 -12
  41. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  42. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  43. package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
  44. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  45. package/dist-esm/JavaScriptSDK/PerfManager.js +11 -9
  46. package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
  47. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  48. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  49. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
  50. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  51. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  52. package/dist-esm/JavaScriptSDK/UnloadHookContainer.js +1 -1
  53. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +1 -1
  54. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  55. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  56. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  57. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  58. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControlsHost.js +8 -0
  63. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControlsHost.js.map +1 -0
  64. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  70. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  71. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  72. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  73. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  75. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  76. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  84. package/dist-esm/__DynamicConstants.js +4 -6
  85. package/dist-esm/__DynamicConstants.js.map +1 -1
  86. package/dist-esm/applicationinsights-core-js.js +1 -1
  87. package/package.json +1 -1
  88. package/types/JavaScriptSDK.Interfaces/IChannelControlsHost.d.ts +9 -0
  89. package/types/JavaScriptSDK.Interfaces/IConfiguration.d.ts +2 -2
  90. package/types/__DynamicConstants.d.ts +0 -2
  91. package/types/applicationinsights-core-js.d.ts +1 -0
@@ -11613,6 +11613,114 @@
11613
11613
  }
11614
11614
  ]
11615
11615
  },
11616
+ {
11617
+ "kind": "Interface",
11618
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IChannelControlsHost:interface",
11619
+ "docComment": "",
11620
+ "excerptTokens": [
11621
+ {
11622
+ "kind": "Content",
11623
+ "text": "export interface IChannelControlsHost extends "
11624
+ },
11625
+ {
11626
+ "kind": "Reference",
11627
+ "text": "IChannelControls",
11628
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IChannelControls:interface"
11629
+ },
11630
+ {
11631
+ "kind": "Content",
11632
+ "text": " "
11633
+ }
11634
+ ],
11635
+ "fileUrlPath": "types/JavaScriptSDK.Interfaces/IChannelControlsHost.d.ts",
11636
+ "releaseTag": "Public",
11637
+ "name": "IChannelControlsHost",
11638
+ "preserveMemberOrder": false,
11639
+ "members": [
11640
+ {
11641
+ "kind": "MethodSignature",
11642
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IChannelControlsHost#getChannel:member(1)",
11643
+ "docComment": "/**\n * Get and return the named channel instance (if present) from the queues\n *\n * @param pluginIdentifier - The identifier name of the plugin\n */\n",
11644
+ "excerptTokens": [
11645
+ {
11646
+ "kind": "Content",
11647
+ "text": "getChannel<T extends "
11648
+ },
11649
+ {
11650
+ "kind": "Reference",
11651
+ "text": "IPlugin",
11652
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IPlugin:interface"
11653
+ },
11654
+ {
11655
+ "kind": "Content",
11656
+ "text": " = "
11657
+ },
11658
+ {
11659
+ "kind": "Reference",
11660
+ "text": "IPlugin",
11661
+ "canonicalReference": "@microsoft/applicationinsights-core-js!IPlugin:interface"
11662
+ },
11663
+ {
11664
+ "kind": "Content",
11665
+ "text": ">(pluginIdentifier: "
11666
+ },
11667
+ {
11668
+ "kind": "Content",
11669
+ "text": "string"
11670
+ },
11671
+ {
11672
+ "kind": "Content",
11673
+ "text": "): "
11674
+ },
11675
+ {
11676
+ "kind": "Content",
11677
+ "text": "T"
11678
+ },
11679
+ {
11680
+ "kind": "Content",
11681
+ "text": ";"
11682
+ }
11683
+ ],
11684
+ "isOptional": false,
11685
+ "returnTypeTokenRange": {
11686
+ "startIndex": 7,
11687
+ "endIndex": 8
11688
+ },
11689
+ "releaseTag": "Public",
11690
+ "overloadIndex": 1,
11691
+ "parameters": [
11692
+ {
11693
+ "parameterName": "pluginIdentifier",
11694
+ "parameterTypeTokenRange": {
11695
+ "startIndex": 5,
11696
+ "endIndex": 6
11697
+ },
11698
+ "isOptional": false
11699
+ }
11700
+ ],
11701
+ "typeParameters": [
11702
+ {
11703
+ "typeParameterName": "T",
11704
+ "constraintTokenRange": {
11705
+ "startIndex": 1,
11706
+ "endIndex": 2
11707
+ },
11708
+ "defaultTypeTokenRange": {
11709
+ "startIndex": 3,
11710
+ "endIndex": 4
11711
+ }
11712
+ }
11713
+ ],
11714
+ "name": "getChannel"
11715
+ }
11716
+ ],
11717
+ "extendsTokenRanges": [
11718
+ {
11719
+ "startIndex": 1,
11720
+ "endIndex": 2
11721
+ }
11722
+ ]
11723
+ },
11616
11724
  {
11617
11725
  "kind": "TypeAlias",
11618
11726
  "canonicalReference": "@microsoft/applicationinsights-core-js!IConfigCheckFn:type",
@@ -12098,7 +12206,7 @@
12098
12206
  "excerptTokens": [
12099
12207
  {
12100
12208
  "kind": "Content",
12101
- "text": "channels?: "
12209
+ "text": "readonly channels?: "
12102
12210
  },
12103
12211
  {
12104
12212
  "kind": "Reference",
@@ -12114,7 +12222,7 @@
12114
12222
  "text": ";"
12115
12223
  }
12116
12224
  ],
12117
- "isReadonly": false,
12225
+ "isReadonly": true,
12118
12226
  "isOptional": true,
12119
12227
  "releaseTag": "Public",
12120
12228
  "name": "channels",
@@ -12586,7 +12694,7 @@
12586
12694
  "excerptTokens": [
12587
12695
  {
12588
12696
  "kind": "Content",
12589
- "text": "extensions?: "
12697
+ "text": "readonly extensions?: "
12590
12698
  },
12591
12699
  {
12592
12700
  "kind": "Reference",
@@ -12602,7 +12710,7 @@
12602
12710
  "text": ";"
12603
12711
  }
12604
12712
  ],
12605
- "isReadonly": false,
12713
+ "isReadonly": true,
12606
12714
  "isOptional": true,
12607
12715
  "releaseTag": "Public",
12608
12716
  "name": "extensions",
@@ -602,6 +602,11 @@ export interface IChannelControls extends ITelemetryPlugin {
602
602
  teardown?: (unloadCtx?: IProcessTelemetryUnloadContext, unloadState?: ITelemetryUnloadState) => void | boolean;
603
603
  }
604
604
 
605
+ // @public (undocumented)
606
+ export interface IChannelControlsHost extends IChannelControls {
607
+ getChannel<T extends IPlugin = IPlugin>(pluginIdentifier: string): T;
608
+ }
609
+
605
610
  // @public
606
611
  export type IConfigCheckFn<V> = (value: V) => boolean;
607
612
 
@@ -627,7 +632,7 @@ export type IConfigSetFn<T, V> = (value: any, defValue: V, theConfig: T) => V;
627
632
 
628
633
  // @public
629
634
  export interface IConfiguration {
630
- channels?: IChannelControls[][];
635
+ readonly channels?: IChannelControls[][];
631
636
  connectionString?: string;
632
637
  cookieCfg?: ICookieMgrConfig;
633
638
  cookieDomain?: string;
@@ -646,7 +651,7 @@ export interface IConfiguration {
646
651
  extensionConfig?: {
647
652
  [key: string]: any;
648
653
  };
649
- extensions?: ITelemetryPlugin[];
654
+ readonly extensions?: ITelemetryPlugin[];
650
655
  idLength?: number;
651
656
  instrumentationKey?: string;
652
657
  loggingLevelConsole?: number;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2303-06
2
+ * Microsoft Application Insights Core Javascript SDK, 3.0.0-beta.2303-09
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -1128,6 +1128,14 @@ declare namespace ApplicationInsights {
1128
1128
  flush?(async: boolean, callBack?: (flushComplete?: boolean) => void, sendReason?: SendRequestReason): boolean | void;
1129
1129
  }
1130
1130
 
1131
+ interface IChannelControlsHost extends IChannelControls {
1132
+ /**
1133
+ * Get and return the named channel instance (if present) from the queues
1134
+ * @param pluginIdentifier - The identifier name of the plugin
1135
+ */
1136
+ getChannel<T extends IPlugin = IPlugin>(pluginIdentifier: string): T;
1137
+ }
1138
+
1131
1139
  /**
1132
1140
  * The type to identify whether the default value should be applied in preference to the provided value.
1133
1141
  */
@@ -1255,12 +1263,12 @@ declare namespace ApplicationInsights {
1255
1263
  /**
1256
1264
  * Additional plugins that should be loaded by core at runtime
1257
1265
  */
1258
- extensions?: ITelemetryPlugin[];
1266
+ readonly extensions?: ITelemetryPlugin[];
1259
1267
  /**
1260
1268
  * Channel queues that is setup by caller in desired order.
1261
1269
  * If channels are provided here, core will ignore any channels that are already setup, example if there is a SKU with an initialized channel
1262
1270
  */
1263
- channels?: IChannelControls[][];
1271
+ readonly channels?: IChannelControls[][];
1264
1272
  /**
1265
1273
  * @type {boolean}
1266
1274
  * Flag that disables the Instrumentation Key validation.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.0-beta.2303-06
2
+ * Application Insights JavaScript SDK - Core, 3.0.0-beta.2303-09
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -866,8 +866,6 @@
866
866
  var _DYN_SET_DF = "setDf";
867
867
  var _DYN_WATCH = "watch";
868
868
  var _DYN_LOGGER = "logger";
869
- var _DYN_CONFIGURABLE = "configurable";
870
- var _DYN_ENUMERABLE = "enumerable";
871
869
  var _DYN_APPLY = "apply";
872
870
  var _DYN_PUSH = "push";
873
871
  var _DYN_SPLICE = "splice";
@@ -939,7 +937,6 @@
939
937
  var ObjClass = Object;
940
938
  var ObjAssign = ObjClass["assign"];
941
939
  var ObjCreate = ObjClass["create"];
942
- var ObjDefineProperty = ObjClass["defineProperty"];
943
940
 
944
941
  var _cachedGlobal = null;
945
942
  function getGlobal(useCached) {
@@ -1403,13 +1400,14 @@
1403
1400
  if (objHasOwn(target, field)) {
1404
1401
  delete target[field];
1405
1402
  }
1406
- if (!objDefineAccessors(target, field, function () {
1407
- return source[field];
1408
- }, function (theValue) {
1409
- source[field] = theValue;
1410
- })) {
1411
- target[field] = value;
1412
- }
1403
+ objDefine(target, field, {
1404
+ g: function () {
1405
+ return source[field];
1406
+ },
1407
+ s: function (theValue) {
1408
+ source[field] = theValue;
1409
+ }
1410
+ });
1413
1411
  }
1414
1412
  }
1415
1413
  };
@@ -1769,27 +1767,9 @@
1769
1767
  return result;
1770
1768
  }
1771
1769
 
1772
- var _objDefineProperty = ObjDefineProperty;
1773
- var version = "3.0.0-beta.2303-06";
1770
+ var version = "3.0.0-beta.2303-09";
1774
1771
  var instanceName = "." + newId(6);
1775
1772
  var _dataUid = 0;
1776
- function _createAccessor(target, prop, value) {
1777
- var _a;
1778
- if (_objDefineProperty) {
1779
- try {
1780
- _objDefineProperty(target, prop, (_a = {
1781
- value: value
1782
- },
1783
- _a[_DYN_ENUMERABLE ] = false,
1784
- _a[_DYN_CONFIGURABLE ] = true,
1785
- _a));
1786
- return true;
1787
- }
1788
- catch (e) {
1789
- }
1790
- }
1791
- return false;
1792
- }
1793
1773
  function _canAcceptData(target) {
1794
1774
  return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1795
1775
  }
@@ -1799,9 +1779,10 @@
1799
1779
  theCache = {};
1800
1780
  try {
1801
1781
  if (_canAcceptData(target)) {
1802
- if (!_createAccessor(target, data.id, theCache)) {
1803
- target[data.id] = theCache;
1804
- }
1782
+ objDefine(target, data.id, {
1783
+ e: false,
1784
+ v: theCache
1785
+ });
1805
1786
  }
1806
1787
  }
1807
1788
  catch (e) {
@@ -2108,7 +2089,7 @@
2108
2089
  state.add(detail);
2109
2090
  }
2110
2091
  }
2111
- objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
2092
+ objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2112
2093
  return _getProperty();
2113
2094
  }
2114
2095
  function _setDynamicProperty(state, target, name, value, inPlace, rdOnly) {
@@ -2134,18 +2115,15 @@
2134
2115
  return value;
2135
2116
  }
2136
2117
  function _makeDynamicObject(state, target) {
2137
- var _a;
2138
2118
  objForEachKey(target, function (key, value) {
2139
2119
  _setDynamicProperty(state, target, key, value);
2140
2120
  });
2141
2121
  if (!target[CFG_HANDLER_LINK]) {
2142
- objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
2143
- _a[_DYN_CONFIGURABLE ] = false,
2144
- _a[_DYN_ENUMERABLE ] = false,
2145
- _a.get = function () {
2122
+ objDefineProp(target, CFG_HANDLER_LINK, {
2123
+ get: function () {
2146
2124
  return state.hdlr;
2147
- },
2148
- _a));
2125
+ }
2126
+ });
2149
2127
  _patchArray(state, target);
2150
2128
  }
2151
2129
  return target;
@@ -2283,7 +2261,7 @@
2283
2261
  return handler;
2284
2262
  }
2285
2263
  function _createDynamicHandler(logger, target, inPlace) {
2286
- var _a, _b;
2264
+ var _a;
2287
2265
  var dynamicHandler = getDynamicConfigHandler(target);
2288
2266
  if (dynamicHandler) {
2289
2267
  return dynamicHandler;
@@ -2330,12 +2308,12 @@
2330
2308
  _a[_DYN_RD_ONLY ] = _rdOnly,
2331
2309
  _a._block = _block,
2332
2310
  _a);
2333
- objDefineProp(cfgHandler, "uid", (_b = {},
2334
- _b[_DYN_CONFIGURABLE ] = false,
2335
- _b[_DYN_ENUMERABLE ] = false,
2336
- _b.writable = false,
2337
- _b.value = uid,
2338
- _b));
2311
+ objDefine(cfgHandler, "uid", {
2312
+ c: false,
2313
+ e: false,
2314
+ w: false,
2315
+ v: uid
2316
+ });
2339
2317
  theState = _createState(cfgHandler);
2340
2318
  _makeDynamicObject(theState, newTarget);
2341
2319
  return cfgHandler;
@@ -2996,12 +2974,14 @@
2996
2974
  _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
2997
2975
  if (isFunction(payloadDetails)) {
2998
2976
  var theDetails_1;
2999
- objDefineAccessors(_self, "payload", function () {
3000
- if (!theDetails_1 && isFunction(payloadDetails)) {
3001
- theDetails_1 = payloadDetails();
3002
- payloadDetails = null;
2977
+ objDefine(_self, "payload", {
2978
+ g: function () {
2979
+ if (!theDetails_1 && isFunction(payloadDetails)) {
2980
+ theDetails_1 = payloadDetails();
2981
+ payloadDetails = null;
2982
+ }
2983
+ return theDetails_1;
3003
2984
  }
3004
- return theDetails_1;
3005
2985
  });
3006
2986
  }
3007
2987
  _self[_DYN_GET_CTX ] = function (key) {
@@ -4001,9 +3981,9 @@
4001
3981
  var defaultConfig = objDeepFreeze((_a = {
4002
3982
  cookieCfg: {}
4003
3983
  },
4004
- _a[STR_EXTENSIONS] = [],
4005
- _a[STR_CHANNELS] = [],
4006
- _a[STR_EXTENSION_CONFIG] = {},
3984
+ _a[STR_EXTENSIONS] = { rdOnly: true, ref: true, v: [] },
3985
+ _a[STR_CHANNELS] = { rdOnly: true, ref: true, v: [] },
3986
+ _a[STR_EXTENSION_CONFIG] = { ref: true, v: {} },
4007
3987
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
4008
3988
  _a.loggingLevelConsole = 0 ,
4009
3989
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
@@ -4464,32 +4444,25 @@
4464
4444
  }
4465
4445
  }
4466
4446
  function _initDefaults() {
4467
- var _a, _b, _c;
4468
4447
  _isInitialized = false;
4469
4448
  _configHandler = createDynamicConfig({}, defaultConfig, _self[_DYN_LOGGER ]);
4470
4449
  _configHandler.cfg[_DYN_LOGGING_LEVEL_CONSOL4 ] = 1 ;
4471
- objDefineProp(_self, "config", (_a = {},
4472
- _a[_DYN_CONFIGURABLE ] = true,
4473
- _a[_DYN_ENUMERABLE ] = true,
4474
- _a.get = function () { return _configHandler.cfg; },
4475
- _a.set = function (newValue) {
4450
+ objDefine(_self, "config", {
4451
+ g: function () { return _configHandler.cfg; },
4452
+ s: function (newValue) {
4476
4453
  _self.updateCfg(newValue, false);
4477
- },
4478
- _a));
4479
- objDefineProp(_self, "pluginVersionStringArr", (_b = {},
4480
- _b[_DYN_CONFIGURABLE ] = true,
4481
- _b[_DYN_ENUMERABLE ] = true,
4482
- _b.get = function () {
4454
+ }
4455
+ });
4456
+ objDefine(_self, "pluginVersionStringArr", {
4457
+ g: function () {
4483
4458
  if (!_pluginVersionStringArr) {
4484
4459
  _setPluginVersions();
4485
4460
  }
4486
4461
  return _pluginVersionStringArr;
4487
- },
4488
- _b));
4489
- objDefineProp(_self, "pluginVersionString", (_c = {},
4490
- _c[_DYN_CONFIGURABLE ] = true,
4491
- _c[_DYN_ENUMERABLE ] = true,
4492
- _c.get = function () {
4462
+ }
4463
+ });
4464
+ objDefine(_self, "pluginVersionString", {
4465
+ g: function () {
4493
4466
  if (!_pluginVersionString) {
4494
4467
  if (!_pluginVersionStringArr) {
4495
4468
  _setPluginVersions();
@@ -4497,10 +4470,13 @@
4497
4470
  _pluginVersionString = _pluginVersionStringArr.join(";");
4498
4471
  }
4499
4472
  return _pluginVersionString || STR_EMPTY;
4500
- },
4501
- _c));
4473
+ }
4474
+ });
4502
4475
  _self[_DYN_LOGGER ] = new DiagnosticLogger(_configHandler.cfg);
4503
4476
  _extensions = [];
4477
+ var cfgExtensions = _self.config[STR_EXTENSIONS ] || [];
4478
+ cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH ]);
4479
+ arrAppend(cfgExtensions, _extensions);
4504
4480
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
4505
4481
  _eventQueue = [];
4506
4482
  _notificationManager = null;
@@ -4534,6 +4510,9 @@
4534
4510
  _channels = sortPlugins(arrAppend(_channels, theExtensions[STR_CHANNELS ]));
4535
4511
  var allExtensions = arrAppend(sortPlugins(theExtensions[STR_CORE ]), _channels);
4536
4512
  _extensions = objFreeze(allExtensions);
4513
+ var cfgExtensions = _self.config[STR_EXTENSIONS ] || [];
4514
+ cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH ]);
4515
+ arrAppend(cfgExtensions, _extensions);
4537
4516
  var rootCtx = _createTelCtx();
4538
4517
  if (_channels && _channels[_DYN_LENGTH ] > 0) {
4539
4518
  initializePlugins(rootCtx[_DYN_CREATE_NEW ](_channels), allExtensions);
@@ -4546,12 +4525,24 @@
4546
4525
  function _getPlugin(pluginIdentifier) {
4547
4526
  var theExt = null;
4548
4527
  var thePlugin = null;
4528
+ var channelHosts = [];
4549
4529
  arrForEach(_extensions, function (ext) {
4550
4530
  if (ext[_DYN_IDENTIFIER ] === pluginIdentifier && ext !== _telemetryInitializerPlugin) {
4551
4531
  thePlugin = ext;
4552
4532
  return -1;
4553
4533
  }
4534
+ if (ext.getChannel) {
4535
+ channelHosts[_DYN_PUSH ](ext);
4536
+ }
4554
4537
  });
4538
+ if (!thePlugin && channelHosts[_DYN_LENGTH ] > 0) {
4539
+ arrForEach(channelHosts, function (host) {
4540
+ thePlugin = host.getChannel(pluginIdentifier);
4541
+ if (!thePlugin) {
4542
+ return -1;
4543
+ }
4544
+ });
4545
+ }
4555
4546
  if (thePlugin) {
4556
4547
  theExt = {
4557
4548
  plugin: thePlugin,