@microsoft/applicationinsights-core-js 3.0.0-beta.2302-03 → 3.0.0-beta.2302-05

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 (98) hide show
  1. package/browser/applicationinsights-core-js.integrity.json +9 -9
  2. package/browser/applicationinsights-core-js.js +286 -180
  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 +757 -33
  7. package/dist/applicationinsights-core-js.api.md +24 -3
  8. package/dist/applicationinsights-core-js.d.ts +76 -4
  9. package/dist/applicationinsights-core-js.js +286 -180
  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 +76 -4
  14. package/dist-esm/Config/ConfigDefaultHelpers.js +103 -0
  15. package/dist-esm/Config/ConfigDefaultHelpers.js.map +1 -0
  16. package/dist-esm/Config/ConfigDefaults.js +81 -11
  17. package/dist-esm/Config/ConfigDefaults.js.map +1 -1
  18. package/dist-esm/Config/DynamicConfig.js +3 -3
  19. package/dist-esm/Config/DynamicConfig.js.map +1 -1
  20. package/dist-esm/Config/DynamicProperty.js +1 -1
  21. package/dist-esm/Config/DynamicState.js +3 -3
  22. package/dist-esm/Config/DynamicState.js.map +1 -1
  23. package/dist-esm/Config/DynamicSupport.js +1 -1
  24. package/dist-esm/Config/IConfigDefaults.js +1 -1
  25. package/dist-esm/Config/IDynamicConfigHandler.js +1 -1
  26. package/dist-esm/Config/IDynamicPropertyHandler.js +1 -1
  27. package/dist-esm/Config/IDynamicWatcher.js +1 -1
  28. package/dist-esm/Config/_IDynamicConfigHandlerState.js +1 -1
  29. package/dist-esm/JavaScriptSDK/AggregationError.js +1 -1
  30. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +2 -2
  31. package/dist-esm/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  32. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  33. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  34. package/dist-esm/JavaScriptSDK/CookieMgr.js +17 -15
  35. package/dist-esm/JavaScriptSDK/CookieMgr.js.map +1 -1
  36. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  37. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
  38. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  39. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  40. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +1 -1
  41. package/dist-esm/JavaScriptSDK/EnvUtils.js +3 -3
  42. package/dist-esm/JavaScriptSDK/EnvUtils.js.map +1 -1
  43. package/dist-esm/JavaScriptSDK/EventHelpers.js +1 -1
  44. package/dist-esm/JavaScriptSDK/HelperFuncs.js +1 -10
  45. package/dist-esm/JavaScriptSDK/HelperFuncs.js.map +1 -1
  46. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +1 -1
  47. package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
  48. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  49. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  50. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  51. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  52. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
  53. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  54. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  55. package/dist-esm/JavaScriptSDK/UnloadHookContainer.js +1 -1
  56. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +6 -5
  57. package/dist-esm/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  58. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  70. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  71. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  72. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  73. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  75. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  76. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  79. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  80. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  81. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  82. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  83. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  84. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  85. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  86. package/dist-esm/__DynamicConstants.js +6 -5
  87. package/dist-esm/__DynamicConstants.js.map +1 -1
  88. package/dist-esm/applicationinsights-core-js.js +2 -1
  89. package/dist-esm/applicationinsights-core-js.js.map +1 -1
  90. package/package.json +2 -2
  91. package/src/JavaScriptSDK/CookieMgr.ts +14 -13
  92. package/src/JavaScriptSDK/HelperFuncs.ts +0 -11
  93. package/types/Config/ConfigDefaultHelpers.d.ts +47 -0
  94. package/types/Config/ConfigDefaults.d.ts +1 -2
  95. package/types/Config/IConfigDefaults.d.ts +24 -3
  96. package/types/__DynamicConstants.d.ts +2 -1
  97. package/types/applicationinsights-core-js.d.ts +1 -0
  98. package/types/tsdoc-metadata.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.0-beta.2302-03
2
+ * Application Insights JavaScript SDK - Core, 3.0.0-beta.2302-05
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -50,7 +50,8 @@
50
50
  return typeof value === theType;
51
51
  };
52
52
  }
53
- function _createObjIs(theType) {
53
+ function _createObjIs(theName) {
54
+ var theType = "[object " + theName + "]";
54
55
  return function (value) {
55
56
  return !!(value && objToString(value) === theType);
56
57
  };
@@ -86,10 +87,10 @@
86
87
  return !!value && typeof value === OBJECT;
87
88
  }
88
89
  var isArray = ArrCls.isArray;
89
- var isDate = _createObjIs("[object Date]");
90
+ var isDate = _createObjIs("Date");
90
91
  var isNumber = _createIs(NUMBER);
91
92
  var isBoolean = _createIs(BOOLEAN);
92
- var isError = _createObjIs("[object Error]");
93
+ var isError = _createObjIs("Error");
93
94
  function isNotTruthy(value) {
94
95
  return !value || !_safeGet(function () { return (value && (0 + value)); }, value);
95
96
  }
@@ -120,6 +121,15 @@
120
121
  }
121
122
  }
122
123
 
124
+ function _createKeyValueMap(values, keyType, valueType, completeFn) {
125
+ var theMap = {};
126
+ objForEachKey(values, function (key, value) {
127
+ theMap[key] = keyType ? value : key;
128
+ theMap[value] = valueType ? value : key;
129
+ });
130
+ return completeFn(theMap);
131
+ }
132
+
123
133
  function throwError(message) {
124
134
  throw new Error(message);
125
135
  }
@@ -128,9 +138,7 @@
128
138
  }
129
139
 
130
140
  var _objFreeze = ObjClass$1["freeze"];
131
- function _doNothing(value) {
132
- return value;
133
- }
141
+ var _doNothing = function (value) { return value; };
134
142
  function objKeys(value) {
135
143
  if (!isObject(value) || value === null) {
136
144
  throwTypeError$1("objKeys called on non-object");
@@ -152,17 +160,12 @@
152
160
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _doNothing;
153
161
 
154
162
  function createEnum(values) {
155
- var theEnum = {};
156
- objForEachKey(values, function (field, value) {
157
- theEnum[field] = value;
158
- theEnum[value] = field;
159
- });
160
- return objDeepFreeze(theEnum);
163
+ return _createKeyValueMap(values, 1, 0, objDeepFreeze);
161
164
  }
162
165
  function createSimpleMap(values) {
163
166
  var mapClass = {};
164
- objForEachKey(values, function (field, value) {
165
- mapClass[field] = value[1];
167
+ objForEachKey(values, function (key, value) {
168
+ mapClass[key] = value[1];
166
169
  mapClass[value[0]] = value[1];
167
170
  });
168
171
  return objDeepFreeze(mapClass);
@@ -199,6 +202,79 @@
199
202
  return _globalCfg;
200
203
  }
201
204
 
205
+ function dumpObj(object, format) {
206
+ var propertyValueDump = "";
207
+ if (isError(object)) {
208
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
209
+ }
210
+ else {
211
+ try {
212
+ propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
213
+ }
214
+ catch (e) {
215
+ propertyValueDump = " - " + dumpObj(e, format);
216
+ }
217
+ }
218
+ return objToString(object) + ": " + propertyValueDump;
219
+ }
220
+
221
+ function _extractArgs(args, startAt) {
222
+ var theArgs = [];
223
+ for (var lp = startAt; lp < args[LENGTH]; lp++) {
224
+ theArgs[lp - startAt] = args[lp];
225
+ }
226
+ return theArgs;
227
+ }
228
+
229
+ function _unwrapFunction(funcName) {
230
+ return function (thisArg) {
231
+ var args = _extractArgs(arguments, 1);
232
+ if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
233
+ return thisArg[funcName].apply(thisArg, args);
234
+ }
235
+ throwTypeError$1("'" + funcName + "' not defined for " + dumpObj(thisArg));
236
+ };
237
+ }
238
+
239
+ var mathMax = MathCls.max;
240
+
241
+ var strSlice = _unwrapFunction("slice");
242
+
243
+ var SUB_STR = "substr";
244
+ var strSubstring = _unwrapFunction("substring");
245
+ var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
246
+ function polyStrSubstr(value, start, length) {
247
+ if (isNullOrUndefined(value)) {
248
+ throwTypeError$1("'polyStrSubstr called with invalid " + dumpObj(value));
249
+ }
250
+ if (length < 0) {
251
+ return EMPTY;
252
+ }
253
+ start = start || 0;
254
+ if (start < 0) {
255
+ start = mathMax(start + value[LENGTH], 0);
256
+ }
257
+ if (isUndefined(length)) {
258
+ return strSlice(value, start);
259
+ }
260
+ return strSlice(value, start, start + length);
261
+ }
262
+ function strLeft(value, count) {
263
+ return strSubstring(value, 0, count);
264
+ }
265
+
266
+ var STARTS_WITH = "startsWith";
267
+ var strStartsWith = StrProto[STARTS_WITH] ? _unwrapFunction(STARTS_WITH) : polyStrStartsWith;
268
+ function polyStrStartsWith(value, searchString, position) {
269
+ if (!isString(value)) {
270
+ throwTypeError$1("'" + dumpObj(value) + "' is not a string");
271
+ }
272
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
273
+ var chkLen = searchValue[LENGTH];
274
+ var pos = position > 0 ? position : 0;
275
+ return strSubstring(value, pos, pos + chkLen) === searchValue;
276
+ }
277
+
202
278
  var _polySymbols;
203
279
  function _globalSymbolRegistry() {
204
280
  if (!_polySymbols) {
@@ -300,6 +376,9 @@
300
376
  var _cachedDocument;
301
377
  var _cachedNavigator;
302
378
  var _cachedHistory;
379
+ function _lazySafeGetInst(name) {
380
+ return _lazySafeGet(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
381
+ }
303
382
  function getGlobal$1(useCached) {
304
383
  (!_cachedGlobal$1 || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal$1.b)) && (_cachedGlobal$1 = _lazySafeGet(_getGlobalValue, null));
305
384
  return _cachedGlobal$1.v;
@@ -318,40 +397,45 @@
318
397
  return !!getDocument();
319
398
  }
320
399
  function getDocument() {
321
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGet(function () { return getInst(DOCUMENT); }, UNDEF_VALUE));
400
+ (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGetInst(DOCUMENT));
322
401
  return _cachedDocument.v;
323
402
  }
324
403
  function hasWindow() {
325
404
  return !!getWindow();
326
405
  }
327
406
  function getWindow() {
328
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGet(function () { return getInst(WINDOW); }, UNDEF_VALUE));
407
+ (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGetInst(WINDOW));
329
408
  return _cachedWindow.v;
330
409
  }
331
410
  function hasNavigator() {
332
411
  return !!getNavigator();
333
412
  }
334
413
  function getNavigator() {
335
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGet(function () { return getInst(NAVIGATOR); }, UNDEF_VALUE));
414
+ (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGetInst(NAVIGATOR));
336
415
  return _cachedNavigator.v;
337
416
  }
338
417
  function hasHistory() {
339
418
  return !!getHistory();
340
419
  }
341
420
  function getHistory() {
342
- (!_cachedHistory || (_globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = _lazySafeGet(function () { return getInst(HISTORY); }, UNDEF_VALUE));
421
+ (!_cachedHistory || (_globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = _lazySafeGetInst(HISTORY));
343
422
  return _cachedHistory.v;
344
423
  }
345
424
 
346
425
  var _symbol;
347
426
  var _symbolFor;
348
427
  var _symbolKeyFor;
428
+ function _getSymbolValue(name) {
429
+ return _lazySafeGet(function () {
430
+ return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
431
+ }, UNDEF_VALUE);
432
+ }
349
433
  var isSymbol = _createIs("symbol");
350
434
  function getSymbol() {
351
435
  var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
352
- resetCache && (_symbol = _lazySafeGet(function () { return isDefined(Symbol) ? getInst(SYMBOL) : UNDEF_VALUE; }, UNDEF_VALUE));
353
- (!_symbolFor || resetCache) && (_symbolFor = _lazySafeGet(function () { return _symbol.v ? _symbol["for"] : UNDEF_VALUE; }, UNDEF_VALUE));
354
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _lazySafeGet(function () { return _symbol.v ? _symbol["keyFor"] : UNDEF_VALUE; }, UNDEF_VALUE));
436
+ resetCache && (_symbol = _lazySafeGetInst(SYMBOL));
437
+ (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
438
+ (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
355
439
  return _symbol.v;
356
440
  }
357
441
  function newSymbol(description, noPoly) {
@@ -399,46 +483,6 @@
399
483
  }
400
484
  }
401
485
 
402
- function dumpObj(object, format) {
403
- var objectTypeDump = objToString(object);
404
- var propertyValueDump = "";
405
- if (objectTypeDump === "[object Error]") {
406
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
407
- }
408
- else {
409
- try {
410
- if (format) {
411
- if (isNumber(format)) {
412
- propertyValueDump = JSON.stringify(object, null, format);
413
- }
414
- else {
415
- propertyValueDump = JSON.stringify(object, null, 4);
416
- }
417
- }
418
- else {
419
- propertyValueDump = JSON.stringify(object);
420
- }
421
- }
422
- catch (e) {
423
- propertyValueDump = objToString(object) + " - " + dumpObj(e, format);
424
- }
425
- }
426
- return objectTypeDump + ": " + propertyValueDump;
427
- }
428
-
429
- function _unwrapFunction(funcName) {
430
- return function (thisArg) {
431
- var args = [];
432
- for (var _i = 1; _i < arguments.length; _i++) {
433
- args[_i - 1] = arguments[_i];
434
- }
435
- if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
436
- return thisArg[funcName].apply(thisArg, args);
437
- }
438
- throwTypeError$1("'" + funcName + "' not defined for " + dumpObj(thisArg));
439
- };
440
- }
441
-
442
486
  var arrIndexOf = _unwrapFunction(INDEX_OF);
443
487
 
444
488
  var arrMap = _unwrapFunction("map");
@@ -451,9 +495,7 @@
451
495
  d.__proto__ = b;
452
496
  }) ||
453
497
  function (d, b) {
454
- objForEachKey(b, function (key, value) {
455
- d[key] = value;
456
- });
498
+ objForEachKey(b, function (key, value) { return d[key] = value; });
457
499
  };
458
500
  return fn(obj, proto);
459
501
  }
@@ -486,7 +528,7 @@
486
528
  return new Date().getTime();
487
529
  }
488
530
 
489
- var _fnToString$1;
531
+ var _fnToString;
490
532
  var _objCtrFnString;
491
533
  var _gblWindow;
492
534
  function isPlainObject(value) {
@@ -499,8 +541,8 @@
499
541
  var result = false;
500
542
  if (value !== _gblWindow) {
501
543
  if (!_objCtrFnString) {
502
- _fnToString$1 = Function[PROTOTYPE].toString;
503
- _objCtrFnString = _fnToString$1.call(ObjClass$1);
544
+ _fnToString = Function[PROTOTYPE].toString;
545
+ _objCtrFnString = _fnToString.call(ObjClass$1);
504
546
  }
505
547
  try {
506
548
  var proto = objGetPrototypeOf(value);
@@ -509,7 +551,7 @@
509
551
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
510
552
  proto = proto[CONSTRUCTOR];
511
553
  }
512
- result = proto && typeof proto === FUNCTION && _fnToString$1.call(proto) === _objCtrFnString;
554
+ result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
513
555
  }
514
556
  }
515
557
  catch (ex) {
@@ -661,7 +703,7 @@
661
703
 
662
704
  var _perf;
663
705
  function getPerformance() {
664
- (!_perf || (_globalLazyTestHooks.lzy && !_perf.b)) && (_perf = _lazySafeGet(function () { return getInst("performance"); }, UNDEF_VALUE));
706
+ (!_perf || (_globalLazyTestHooks.lzy && !_perf.b)) && (_perf = _lazySafeGetInst("performance"));
665
707
  return _perf.v;
666
708
  }
667
709
  function perfNow() {
@@ -672,33 +714,6 @@
672
714
  return utcNow();
673
715
  }
674
716
 
675
- var mathMax = MathCls.max;
676
-
677
- var strSlice = _unwrapFunction("slice");
678
-
679
- var SUB_STR = "substr";
680
- var strSubstring = _unwrapFunction("substring");
681
- var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
682
- function polyStrSubstr(value, start, length) {
683
- if (isNullOrUndefined(value)) {
684
- throwTypeError$1("'polyStrSubstr called with invalid " + dumpObj(value));
685
- }
686
- if (length < 0) {
687
- return EMPTY;
688
- }
689
- start = start || 0;
690
- if (start < 0) {
691
- start = mathMax(start + value[LENGTH], 0);
692
- }
693
- if (isUndefined(length)) {
694
- return strSlice(value, start);
695
- }
696
- return strSlice(value, start, start + length);
697
- }
698
- function strLeft(value, count) {
699
- return strSubstring(value, 0, count);
700
- }
701
-
702
717
  var ENDS_WITH = "endsWith";
703
718
  var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
704
719
  function polyStrEndsWith(value, searchString, length) {
@@ -714,18 +729,6 @@
714
729
 
715
730
  var strIndexOf = _unwrapFunction(INDEX_OF);
716
731
 
717
- var STARTS_WITH = "startsWith";
718
- var strStartsWith = StrProto[STARTS_WITH] ? _unwrapFunction(STARTS_WITH) : polyStrStartsWith;
719
- function polyStrStartsWith(value, searchString, position) {
720
- if (!isString(value)) {
721
- throwTypeError$1("'" + dumpObj(value) + "' is not a string");
722
- }
723
- var searchValue = isString(searchString) ? searchString : asString(searchString);
724
- var chkLen = searchValue[LENGTH];
725
- var pos = position > 0 ? position : 0;
726
- return strSubstring(value, pos, pos + chkLen) === searchValue;
727
- }
728
-
729
732
  function _createTrimFn(exp) {
730
733
  return function _doTrim(value) {
731
734
  if (isNullOrUndefined(value)) {
@@ -780,14 +783,6 @@
780
783
  return timer;
781
784
  }
782
785
 
783
- function _extractArgs(args, startAt) {
784
- var theArgs = [];
785
- for (var lp = startAt; lp < args[LENGTH]; lp++) {
786
- theArgs[lp - startAt] = args[lp];
787
- }
788
- return theArgs;
789
- }
790
-
791
786
  function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
792
787
  var isArr = isArray(overrideFn);
793
788
  var len = isArr ? overrideFn.length : 0;
@@ -833,7 +828,9 @@
833
828
  QueueFull: 5
834
829
  });
835
830
 
831
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
836
832
  var _DYN_LENGTH = "length";
833
+ var _DYN_RD_ONLY = "rdOnly";
837
834
  var _DYN_NOTIFY = "notify";
838
835
  var _DYN_THROW_INTERNAL = "throwInternal";
839
836
  var _DYN_SET_DF = "setDf";
@@ -877,7 +874,6 @@
877
874
  var _DYN_REPLACE = "replace";
878
875
  var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
879
876
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
880
- var _DYN_TO_LOWER_CASE = "toLowerCase";
881
877
  var _DYN_TYPE = "type";
882
878
  var _DYN_HANDLER = "handler";
883
879
  var _DYN_LISTENERS = "listeners";
@@ -1280,10 +1276,7 @@
1280
1276
  var STR_PATH = "path";
1281
1277
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1282
1278
 
1283
- var strToString = "toString";
1284
1279
  var strGetPrototypeOf = "getPrototypeOf";
1285
- var _fnToString = ObjClass[strToString];
1286
- _fnToString.call(ObjClass);
1287
1280
  var rCamelCase = /-([a-z])/g;
1288
1281
  var rNormalizeInvalid = /([^\w\d_$])/g;
1289
1282
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -1573,7 +1566,7 @@
1573
1566
  if (userAgentStr === void 0) { userAgentStr = null; }
1574
1567
  if (!userAgentStr) {
1575
1568
  var navigator_1 = getNavigator() || {};
1576
- userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1569
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1577
1570
  }
1578
1571
  var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1579
1572
  if (strContains(ua, strMsie)) {
@@ -1591,7 +1584,7 @@
1591
1584
  function isSafari(userAgentStr) {
1592
1585
  if (!userAgentStr || !isString(userAgentStr)) {
1593
1586
  var navigator_2 = getNavigator() || {};
1594
- userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1587
+ userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1595
1588
  }
1596
1589
  var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1597
1590
  return (strIndexOf(ua, "safari") >= 0);
@@ -1747,7 +1740,7 @@
1747
1740
  }
1748
1741
 
1749
1742
  var _objDefineProperty = ObjDefineProperty;
1750
- var version = "3.0.0-beta.2302-03";
1743
+ var version = "3.0.0-beta.2302-05";
1751
1744
  var instanceName = "." + newId(6);
1752
1745
  var _dataUid = 0;
1753
1746
  function _createAccessor(target, prop, value) {
@@ -1820,39 +1813,9 @@
1820
1813
  return data;
1821
1814
  }
1822
1815
 
1823
- var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1824
- function _cfgDeepCopy(source) {
1825
- if (source) {
1826
- var target_1;
1827
- if (isArray(source)) {
1828
- target_1 = [];
1829
- target_1[_DYN_LENGTH ] = source[_DYN_LENGTH ];
1830
- }
1831
- else if (isPlainObject(source)) {
1832
- target_1 = {};
1833
- }
1834
- if (target_1) {
1835
- objForEachKey(source, function (key, value) {
1836
- target_1[key] = _cfgDeepCopy(value);
1837
- });
1838
- return target_1;
1839
- }
1840
- }
1841
- return source;
1816
+ function _isConfigDefaults(value) {
1817
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
1842
1818
  }
1843
- function getDynamicConfigHandler(value) {
1844
- if (value) {
1845
- var handler = value[CFG_HANDLER_LINK] || value;
1846
- if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1847
- return handler;
1848
- }
1849
- }
1850
- return null;
1851
- }
1852
- function throwInvalidAccess(message) {
1853
- throwTypeError$1("InvalidAccess:" + message);
1854
- }
1855
-
1856
1819
  function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1857
1820
  var defValue;
1858
1821
  var isDefaultValid = cfgDefaults.dfVal || isDefined;
@@ -1867,7 +1830,7 @@
1867
1830
  if (isDefaultValid(fbValue)) {
1868
1831
  defValue = fbValue;
1869
1832
  }
1870
- else {
1833
+ else if (dynamicHandler) {
1871
1834
  fbValue = dynamicHandler.cfg[fallback];
1872
1835
  if (isDefaultValid(fbValue)) {
1873
1836
  defValue = fbValue;
@@ -1884,27 +1847,63 @@
1884
1847
  }
1885
1848
  return defValue;
1886
1849
  }
1850
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
1851
+ var theValue = cfgDefaults;
1852
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
1853
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1854
+ }
1855
+ if (theValue) {
1856
+ if (_isConfigDefaults(theValue)) {
1857
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
1858
+ }
1859
+ var newValue_1;
1860
+ if (isArray(theValue)) {
1861
+ newValue_1 = [];
1862
+ newValue_1[_DYN_LENGTH ] = theValue[_DYN_LENGTH ];
1863
+ }
1864
+ else if (isPlainObject(theValue)) {
1865
+ newValue_1 = {};
1866
+ }
1867
+ if (newValue_1) {
1868
+ objForEachKey(theValue, function (key, value) {
1869
+ if (value && _isConfigDefaults(value)) {
1870
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
1871
+ }
1872
+ newValue_1[key] = value;
1873
+ });
1874
+ theValue = newValue_1;
1875
+ }
1876
+ }
1877
+ return theValue;
1878
+ }
1887
1879
  function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
1888
1880
  var isValid;
1889
1881
  var setFn;
1890
1882
  var defValue;
1891
1883
  var cfgDefaults = defaultValue;
1892
- if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1884
+ var mergeDf;
1885
+ var reference;
1886
+ var readOnly;
1887
+ if (_isConfigDefaults(cfgDefaults)) {
1893
1888
  isValid = cfgDefaults.isVal;
1894
1889
  setFn = cfgDefaults.set;
1890
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
1891
+ mergeDf = cfgDefaults.mrg;
1892
+ reference = cfgDefaults.ref;
1893
+ if (!reference && isUndefined(reference)) {
1894
+ reference = !!mergeDf;
1895
+ }
1895
1896
  defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1896
1897
  }
1897
1898
  else {
1898
1899
  defValue = defaultValue;
1899
1900
  }
1900
- var theValue = defValue;
1901
+ var theValue;
1901
1902
  var usingDefault = true;
1902
1903
  var cfgValue = theConfig[name];
1903
1904
  if (cfgValue || !isNullOrUndefined(cfgValue)) {
1904
1905
  theValue = cfgValue;
1905
1906
  usingDefault = false;
1906
- }
1907
- if (!usingDefault) {
1908
1907
  if (isValid && theValue !== defValue && !isValid(theValue)) {
1909
1908
  theValue = defValue;
1910
1909
  usingDefault = true;
@@ -1914,10 +1913,61 @@
1914
1913
  usingDefault = theValue === defValue;
1915
1914
  }
1916
1915
  }
1917
- if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1918
- theValue = _cfgDeepCopy(theValue);
1916
+ if (!usingDefault) {
1917
+ if (isPlainObject(theValue) || isArray(defValue)) {
1918
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
1919
+ objForEachKey(defValue, function (dfName, dfValue) {
1920
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
1921
+ });
1922
+ }
1923
+ }
1924
+ }
1925
+ else if (defValue) {
1926
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
1927
+ }
1928
+ else {
1929
+ theValue = defValue;
1919
1930
  }
1920
1931
  dynamicHandler.set(theConfig, name, theValue);
1932
+ if (reference) {
1933
+ dynamicHandler.ref(theConfig, name);
1934
+ }
1935
+ if (readOnly) {
1936
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
1937
+ }
1938
+ }
1939
+
1940
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1941
+ function _cfgDeepCopy(source) {
1942
+ if (source) {
1943
+ var target_1;
1944
+ if (isArray(source)) {
1945
+ target_1 = [];
1946
+ target_1[_DYN_LENGTH ] = source[_DYN_LENGTH ];
1947
+ }
1948
+ else if (isPlainObject(source)) {
1949
+ target_1 = {};
1950
+ }
1951
+ if (target_1) {
1952
+ objForEachKey(source, function (key, value) {
1953
+ target_1[key] = _cfgDeepCopy(value);
1954
+ });
1955
+ return target_1;
1956
+ }
1957
+ }
1958
+ return source;
1959
+ }
1960
+ function getDynamicConfigHandler(value) {
1961
+ if (value) {
1962
+ var handler = value[CFG_HANDLER_LINK] || value;
1963
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1964
+ return handler;
1965
+ }
1966
+ }
1967
+ return null;
1968
+ }
1969
+ function throwInvalidAccess(message) {
1970
+ throwTypeError$1("InvalidAccess:" + message);
1921
1971
  }
1922
1972
 
1923
1973
  var arrayMethodsToPatch = [
@@ -2097,7 +2147,7 @@
2097
2147
  set: cfgHandler.set.bind(cfgHandler),
2098
2148
  setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
2099
2149
  ref: cfgHandler.ref.bind(cfgHandler),
2100
- rdOnly: cfgHandler.rdOnly.bind(cfgHandler)
2150
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
2101
2151
  });
2102
2152
  }
2103
2153
  catch (e) {
@@ -2247,7 +2297,7 @@
2247
2297
  _a[_DYN_SET_DF ] = _applyDefaults,
2248
2298
  _a[_DYN_WATCH ] = _watch,
2249
2299
  _a.ref = _ref,
2250
- _a.rdOnly = _rdOnly,
2300
+ _a[_DYN_RD_ONLY ] = _rdOnly,
2251
2301
  _a._block = _block,
2252
2302
  _a);
2253
2303
  objDefineProp(cfgHandler, "uid", (_b = {},
@@ -2287,6 +2337,54 @@
2287
2337
 
2288
2338
  var ChannelControllerPriority = 500;
2289
2339
 
2340
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
2341
+ if (!theValue && isNullOrUndefined(theValue)) {
2342
+ return defaultValue;
2343
+ }
2344
+ if (isBoolean(theValue)) {
2345
+ return theValue;
2346
+ }
2347
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
2348
+ }
2349
+ function cfgDfMerge(defaultValue) {
2350
+ return {
2351
+ mrg: true,
2352
+ v: defaultValue
2353
+ };
2354
+ }
2355
+ function cfgDfSet(setter, defaultValue) {
2356
+ return {
2357
+ set: setter,
2358
+ v: defaultValue
2359
+ };
2360
+ }
2361
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
2362
+ return {
2363
+ fb: fallBackName,
2364
+ isVal: validator,
2365
+ v: defaultValue
2366
+ };
2367
+ }
2368
+ function cfgDfBoolean(defaultValue, fallBackName) {
2369
+ return {
2370
+ fb: fallBackName,
2371
+ set: _stringToBoolOrDefault,
2372
+ v: !!defaultValue
2373
+ };
2374
+ }
2375
+ function cfgDfFunc(defaultValue) {
2376
+ return {
2377
+ isVal: isFunction,
2378
+ v: defaultValue || null
2379
+ };
2380
+ }
2381
+ function cfgDfString(defaultValue) {
2382
+ return {
2383
+ isVal: isString,
2384
+ v: asString(defaultValue || STR_EMPTY)
2385
+ };
2386
+ }
2387
+
2290
2388
  var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
2291
2389
  var _aiNamespace = null;
2292
2390
  var _debugListener;
@@ -2517,18 +2615,19 @@
2517
2615
  var _doc = getDocument();
2518
2616
  var _cookieCache = {};
2519
2617
  var _globalCookieConfig = {};
2520
- var defaultConfig$1 = objDeepFreeze((_a$2 = {},
2521
- _a$2[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2522
- _a$2.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2523
- _a$2.enabled = UNDEFINED_VALUE,
2524
- _a$2));
2525
- var rootDefaultConfig = (_b = {
2526
- cookieCfg: {},
2618
+ var rootDefaultConfig = (_a$2 = {
2619
+ cookieCfg: cfgDfMerge((_b = {},
2620
+ _b[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2621
+ _b.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2622
+ _b.enabled = UNDEFINED_VALUE,
2623
+ _b.ignoreCookies = UNDEFINED_VALUE,
2624
+ _b.blockedCookies = UNDEFINED_VALUE,
2625
+ _b)),
2527
2626
  cookieDomain: UNDEFINED_VALUE,
2528
2627
  cookiePath: UNDEFINED_VALUE
2529
2628
  },
2530
- _b[strDisableCookiesUsage] = UNDEFINED_VALUE,
2531
- _b);
2629
+ _a$2[strDisableCookiesUsage] = UNDEFINED_VALUE,
2630
+ _a$2);
2532
2631
  function _gblCookieMgr(config, logger) {
2533
2632
  var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2534
2633
  if (!inst) {
@@ -2587,7 +2686,7 @@
2587
2686
  rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2588
2687
  onConfigChange(rootConfig, function (details) {
2589
2688
  details[_DYN_SET_DF ](details.cfg, rootDefaultConfig);
2590
- cookieMgrConfig = details[_DYN_SET_DF ](details.cfg.cookieCfg, defaultConfig$1);
2689
+ cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
2591
2690
  var isEnabled = cookieMgrConfig.enabled;
2592
2691
  if (isNullOrUndefined(isEnabled)) {
2593
2692
  var cookieEnabled = void 0;
@@ -3079,10 +3178,11 @@
3079
3178
  match[3] === INVALID_SPAN_ID) {
3080
3179
  return null;
3081
3180
  }
3082
- return _a = {},
3083
- _a[_DYN_VERSION ] = (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3084
- _a.traceId = (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3085
- _a.spanId = (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3181
+ return _a = {
3182
+ version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3183
+ traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3184
+ spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]()
3185
+ },
3086
3186
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
3087
3187
  _a;
3088
3188
  }
@@ -4515,7 +4615,7 @@
4515
4615
  var item = (_a = {},
4516
4616
  _a[_DYN_NAME ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ],
4517
4617
  _a.iKey = _instrumentationKey,
4518
- _a.time = toISOString(new Date()),
4618
+ _a[_DYN_TIME ] = toISOString(new Date()),
4519
4619
  _a.baseType = _InternalLogMessage.dataType,
4520
4620
  _a.baseData = { message: logMessage[_DYN_MESSAGE ] },
4521
4621
  _a);
@@ -5149,6 +5249,12 @@
5149
5249
  exports.arrReduce = arrReduce;
5150
5250
  exports.asString = asString;
5151
5251
  exports.attachEvent = attachEvent;
5252
+ exports.cfgDfBoolean = cfgDfBoolean;
5253
+ exports.cfgDfFunc = cfgDfFunc;
5254
+ exports.cfgDfMerge = cfgDfMerge;
5255
+ exports.cfgDfSet = cfgDfSet;
5256
+ exports.cfgDfString = cfgDfString;
5257
+ exports.cfgDfValidate = cfgDfValidate;
5152
5258
  exports.createClassFromInterface = createClassFromInterface;
5153
5259
  exports.createCookieMgr = createCookieMgr;
5154
5260
  exports.createDynamicConfig = createDynamicConfig;