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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +1249 -675
  3. package/browser/applicationinsights-core-js.js.map +1 -1
  4. package/browser/applicationinsights-core-js.min.js +2 -2
  5. package/browser/applicationinsights-core-js.min.js.map +1 -1
  6. package/dist/applicationinsights-core-js.api.json +3669 -1713
  7. package/dist/applicationinsights-core-js.api.md +131 -54
  8. package/dist/applicationinsights-core-js.d.ts +332 -131
  9. package/dist/applicationinsights-core-js.js +1249 -675
  10. package/dist/applicationinsights-core-js.js.map +1 -1
  11. package/dist/applicationinsights-core-js.min.js +2 -2
  12. package/dist/applicationinsights-core-js.min.js.map +1 -1
  13. package/dist/applicationinsights-core-js.rollup.d.ts +332 -131
  14. package/dist-esm/Config/ConfigDefaults.js +114 -0
  15. package/dist-esm/Config/ConfigDefaults.js.map +1 -0
  16. package/dist-esm/Config/DynamicConfig.js +129 -0
  17. package/dist-esm/Config/DynamicConfig.js.map +1 -0
  18. package/dist-esm/Config/DynamicProperty.js +139 -0
  19. package/dist-esm/Config/DynamicProperty.js.map +1 -0
  20. package/dist-esm/Config/DynamicState.js +109 -0
  21. package/dist-esm/Config/DynamicState.js.map +1 -0
  22. package/dist-esm/Config/DynamicSupport.js +57 -0
  23. package/dist-esm/Config/DynamicSupport.js.map +1 -0
  24. package/dist-esm/Config/IConfigDefaults.js +8 -0
  25. package/dist-esm/Config/IConfigDefaults.js.map +1 -0
  26. package/dist-esm/Config/IDynamicConfigHandler.js +8 -0
  27. package/dist-esm/Config/IDynamicConfigHandler.js.map +1 -0
  28. package/dist-esm/Config/IDynamicPropertyHandler.js +8 -0
  29. package/dist-esm/Config/IDynamicPropertyHandler.js.map +1 -0
  30. package/dist-esm/Config/IDynamicWatcher.js +8 -0
  31. package/dist-esm/Config/IDynamicWatcher.js.map +1 -0
  32. package/dist-esm/Config/_IDynamicConfigHandlerState.js +6 -0
  33. package/dist-esm/Config/_IDynamicConfigHandlerState.js.map +1 -0
  34. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +808 -23
  35. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  36. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +22 -18
  37. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js.map +1 -1
  38. package/dist-esm/JavaScriptSDK/ChannelController.js +1 -1
  39. package/dist-esm/JavaScriptSDK/CookieMgr.js +78 -38
  40. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/CoreUtils.js +6 -5
  42. package/dist-esm/JavaScriptSDK/CoreUtils.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +10 -8
  44. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  45. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  46. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +40 -23
  47. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js.map +1 -1
  48. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -115
  49. package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
  50. package/dist-esm/JavaScriptSDK/EventHelpers.js +30 -29
  51. package/dist-esm/JavaScriptSDK/EventHelpers.js.map +1 -1
  52. package/dist-esm/JavaScriptSDK/HelperFuncs.js +19 -34
  53. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  54. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  55. package/dist-esm/JavaScriptSDK/InternalConstants.js +5 -1
  56. package/dist-esm/JavaScriptSDK/InternalConstants.js.map +1 -1
  57. package/dist-esm/JavaScriptSDK/NotificationManager.js +18 -11
  58. package/dist-esm/JavaScriptSDK/NotificationManager.js.map +1 -1
  59. package/dist-esm/JavaScriptSDK/PerfManager.js +2 -3
  60. package/dist-esm/JavaScriptSDK/PerfManager.js.map +1 -1
  61. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +62 -53
  62. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js.map +1 -1
  63. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  64. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +8 -10
  65. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js.map +1 -1
  66. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +3 -4
  67. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js.map +1 -1
  68. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  69. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +12 -10
  70. package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  71. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -2
  72. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js.map +1 -1
  73. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +2 -107
  75. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js.map +1 -1
  76. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  84. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  85. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  86. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  87. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  88. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  89. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  90. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  91. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  92. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  93. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  94. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  95. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  96. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  97. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  98. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  99. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +8 -0
  100. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js.map +1 -0
  101. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +3 -1
  102. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js.map +1 -1
  103. package/dist-esm/__DynamicConstants.js +26 -23
  104. package/dist-esm/__DynamicConstants.js.map +1 -1
  105. package/dist-esm/applicationinsights-core-js.js +6 -4
  106. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  107. package/package.json +2 -2
  108. package/src/JavaScriptSDK/AppInsightsCore.ts +1156 -16
  109. package/src/JavaScriptSDK/BaseTelemetryPlugin.ts +25 -17
  110. package/src/JavaScriptSDK/CookieMgr.ts +88 -41
  111. package/src/JavaScriptSDK/CoreUtils.ts +4 -3
  112. package/src/JavaScriptSDK/DiagnosticLogger.ts +51 -29
  113. package/src/JavaScriptSDK/EnvUtils.ts +0 -133
  114. package/src/JavaScriptSDK/EventHelpers.ts +29 -28
  115. package/src/JavaScriptSDK/HelperFuncs.ts +22 -39
  116. package/src/JavaScriptSDK/InternalConstants.ts +5 -0
  117. package/src/JavaScriptSDK/NotificationManager.ts +25 -14
  118. package/src/JavaScriptSDK/PerfManager.ts +2 -2
  119. package/src/JavaScriptSDK/ProcessTelemetryContext.ts +73 -56
  120. package/src/JavaScriptSDK/TelemetryHelpers.ts +8 -9
  121. package/src/JavaScriptSDK/TelemetryInitializerPlugin.ts +2 -2
  122. package/src/JavaScriptSDK/W3cTraceParent.ts +7 -6
  123. package/src/JavaScriptSDK.Enums/EnumHelperFuncs.ts +0 -1
  124. package/src/JavaScriptSDK.Enums/LoggingEnums.ts +9 -108
  125. package/src/JavaScriptSDK.Enums/TelemetryUpdateReason.ts +1 -1
  126. package/src/JavaScriptSDK.Interfaces/IAppInsightsCore.ts +28 -3
  127. package/src/JavaScriptSDK.Interfaces/ICookieMgr.ts +8 -0
  128. package/src/JavaScriptSDK.Interfaces/IDiagnosticLogger.ts +15 -8
  129. package/src/JavaScriptSDK.Interfaces/IInstrumentHooks.ts +3 -1
  130. package/src/JavaScriptSDK.Interfaces/INotificationListener.ts +5 -5
  131. package/src/JavaScriptSDK.Interfaces/INotificationManager.ts +8 -8
  132. package/src/JavaScriptSDK.Interfaces/IPerfManager.ts +3 -3
  133. package/src/JavaScriptSDK.Interfaces/IProcessTelemetryContext.ts +10 -9
  134. package/src/JavaScriptSDK.Interfaces/ITelemetryInitializers.ts +2 -1
  135. package/src/JavaScriptSDK.Interfaces/ITelemetryUpdateState.ts +15 -5
  136. package/src/JavaScriptSDK.Interfaces/IUnloadHook.ts +22 -0
  137. package/src/JavaScriptSDK.Interfaces/IUnloadableComponent.ts +3 -3
  138. package/tsconfig.json +3 -2
  139. package/types/Config/ConfigDefaults.d.ts +10 -0
  140. package/types/Config/DynamicConfig.d.ts +23 -0
  141. package/types/Config/DynamicProperty.d.ts +3 -0
  142. package/types/Config/DynamicState.d.ts +3 -0
  143. package/types/Config/DynamicSupport.d.ts +15 -0
  144. package/types/Config/IConfigDefaults.d.ts +42 -0
  145. package/types/Config/IDynamicConfigHandler.d.ts +46 -0
  146. package/types/Config/IDynamicPropertyHandler.d.ts +11 -0
  147. package/types/Config/IDynamicWatcher.d.ts +28 -0
  148. package/types/Config/_IDynamicConfigHandlerState.d.ts +35 -0
  149. package/types/JavaScriptSDK/AppInsightsCore.d.ts +136 -4
  150. package/types/JavaScriptSDK/BaseTelemetryPlugin.d.ts +2 -2
  151. package/types/JavaScriptSDK/CookieMgr.d.ts +0 -10
  152. package/types/JavaScriptSDK/DiagnosticLogger.d.ts +18 -16
  153. package/types/JavaScriptSDK/EventHelpers.d.ts +24 -24
  154. package/types/JavaScriptSDK/HelperFuncs.d.ts +13 -11
  155. package/types/JavaScriptSDK/InternalConstants.d.ts +4 -0
  156. package/types/JavaScriptSDK/NotificationManager.d.ts +7 -7
  157. package/types/JavaScriptSDK/PerfManager.d.ts +2 -2
  158. package/types/JavaScriptSDK/ProcessTelemetryContext.d.ts +3 -2
  159. package/types/JavaScriptSDK/TelemetryHelpers.d.ts +3 -3
  160. package/types/JavaScriptSDK.Enums/LoggingEnums.d.ts +7 -5
  161. package/types/JavaScriptSDK.Enums/TelemetryUpdateReason.d.ts +1 -0
  162. package/types/JavaScriptSDK.Interfaces/IAppInsightsCore.d.ts +25 -3
  163. package/types/JavaScriptSDK.Interfaces/ICookieMgr.d.ts +6 -0
  164. package/types/JavaScriptSDK.Interfaces/IDiagnosticLogger.d.ts +14 -8
  165. package/types/JavaScriptSDK.Interfaces/IInstrumentHooks.d.ts +2 -1
  166. package/types/JavaScriptSDK.Interfaces/INotificationListener.d.ts +5 -5
  167. package/types/JavaScriptSDK.Interfaces/INotificationManager.d.ts +8 -8
  168. package/types/JavaScriptSDK.Interfaces/IPerfManager.d.ts +3 -3
  169. package/types/JavaScriptSDK.Interfaces/IProcessTelemetryContext.d.ts +5 -9
  170. package/types/JavaScriptSDK.Interfaces/ITelemetryInitializers.d.ts +2 -1
  171. package/types/JavaScriptSDK.Interfaces/ITelemetryUpdateState.d.ts +13 -2
  172. package/types/JavaScriptSDK.Interfaces/IUnloadHook.d.ts +18 -0
  173. package/types/__DynamicConstants.d.ts +18 -15
  174. package/types/applicationinsights-core-js.d.ts +11 -4
  175. package/types/tsdoc-metadata.json +1 -1
  176. package/dist-esm/JavaScriptSDK/BaseCore.js +0 -654
  177. package/dist-esm/JavaScriptSDK/BaseCore.js.map +0 -1
  178. package/src/JavaScriptSDK/BaseCore.ts +0 -948
  179. package/types/JavaScriptSDK/BaseCore.d.ts +0 -124
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.0-beta.2209-03
2
+ * Application Insights JavaScript SDK - Core, 3.0.0-beta.2210-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -21,13 +21,18 @@
21
21
  var UNDEFINED = "undefined";
22
22
  var HAS_OWN_PROPERTY = "hasOwnProperty";
23
23
  var SYMBOL = "Symbol";
24
+ var POLYFILL_TAG = "_polyfill";
24
25
  var INDEX_OF = "indexOf";
25
26
  var LENGTH = "length";
27
+ var DONE = "done";
28
+ var VALUE = "value";
26
29
  var ObjClass$1 = Object;
27
- var ObjProto$1 = ObjClass$1[PROTOTYPE];
30
+ var ObjProto = ObjClass$1[PROTOTYPE];
28
31
  var StrCls = String;
29
32
  var StrProto = StrCls[PROTOTYPE];
33
+ var MathCls = Math;
30
34
  var ArrCls = Array;
35
+ var ArrProto = ArrCls[PROTOTYPE];
31
36
 
32
37
  function _safeCheck(cb, defValue) {
33
38
  var result = defValue;
@@ -50,7 +55,7 @@
50
55
  };
51
56
  }
52
57
  function objToString(value) {
53
- return ObjProto$1.toString.call(value);
58
+ return ObjProto.toString.call(value);
54
59
  }
55
60
  function isTypeof(value, theType) {
56
61
  return typeof value === theType;
@@ -152,7 +157,7 @@
152
157
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
153
158
 
154
159
  function objHasOwnProperty(obj, prop) {
155
- return obj && ObjProto$1[HAS_OWN_PROPERTY].call(obj, prop);
160
+ return obj && ObjProto[HAS_OWN_PROPERTY].call(obj, prop);
156
161
  }
157
162
 
158
163
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
@@ -160,7 +165,7 @@
160
165
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
161
166
  }
162
167
 
163
- function objForEachKey(theObject, callbackfn, thisArg) {
168
+ function objForEachKey$1(theObject, callbackfn, thisArg) {
164
169
  if (theObject && isObject(theObject)) {
165
170
  for (var prop in theObject) {
166
171
  if (objHasOwn(theObject, prop)) {
@@ -202,9 +207,30 @@
202
207
  }
203
208
  return ObjClass$1.keys(value);
204
209
  }
210
+ function objDeepCopy(source) {
211
+ if (isArray(source)) {
212
+ var result_1 = [];
213
+ arrForEach(source, function (value) {
214
+ result_1.push(objDeepCopy(value));
215
+ });
216
+ return result_1;
217
+ }
218
+ if (isObject(source)) {
219
+ return objCopyProps({}, source);
220
+ }
221
+ return source;
222
+ }
223
+ function objCopyProps(target, source) {
224
+ if (!isNullOrUndefined(source)) {
225
+ objForEachKey$1(source, function (key, value) {
226
+ target[key] = objDeepCopy(value);
227
+ });
228
+ }
229
+ return target;
230
+ }
205
231
  function objDeepFreeze(value) {
206
232
  if (_objFreeze) {
207
- objForEachKey(value, function (key, value) {
233
+ objForEachKey$1(value, function (key, value) {
208
234
  if (isArray(value) || isObject(value)) {
209
235
  _objFreeze(value);
210
236
  }
@@ -217,7 +243,7 @@
217
243
 
218
244
  function createEnum(values) {
219
245
  var theEnum = {};
220
- objForEachKey(values, function (field, value) {
246
+ objForEachKey$1(values, function (field, value) {
221
247
  theEnum[field] = value;
222
248
  theEnum[value] = field;
223
249
  });
@@ -225,7 +251,7 @@
225
251
  }
226
252
  function createSimpleMap(values) {
227
253
  var mapClass = {};
228
- objForEachKey(values, function (field, value) {
254
+ objForEachKey$1(values, function (field, value) {
229
255
  mapClass[field] = value[1];
230
256
  mapClass[value[0]] = value[1];
231
257
  });
@@ -235,11 +261,65 @@
235
261
  return createSimpleMap(values);
236
262
  }
237
263
 
238
- _safeCheck(function () { return isDefined(Symbol); }, false);
264
+ var POLY_GLOBAL_REGISTORT = "__polySymbols$ts_utils";
265
+ var _polySymbols;
266
+ function _globalSymbolRegistry() {
267
+ if (!_polySymbols) {
268
+ var gbl = getGlobal$1();
269
+ _polySymbols = gbl[POLY_GLOBAL_REGISTORT] = gbl[POLY_GLOBAL_REGISTORT] || { k: {}, s: {} };
270
+ }
271
+ return _polySymbols;
272
+ }
273
+ function polyNewSymbol(description) {
274
+ var theSymbol = {
275
+ description: "" + description,
276
+ toString: function () { return SYMBOL + "(" + description + ")"; }
277
+ };
278
+ theSymbol[POLYFILL_TAG] = true;
279
+ return theSymbol;
280
+ }
281
+ function polySymbolFor(key) {
282
+ var registry = _globalSymbolRegistry();
283
+ if (!objHasOwn(registry, key)) {
284
+ var newSymbol = polyNewSymbol(key);
285
+ registry.k[key] = newSymbol;
286
+ registry.s[newSymbol] = "" + key;
287
+ }
288
+ return registry.k[key];
289
+ }
290
+
291
+ var _hasSymbol = _safeCheck(function () { return isDefined(Symbol); }, false);
239
292
  var _symbol = getInst(SYMBOL);
240
- _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
293
+ var _symbolFor = _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
241
294
  _symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
242
295
  var isSymbol = _createIs("symbol");
296
+ function newSymbol(description, noPoly) {
297
+ return _hasSymbol ? Symbol(description) : (!noPoly ? polyNewSymbol(description) : null);
298
+ }
299
+ var symbolFor = _symbolFor || polySymbolFor;
300
+
301
+ function isIterator(value) {
302
+ return !!value && isFunction(value.next);
303
+ }
304
+
305
+ function arrAppend(target, elms) {
306
+ if (!isUndefined(elms) && target) {
307
+ if (isArray(elms)) {
308
+ ArrProto.push.apply(target, elms);
309
+ }
310
+ else if (isIterator(elms)) {
311
+ var value = elms.next();
312
+ while (!value[DONE]) {
313
+ target.push(value[VALUE]);
314
+ value = elms.next();
315
+ }
316
+ }
317
+ else {
318
+ target.push(elms);
319
+ }
320
+ }
321
+ return target;
322
+ }
243
323
 
244
324
  function dumpObj(object, format) {
245
325
  var objectTypeDump = objToString(object);
@@ -288,7 +368,7 @@
288
368
  d.__proto__ = b;
289
369
  }) ||
290
370
  function (d, b) {
291
- objForEachKey(b, function (key, value) {
371
+ objForEachKey$1(b, function (key, value) {
292
372
  d[key] = value;
293
373
  });
294
374
  };
@@ -323,6 +403,20 @@
323
403
  throw new _unsupportedError(message);
324
404
  }
325
405
 
406
+ function _doExtend(target, theArgs) {
407
+ arrForEach(theArgs, function (theArg) {
408
+ objCopyProps(target, theArg);
409
+ });
410
+ return target;
411
+ }
412
+ function deepExtend(target) {
413
+ var theArgs = [];
414
+ for (var _i = 1; _i < arguments.length; _i++) {
415
+ theArgs[_i - 1] = arguments[_i];
416
+ }
417
+ return _doExtend(objDeepCopy(target) || {}, theArgs);
418
+ }
419
+
326
420
  var _objDefineProperty$1 = ObjClass$1["defineProperty"];
327
421
  function objDefineProp(target, key, descriptor) {
328
422
  if (_objDefineProperty$1) {
@@ -352,7 +446,29 @@
352
446
  }
353
447
  }
354
448
 
449
+ var mathMax = MathCls.max;
450
+
451
+ var strSlice = _unwrapFunction("slice");
452
+
453
+ var SUB_STR = "substr";
355
454
  var strSubstring = _unwrapFunction("substring");
455
+ var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
456
+ function polyStrSubstr(value, start, length) {
457
+ if (isNullOrUndefined(value)) {
458
+ throwTypeError$1("'polyStrSubstr called with invalid " + dumpObj(value));
459
+ }
460
+ if (length < 0) {
461
+ return EMPTY;
462
+ }
463
+ start = start || 0;
464
+ if (start < 0) {
465
+ start = mathMax(start + value[LENGTH], 0);
466
+ }
467
+ if (isUndefined(length)) {
468
+ return strSlice(value, start);
469
+ }
470
+ return strSlice(value, start, start + length);
471
+ }
356
472
 
357
473
  var ENDS_WITH = "endsWith";
358
474
  var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
@@ -381,6 +497,8 @@
381
497
  return strSubstring(value, pos, pos + chkLen) === searchValue;
382
498
  }
383
499
 
500
+ var asString = StrCls;
501
+
384
502
  function _createTrimFn(exp) {
385
503
  return function _doTrim(value) {
386
504
  if (isNullOrUndefined(value)) {
@@ -415,11 +533,9 @@
415
533
  var strShimPrototype = "prototype";
416
534
  var strShimHasOwnProperty = "hasOwnProperty";
417
535
  var ObjClass = Object;
418
- var ObjProto = ObjClass[strShimPrototype];
419
536
  var ObjAssign = ObjClass["assign"];
420
537
  var ObjCreate = ObjClass["create"];
421
538
  var ObjDefineProperty = ObjClass["defineProperty"];
422
- var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];
423
539
 
424
540
  var _cachedGlobal = null;
425
541
  function getGlobal(useCached) {
@@ -741,52 +857,55 @@
741
857
  };
742
858
  dynamicProto[DynProtoDefaultOptions] = perfDefaults;
743
859
 
860
+ var _DYN_LENGTH = "length";
861
+ var _DYN_NOTIFY = "notify";
862
+ var _DYN_THROW_INTERNAL = "throwInternal";
863
+ var _DYN_WATCH = "watch";
864
+ var _DYN_LOGGER = "logger";
865
+ var _DYN_CONFIGURABLE = "configurable";
866
+ var _DYN_ENUMERABLE = "enumerable";
867
+ var _DYN_APPLY = "apply";
868
+ var _DYN_INDEX_OF = "indexOf";
869
+ var _DYN_PUSH = "push";
744
870
  var _DYN_INITIALIZE = "initialize";
745
- var _DYN_NAME = "name";
746
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
747
871
  var _DYN_IDENTIFIER = "identifier";
748
- var _DYN_PUSH = "push";
872
+ var _DYN_SPLICE = "splice";
749
873
  var _DYN_IS_INITIALIZED = "isInitialized";
750
- var _DYN_CONFIG = "config";
751
- var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
752
- var _DYN_LOGGER = "logger";
753
- var _DYN_LENGTH = "length";
874
+ var _DYN_NAME = "name";
754
875
  var _DYN_TIME = "time";
755
876
  var _DYN_PROCESS_NEXT = "processNext";
756
877
  var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
878
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
757
879
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
758
880
  var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
759
881
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
760
882
  var _DYN_ON_COMPLETE = "onComplete";
883
+ var _DYN_CALL = "call";
761
884
  var _DYN_GET_PLUGIN = "getPlugin";
762
885
  var _DYN_FLUSH = "flush";
886
+ var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
763
887
  var _DYN__EXTENSIONS = "_extensions";
764
- var _DYN_SPLICE = "splice";
765
888
  var _DYN_TEARDOWN = "teardown";
766
889
  var _DYN_MESSAGE_ID = "messageId";
767
890
  var _DYN_MESSAGE = "message";
768
891
  var _DYN_IS_ASYNC = "isAsync";
892
+ var _DYN_DIAG_LOG = "diagLog";
769
893
  var _DYN__DO_TEARDOWN = "_doTeardown";
770
894
  var _DYN_UPDATE = "update";
771
895
  var _DYN_GET_NEXT = "getNext";
772
- var _DYN_DIAG_LOG = "diagLog";
773
896
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
774
897
  var _DYN_CREATE_NEW = "createNew";
775
- var _DYN_COOKIE_CFG = "cookieCfg";
776
- var _DYN_INDEX_OF = "indexOf";
898
+ var _DYN_CONFIG = "config";
777
899
  var _DYN_SUBSTRING = "substring";
778
900
  var _DYN_USER_AGENT = "userAgent";
779
901
  var _DYN_SPLIT = "split";
780
- var _DYN_SUBSTR = "substr";
781
902
  var _DYN_NODE_TYPE = "nodeType";
782
- var _DYN_APPLY = "apply";
783
903
  var _DYN_REPLACE = "replace";
784
- var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
904
+ var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
785
905
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
786
906
  var _DYN_TO_LOWER_CASE = "toLowerCase";
787
907
  var _DYN_TYPE = "type";
788
908
  var _DYN_HANDLER = "handler";
789
- var _DYN_CALL = "call";
790
909
  var _DYN_LISTENERS = "listeners";
791
910
  var _DYN_IS_CHILD_EVT = "isChildEvt";
792
911
  var _DYN_GET_CTX = "getCtx";
@@ -797,6 +916,7 @@
797
916
  var _DYN_TRACE_FLAGS = "traceFlags";
798
917
  var _DYN_VERSION = "version";
799
918
 
919
+ var UNDEFINED_VALUE = undefined;
800
920
  var STR_EMPTY = "";
801
921
  var STR_CHANNELS = "channels";
802
922
  var STR_CORE = "core";
@@ -813,65 +933,19 @@
813
933
  var STR_ERROR_TO_CONSOLE = "errorToConsole";
814
934
  var STR_WARN_TO_CONSOLE = "warnToConsole";
815
935
  var STR_GET_PERF_MGR = "getPerfMgr";
936
+ var STR_DOMAIN = "domain";
937
+ var STR_PATH = "path";
938
+ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
816
939
 
817
- var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
818
- var _aiNamespace = null;
819
- var _debugListener;
820
- function _listenerProxyFunc(name, config) {
821
- return function () {
822
- var args = arguments;
823
- var dbgExt = getDebugExt(config);
824
- if (dbgExt) {
825
- var listener = dbgExt.listener;
826
- if (listener && listener[name]) {
827
- listener[name][_DYN_APPLY ](listener, args);
828
- }
829
- }
830
- };
831
- }
832
- function _getExtensionNamespace() {
833
- var target = getInst("Microsoft");
834
- if (target) {
835
- _aiNamespace = target["ApplicationInsights"];
836
- }
837
- return _aiNamespace;
838
- }
839
- function getDebugExt(config) {
840
- var ns = _aiNamespace;
841
- if (!ns && config.disableDbgExt !== true) {
842
- ns = _aiNamespace || _getExtensionNamespace();
843
- }
844
- return ns ? ns["ChromeDbgExt"] : null;
845
- }
846
- function getDebugListener(config) {
847
- if (!_debugListener) {
848
- _debugListener = {};
849
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
850
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
851
- }
852
- }
853
- return _debugListener;
854
- }
855
-
856
- var cString = "String";
857
- var cObject = "Object";
858
- var strToISOString = "toISOString";
859
940
  var strToString = "toString";
860
941
  var strGetPrototypeOf = "getPrototypeOf";
861
942
  var strConstructor = "constructor";
862
- var DateProto = Date[strShimPrototype];
863
- var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
864
- var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
943
+ var _fnToString = ObjClass[strToString];
865
944
  var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
866
945
  var rCamelCase = /-([a-z])/g;
867
946
  var rNormalizeInvalid = /([^\w\d_$])/g;
868
947
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
869
- function _polyfillRequired(object, name) {
870
- return function () {
871
- throwUnsupported("Polyfill required for [" + name + "]");
872
- };
873
- }
874
- var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
948
+ var _getObjProto = Object[strGetPrototypeOf];
875
949
  function isNotUndefined(value) {
876
950
  return !isUndefined(value);
877
951
  }
@@ -891,6 +965,7 @@
891
965
  }
892
966
  return value;
893
967
  }
968
+ var objForEachKey = objForEachKey$1;
894
969
  function strContains(value, search) {
895
970
  if (value && search) {
896
971
  return strIndexOf(value, search) !== -1;
@@ -905,7 +980,7 @@
905
980
  result = true;
906
981
  }
907
982
  else {
908
- if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
983
+ if (proto[strConstructor] && objHasOwnProperty(proto, strConstructor)) {
909
984
  proto = proto[strConstructor];
910
985
  }
911
986
  result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
@@ -914,7 +989,7 @@
914
989
  return result;
915
990
  }
916
991
  function toISOString(date) {
917
- return _dateToISOString[_DYN_CALL ](date);
992
+ return date && date.toISOString() || "";
918
993
  }
919
994
  function dateNow() {
920
995
  var dt = Date;
@@ -951,9 +1026,6 @@
951
1026
  }
952
1027
  return theValue;
953
1028
  }
954
- function getCfgValue(theValue, defaultValue) {
955
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
956
- }
957
1029
  function _createProxyFunction(source, funcName) {
958
1030
  var srcFunc = null;
959
1031
  var src = null;
@@ -984,7 +1056,7 @@
984
1056
  }
985
1057
  }
986
1058
  else if (!chkSet || chkSet(field, false, source, target)) {
987
- if (objHasOwnProperty(target, field)) {
1059
+ if (objHasOwn(target, field)) {
988
1060
  delete target[field];
989
1061
  }
990
1062
  if (!objDefineAccessors(target, field, function () {
@@ -1058,7 +1130,7 @@
1058
1130
  var isArgArray = isArray(arg);
1059
1131
  var isArgObj = isObject(arg);
1060
1132
  for (var prop in arg) {
1061
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
1133
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
1062
1134
  if (!propOk) {
1063
1135
  continue;
1064
1136
  }
@@ -1084,6 +1156,122 @@
1084
1156
  return extended;
1085
1157
  }
1086
1158
 
1159
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1160
+ function _cfgDeepCopy(source) {
1161
+ if (source) {
1162
+ if (isArray(source)) {
1163
+ var result_1 = [];
1164
+ result_1[_DYN_LENGTH ] = source[_DYN_LENGTH ];
1165
+ arrForEach(source, function (value, idx) {
1166
+ result_1[idx] = _cfgDeepCopy(value);
1167
+ });
1168
+ return result_1;
1169
+ }
1170
+ if (isPlainObject(source)) {
1171
+ var target_1 = {};
1172
+ objForEachKey$1(source, function (key, value) {
1173
+ target_1[key] = _cfgDeepCopy(value);
1174
+ });
1175
+ return target_1;
1176
+ }
1177
+ }
1178
+ return source;
1179
+ }
1180
+ function getDynamicConfigHandler(value) {
1181
+ if (value) {
1182
+ var handler = value[CFG_HANDLER_LINK] || value;
1183
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1184
+ return handler;
1185
+ }
1186
+ }
1187
+ return null;
1188
+ }
1189
+ function throwInvalidAccess(message) {
1190
+ throwTypeError$1("InvalidAccess:" + message);
1191
+ }
1192
+
1193
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1194
+ var defValue;
1195
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
1196
+ if (theConfig && cfgDefaults.fb) {
1197
+ var fallbacks = cfgDefaults.fb;
1198
+ if (!isArray(fallbacks)) {
1199
+ fallbacks = [fallbacks];
1200
+ }
1201
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH ]; lp++) {
1202
+ var fallback = fallbacks[lp];
1203
+ var fbValue = theConfig[fallback];
1204
+ if (isDefaultValid(fbValue)) {
1205
+ defValue = fbValue;
1206
+ }
1207
+ else {
1208
+ fbValue = dynamicHandler.cfg[fallback];
1209
+ if (isDefaultValid(fbValue)) {
1210
+ defValue = fbValue;
1211
+ }
1212
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
1213
+ }
1214
+ if (isDefaultValid(defValue)) {
1215
+ break;
1216
+ }
1217
+ }
1218
+ }
1219
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
1220
+ defValue = cfgDefaults.v;
1221
+ }
1222
+ return defValue;
1223
+ }
1224
+ function _applyDefaultValue(theConfig, name, defaultValue) {
1225
+ var dynamicHandler = theConfig[CFG_HANDLER_LINK];
1226
+ if (!dynamicHandler) {
1227
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
1228
+ }
1229
+ var isValid;
1230
+ var setFn;
1231
+ var defValue;
1232
+ var cfgDefaults = defaultValue;
1233
+ if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1234
+ isValid = cfgDefaults.isVal;
1235
+ setFn = cfgDefaults.set;
1236
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1237
+ }
1238
+ else {
1239
+ defValue = defaultValue;
1240
+ }
1241
+ var theValue = defValue;
1242
+ var usingDefault = true;
1243
+ var cfgValue = theConfig[name];
1244
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1245
+ theValue = cfgValue;
1246
+ usingDefault = false;
1247
+ }
1248
+ if (!usingDefault) {
1249
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
1250
+ theValue = defValue;
1251
+ usingDefault = true;
1252
+ }
1253
+ if (setFn) {
1254
+ theValue = setFn(theValue, defValue, theConfig);
1255
+ usingDefault = theValue === defValue;
1256
+ }
1257
+ }
1258
+ if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1259
+ theValue = _cfgDeepCopy(theValue);
1260
+ }
1261
+ dynamicHandler.set(theConfig, name, theValue);
1262
+ }
1263
+ function applyDefaults(theConfig, defaultValues) {
1264
+ if (defaultValues) {
1265
+ if (theConfig && !theConfig[CFG_HANDLER_LINK] && (isPlainObject(theConfig) || isArray(theConfig))) {
1266
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
1267
+ }
1268
+ objForEachKey(defaultValues, function (name, value) {
1269
+ _applyDefaultValue(theConfig, name, value);
1270
+ });
1271
+ }
1272
+ return theConfig;
1273
+ }
1274
+
1087
1275
  var strDocumentMode = "documentMode";
1088
1276
  var strLocation = "location";
1089
1277
  var strConsole = "console";
@@ -1275,54 +1463,529 @@
1275
1463
  return value;
1276
1464
  }
1277
1465
 
1278
- var AiNonUserActionablePrefix = "AI (Internal): ";
1279
- var AiUserActionablePrefix = "AI: ";
1280
- var AIInternalMessagePrefix = "AITR_";
1281
- function _sanitizeDiagnosticText(text) {
1282
- if (text) {
1283
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
1466
+ var UInt32Mask = 0x100000000;
1467
+ var MaxUInt32 = 0xffffffff;
1468
+ var _mwcSeeded = false;
1469
+ var _mwcW = 123456789;
1470
+ var _mwcZ = 987654321;
1471
+ function _mwcSeed(seedValue) {
1472
+ if (seedValue < 0) {
1473
+ seedValue >>>= 0;
1284
1474
  }
1285
- return STR_EMPTY;
1475
+ _mwcW = (123456789 + seedValue) & MaxUInt32;
1476
+ _mwcZ = (987654321 - seedValue) & MaxUInt32;
1477
+ _mwcSeeded = true;
1286
1478
  }
1287
- function _logToConsole(func, message) {
1288
- var theConsole = getConsole();
1289
- if (!!theConsole) {
1290
- var logFunc = "log";
1291
- if (theConsole[func]) {
1292
- logFunc = func;
1293
- }
1294
- if (isFunction(theConsole[logFunc])) {
1295
- theConsole[logFunc](message);
1479
+ function _autoSeedMwc() {
1480
+ try {
1481
+ var now = dateNow() & 0x7fffffff;
1482
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1483
+ }
1484
+ catch (e) {
1485
+ }
1486
+ }
1487
+ function randomValue(maxValue) {
1488
+ if (maxValue > 0) {
1489
+ return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
1490
+ }
1491
+ return 0;
1492
+ }
1493
+ function random32(signed) {
1494
+ var value = 0;
1495
+ var c = getCrypto() || getMsCrypto();
1496
+ if (c && c.getRandomValues) {
1497
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1498
+ }
1499
+ if (value === 0 && isIE()) {
1500
+ if (!_mwcSeeded) {
1501
+ _autoSeedMwc();
1296
1502
  }
1503
+ value = mwcRandom32() & MaxUInt32;
1504
+ }
1505
+ if (value === 0) {
1506
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
1507
+ }
1508
+ if (!signed) {
1509
+ value >>>= 0;
1297
1510
  }
1511
+ return value;
1298
1512
  }
1299
- var _InternalLogMessage = /** @class */ (function () {
1300
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1301
- if (isUserAct === void 0) { isUserAct = false; }
1302
- var _self = this;
1303
- _self[_DYN_MESSAGE_ID ] = msgId;
1304
- _self[_DYN_MESSAGE ] =
1305
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1306
- msgId;
1307
- var strProps = STR_EMPTY;
1308
- if (hasJSON()) {
1309
- strProps = getJSON().stringify(properties);
1513
+ function mwcRandomSeed(value) {
1514
+ if (!value) {
1515
+ _autoSeedMwc();
1516
+ }
1517
+ else {
1518
+ _mwcSeed(value);
1519
+ }
1520
+ }
1521
+ function mwcRandom32(signed) {
1522
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1523
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1524
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1525
+ if (!signed) {
1526
+ value >>>= 0;
1527
+ }
1528
+ return value;
1529
+ }
1530
+ function newId(maxLength) {
1531
+ if (maxLength === void 0) { maxLength = 22; }
1532
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1533
+ var number = random32() >>> 0;
1534
+ var chars = 0;
1535
+ var result = STR_EMPTY;
1536
+ while (result[_DYN_LENGTH ] < maxLength) {
1537
+ chars++;
1538
+ result += base64chars.charAt(number & 0x3F);
1539
+ number >>>= 6;
1540
+ if (chars === 5) {
1541
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1542
+ chars = 0;
1310
1543
  }
1311
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
1312
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
1313
- _self[_DYN_MESSAGE ] += diagnosticText;
1314
1544
  }
1315
- _InternalLogMessage.dataType = "MessageData";
1316
- return _InternalLogMessage;
1317
- }());
1318
- function safeGetLogger(core, config) {
1319
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1545
+ return result;
1320
1546
  }
1321
- var DiagnosticLogger = /** @class */ (function () {
1322
- function DiagnosticLogger(config) {
1323
- this.identifier = "DiagnosticLogger";
1324
- this.queue = [];
1325
- var _messageCount = 0;
1547
+
1548
+ var _objDefineProperty = ObjDefineProperty;
1549
+ var version = "3.0.0-beta.2210-02";
1550
+ var instanceName = "." + newId(6);
1551
+ var _dataUid = 0;
1552
+ function _createAccessor(target, prop, value) {
1553
+ var _a;
1554
+ if (_objDefineProperty) {
1555
+ try {
1556
+ _objDefineProperty(target, prop, (_a = {
1557
+ value: value
1558
+ },
1559
+ _a[_DYN_ENUMERABLE ] = false,
1560
+ _a[_DYN_CONFIGURABLE ] = true,
1561
+ _a));
1562
+ return true;
1563
+ }
1564
+ catch (e) {
1565
+ }
1566
+ }
1567
+ return false;
1568
+ }
1569
+ function _canAcceptData(target) {
1570
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1571
+ }
1572
+ function _getCache(data, target) {
1573
+ var theCache = target[data.id];
1574
+ if (!theCache) {
1575
+ theCache = {};
1576
+ try {
1577
+ if (_canAcceptData(target)) {
1578
+ if (!_createAccessor(target, data.id, theCache)) {
1579
+ target[data.id] = theCache;
1580
+ }
1581
+ }
1582
+ }
1583
+ catch (e) {
1584
+ }
1585
+ }
1586
+ return theCache;
1587
+ }
1588
+ function createUniqueNamespace(name, includeVersion) {
1589
+ if (includeVersion === void 0) { includeVersion = false; }
1590
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1591
+ }
1592
+ function createElmNodeData(name) {
1593
+ var data = {
1594
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1595
+ accept: function (target) {
1596
+ return _canAcceptData(target);
1597
+ },
1598
+ get: function (target, name, defValue, addDefault) {
1599
+ var theCache = target[data.id];
1600
+ if (!theCache) {
1601
+ if (addDefault) {
1602
+ theCache = _getCache(data, target);
1603
+ theCache[normalizeJsName(name)] = defValue;
1604
+ }
1605
+ return defValue;
1606
+ }
1607
+ return theCache[normalizeJsName(name)];
1608
+ },
1609
+ kill: function (target, name) {
1610
+ if (target && target[name]) {
1611
+ try {
1612
+ delete target[name];
1613
+ }
1614
+ catch (e) {
1615
+ }
1616
+ }
1617
+ }
1618
+ };
1619
+ return data;
1620
+ }
1621
+
1622
+ var arrayMethodsToPatch = [
1623
+ "push",
1624
+ "pop",
1625
+ "shift",
1626
+ "unshift",
1627
+ "splice"
1628
+ ];
1629
+ function _patchArray(state, target) {
1630
+ if (isArray(target)) {
1631
+ arrForEach(arrayMethodsToPatch, function (method) {
1632
+ var orgMethod = target[method];
1633
+ target[method] = function () {
1634
+ var args = [];
1635
+ for (var _i = 0; _i < arguments.length; _i++) {
1636
+ args[_i] = arguments[_i];
1637
+ }
1638
+ var result = orgMethod[_DYN_APPLY ](this, args);
1639
+ _makeDynamicObject(state, target);
1640
+ return result;
1641
+ };
1642
+ });
1643
+ }
1644
+ }
1645
+ function _makeDynamicProperty(state, theConfig, name, value) {
1646
+ var detail = {
1647
+ n: name,
1648
+ h: [],
1649
+ add: function (handler) {
1650
+ if (handler && handler.fn && detail.h[_DYN_INDEX_OF ](handler) === -1) {
1651
+ detail.h[_DYN_PUSH ](handler);
1652
+ }
1653
+ }
1654
+ };
1655
+ var checkDynamic = true;
1656
+ function _getProperty() {
1657
+ if (checkDynamic) {
1658
+ if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {
1659
+ value = _makeDynamicObject(state, value);
1660
+ }
1661
+ checkDynamic = false;
1662
+ }
1663
+ var activeHandler = state.act;
1664
+ if (activeHandler) {
1665
+ detail.add(activeHandler);
1666
+ }
1667
+ return value;
1668
+ }
1669
+ _getProperty[state.prop] = true;
1670
+ function _setProperty(newValue) {
1671
+ if (value !== newValue) {
1672
+ if (!!_setProperty[state.ro] && state.upd) {
1673
+ throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
1674
+ }
1675
+ if (value && value[CFG_HANDLER_LINK]) {
1676
+ if (isPlainObject(value)) {
1677
+ objForEachKey$1(value, function (key) {
1678
+ value[key] = UNDEFINED_VALUE;
1679
+ });
1680
+ }
1681
+ else if (isArray(value)) {
1682
+ arrForEach(value, function (propValue, idx) {
1683
+ value[idx] = UNDEFINED_VALUE;
1684
+ });
1685
+ }
1686
+ }
1687
+ checkDynamic = false;
1688
+ if (isPlainObject(newValue) || isArray(newValue)) {
1689
+ _makeDynamicObject(state, newValue);
1690
+ }
1691
+ value = newValue;
1692
+ state.add(detail);
1693
+ }
1694
+ }
1695
+ objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
1696
+ }
1697
+ function _setDynamicProperty(state, target, name, value) {
1698
+ if (target) {
1699
+ var isDynamic = false;
1700
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1701
+ if (propDesc && propDesc.get) {
1702
+ isDynamic = !!propDesc.get[state.prop];
1703
+ }
1704
+ if (!isDynamic) {
1705
+ _makeDynamicProperty(state, target, name, value);
1706
+ }
1707
+ else {
1708
+ target[name] = value;
1709
+ }
1710
+ }
1711
+ return value;
1712
+ }
1713
+ function _makeDynamicObject(state, target ) {
1714
+ var _a;
1715
+ objForEachKey$1( target, function (key, value) {
1716
+ _setDynamicProperty(state, target, key, value);
1717
+ });
1718
+ if (!target[CFG_HANDLER_LINK]) {
1719
+ objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
1720
+ _a[_DYN_CONFIGURABLE ] = false,
1721
+ _a[_DYN_ENUMERABLE ] = false,
1722
+ _a.get = function () {
1723
+ return state.hdlr;
1724
+ },
1725
+ _a));
1726
+ _patchArray(state, target);
1727
+ }
1728
+ return target;
1729
+ }
1730
+
1731
+ var symPrefix = "[[ai_";
1732
+ var symPostfix = "]]";
1733
+ function _insertWatcher(watchers, theDetail) {
1734
+ if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH ] > 0) {
1735
+ arrForEach(theDetail.h, function (handler) {
1736
+ if (handler && handler.fn && watchers[_DYN_INDEX_OF ](handler) === -1) {
1737
+ watchers[_DYN_PUSH ](handler);
1738
+ }
1739
+ });
1740
+ }
1741
+ }
1742
+ function _createState(cfgHandler) {
1743
+ var _a;
1744
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1745
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1746
+ var _waitingHandlers = null;
1747
+ var _watcherTimer = null;
1748
+ var theState;
1749
+ function _useHandler(activeHandler, callback) {
1750
+ var prevWatcher = theState.act;
1751
+ try {
1752
+ theState.act = activeHandler;
1753
+ callback({
1754
+ cfg: cfgHandler.cfg,
1755
+ hdlr: cfgHandler
1756
+ });
1757
+ }
1758
+ catch (e) {
1759
+ var message = "Watcher [" + dumpObj(callback) + "] failed [" + dumpObj(e) + "]";
1760
+ var logger = cfgHandler[_DYN_LOGGER ];
1761
+ if (logger) {
1762
+ cfgHandler.logger[_DYN_THROW_INTERNAL ](1 , 107 , message);
1763
+ }
1764
+ else {
1765
+ throwInvalidAccess(message);
1766
+ }
1767
+ }
1768
+ finally {
1769
+ theState.act = prevWatcher || null;
1770
+ }
1771
+ }
1772
+ function _notifyWatchers() {
1773
+ if (_waitingHandlers) {
1774
+ var notifyHandlers = _waitingHandlers;
1775
+ _waitingHandlers = null;
1776
+ if (_watcherTimer) {
1777
+ clearTimeout(_watcherTimer);
1778
+ _watcherTimer = null;
1779
+ }
1780
+ arrForEach(notifyHandlers, function (handler) {
1781
+ if (handler.fn) {
1782
+ _useHandler(handler, handler.fn);
1783
+ }
1784
+ });
1785
+ if (_waitingHandlers) {
1786
+ _notifyWatchers();
1787
+ }
1788
+ }
1789
+ }
1790
+ function _addWatcher(detail) {
1791
+ if (detail && detail.h[_DYN_LENGTH ] > 0) {
1792
+ if (!_waitingHandlers) {
1793
+ _waitingHandlers = [];
1794
+ }
1795
+ if (!_watcherTimer) {
1796
+ _watcherTimer = setTimeout(function () {
1797
+ _watcherTimer = null;
1798
+ _notifyWatchers();
1799
+ }, 0);
1800
+ }
1801
+ _insertWatcher(_waitingHandlers, detail);
1802
+ }
1803
+ }
1804
+ theState = (_a = {
1805
+ prop: dynamicPropertySymbol,
1806
+ ro: dynamicPropertyReadOnly,
1807
+ hdlr: cfgHandler,
1808
+ add: _addWatcher
1809
+ },
1810
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1811
+ _a.use = _useHandler,
1812
+ _a);
1813
+ return theState;
1814
+ }
1815
+
1816
+ function _createAndUseHandler(state, configHandler) {
1817
+ var handler = {
1818
+ fn: configHandler,
1819
+ rm: function () {
1820
+ handler.fn = null;
1821
+ state = null;
1822
+ configHandler = null;
1823
+ }
1824
+ };
1825
+ state.use(handler, configHandler);
1826
+ return handler;
1827
+ }
1828
+ function _createDynamicHandler(logger, target, inPlace) {
1829
+ var _a, _b;
1830
+ var dynamicConfig = getDynamicConfigHandler(target);
1831
+ if (dynamicConfig) {
1832
+ return dynamicConfig;
1833
+ }
1834
+ var uid = createUniqueNamespace("dyncfg", true);
1835
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
1836
+ var theState;
1837
+ function _notifyWatchers() {
1838
+ theState[_DYN_NOTIFY ]();
1839
+ }
1840
+ function _setValue(target, name, value) {
1841
+ return _setDynamicProperty(theState, target, name, value);
1842
+ }
1843
+ function _watch(configHandler) {
1844
+ return _createAndUseHandler(theState, configHandler);
1845
+ }
1846
+ function _block(configHandler) {
1847
+ theState.use(null, configHandler);
1848
+ }
1849
+ var cfgHandler = (_a = {
1850
+ uid: null,
1851
+ cfg: newTarget
1852
+ },
1853
+ _a[_DYN_LOGGER ] = logger,
1854
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1855
+ _a.set = _setValue,
1856
+ _a[_DYN_WATCH ] = _watch,
1857
+ _a._block = _block,
1858
+ _a);
1859
+ objDefineProp(cfgHandler, "uid", (_b = {},
1860
+ _b[_DYN_CONFIGURABLE ] = false,
1861
+ _b[_DYN_ENUMERABLE ] = false,
1862
+ _b.writable = false,
1863
+ _b.value = uid,
1864
+ _b));
1865
+ theState = _createState(cfgHandler);
1866
+ _makeDynamicObject(theState, newTarget);
1867
+ return cfgHandler;
1868
+ }
1869
+ function _logInvalidAccess(logger, message) {
1870
+ if (logger) {
1871
+ logger[STR_WARN_TO_CONSOLE ](message);
1872
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
1873
+ }
1874
+ else {
1875
+ throwInvalidAccess(message);
1876
+ }
1877
+ }
1878
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
1879
+ var dynamic = _createDynamicHandler(logger, config || {}, inPlace);
1880
+ if (defaultConfig) {
1881
+ applyDefaults(dynamic.cfg, defaultConfig);
1882
+ }
1883
+ return dynamic;
1884
+ }
1885
+ function onConfigChange(config, configHandler, logger) {
1886
+ var handler = config[CFG_HANDLER_LINK] || config;
1887
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1888
+ return handler[_DYN_WATCH ](configHandler);
1889
+ }
1890
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
1891
+ createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
1892
+ }
1893
+
1894
+ var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1895
+ var _aiNamespace = null;
1896
+ var _debugListener;
1897
+ function _listenerProxyFunc(name, config) {
1898
+ return function () {
1899
+ var args = arguments;
1900
+ var dbgExt = getDebugExt(config);
1901
+ if (dbgExt) {
1902
+ var listener = dbgExt.listener;
1903
+ if (listener && listener[name]) {
1904
+ listener[name][_DYN_APPLY ](listener, args);
1905
+ }
1906
+ }
1907
+ };
1908
+ }
1909
+ function _getExtensionNamespace() {
1910
+ var target = getInst("Microsoft");
1911
+ if (target) {
1912
+ _aiNamespace = target["ApplicationInsights"];
1913
+ }
1914
+ return _aiNamespace;
1915
+ }
1916
+ function getDebugExt(config) {
1917
+ var ns = _aiNamespace;
1918
+ if (!ns && config.disableDbgExt !== true) {
1919
+ ns = _aiNamespace || _getExtensionNamespace();
1920
+ }
1921
+ return ns ? ns["ChromeDbgExt"] : null;
1922
+ }
1923
+ function getDebugListener(config) {
1924
+ if (!_debugListener) {
1925
+ _debugListener = {};
1926
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1927
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1928
+ }
1929
+ }
1930
+ return _debugListener;
1931
+ }
1932
+
1933
+ var _a$3;
1934
+ var AiNonUserActionablePrefix = "AI (Internal): ";
1935
+ var AiUserActionablePrefix = "AI: ";
1936
+ var AIInternalMessagePrefix = "AITR_";
1937
+ var defaultValues$2 = (_a$3 = {
1938
+ loggingLevelConsole: 0,
1939
+ loggingLevelTelemetry: 1,
1940
+ maxMessageLimit: 25
1941
+ },
1942
+ _a$3[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = false,
1943
+ _a$3);
1944
+ function _sanitizeDiagnosticText(text) {
1945
+ if (text) {
1946
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
1947
+ }
1948
+ return STR_EMPTY;
1949
+ }
1950
+ function _logToConsole(func, message) {
1951
+ var theConsole = getConsole();
1952
+ if (!!theConsole) {
1953
+ var logFunc = "log";
1954
+ if (theConsole[func]) {
1955
+ logFunc = func;
1956
+ }
1957
+ if (isFunction(theConsole[logFunc])) {
1958
+ theConsole[logFunc](message);
1959
+ }
1960
+ }
1961
+ }
1962
+ var _InternalLogMessage = /** @class */ (function () {
1963
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1964
+ if (isUserAct === void 0) { isUserAct = false; }
1965
+ var _self = this;
1966
+ _self[_DYN_MESSAGE_ID ] = msgId;
1967
+ _self[_DYN_MESSAGE ] =
1968
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1969
+ msgId;
1970
+ var strProps = STR_EMPTY;
1971
+ if (hasJSON()) {
1972
+ strProps = getJSON().stringify(properties);
1973
+ }
1974
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
1975
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
1976
+ _self[_DYN_MESSAGE ] += diagnosticText;
1977
+ }
1978
+ _InternalLogMessage.dataType = "MessageData";
1979
+ return _InternalLogMessage;
1980
+ }());
1981
+ function safeGetLogger(core, config) {
1982
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1983
+ }
1984
+ var DiagnosticLogger = /** @class */ (function () {
1985
+ function DiagnosticLogger(config) {
1986
+ this.identifier = "DiagnosticLogger";
1987
+ this.queue = [];
1988
+ var _messageCount = 0;
1326
1989
  var _messageLogged = {};
1327
1990
  var _loggingLevelConsole;
1328
1991
  var _loggingLevelTelemetry;
@@ -1333,8 +1996,8 @@
1333
1996
  _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1334
1997
  _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1335
1998
  _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1336
- _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1337
- _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1999
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = function () { return _enableDebugExceptions; };
2000
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
1338
2001
  if (isUserAct === void 0) { isUserAct = false; }
1339
2002
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1340
2003
  if (_enableDebugExceptions) {
@@ -1407,10 +2070,14 @@
1407
2070
  }
1408
2071
  }
1409
2072
  function _setDefaultsFromConfig(config) {
1410
- _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1411
- _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1412
- _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1413
- _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
2073
+ var handler = createDynamicConfig(config, defaultValues$2, _self);
2074
+ handler[_DYN_WATCH ](function (details) {
2075
+ var config = details.cfg;
2076
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2077
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
2078
+ _maxInternalMessageLimit = config.maxMessageLimit;
2079
+ _enableDebugExceptions = config[_DYN_ENABLE_DEBUG_EXCEPTI5 ];
2080
+ });
1414
2081
  }
1415
2082
  function _areInternalMessagesThrottled() {
1416
2083
  return _messageCount >= _maxInternalMessageLimit;
@@ -1431,7 +2098,7 @@
1431
2098
  }
1432
2099
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1433
2100
  if (isUserAct === void 0) { isUserAct = false; }
1434
- _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
2101
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
1435
2102
  }
1436
2103
  function _warnToConsole(logger, message) {
1437
2104
  _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
@@ -1586,164 +2253,10 @@
1586
2253
  return _defaultPerfManager;
1587
2254
  }
1588
2255
 
1589
- var UInt32Mask = 0x100000000;
1590
- var MaxUInt32 = 0xffffffff;
1591
- var _mwcSeeded = false;
1592
- var _mwcW = 123456789;
1593
- var _mwcZ = 987654321;
1594
- function _mwcSeed(seedValue) {
1595
- if (seedValue < 0) {
1596
- seedValue >>>= 0;
1597
- }
1598
- _mwcW = (123456789 + seedValue) & MaxUInt32;
1599
- _mwcZ = (987654321 - seedValue) & MaxUInt32;
1600
- _mwcSeeded = true;
1601
- }
1602
- function _autoSeedMwc() {
1603
- try {
1604
- var now = dateNow() & 0x7fffffff;
1605
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1606
- }
1607
- catch (e) {
1608
- }
1609
- }
1610
- function randomValue(maxValue) {
1611
- if (maxValue > 0) {
1612
- return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
1613
- }
1614
- return 0;
1615
- }
1616
- function random32(signed) {
1617
- var value = 0;
1618
- var c = getCrypto() || getMsCrypto();
1619
- if (c && c.getRandomValues) {
1620
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1621
- }
1622
- if (value === 0 && isIE()) {
1623
- if (!_mwcSeeded) {
1624
- _autoSeedMwc();
1625
- }
1626
- value = mwcRandom32() & MaxUInt32;
1627
- }
1628
- if (value === 0) {
1629
- value = Math.floor((UInt32Mask * Math.random()) | 0);
1630
- }
1631
- if (!signed) {
1632
- value >>>= 0;
1633
- }
1634
- return value;
1635
- }
1636
- function mwcRandomSeed(value) {
1637
- if (!value) {
1638
- _autoSeedMwc();
1639
- }
1640
- else {
1641
- _mwcSeed(value);
1642
- }
1643
- }
1644
- function mwcRandom32(signed) {
1645
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1646
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1647
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1648
- if (!signed) {
1649
- value >>>= 0;
1650
- }
1651
- return value;
1652
- }
1653
- function newId(maxLength) {
1654
- if (maxLength === void 0) { maxLength = 22; }
1655
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1656
- var number = random32() >>> 0;
1657
- var chars = 0;
1658
- var result = STR_EMPTY;
1659
- while (result[_DYN_LENGTH ] < maxLength) {
1660
- chars++;
1661
- result += base64chars.charAt(number & 0x3F);
1662
- number >>>= 6;
1663
- if (chars === 5) {
1664
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1665
- chars = 0;
1666
- }
1667
- }
1668
- return result;
1669
- }
1670
-
1671
- var _objDefineProperty = ObjDefineProperty;
1672
- var version = "3.0.0-beta.2209-03";
1673
- var instanceName = "." + newId(6);
1674
- var _dataUid = 0;
1675
- function _createAccessor(target, prop, value) {
1676
- if (_objDefineProperty) {
1677
- try {
1678
- _objDefineProperty(target, prop, {
1679
- value: value,
1680
- enumerable: false,
1681
- configurable: true
1682
- });
1683
- return true;
1684
- }
1685
- catch (e) {
1686
- }
1687
- }
1688
- return false;
1689
- }
1690
- function _canAcceptData(target) {
1691
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1692
- }
1693
- function _getCache(data, target) {
1694
- var theCache = target[data.id];
1695
- if (!theCache) {
1696
- theCache = {};
1697
- try {
1698
- if (_canAcceptData(target)) {
1699
- if (!_createAccessor(target, data.id, theCache)) {
1700
- target[data.id] = theCache;
1701
- }
1702
- }
1703
- }
1704
- catch (e) {
1705
- }
1706
- }
1707
- return theCache;
1708
- }
1709
- function createUniqueNamespace(name, includeVersion) {
1710
- if (includeVersion === void 0) { includeVersion = false; }
1711
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1712
- }
1713
- function createElmNodeData(name) {
1714
- var data = {
1715
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1716
- accept: function (target) {
1717
- return _canAcceptData(target);
1718
- },
1719
- get: function (target, name, defValue, addDefault) {
1720
- var theCache = target[data.id];
1721
- if (!theCache) {
1722
- if (addDefault) {
1723
- theCache = _getCache(data, target);
1724
- theCache[normalizeJsName(name)] = defValue;
1725
- }
1726
- return defValue;
1727
- }
1728
- return theCache[normalizeJsName(name)];
1729
- },
1730
- kill: function (target, name) {
1731
- if (target && target[name]) {
1732
- try {
1733
- delete target[name];
1734
- }
1735
- catch (e) {
1736
- }
1737
- }
1738
- }
1739
- };
1740
- return data;
1741
- }
1742
-
1743
2256
  var Undefined = strShimUndefined;
1744
2257
  function newGuid() {
1745
2258
  var uuid = generateW3CId();
1746
- return uuid[_DYN_SUBSTRING ](0, 8) + "-" + uuid[_DYN_SUBSTRING ](8, 12) + "-" + uuid[_DYN_SUBSTRING ](12, 16) + "-" + uuid[_DYN_SUBSTRING ](16, 20) + "-" + uuid[_DYN_SUBSTRING ](20);
2259
+ return strSubstring(uuid, 0, 8) + "-" + strSubstring(uuid, 8, 12) + "-" + strSubstring(uuid, 12, 16) + "-" + strSubstring(uuid, 16, 20) + "-" + strSubstring(uuid, 20);
1747
2260
  }
1748
2261
  function perfNow() {
1749
2262
  var perf = getPerformance();
@@ -1768,10 +2281,10 @@
1768
2281
  hexValues[tmp >> 28 & 0xF];
1769
2282
  }
1770
2283
  var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1771
- return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
2284
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
1772
2285
  }
1773
2286
 
1774
- var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]*)?$/;
2287
+ var TRACE_PARENT_REGEX = /^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})(-[^\s]{1,64})?$/i;
1775
2288
  var DEFAULT_VERSION = "00";
1776
2289
  var INVALID_VERSION = "ff";
1777
2290
  var INVALID_TRACE_ID = "00000000000000000000000000000000";
@@ -1779,7 +2292,7 @@
1779
2292
  var SAMPLED_FLAG = 0x01;
1780
2293
  function _isValid(value, len, invalidValue) {
1781
2294
  if (value && value[_DYN_LENGTH ] === len && value !== invalidValue) {
1782
- return !!value.match(/^[\da-f]*$/);
2295
+ return !!value.match(/^[\da-f]*$/i);
1783
2296
  }
1784
2297
  return false;
1785
2298
  }
@@ -1804,7 +2317,7 @@
1804
2317
  return _a = {},
1805
2318
  _a[_DYN_VERSION ] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
1806
2319
  _a[_DYN_TRACE_ID ] = isValidTraceId(traceId) ? traceId : generateW3CId(),
1807
- _a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR ](0, 16),
2320
+ _a[_DYN_SPAN_ID ] = isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
1808
2321
  _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,
1809
2322
  _a;
1810
2323
  }
@@ -1826,10 +2339,11 @@
1826
2339
  match[3] === INVALID_SPAN_ID) {
1827
2340
  return null;
1828
2341
  }
1829
- return _a = {},
1830
- _a[_DYN_VERSION ] = match[1],
1831
- _a[_DYN_TRACE_ID ] = match[2],
1832
- _a[_DYN_SPAN_ID ] = match[3],
2342
+ return _a = {
2343
+ version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
2344
+ traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
2345
+ spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]()
2346
+ },
1833
2347
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
1834
2348
  _a;
1835
2349
  }
@@ -1865,7 +2379,7 @@
1865
2379
  if (version !== "00" && version !== "ff") {
1866
2380
  version = DEFAULT_VERSION;
1867
2381
  }
1868
- return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
2382
+ return "".concat(version.toLowerCase(), "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), "-").concat(flags.toLowerCase());
1869
2383
  }
1870
2384
  return "";
1871
2385
  }
@@ -1890,9 +2404,7 @@
1890
2404
  while (proxy) {
1891
2405
  var thePlugin = proxy[_DYN_GET_PLUGIN ]();
1892
2406
  if (thePlugin) {
1893
- if (lastPlugin &&
1894
- isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN ]) &&
1895
- isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
2407
+ if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN ] && thePlugin[STR_PROCESS_TELEMETRY ]) {
1896
2408
  lastPlugin[_DYN_SET_NEXT_PLUGIN ](thePlugin);
1897
2409
  }
1898
2410
  var isInitialized = false;
@@ -1911,7 +2423,7 @@
1911
2423
  }
1912
2424
  }
1913
2425
  arrForEach(initPlugins, function (thePlugin) {
1914
- var core = processContext[STR_CORE]();
2426
+ var core = processContext[STR_CORE ]();
1915
2427
  thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
1916
2428
  pluginState = _getPluginState(thePlugin);
1917
2429
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
@@ -1925,8 +2437,8 @@
1925
2437
  return plugins.sort(function (extA, extB) {
1926
2438
  var result = 0;
1927
2439
  if (extB) {
1928
- var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);
1929
- if (isFunction(extA[STR_PROCESS_TELEMETRY])) {
2440
+ var bHasProcess = extB[STR_PROCESS_TELEMETRY];
2441
+ if (extA[STR_PROCESS_TELEMETRY]) {
1930
2442
  result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;
1931
2443
  }
1932
2444
  else if (bHasProcess) {
@@ -2007,9 +2519,12 @@
2007
2519
  }
2008
2520
  return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
2009
2521
  }
2010
- function _createInternalContext(telemetryChain, config, core, startAt) {
2522
+ function _createInternalContext(telemetryChain, dynamicConfig, core, startAt) {
2011
2523
  var _nextProxy = null;
2012
2524
  var _onComplete = [];
2525
+ if (!dynamicConfig) {
2526
+ dynamicConfig = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
2527
+ }
2013
2528
  if (startAt !== null) {
2014
2529
  _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
2015
2530
  }
@@ -2020,12 +2535,12 @@
2020
2535
  return core;
2021
2536
  },
2022
2537
  diagLog: function () {
2023
- return safeGetLogger(core, config);
2538
+ return safeGetLogger(core, dynamicConfig.cfg);
2024
2539
  },
2025
2540
  getCfg: function () {
2026
- return config;
2541
+ return dynamicConfig.cfg;
2027
2542
  },
2028
- getExtCfg: _getExtCfg,
2543
+ getExtCfg: _resolveExtCfg,
2029
2544
  getConfig: _getConfig,
2030
2545
  hasNext: function () {
2031
2546
  return !!_nextProxy;
@@ -2072,48 +2587,51 @@
2072
2587
  }
2073
2588
  return nextProxy;
2074
2589
  }
2075
- function _getExtCfg(identifier, defaultValue, mergeDefault) {
2076
- if (defaultValue === void 0) { defaultValue = {}; }
2077
- if (mergeDefault === void 0) { mergeDefault = 0 ; }
2078
- var theConfig;
2079
- if (config) {
2080
- var extConfig = config[STR_EXTENSION_CONFIG ];
2081
- if (extConfig && identifier) {
2082
- theConfig = extConfig[identifier];
2083
- }
2084
- }
2085
- if (!theConfig) {
2086
- theConfig = defaultValue;
2087
- }
2088
- else if (isObject(defaultValue)) {
2089
- if (mergeDefault !== 0 ) {
2090
- var newConfig_1 = objExtend(true, defaultValue, theConfig);
2091
- if (config && mergeDefault === 2 ) {
2092
- objForEachKey(defaultValue, function (field) {
2093
- if (isNullOrUndefined(newConfig_1[field])) {
2094
- var cfgValue = config[field];
2095
- if (!isNullOrUndefined(cfgValue)) {
2096
- newConfig_1[field] = cfgValue;
2097
- }
2098
- }
2099
- });
2590
+ function _getExtCfg(identifier, createIfMissing) {
2591
+ var idCfg = null;
2592
+ if (dynamicConfig.cfg && identifier) {
2593
+ var extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
2594
+ if (!extCfg && createIfMissing) {
2595
+ dynamicConfig.set(dynamicConfig.cfg, "extensionConfig", {});
2596
+ extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
2597
+ }
2598
+ if (extCfg) {
2599
+ idCfg = extCfg[identifier];
2600
+ if (!idCfg && createIfMissing) {
2601
+ dynamicConfig.set(extCfg, identifier, {});
2602
+ idCfg = extCfg[identifier];
2603
+ }
2604
+ }
2605
+ }
2606
+ return idCfg;
2607
+ }
2608
+ function _resolveExtCfg(identifier, defaultValues) {
2609
+ var newConfig = _getExtCfg(identifier, true);
2610
+ if (defaultValues) {
2611
+ objForEachKey(defaultValues, function (field, defaultValue) {
2612
+ if (isNullOrUndefined(newConfig[field])) {
2613
+ var cfgValue = dynamicConfig.cfg[field];
2614
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
2615
+ newConfig[field] = cfgValue;
2616
+ }
2100
2617
  }
2101
- theConfig = newConfig_1;
2102
- }
2618
+ _applyDefaultValue(newConfig, field, defaultValue);
2619
+ });
2103
2620
  }
2104
- return theConfig;
2621
+ return applyDefaults(newConfig, defaultValues);
2105
2622
  }
2106
2623
  function _getConfig(identifier, field, defaultValue) {
2107
2624
  if (defaultValue === void 0) { defaultValue = false; }
2108
2625
  var theValue;
2109
- var extConfig = _getExtCfg(identifier, null);
2110
- if (extConfig && !isNullOrUndefined(extConfig[field])) {
2626
+ var extConfig = _getExtCfg(identifier, false);
2627
+ var rootConfig = dynamicConfig.cfg;
2628
+ if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
2111
2629
  theValue = extConfig[field];
2112
2630
  }
2113
- else if (config && !isNullOrUndefined(config[field])) {
2114
- theValue = config[field];
2631
+ else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
2632
+ theValue = rootConfig[field];
2115
2633
  }
2116
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
2634
+ return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
2117
2635
  }
2118
2636
  function _iterateChain(cb) {
2119
2637
  var nextPlugin;
@@ -2126,27 +2644,30 @@
2126
2644
  }
2127
2645
  return context;
2128
2646
  }
2129
- function createProcessTelemetryContext(telemetryChain, config, core, startAt) {
2647
+ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
2648
+ var config = createDynamicConfig(cfg);
2130
2649
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2131
2650
  var context = internalContext.ctx;
2132
2651
  function _processNext(env) {
2133
2652
  var nextPlugin = internalContext._next();
2134
- nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2653
+ if (nextPlugin) {
2654
+ nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2655
+ }
2135
2656
  return !nextPlugin;
2136
2657
  }
2137
2658
  function _createNew(plugins, startAt) {
2138
2659
  if (plugins === void 0) { plugins = null; }
2139
2660
  if (isArray(plugins)) {
2140
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2661
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2141
2662
  }
2142
- return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
2663
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
2143
2664
  }
2144
2665
  context[_DYN_PROCESS_NEXT ] = _processNext;
2145
2666
  context[_DYN_CREATE_NEW ] = _createNew;
2146
2667
  return context;
2147
2668
  }
2148
2669
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
2149
- var config = core[_DYN_CONFIG ] || {};
2670
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
2150
2671
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2151
2672
  var context = internalContext.ctx;
2152
2673
  function _processNext(unloadState) {
@@ -2157,7 +2678,7 @@
2157
2678
  function _createNew(plugins, startAt) {
2158
2679
  if (plugins === void 0) { plugins = null; }
2159
2680
  if (isArray(plugins)) {
2160
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2681
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2161
2682
  }
2162
2683
  return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
2163
2684
  }
@@ -2166,7 +2687,7 @@
2166
2687
  return context;
2167
2688
  }
2168
2689
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
2169
- var config = core[_DYN_CONFIG ] || {};
2690
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
2170
2691
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
2171
2692
  var context = internalContext.ctx;
2172
2693
  function _processNext(updateState) {
@@ -2179,7 +2700,7 @@
2179
2700
  function _createNew(plugins, startAt) {
2180
2701
  if (plugins === void 0) { plugins = null; }
2181
2702
  if (isArray(plugins)) {
2182
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2703
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
2183
2704
  }
2184
2705
  return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
2185
2706
  }
@@ -2546,11 +3067,11 @@
2546
3067
  return channelQueue;
2547
3068
  }
2548
3069
 
3070
+ var _a$2, _b;
2549
3071
  var strToGMTString = "toGMTString";
2550
3072
  var strToUTCString = "toUTCString";
2551
3073
  var strCookie = "cookie";
2552
3074
  var strExpires = "expires";
2553
- var strEnabled = "enabled";
2554
3075
  var strIsCookieUseDisabled = "isCookieUseDisabled";
2555
3076
  var strDisableCookiesUsage = "disableCookiesUsage";
2556
3077
  var strConfigCookieMgr = "_ckMgr";
@@ -2560,6 +3081,18 @@
2560
3081
  var _doc = getDocument();
2561
3082
  var _cookieCache = {};
2562
3083
  var _globalCookieConfig = {};
3084
+ var defaultConfig$1 = objDeepFreeze((_a$2 = {},
3085
+ _a$2[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
3086
+ _a$2.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
3087
+ _a$2.enabled = UNDEFINED_VALUE,
3088
+ _a$2));
3089
+ var rootDefaultConfig = (_b = {
3090
+ cookieCfg: {},
3091
+ cookieDomain: UNDEFINED_VALUE,
3092
+ cookiePath: UNDEFINED_VALUE
3093
+ },
3094
+ _b[strDisableCookiesUsage] = UNDEFINED_VALUE,
3095
+ _b);
2563
3096
  function _gblCookieMgr(config, logger) {
2564
3097
  var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2565
3098
  if (!inst) {
@@ -2574,22 +3107,6 @@
2574
3107
  }
2575
3108
  return true;
2576
3109
  }
2577
- function _createCookieMgrConfig(rootConfig) {
2578
- var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
2579
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
2580
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
2581
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
2582
- var cookieEnabled = void 0;
2583
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2584
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2585
- }
2586
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2587
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
2588
- }
2589
- cookieMgrCfg[strEnabled] = cookieEnabled;
2590
- }
2591
- return cookieMgrCfg;
2592
- }
2593
3110
  function _isIgnoredCookie(cookieMgrCfg, name) {
2594
3111
  if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
2595
3112
  return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF ](name) !== -1;
@@ -2610,8 +3127,8 @@
2610
3127
  cookieMgr = core.getCookieMgr();
2611
3128
  }
2612
3129
  else if (config) {
2613
- var cookieCfg = config[_DYN_COOKIE_CFG ];
2614
- if (cookieCfg[strConfigCookieMgr]) {
3130
+ var cookieCfg = config.cookieCfg;
3131
+ if (cookieCfg && cookieCfg[strConfigCookieMgr]) {
2615
3132
  cookieMgr = cookieCfg[strConfigCookieMgr];
2616
3133
  }
2617
3134
  else {
@@ -2624,10 +3141,35 @@
2624
3141
  return cookieMgr;
2625
3142
  }
2626
3143
  function createCookieMgr(rootConfig, logger) {
2627
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
2628
- var _path = cookieMgrConfig.path || "/";
2629
- var _domain = cookieMgrConfig.domain;
2630
- var _enabled = cookieMgrConfig[strEnabled] !== false;
3144
+ var cookieMgrConfig;
3145
+ var _path;
3146
+ var _domain;
3147
+ var _enabled;
3148
+ var _getCookieFn;
3149
+ var _setCookieFn;
3150
+ var _delCookieFn;
3151
+ rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
3152
+ onConfigChange(rootConfig, function (details) {
3153
+ applyDefaults(details.cfg, rootDefaultConfig);
3154
+ cookieMgrConfig = applyDefaults(details.cfg.cookieCfg, defaultConfig$1);
3155
+ var isEnabled = cookieMgrConfig.enabled;
3156
+ if (isNullOrUndefined(isEnabled)) {
3157
+ var cookieEnabled = void 0;
3158
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
3159
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
3160
+ }
3161
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
3162
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
3163
+ }
3164
+ isEnabled = cookieEnabled;
3165
+ }
3166
+ _path = cookieMgrConfig[STR_PATH ] || "/";
3167
+ _domain = cookieMgrConfig[STR_DOMAIN ];
3168
+ _enabled = isEnabled !== false;
3169
+ _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
3170
+ _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
3171
+ _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
3172
+ }, logger);
2631
3173
  var cookieMgr = {
2632
3174
  isEnabled: function () {
2633
3175
  var enabled = _enabled && areCookiesSupported(logger);
@@ -2650,7 +3192,7 @@
2650
3192
  theValue = strTrim(value[_DYN_SUBSTRING ](0, idx));
2651
3193
  values = _extractParts(value[_DYN_SUBSTRING ](idx + 1));
2652
3194
  }
2653
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
3195
+ setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2654
3196
  if (!isNullOrUndefined(maxAgeSec)) {
2655
3197
  var _isIE = isIE();
2656
3198
  if (isUndefined(values[strExpires])) {
@@ -2676,9 +3218,8 @@
2676
3218
  setValue(values, "SameSite", "None", null, isUndefined);
2677
3219
  }
2678
3220
  }
2679
- setValue(values, "path", path || _path, null, isUndefined);
2680
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2681
- setCookieFn(name, _formatCookieValue(theValue, values));
3221
+ setValue(values, STR_PATH, path || _path, null, isUndefined);
3222
+ _setCookieFn(name, _formatCookieValue(theValue, values));
2682
3223
  result = true;
2683
3224
  }
2684
3225
  return result;
@@ -2686,7 +3227,7 @@
2686
3227
  get: function (name) {
2687
3228
  var value = STR_EMPTY;
2688
3229
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2689
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
3230
+ value = _getCookieFn(name);
2690
3231
  }
2691
3232
  return value;
2692
3233
  },
@@ -2702,14 +3243,13 @@
2702
3243
  var result = false;
2703
3244
  if (areCookiesSupported(logger)) {
2704
3245
  var values = (_a = {},
2705
- _a["path"] = path ? path : "/",
3246
+ _a[STR_PATH] = path ? path : "/",
2706
3247
  _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2707
3248
  _a);
2708
3249
  if (!isIE()) {
2709
3250
  values["max-age"] = "0";
2710
3251
  }
2711
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
2712
- delCookie(name, _formatCookieValue(STR_EMPTY, values));
3252
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
2713
3253
  result = true;
2714
3254
  }
2715
3255
  return result;
@@ -2758,7 +3298,7 @@
2758
3298
  }
2759
3299
  function _formatCookieValue(value, values) {
2760
3300
  var cookieValue = value || STR_EMPTY;
2761
- objForEachKey(values, function (name, theValue) {
3301
+ objForEachKey$1(values, function (name, theValue) {
2762
3302
  cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
2763
3303
  });
2764
3304
  return cookieValue;
@@ -2805,6 +3345,79 @@
2805
3345
  return false;
2806
3346
  }
2807
3347
 
3348
+ var defaultValues$1 = {
3349
+ perfEvtsSendAll: false
3350
+ };
3351
+ function _runListeners(listeners, name, isAsync, callback) {
3352
+ arrForEach(listeners, function (listener) {
3353
+ if (listener && listener[name]) {
3354
+ if (isAsync) {
3355
+ setTimeout(function () { return callback(listener); }, 0);
3356
+ }
3357
+ else {
3358
+ try {
3359
+ callback(listener);
3360
+ }
3361
+ catch (e) {
3362
+ }
3363
+ }
3364
+ }
3365
+ });
3366
+ }
3367
+ var NotificationManager = /** @class */ (function () {
3368
+ function NotificationManager(config) {
3369
+ this.listeners = [];
3370
+ var perfEvtsSendAll;
3371
+ var cfgHandler = createDynamicConfig(config, defaultValues$1);
3372
+ cfgHandler[_DYN_WATCH ](function (details) {
3373
+ perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
3374
+ });
3375
+ dynamicProto(NotificationManager, this, function (_self) {
3376
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3377
+ _self.listeners[_DYN_PUSH ](listener);
3378
+ };
3379
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3380
+ var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3381
+ while (index > -1) {
3382
+ _self.listeners[_DYN_SPLICE ](index, 1);
3383
+ index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3384
+ }
3385
+ };
3386
+ _self[STR_EVENTS_SENT ] = function (events) {
3387
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3388
+ listener[STR_EVENTS_SENT ](events);
3389
+ });
3390
+ };
3391
+ _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3392
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3393
+ listener[STR_EVENTS_DISCARDED ](events, reason);
3394
+ });
3395
+ };
3396
+ _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3397
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3398
+ listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3399
+ });
3400
+ };
3401
+ _self[STR_PERF_EVENT ] = function (perfEvent) {
3402
+ if (perfEvent) {
3403
+ if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3404
+ _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3405
+ if (perfEvent[_DYN_IS_ASYNC ]) {
3406
+ setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3407
+ }
3408
+ else {
3409
+ listener[STR_PERF_EVENT ](perfEvent);
3410
+ }
3411
+ });
3412
+ }
3413
+ }
3414
+ };
3415
+ });
3416
+ }
3417
+ NotificationManager.__ieDyn=1;
3418
+ return NotificationManager;
3419
+ }());
3420
+
2808
3421
  function createUnloadHandlerContainer() {
2809
3422
  var handlers = [];
2810
3423
  function _addHandler(handler) {
@@ -2829,7 +3442,11 @@
2829
3442
  };
2830
3443
  }
2831
3444
 
3445
+ var _a$1;
2832
3446
  var strGetPlugin = "getPlugin";
3447
+ var defaultValues = (_a$1 = {},
3448
+ _a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
3449
+ _a$1);
2833
3450
  var BaseTelemetryPlugin = /** @class */ (function () {
2834
3451
  function BaseTelemetryPlugin() {
2835
3452
  var _self = this;
@@ -2865,7 +3482,12 @@
2865
3482
  var oldHooks = _hooks;
2866
3483
  _hooks = [];
2867
3484
  arrForEach(oldHooks, function (fn) {
2868
- fn.rm();
3485
+ try {
3486
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
3487
+ }
3488
+ catch (e) {
3489
+ _throwInternal(theUnloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unloading:" + dumpObj(e));
3490
+ }
2869
3491
  });
2870
3492
  if (result === true) {
2871
3493
  theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
@@ -2908,12 +3530,7 @@
2908
3530
  };
2909
3531
  _self._addHook = function (hooks) {
2910
3532
  if (hooks) {
2911
- if (isArray(hooks)) {
2912
- _hooks = _hooks.concat(hooks);
2913
- }
2914
- else {
2915
- _hooks[_DYN_PUSH ](hooks);
2916
- }
3533
+ arrAppend(_hooks, hooks);
2917
3534
  }
2918
3535
  };
2919
3536
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
@@ -2954,9 +3571,7 @@
2954
3571
  return itemCtx;
2955
3572
  }
2956
3573
  function _setDefaults(config, core, pluginChain) {
2957
- if (config) {
2958
- setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2959
- }
3574
+ createDynamicConfig(config, defaultValues, core[_DYN_LOGGER ]);
2960
3575
  if (!pluginChain && core) {
2961
3576
  pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2962
3577
  }
@@ -3021,7 +3636,7 @@
3021
3636
  }
3022
3637
  }
3023
3638
  catch (e) {
3024
- _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3639
+ _throwInternal(itemCtx[_DYN_DIAG_LOG ](), 2 , 64 , "Telemetry initializer failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3025
3640
  }
3026
3641
  }
3027
3642
  }
@@ -3043,13 +3658,21 @@
3043
3658
  return TelemetryInitializerPlugin;
3044
3659
  }(BaseTelemetryPlugin));
3045
3660
 
3661
+ var _a;
3046
3662
  var strValidationError = "Plugins must provide initialize method";
3047
3663
  var strNotificationManager = "_notificationManager";
3048
3664
  var strSdkUnloadingError = "SDK is still unloading...";
3049
3665
  var strSdkNotInitialized = "SDK is not initialized";
3050
- var defaultInitConfig = {
3051
- loggingLevelConsole: 1
3052
- };
3666
+ var defaultConfig = objDeepFreeze((_a = {
3667
+ cookieCfg: {}
3668
+ },
3669
+ _a[STR_EXTENSIONS] = [],
3670
+ _a[STR_CHANNELS] = [],
3671
+ _a[STR_EXTENSION_CONFIG] = {},
3672
+ _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
3673
+ _a.loggingLevelConsole = 0 ,
3674
+ _a.diagnosticLogInterval = UNDEFINED_VALUE,
3675
+ _a));
3053
3676
  function _createPerfManager(core, notificationMgr) {
3054
3677
  return new PerfManager(notificationMgr);
3055
3678
  }
@@ -3091,19 +3714,63 @@
3091
3714
  });
3092
3715
  return exists;
3093
3716
  }
3094
- function _createDummyNotificationManager() {
3095
- var _a;
3096
- return objCreateFn((_a = {},
3097
- _a[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { },
3098
- _a[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { },
3099
- _a[STR_EVENTS_SENT ] = function (events) { },
3100
- _a[STR_EVENTS_DISCARDED ] = function (events, reason) { },
3101
- _a[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) { },
3102
- _a));
3103
- }
3104
- var BaseCore = /** @class */ (function () {
3105
- function BaseCore() {
3106
- var _config;
3717
+ function _deepMergeConfig(details, target, newValues, merge) {
3718
+ if (newValues) {
3719
+ objForEachKey(newValues, function (key, value) {
3720
+ if (merge) {
3721
+ if (isPlainObject(value) && isPlainObject(target[key])) {
3722
+ _deepMergeConfig(details, target[key], value, merge);
3723
+ }
3724
+ }
3725
+ if (merge && isPlainObject(value) && isPlainObject(target[key])) {
3726
+ _deepMergeConfig(details, target[key], value, merge);
3727
+ }
3728
+ else {
3729
+ details.hdlr.set(target, key, value);
3730
+ }
3731
+ });
3732
+ }
3733
+ }
3734
+ function _findWatcher(listeners, newWatcher) {
3735
+ var theListener = null;
3736
+ var idx = -1;
3737
+ arrForEach(listeners, function (listener, lp) {
3738
+ if (listener.w === newWatcher) {
3739
+ theListener = listener;
3740
+ idx = lp;
3741
+ return -1;
3742
+ }
3743
+ });
3744
+ return { i: idx, l: theListener };
3745
+ }
3746
+ function _addDelayedCfgListener(listeners, newWatcher) {
3747
+ var theListener = _findWatcher(listeners, newWatcher).l;
3748
+ if (!theListener) {
3749
+ theListener = {
3750
+ w: newWatcher,
3751
+ rm: function () {
3752
+ var fnd = _findWatcher(listeners, newWatcher);
3753
+ if (fnd.i !== -1) {
3754
+ listeners[_DYN_SPLICE ](fnd.i, 1);
3755
+ }
3756
+ }
3757
+ };
3758
+ listeners[_DYN_PUSH ](theListener);
3759
+ }
3760
+ return theListener;
3761
+ }
3762
+ function _registerDelayedCfgListener(config, listeners, logger) {
3763
+ arrForEach(listeners, function (listener) {
3764
+ var unloadHdl = onConfigChange(config, listener.w, logger);
3765
+ delete listener.w;
3766
+ listener.rm = function () {
3767
+ unloadHdl.rm();
3768
+ };
3769
+ });
3770
+ }
3771
+ var AppInsightsCore = /** @class */ (function () {
3772
+ function AppInsightsCore() {
3773
+ var _configHandler;
3107
3774
  var _isInitialized;
3108
3775
  var _eventQueue;
3109
3776
  var _notificationManager;
@@ -3121,10 +3788,13 @@
3121
3788
  var _internalLogsEventName;
3122
3789
  var _evtNamespace;
3123
3790
  var _unloadHandlers;
3791
+ var _hooks;
3124
3792
  var _debugListener;
3125
3793
  var _traceCtx;
3794
+ var _instrumentationKey;
3795
+ var _cfgListeners;
3126
3796
  var _internalLogPoller = 0;
3127
- dynamicProto(BaseCore, this, function (_self) {
3797
+ dynamicProto(AppInsightsCore, this, function (_self) {
3128
3798
  _initDefaults();
3129
3799
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
3130
3800
  _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
@@ -3132,29 +3802,33 @@
3132
3802
  throwError(strSdkUnloadingError);
3133
3803
  }
3134
3804
  if (_self[_DYN_IS_INITIALIZED ]()) {
3135
- throwError("Core should not be initialized more than once");
3136
- }
3137
- _config = config || {};
3138
- _self[_DYN_CONFIG ] = _config;
3139
- if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY ])) {
3140
- throwError("Please provide instrumentation key");
3805
+ throwError("Core cannot be initialized more than once");
3141
3806
  }
3807
+ _configHandler = createDynamicConfig(config, defaultConfig, logger || _self[_DYN_LOGGER ], false);
3808
+ config = _configHandler.cfg;
3809
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3810
+ _instrumentationKey = details.cfg.instrumentationKey;
3811
+ if (isNullOrUndefined(_instrumentationKey)) {
3812
+ throwError("Please provide instrumentation key");
3813
+ }
3814
+ }));
3142
3815
  _notificationManager = notificationManager;
3143
3816
  _self[strNotificationManager] = notificationManager;
3144
3817
  _initDebugListener();
3145
3818
  _initPerfManager();
3146
3819
  _initExtConfig();
3147
- if (logger) {
3148
- _self[_DYN_LOGGER ] = logger;
3149
- }
3150
- var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);
3820
+ _self[_DYN_LOGGER ] = logger || new DiagnosticLogger(config);
3821
+ _configHandler[_DYN_LOGGER ] = _self[_DYN_LOGGER ];
3822
+ var cfgExtensions = config[STR_EXTENSIONS ];
3151
3823
  _configExtensions = [];
3152
3824
  _configExtensions[_DYN_PUSH ].apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), cfgExtensions));
3153
- _channelConfig = getSetValue(_config, STR_CHANNELS, []);
3825
+ _channelConfig = config[STR_CHANNELS ];
3154
3826
  _initPluginChain(null);
3155
3827
  if (!_channelQueue || _channelQueue[_DYN_LENGTH ] === 0) {
3156
3828
  throwError("No " + STR_CHANNELS + " available");
3157
3829
  }
3830
+ _registerDelayedCfgListener(config, _cfgListeners, _self[_DYN_LOGGER ]);
3831
+ _cfgListeners = null;
3158
3832
  _isInitialized = true;
3159
3833
  _self.releaseQueue();
3160
3834
  };
@@ -3168,21 +3842,33 @@
3168
3842
  return objFreeze(controls);
3169
3843
  };
3170
3844
  _self.track = function (telemetryItem) {
3171
- telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY ];
3172
- telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
3173
- telemetryItem.ver = telemetryItem.ver || "4.0";
3174
- if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
3175
- _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
3176
- }
3177
- else {
3178
- _eventQueue[_DYN_PUSH ](telemetryItem);
3179
- }
3845
+ doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3846
+ if (telemetryItem === null) {
3847
+ _notifyInvalidEvent(telemetryItem);
3848
+ throwError("Invalid telemetry item");
3849
+ }
3850
+ if (!telemetryItem[_DYN_NAME ] && isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
3851
+ _notifyInvalidEvent(telemetryItem);
3852
+ throwError("telemetry name required");
3853
+ }
3854
+ telemetryItem.iKey = telemetryItem.iKey || _instrumentationKey;
3855
+ telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
3856
+ telemetryItem.ver = telemetryItem.ver || "4.0";
3857
+ if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
3858
+ _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
3859
+ }
3860
+ else {
3861
+ _eventQueue[_DYN_PUSH ](telemetryItem);
3862
+ }
3863
+ }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3180
3864
  };
3181
3865
  _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
3182
3866
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
3183
3867
  if (!_notificationManager) {
3184
- _notificationManager = _createDummyNotificationManager();
3185
- _self[strNotificationManager] = _notificationManager;
3868
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3869
+ _notificationManager = new NotificationManager(details.cfg);
3870
+ _self[strNotificationManager] = _notificationManager;
3871
+ }));
3186
3872
  }
3187
3873
  return _notificationManager;
3188
3874
  };
@@ -3198,7 +3884,9 @@
3198
3884
  };
3199
3885
  _self.getCookieMgr = function () {
3200
3886
  if (!_cookieManager) {
3201
- _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER ]);
3887
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3888
+ _cookieManager = createCookieMgr(details.cfg, _self[_DYN_LOGGER ]);
3889
+ }));
3202
3890
  }
3203
3891
  return _cookieManager;
3204
3892
  };
@@ -3207,12 +3895,14 @@
3207
3895
  };
3208
3896
  _self[STR_GET_PERF_MGR ] = function () {
3209
3897
  if (!_perfManager && !_cfgPerfManager) {
3210
- if (getCfgValue(_config.enablePerfMgr)) {
3211
- var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR ]);
3212
- if (isFunction(createPerfMgr)) {
3213
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
3898
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3899
+ if (details.cfg.enablePerfMgr) {
3900
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
3901
+ if (isFunction(createPerfMgr)) {
3902
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
3903
+ }
3214
3904
  }
3215
- }
3905
+ }));
3216
3906
  }
3217
3907
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
3218
3908
  };
@@ -3233,16 +3923,18 @@
3233
3923
  };
3234
3924
  _self.pollInternalLogs = function (eventName) {
3235
3925
  _internalLogsEventName = eventName || null;
3236
- var interval = getCfgValue(_config.diagnosticLogInterval);
3237
- if (!interval || !(interval > 0)) {
3238
- interval = 10000;
3239
- }
3240
- if (_internalLogPoller) {
3241
- clearInterval(_internalLogPoller);
3242
- }
3243
- _internalLogPoller = setInterval(function () {
3244
- _flushInternalLogs();
3245
- }, interval);
3926
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3927
+ var interval = details.cfg.diagnosticLogInterval;
3928
+ if (!interval || !(interval > 0)) {
3929
+ interval = 10000;
3930
+ }
3931
+ if (_internalLogPoller) {
3932
+ clearInterval(_internalLogPoller);
3933
+ }
3934
+ _internalLogPoller = setInterval(function () {
3935
+ _flushInternalLogs();
3936
+ }, interval);
3937
+ }));
3246
3938
  return _internalLogPoller;
3247
3939
  };
3248
3940
  _self[_DYN_STOP_POLLING_INTERNA3 ] = function () {
@@ -3270,6 +3962,16 @@
3270
3962
  _a);
3271
3963
  var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
3272
3964
  processUnloadCtx[_DYN_ON_COMPLETE ](function () {
3965
+ var oldHooks = _hooks;
3966
+ _hooks = [];
3967
+ arrForEach(oldHooks, function (fn) {
3968
+ try {
3969
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
3970
+ }
3971
+ catch (e) {
3972
+ _throwInternal(_self[_DYN_LOGGER ], 2 , 73 , "Unloading:" + dumpObj(e));
3973
+ }
3974
+ });
3273
3975
  _initDefaults();
3274
3976
  unloadComplete && unloadComplete(unloadState);
3275
3977
  }, _self);
@@ -3327,6 +4029,35 @@
3327
4029
  _addPlugin();
3328
4030
  }
3329
4031
  };
4032
+ _self.updateCfg = function (newConfig, mergeExisting) {
4033
+ if (mergeExisting === void 0) { mergeExisting = true; }
4034
+ var updateState = {
4035
+ reason: 1 ,
4036
+ cfg: _configHandler.cfg,
4037
+ oldCfg: deepExtend({}, _configHandler.cfg),
4038
+ newConfig: deepExtend({}, newConfig),
4039
+ merge: mergeExisting
4040
+ };
4041
+ newConfig = updateState.newConfig;
4042
+ var cfg = _configHandler.cfg;
4043
+ newConfig[STR_EXTENSIONS ] = cfg[STR_EXTENSIONS ];
4044
+ newConfig[STR_CHANNELS ] = cfg[STR_CHANNELS ];
4045
+ _configHandler._block(function (details) {
4046
+ var theConfig = details.cfg;
4047
+ _deepMergeConfig(details, theConfig, newConfig, mergeExisting);
4048
+ if (!mergeExisting) {
4049
+ objForEachKey(theConfig, function (key) {
4050
+ if (!objHasOwn(newConfig, key)) {
4051
+ details.hdlr.set(theConfig, key, UNDEFINED_VALUE);
4052
+ }
4053
+ });
4054
+ }
4055
+ applyDefaults(theConfig, defaultConfig);
4056
+ _initExtConfig();
4057
+ });
4058
+ _configHandler[_DYN_NOTIFY ]();
4059
+ _doUpdate(updateState);
4060
+ };
3330
4061
  _self.evtNamespace = function () {
3331
4062
  return _evtNamespace;
3332
4063
  };
@@ -3340,12 +4071,38 @@
3340
4071
  _self.setTraceCtx = function (traceCtx) {
3341
4072
  _traceCtx = traceCtx || null;
3342
4073
  };
4074
+ _self.addUnloadHook = _addUnloadHook;
3343
4075
  proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
4076
+ _self.onCfgChange = function (handler) {
4077
+ var unloadHook;
4078
+ if (!_isInitialized) {
4079
+ unloadHook = _addDelayedCfgListener(_cfgListeners, handler);
4080
+ }
4081
+ else {
4082
+ unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
4083
+ }
4084
+ return {
4085
+ rm: function () {
4086
+ unloadHook.rm();
4087
+ }
4088
+ };
4089
+ };
3344
4090
  function _initDefaults() {
4091
+ var _a;
3345
4092
  _isInitialized = false;
3346
- _config = objExtend(true, {}, defaultInitConfig);
3347
- _self[_DYN_CONFIG ] = _config;
3348
- _self[_DYN_LOGGER ] = new DiagnosticLogger(_config);
4093
+ _configHandler = createDynamicConfig({}, defaultConfig, _self[_DYN_LOGGER ]);
4094
+ _configHandler.cfg[_DYN_LOGGING_LEVEL_CONSOL4 ] = 1 ;
4095
+ objDefineProp(_self, "config", (_a = {},
4096
+ _a[_DYN_CONFIGURABLE ] = true,
4097
+ _a[_DYN_ENUMERABLE ] = true,
4098
+ _a.get = function () { return _configHandler.cfg; },
4099
+ _a.set = function (newValue) {
4100
+ if (_self[_DYN_IS_INITIALIZED ]()) {
4101
+ _self.updateCfg(newValue, false);
4102
+ }
4103
+ },
4104
+ _a));
4105
+ _self[_DYN_LOGGER ] = new DiagnosticLogger(_configHandler.cfg);
3349
4106
  _self[_DYN__EXTENSIONS ] = [];
3350
4107
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
3351
4108
  _eventQueue = [];
@@ -3364,9 +4121,12 @@
3364
4121
  _evtNamespace = createUniqueNamespace("AIBaseCore", true);
3365
4122
  _unloadHandlers = createUnloadHandlerContainer();
3366
4123
  _traceCtx = null;
4124
+ _instrumentationKey = null;
4125
+ _hooks = [];
4126
+ _cfgListeners = [];
3367
4127
  }
3368
4128
  function _createTelCtx() {
3369
- return createProcessTelemetryContext(_getPluginChain(), _config, _self);
4129
+ return createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
3370
4130
  }
3371
4131
  function _initPluginChain(updateState) {
3372
4132
  var theExtensions = _validateExtensions(_self[_DYN_LOGGER ], ChannelControllerPriority, _configExtensions);
@@ -3391,7 +4151,7 @@
3391
4151
  allExtensions[_DYN_PUSH ](_channelControl);
3392
4152
  _coreExtensions[_DYN_PUSH ](_channelControl);
3393
4153
  _self[_DYN__EXTENSIONS ] = sortPlugins(allExtensions);
3394
- _channelControl[_DYN_INITIALIZE ](_config, _self, allExtensions);
4154
+ _channelControl[_DYN_INITIALIZE ](_configHandler.cfg, _self, allExtensions);
3395
4155
  initializePlugins(_createTelCtx(), allExtensions);
3396
4156
  _self[_DYN__EXTENSIONS ] = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3397
4157
  if (updateState) {
@@ -3449,13 +4209,13 @@
3449
4209
  if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {
3450
4210
  extensions[_DYN_PUSH ](_telemetryInitializerPlugin);
3451
4211
  }
3452
- _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);
4212
+ _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _configHandler.cfg, _self);
3453
4213
  }
3454
4214
  return _pluginChain;
3455
4215
  }
3456
4216
  function _removePlugins(thePlugins, unloadState, removeComplete) {
3457
4217
  if (thePlugins && thePlugins[_DYN_LENGTH ] > 0) {
3458
- var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);
4218
+ var unloadChain = createTelemetryProxyChain(thePlugins, _configHandler.cfg, _self);
3459
4219
  var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);
3460
4220
  unloadCtx[_DYN_ON_COMPLETE ](function () {
3461
4221
  var removed = false;
@@ -3500,7 +4260,7 @@
3500
4260
  var _a;
3501
4261
  var item = (_a = {},
3502
4262
  _a[_DYN_NAME ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ],
3503
- _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY ]),
4263
+ _a.iKey = _instrumentationKey,
3504
4264
  _a.time = toISOString(new Date()),
3505
4265
  _a.baseType = _InternalLogMessage.dataType,
3506
4266
  _a.baseData = { message: logMessage[_DYN_MESSAGE ] },
@@ -3518,28 +4278,31 @@
3518
4278
  return true;
3519
4279
  }
3520
4280
  function _initDebugListener() {
3521
- var disableDbgExt = getCfgValue(_config.disableDbgExt);
3522
- if (disableDbgExt === true && _debugListener) {
3523
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
3524
- _debugListener = null;
3525
- }
3526
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
3527
- _debugListener = getDebugListener(_config);
3528
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
3529
- }
4281
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4282
+ var disableDbgExt = details.cfg.disableDbgExt;
4283
+ if (disableDbgExt === true && _debugListener) {
4284
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
4285
+ _debugListener = null;
4286
+ }
4287
+ if (_notificationManager && !_debugListener && disableDbgExt !== true) {
4288
+ _debugListener = getDebugListener(details.cfg);
4289
+ _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
4290
+ }
4291
+ }));
3530
4292
  }
3531
4293
  function _initPerfManager() {
3532
- var enablePerfMgr = getCfgValue(_config.enablePerfMgr);
3533
- if (!enablePerfMgr && _cfgPerfManager) {
3534
- _cfgPerfManager = null;
3535
- }
3536
- if (enablePerfMgr) {
3537
- getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);
3538
- }
4294
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
4295
+ var enablePerfMgr = details.cfg.enablePerfMgr;
4296
+ if (!enablePerfMgr && _cfgPerfManager) {
4297
+ _cfgPerfManager = null;
4298
+ }
4299
+ if (enablePerfMgr) {
4300
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
4301
+ }
4302
+ }));
3539
4303
  }
3540
4304
  function _initExtConfig() {
3541
- var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});
3542
- extConfig.NotificationManager = _notificationManager;
4305
+ _configHandler.cfg[STR_EXTENSION_CONFIG ].NotificationManager = _notificationManager;
3543
4306
  }
3544
4307
  function _doUpdate(updateState) {
3545
4308
  var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
@@ -3556,114 +4319,22 @@
3556
4319
  throwError(message);
3557
4320
  }
3558
4321
  }
3559
- });
3560
- }
3561
- BaseCore.__ieDyn=1;
3562
- return BaseCore;
3563
- }());
3564
-
3565
- function _runListeners(listeners, name, isAsync, callback) {
3566
- arrForEach(listeners, function (listener) {
3567
- if (listener && listener[name]) {
3568
- if (isAsync) {
3569
- setTimeout(function () { return callback(listener); }, 0);
3570
- }
3571
- else {
3572
- try {
3573
- callback(listener);
3574
- }
3575
- catch (e) {
3576
- }
3577
- }
3578
- }
3579
- });
3580
- }
3581
- var NotificationManager = /** @class */ (function () {
3582
- function NotificationManager(config) {
3583
- this.listeners = [];
3584
- var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3585
- dynamicProto(NotificationManager, this, function (_self) {
3586
- _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3587
- _self.listeners[_DYN_PUSH ](listener);
3588
- };
3589
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3590
- var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3591
- while (index > -1) {
3592
- _self.listeners[_DYN_SPLICE ](index, 1);
3593
- index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3594
- }
3595
- };
3596
- _self[STR_EVENTS_SENT ] = function (events) {
3597
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3598
- listener[STR_EVENTS_SENT ](events);
3599
- });
3600
- };
3601
- _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3602
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3603
- listener[STR_EVENTS_DISCARDED ](events, reason);
3604
- });
3605
- };
3606
- _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3607
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3608
- listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3609
- });
3610
- };
3611
- _self[STR_PERF_EVENT ] = function (perfEvent) {
3612
- if (perfEvent) {
3613
- if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3614
- _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3615
- if (perfEvent[_DYN_IS_ASYNC ]) {
3616
- setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3617
- }
3618
- else {
3619
- listener[STR_PERF_EVENT ](perfEvent);
3620
- }
3621
- });
3622
- }
3623
- }
3624
- };
3625
- });
3626
- }
3627
- NotificationManager.__ieDyn=1;
3628
- return NotificationManager;
3629
- }());
3630
-
3631
- var AppInsightsCore = /** @class */ (function (_super) {
3632
- __extendsFn(AppInsightsCore, _super);
3633
- function AppInsightsCore() {
3634
- var _this = _super.call(this) || this;
3635
- dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3636
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
3637
- _base[_DYN_INITIALIZE ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3638
- };
3639
- _self.track = function (telemetryItem) {
3640
- doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3641
- if (telemetryItem === null) {
3642
- _notifyInvalidEvent(telemetryItem);
3643
- throwError("Invalid telemetry item");
3644
- }
3645
- _validateTelemetryItem(telemetryItem);
3646
- _base.track(telemetryItem);
3647
- }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3648
- };
3649
- function _validateTelemetryItem(telemetryItem) {
3650
- if (isNullOrUndefined(telemetryItem[_DYN_NAME ])) {
3651
- _notifyInvalidEvent(telemetryItem);
3652
- throwError("telemetry name required");
3653
- }
3654
- }
3655
4322
  function _notifyInvalidEvent(telemetryItem) {
3656
4323
  var manager = _self[_DYN_GET_NOTIFY_MGR ]();
3657
4324
  if (manager) {
3658
4325
  manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
3659
4326
  }
3660
4327
  }
4328
+ function _addUnloadHook(hooks) {
4329
+ if (hooks) {
4330
+ arrAppend(_hooks, hooks);
4331
+ }
4332
+ }
3661
4333
  });
3662
- return _this;
3663
4334
  }
3664
4335
  AppInsightsCore.__ieDyn=1;
3665
4336
  return AppInsightsCore;
3666
- }(BaseCore));
4337
+ }());
3667
4338
 
3668
4339
  var strOnPrefix = "on";
3669
4340
  var strAttachEvent = "attachEvent";
@@ -3685,7 +4356,7 @@
3685
4356
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3686
4357
  function _normalizeNamespace(name) {
3687
4358
  if (name && name[_DYN_REPLACE ]) {
3688
- return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
4359
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
3689
4360
  }
3690
4361
  return name;
3691
4362
  }
@@ -3975,111 +4646,11 @@
3975
4646
  removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);
3976
4647
  }
3977
4648
 
3978
- var _a;
3979
- var FAILED = "Failed";
3980
- var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax";
3981
- var TRACK = "Track";
3982
- var START = "Start";
3983
- var STOP = "Stop";
3984
- var EVENT = "Event";
3985
- var AUTH_CONTEXT = "AuthContext";
3986
- var EXCEPTION = "Exception";
3987
- var LOCAL = "Local";
3988
- var SESSION = "Session";
3989
- var STORAGE = "Storage";
3990
- var BROWSER = "Browser";
3991
- var CANNOT = "Cannot";
3992
- var BUFFER = "Buffer";
3993
- var INSTRUMENTATION_KEY = "InstrumentationKey";
3994
4649
  var LoggingSeverity = createEnumStyle({
4650
+ DISABLED: 0 ,
3995
4651
  CRITICAL: 1 ,
3996
4652
  WARNING: 2
3997
4653
  });
3998
- var _InternalMessageId = createEnumStyle((_a = {},
3999
- _a[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 ,
4000
- _a[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 ,
4001
- _a[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 ,
4002
- _a[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 ,
4003
- _a[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 ,
4004
- _a[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 ,
4005
- _a[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 ,
4006
- _a[CANNOT + "SendEmptyTelemetry"] = 7 ,
4007
- _a.ClientPerformanceMathError = 8 ,
4008
- _a["ErrorParsingAI" + SESSION + "Cookie"] = 9 ,
4009
- _a.ErrorPVCalc = 10 ,
4010
- _a[EXCEPTION + "WhileLoggingError"] = 11 ,
4011
- _a[FAILED + "AddingTelemetryTo" + BUFFER] = 12 ,
4012
- _a[FAILED_MONITOR_AJAX + "Abort"] = 13 ,
4013
- _a[FAILED_MONITOR_AJAX + "Dur"] = 14 ,
4014
- _a[FAILED_MONITOR_AJAX + "Open"] = 15 ,
4015
- _a[FAILED_MONITOR_AJAX + "RSC"] = 16 ,
4016
- _a[FAILED_MONITOR_AJAX + "Send"] = 17 ,
4017
- _a[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 ,
4018
- _a[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 ,
4019
- _a[FAILED + "ToSendQueuedTelemetry"] = 20 ,
4020
- _a[FAILED + "ToReportDataLoss"] = 21 ,
4021
- _a["Flush" + FAILED] = 22 ,
4022
- _a.MessageLimitPerPVExceeded = 23 ,
4023
- _a.MissingRequiredFieldSpecification = 24 ,
4024
- _a.NavigationTimingNotSupported = 25 ,
4025
- _a.OnError = 26 ,
4026
- _a[SESSION + "RenewalDateIsZero"] = 27 ,
4027
- _a.SenderNotInitialized = 28 ,
4028
- _a[START + TRACK + EVENT + FAILED] = 29 ,
4029
- _a[STOP + TRACK + EVENT + FAILED] = 30 ,
4030
- _a[START + TRACK + FAILED] = 31 ,
4031
- _a[STOP + TRACK + FAILED] = 32 ,
4032
- _a.TelemetrySampledAndNotSent = 33 ,
4033
- _a[TRACK + EVENT + FAILED] = 34 ,
4034
- _a[TRACK + EXCEPTION + FAILED] = 35 ,
4035
- _a[TRACK + "Metric" + FAILED] = 36 ,
4036
- _a[TRACK + "PV" + FAILED] = 37 ,
4037
- _a[TRACK + "PV" + FAILED + "Calc"] = 38 ,
4038
- _a[TRACK + "Trace" + FAILED] = 39 ,
4039
- _a["Transmission" + FAILED] = 40 ,
4040
- _a[FAILED + "ToSet" + STORAGE + BUFFER] = 41 ,
4041
- _a[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 ,
4042
- _a.InvalidBackendResponse = 43 ,
4043
- _a[FAILED + "ToFixDepricatedValues"] = 44 ,
4044
- _a.InvalidDurationValue = 45 ,
4045
- _a.TelemetryEnvelopeInvalid = 46 ,
4046
- _a.CreateEnvelopeError = 47 ,
4047
- _a[CANNOT + "SerializeObject"] = 48 ,
4048
- _a[CANNOT + "SerializeObjectNonSerializable"] = 49 ,
4049
- _a.CircularReferenceDetected = 50 ,
4050
- _a["Clear" + AUTH_CONTEXT + FAILED] = 51 ,
4051
- _a[EXCEPTION + "Truncated"] = 52 ,
4052
- _a.IllegalCharsInName = 53 ,
4053
- _a.ItemNotInArray = 54 ,
4054
- _a.MaxAjaxPerPVExceeded = 55 ,
4055
- _a.MessageTruncated = 56 ,
4056
- _a.NameTooLong = 57 ,
4057
- _a.SampleRateOutOfRange = 58 ,
4058
- _a["Set" + AUTH_CONTEXT + FAILED] = 59 ,
4059
- _a["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 ,
4060
- _a.StringValueTooLong = 61 ,
4061
- _a.StartCalledMoreThanOnce = 62 ,
4062
- _a.StopCalledWithoutStart = 63 ,
4063
- _a["TelemetryInitializer" + FAILED] = 64 ,
4064
- _a.TrackArgumentsNotSpecified = 65 ,
4065
- _a.UrlTooLong = 66 ,
4066
- _a[SESSION + STORAGE + BUFFER + "Full"] = 67 ,
4067
- _a[CANNOT + "AccessCookie"] = 68 ,
4068
- _a.IdTooLong = 69 ,
4069
- _a.InvalidEvent = 70 ,
4070
- _a[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 ,
4071
- _a["Send" + BROWSER + "InfoOnUserInit"] = 72 ,
4072
- _a["Plugin" + EXCEPTION] = 73 ,
4073
- _a["Notification" + EXCEPTION] = 74 ,
4074
- _a.SnippetScriptLoadFailure = 99 ,
4075
- _a["Invalid" + INSTRUMENTATION_KEY] = 100 ,
4076
- _a[CANNOT + "ParseAiBlobValue"] = 101 ,
4077
- _a.InvalidContentBlob = 102 ,
4078
- _a[TRACK + "PageAction" + EVENT + FAILED] = 103 ,
4079
- _a[FAILED + "AddingCustomDefinedRequestContext"] = 104 ,
4080
- _a["InMemory" + STORAGE + BUFFER + "Full"] = 105 ,
4081
- _a[INSTRUMENTATION_KEY + "Deprecation"] = 106 ,
4082
- _a));
4083
4654
 
4084
4655
  var aiInstrumentHooks = "_aiHooks";
4085
4656
  var cbNames = [
@@ -4260,7 +4831,6 @@
4260
4831
  }
4261
4832
 
4262
4833
  exports.AppInsightsCore = AppInsightsCore;
4263
- exports.BaseCore = BaseCore;
4264
4834
  exports.BaseTelemetryPlugin = BaseTelemetryPlugin;
4265
4835
  exports.DiagnosticLogger = DiagnosticLogger;
4266
4836
  exports.EventsDiscardedReason = EventsDiscardedReason;
@@ -4277,7 +4847,6 @@
4277
4847
  exports.ProcessTelemetryContext = ProcessTelemetryContext;
4278
4848
  exports.Undefined = Undefined;
4279
4849
  exports._InternalLogMessage = _InternalLogMessage;
4280
- exports._InternalMessageId = _InternalMessageId;
4281
4850
  exports.__getRegisteredEvents = __getRegisteredEvents;
4282
4851
  exports._logInternalMessage = _logInternalMessage;
4283
4852
  exports._throwInternal = _throwInternal;
@@ -4287,14 +4856,17 @@
4287
4856
  exports.addPageHideEventListener = addPageHideEventListener;
4288
4857
  exports.addPageShowEventListener = addPageShowEventListener;
4289
4858
  exports.addPageUnloadEventListener = addPageUnloadEventListener;
4859
+ exports.applyDefaults = applyDefaults;
4290
4860
  exports.areCookiesSupported = areCookiesSupported;
4291
4861
  exports.arrForEach = arrForEach;
4292
4862
  exports.arrIndexOf = arrIndexOf;
4293
4863
  exports.arrMap = arrMap;
4294
4864
  exports.arrReduce = arrReduce;
4865
+ exports.asString = asString;
4295
4866
  exports.attachEvent = attachEvent;
4296
4867
  exports.createClassFromInterface = createClassFromInterface;
4297
4868
  exports.createCookieMgr = createCookieMgr;
4869
+ exports.createDynamicConfig = createDynamicConfig;
4298
4870
  exports.createEnumStyle = createEnumStyle;
4299
4871
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
4300
4872
  exports.createTraceParent = createTraceParent;
@@ -4318,6 +4890,7 @@
4318
4890
  exports.getDebugExt = getDebugExt;
4319
4891
  exports.getDebugListener = getDebugListener;
4320
4892
  exports.getDocument = getDocument;
4893
+ exports.getDynamicConfigHandler = getDynamicConfigHandler;
4321
4894
  exports.getExceptionName = getExceptionName;
4322
4895
  exports.getGblPerfMgr = getGblPerfMgr;
4323
4896
  exports.getGlobal = getGlobal;
@@ -4373,11 +4946,12 @@
4373
4946
  exports.objCreate = objCreateFn;
4374
4947
  exports.objDefineAccessors = objDefineAccessors;
4375
4948
  exports.objExtend = objExtend;
4376
- exports.objForEachKey = objForEachKey;
4949
+ exports.objForEachKey = objForEachKey$1;
4377
4950
  exports.objFreeze = objFreeze;
4378
4951
  exports.objKeys = objKeys;
4379
4952
  exports.objSeal = objSeal;
4380
4953
  exports.objToString = objToString;
4954
+ exports.onConfigChange = onConfigChange;
4381
4955
  exports.optimizeObject = optimizeObject;
4382
4956
  exports.parseTraceParent = parseTraceParent;
4383
4957
  exports.perfNow = perfNow;