@microsoft/applicationinsights-analytics-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 (30) hide show
  1. package/browser/applicationinsights-analytics-js.integrity.json +9 -9
  2. package/browser/applicationinsights-analytics-js.js +297 -204
  3. package/browser/applicationinsights-analytics-js.js.map +1 -1
  4. package/browser/applicationinsights-analytics-js.min.js +2 -2
  5. package/browser/applicationinsights-analytics-js.min.js.map +1 -1
  6. package/dist/applicationinsights-analytics-js.api.json +1 -1
  7. package/dist/applicationinsights-analytics-js.d.ts +1 -1
  8. package/dist/applicationinsights-analytics-js.js +297 -204
  9. package/dist/applicationinsights-analytics-js.js.map +1 -1
  10. package/dist/applicationinsights-analytics-js.min.js +2 -2
  11. package/dist/applicationinsights-analytics-js.min.js.map +1 -1
  12. package/dist/applicationinsights-analytics-js.rollup.d.ts +1 -1
  13. package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js +26 -26
  14. package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js.map +1 -1
  15. package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js +6 -6
  16. package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js.map +1 -1
  17. package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js +7 -7
  18. package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js.map +1 -1
  19. package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js +4 -4
  20. package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js.map +1 -1
  21. package/dist-esm/JavaScriptSDK/Timing.js +1 -1
  22. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryConfig.js +1 -1
  23. package/dist-esm/__DynamicConstants.js +13 -8
  24. package/dist-esm/__DynamicConstants.js.map +1 -1
  25. package/dist-esm/applicationinsights-analytics-js.js +1 -1
  26. package/package.json +6 -6
  27. package/src/JavaScriptSDK/AnalyticsPlugin.ts +19 -19
  28. package/src/__DynamicConstants.ts +12 -7
  29. package/types/__DynamicConstants.d.ts +11 -6
  30. package/types/tsdoc-metadata.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2302-03
2
+ * Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2302-05
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -371,6 +371,7 @@
371
371
 
372
372
  var UNDEF_VALUE = undefined;
373
373
  var EMPTY = "";
374
+ var BOOLEAN = "boolean";
374
375
  var FUNCTION = "function";
375
376
  var NUMBER = "number";
376
377
  var OBJECT = "object";
@@ -407,7 +408,8 @@
407
408
  return typeof value === theType;
408
409
  };
409
410
  }
410
- function _createObjIs(theType) {
411
+ function _createObjIs(theName) {
412
+ var theType = "[object " + theName + "]";
411
413
  return function (value) {
412
414
  return !!(value && objToString(value) === theType);
413
415
  };
@@ -434,7 +436,8 @@
434
436
  }
435
437
  var isArray = ArrCls.isArray;
436
438
  var isNumber = _createIs(NUMBER);
437
- var isError = _createObjIs("[object Error]");
439
+ var isBoolean = _createIs(BOOLEAN);
440
+ var isError = _createObjIs("Error");
438
441
  function isTruthy(value) {
439
442
  return !(!value || _safeGet(function () { return !(value && (0 + value)); }, !value));
440
443
  }
@@ -462,6 +465,15 @@
462
465
  }
463
466
  }
464
467
 
468
+ function _createKeyValueMap(values, keyType, valueType, completeFn) {
469
+ var theMap = {};
470
+ objForEachKey(values, function (key, value) {
471
+ theMap[key] = keyType ? value : key;
472
+ theMap[value] = valueType ? value : key;
473
+ });
474
+ return completeFn(theMap);
475
+ }
476
+
465
477
  function throwError(message) {
466
478
  throw new Error(message);
467
479
  }
@@ -470,9 +482,7 @@
470
482
  }
471
483
 
472
484
  var _objFreeze = ObjClass["freeze"];
473
- function _doNothing(value) {
474
- return value;
475
- }
485
+ var _doNothing = function (value) { return value; };
476
486
  ObjClass["assign"];
477
487
  function objKeys(value) {
478
488
  if (!isObject(value) || value === null) {
@@ -495,12 +505,7 @@
495
505
  var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _doNothing;
496
506
 
497
507
  function createEnum(values) {
498
- var theEnum = {};
499
- objForEachKey(values, function (field, value) {
500
- theEnum[field] = value;
501
- theEnum[value] = field;
502
- });
503
- return objDeepFreeze(theEnum);
508
+ return _createKeyValueMap(values, 1, 0, objDeepFreeze);
504
509
  }
505
510
 
506
511
  var asString = StrCls;
@@ -531,6 +536,67 @@
531
536
  return _globalCfg;
532
537
  }
533
538
 
539
+ function dumpObj(object, format) {
540
+ var propertyValueDump = "";
541
+ if (isError(object)) {
542
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
543
+ }
544
+ else {
545
+ try {
546
+ propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
547
+ }
548
+ catch (e) {
549
+ propertyValueDump = " - " + dumpObj(e, format);
550
+ }
551
+ }
552
+ return objToString(object) + ": " + propertyValueDump;
553
+ }
554
+
555
+ function _extractArgs(args, startAt) {
556
+ var theArgs = [];
557
+ for (var lp = startAt; lp < args[LENGTH]; lp++) {
558
+ theArgs[lp - startAt] = args[lp];
559
+ }
560
+ return theArgs;
561
+ }
562
+
563
+ function _unwrapFunction(funcName) {
564
+ return function (thisArg) {
565
+ var args = _extractArgs(arguments, 1);
566
+ if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
567
+ return thisArg[funcName].apply(thisArg, args);
568
+ }
569
+ throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
570
+ };
571
+ }
572
+
573
+ var mathMax = MathCls.max;
574
+
575
+ var strSlice = _unwrapFunction("slice");
576
+
577
+ var SUB_STR = "substr";
578
+ var strSubstring = _unwrapFunction("substring");
579
+ var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
580
+ function polyStrSubstr(value, start, length) {
581
+ if (isNullOrUndefined(value)) {
582
+ throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
583
+ }
584
+ if (length < 0) {
585
+ return EMPTY;
586
+ }
587
+ start = start || 0;
588
+ if (start < 0) {
589
+ start = mathMax(start + value[LENGTH], 0);
590
+ }
591
+ if (isUndefined(length)) {
592
+ return strSlice(value, start);
593
+ }
594
+ return strSlice(value, start, start + length);
595
+ }
596
+ function strLeft(value, count) {
597
+ return strSubstring(value, 0, count);
598
+ }
599
+
534
600
  var _polySymbols;
535
601
  function _globalSymbolRegistry() {
536
602
  if (!_polySymbols) {
@@ -632,6 +698,9 @@
632
698
  var _cachedDocument;
633
699
  var _cachedNavigator;
634
700
  var _cachedHistory;
701
+ function _lazySafeGetInst(name) {
702
+ return _lazySafeGet(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
703
+ }
635
704
  function getGlobal(useCached) {
636
705
  (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = _lazySafeGet(_getGlobalValue, null));
637
706
  return _cachedGlobal.v;
@@ -647,36 +716,41 @@
647
716
  return null;
648
717
  }
649
718
  function getDocument() {
650
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGet(function () { return getInst(DOCUMENT); }, UNDEF_VALUE));
719
+ (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGetInst(DOCUMENT));
651
720
  return _cachedDocument.v;
652
721
  }
653
722
  function hasWindow() {
654
723
  return !!getWindow();
655
724
  }
656
725
  function getWindow() {
657
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGet(function () { return getInst(WINDOW); }, UNDEF_VALUE));
726
+ (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGetInst(WINDOW));
658
727
  return _cachedWindow.v;
659
728
  }
660
729
  function getNavigator() {
661
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGet(function () { return getInst(NAVIGATOR); }, UNDEF_VALUE));
730
+ (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGetInst(NAVIGATOR));
662
731
  return _cachedNavigator.v;
663
732
  }
664
733
  function hasHistory() {
665
734
  return !!getHistory();
666
735
  }
667
736
  function getHistory() {
668
- (!_cachedHistory || (_globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = _lazySafeGet(function () { return getInst(HISTORY); }, UNDEF_VALUE));
737
+ (!_cachedHistory || (_globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = _lazySafeGetInst(HISTORY));
669
738
  return _cachedHistory.v;
670
739
  }
671
740
 
672
741
  var _symbol;
673
742
  var _symbolFor;
674
743
  var _symbolKeyFor;
744
+ function _getSymbolValue(name) {
745
+ return _lazySafeGet(function () {
746
+ return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
747
+ }, UNDEF_VALUE);
748
+ }
675
749
  function getSymbol() {
676
750
  var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
677
- resetCache && (_symbol = _lazySafeGet(function () { return isDefined(Symbol) ? getInst(SYMBOL) : UNDEF_VALUE; }, UNDEF_VALUE));
678
- (!_symbolFor || resetCache) && (_symbolFor = _lazySafeGet(function () { return _symbol.v ? _symbol["for"] : UNDEF_VALUE; }, UNDEF_VALUE));
679
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _lazySafeGet(function () { return _symbol.v ? _symbol["keyFor"] : UNDEF_VALUE; }, UNDEF_VALUE));
751
+ resetCache && (_symbol = _lazySafeGetInst(SYMBOL));
752
+ (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
753
+ (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
680
754
  return _symbol.v;
681
755
  }
682
756
  function newSymbol(description, noPoly) {
@@ -724,46 +798,6 @@
724
798
  }
725
799
  }
726
800
 
727
- function dumpObj(object, format) {
728
- var objectTypeDump = objToString(object);
729
- var propertyValueDump = "";
730
- if (objectTypeDump === "[object Error]") {
731
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
732
- }
733
- else {
734
- try {
735
- if (format) {
736
- if (isNumber(format)) {
737
- propertyValueDump = JSON.stringify(object, null, format);
738
- }
739
- else {
740
- propertyValueDump = JSON.stringify(object, null, 4);
741
- }
742
- }
743
- else {
744
- propertyValueDump = JSON.stringify(object);
745
- }
746
- }
747
- catch (e) {
748
- propertyValueDump = objToString(object) + " - " + dumpObj(e, format);
749
- }
750
- }
751
- return objectTypeDump + ": " + propertyValueDump;
752
- }
753
-
754
- function _unwrapFunction(funcName) {
755
- return function (thisArg) {
756
- var args = [];
757
- for (var _i = 1; _i < arguments.length; _i++) {
758
- args[_i - 1] = arguments[_i];
759
- }
760
- if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
761
- return thisArg[funcName].apply(thisArg, args);
762
- }
763
- throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
764
- };
765
- }
766
-
767
801
  var arrIndexOf = _unwrapFunction(INDEX_OF);
768
802
 
769
803
  var arrMap = _unwrapFunction("map");
@@ -774,9 +808,7 @@
774
808
  d.__proto__ = b;
775
809
  }) ||
776
810
  function (d, b) {
777
- objForEachKey(b, function (key, value) {
778
- d[key] = value;
779
- });
811
+ objForEachKey(b, function (key, value) { return d[key] = value; });
780
812
  };
781
813
  return fn(obj, proto);
782
814
  }
@@ -809,7 +841,7 @@
809
841
  return new Date().getTime();
810
842
  }
811
843
 
812
- var _fnToString$1;
844
+ var _fnToString;
813
845
  var _objCtrFnString;
814
846
  var _gblWindow;
815
847
  function isPlainObject(value) {
@@ -822,8 +854,8 @@
822
854
  var result = false;
823
855
  if (value !== _gblWindow) {
824
856
  if (!_objCtrFnString) {
825
- _fnToString$1 = Function[PROTOTYPE].toString;
826
- _objCtrFnString = _fnToString$1.call(ObjClass);
857
+ _fnToString = Function[PROTOTYPE].toString;
858
+ _objCtrFnString = _fnToString.call(ObjClass);
827
859
  }
828
860
  try {
829
861
  var proto = objGetPrototypeOf(value);
@@ -832,7 +864,7 @@
832
864
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
833
865
  proto = proto[CONSTRUCTOR];
834
866
  }
835
- result = proto && typeof proto === FUNCTION && _fnToString$1.call(proto) === _objCtrFnString;
867
+ result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
836
868
  }
837
869
  }
838
870
  catch (ex) {
@@ -843,37 +875,10 @@
843
875
 
844
876
  var _perf;
845
877
  function getPerformance() {
846
- (!_perf || (_globalLazyTestHooks.lzy && !_perf.b)) && (_perf = _lazySafeGet(function () { return getInst("performance"); }, UNDEF_VALUE));
878
+ (!_perf || (_globalLazyTestHooks.lzy && !_perf.b)) && (_perf = _lazySafeGetInst("performance"));
847
879
  return _perf.v;
848
880
  }
849
881
 
850
- var mathMax = MathCls.max;
851
-
852
- var strSlice = _unwrapFunction("slice");
853
-
854
- var SUB_STR = "substr";
855
- var strSubstring = _unwrapFunction("substring");
856
- var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
857
- function polyStrSubstr(value, start, length) {
858
- if (isNullOrUndefined(value)) {
859
- throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
860
- }
861
- if (length < 0) {
862
- return EMPTY;
863
- }
864
- start = start || 0;
865
- if (start < 0) {
866
- start = mathMax(start + value[LENGTH], 0);
867
- }
868
- if (isUndefined(length)) {
869
- return strSlice(value, start);
870
- }
871
- return strSlice(value, start, start + length);
872
- }
873
- function strLeft(value, count) {
874
- return strSubstring(value, 0, count);
875
- }
876
-
877
882
  var ENDS_WITH = "endsWith";
878
883
  var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
879
884
  function polyStrEndsWith(value, searchString, length) {
@@ -943,14 +948,6 @@
943
948
  return timer;
944
949
  }
945
950
 
946
- function _extractArgs(args, startAt) {
947
- var theArgs = [];
948
- for (var lp = startAt; lp < args[LENGTH]; lp++) {
949
- theArgs[lp - startAt] = args[lp];
950
- }
951
- return theArgs;
952
- }
953
-
954
951
  function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
955
952
  var isArr = isArray(overrideFn);
956
953
  var len = isArr ? overrideFn.length : 0;
@@ -975,7 +972,9 @@
975
972
 
976
973
  var createEnumStyle = createEnum;
977
974
 
975
+ var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
978
976
  var _DYN_LENGTH$2 = "length";
977
+ var _DYN_RD_ONLY = "rdOnly";
979
978
  var _DYN_NOTIFY = "notify";
980
979
  var _DYN_THROW_INTERNAL = "throwInternal";
981
980
  var _DYN_SET_DF = "setDf";
@@ -1012,7 +1011,6 @@
1012
1011
  var _DYN_REPLACE = "replace";
1013
1012
  var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
1014
1013
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1015
- var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
1016
1014
  var _DYN_TYPE = "type";
1017
1015
  var _DYN_HANDLER = "handler";
1018
1016
  var _DYN_IS_CHILD_EVT = "isChildEvt";
@@ -1050,10 +1048,7 @@
1050
1048
  var STR_PATH = "path";
1051
1049
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1052
1050
 
1053
- var strToString = "toString";
1054
1051
  var strGetPrototypeOf = "getPrototypeOf";
1055
- var _fnToString = ObjClass$1[strToString];
1056
- _fnToString.call(ObjClass$1);
1057
1052
  var rCamelCase = /-([a-z])/g;
1058
1053
  var rNormalizeInvalid = /([^\w\d_$])/g;
1059
1054
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -1249,7 +1244,7 @@
1249
1244
  }
1250
1245
 
1251
1246
  var _objDefineProperty = ObjDefineProperty;
1252
- var version = "3.0.0-beta.2302-03";
1247
+ var version = "3.0.0-beta.2302-05";
1253
1248
  var instanceName = "." + newId(6);
1254
1249
  var _dataUid = 0;
1255
1250
  function _createAccessor(target, prop, value) {
@@ -1322,39 +1317,9 @@
1322
1317
  return data;
1323
1318
  }
1324
1319
 
1325
- var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1326
- function _cfgDeepCopy(source) {
1327
- if (source) {
1328
- var target_1;
1329
- if (isArray(source)) {
1330
- target_1 = [];
1331
- target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1332
- }
1333
- else if (isPlainObject(source)) {
1334
- target_1 = {};
1335
- }
1336
- if (target_1) {
1337
- objForEachKey(source, function (key, value) {
1338
- target_1[key] = _cfgDeepCopy(value);
1339
- });
1340
- return target_1;
1341
- }
1342
- }
1343
- return source;
1320
+ function _isConfigDefaults(value) {
1321
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
1344
1322
  }
1345
- function getDynamicConfigHandler(value) {
1346
- if (value) {
1347
- var handler = value[CFG_HANDLER_LINK] || value;
1348
- if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1349
- return handler;
1350
- }
1351
- }
1352
- return null;
1353
- }
1354
- function throwInvalidAccess(message) {
1355
- throwTypeError("InvalidAccess:" + message);
1356
- }
1357
-
1358
1323
  function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1359
1324
  var defValue;
1360
1325
  var isDefaultValid = cfgDefaults.dfVal || isDefined;
@@ -1369,7 +1334,7 @@
1369
1334
  if (isDefaultValid(fbValue)) {
1370
1335
  defValue = fbValue;
1371
1336
  }
1372
- else {
1337
+ else if (dynamicHandler) {
1373
1338
  fbValue = dynamicHandler.cfg[fallback];
1374
1339
  if (isDefaultValid(fbValue)) {
1375
1340
  defValue = fbValue;
@@ -1386,27 +1351,63 @@
1386
1351
  }
1387
1352
  return defValue;
1388
1353
  }
1354
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
1355
+ var theValue = cfgDefaults;
1356
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
1357
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1358
+ }
1359
+ if (theValue) {
1360
+ if (_isConfigDefaults(theValue)) {
1361
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
1362
+ }
1363
+ var newValue_1;
1364
+ if (isArray(theValue)) {
1365
+ newValue_1 = [];
1366
+ newValue_1[_DYN_LENGTH$2 ] = theValue[_DYN_LENGTH$2 ];
1367
+ }
1368
+ else if (isPlainObject(theValue)) {
1369
+ newValue_1 = {};
1370
+ }
1371
+ if (newValue_1) {
1372
+ objForEachKey(theValue, function (key, value) {
1373
+ if (value && _isConfigDefaults(value)) {
1374
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
1375
+ }
1376
+ newValue_1[key] = value;
1377
+ });
1378
+ theValue = newValue_1;
1379
+ }
1380
+ }
1381
+ return theValue;
1382
+ }
1389
1383
  function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
1390
1384
  var isValid;
1391
1385
  var setFn;
1392
1386
  var defValue;
1393
1387
  var cfgDefaults = defaultValue;
1394
- if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1388
+ var mergeDf;
1389
+ var reference;
1390
+ var readOnly;
1391
+ if (_isConfigDefaults(cfgDefaults)) {
1395
1392
  isValid = cfgDefaults.isVal;
1396
1393
  setFn = cfgDefaults.set;
1394
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
1395
+ mergeDf = cfgDefaults.mrg;
1396
+ reference = cfgDefaults.ref;
1397
+ if (!reference && isUndefined(reference)) {
1398
+ reference = !!mergeDf;
1399
+ }
1397
1400
  defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1398
1401
  }
1399
1402
  else {
1400
1403
  defValue = defaultValue;
1401
1404
  }
1402
- var theValue = defValue;
1405
+ var theValue;
1403
1406
  var usingDefault = true;
1404
1407
  var cfgValue = theConfig[name];
1405
1408
  if (cfgValue || !isNullOrUndefined(cfgValue)) {
1406
1409
  theValue = cfgValue;
1407
1410
  usingDefault = false;
1408
- }
1409
- if (!usingDefault) {
1410
1411
  if (isValid && theValue !== defValue && !isValid(theValue)) {
1411
1412
  theValue = defValue;
1412
1413
  usingDefault = true;
@@ -1416,10 +1417,61 @@
1416
1417
  usingDefault = theValue === defValue;
1417
1418
  }
1418
1419
  }
1419
- if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1420
- theValue = _cfgDeepCopy(theValue);
1420
+ if (!usingDefault) {
1421
+ if (isPlainObject(theValue) || isArray(defValue)) {
1422
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
1423
+ objForEachKey(defValue, function (dfName, dfValue) {
1424
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
1425
+ });
1426
+ }
1427
+ }
1428
+ }
1429
+ else if (defValue) {
1430
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
1431
+ }
1432
+ else {
1433
+ theValue = defValue;
1421
1434
  }
1422
1435
  dynamicHandler.set(theConfig, name, theValue);
1436
+ if (reference) {
1437
+ dynamicHandler.ref(theConfig, name);
1438
+ }
1439
+ if (readOnly) {
1440
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
1441
+ }
1442
+ }
1443
+
1444
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1445
+ function _cfgDeepCopy(source) {
1446
+ if (source) {
1447
+ var target_1;
1448
+ if (isArray(source)) {
1449
+ target_1 = [];
1450
+ target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1451
+ }
1452
+ else if (isPlainObject(source)) {
1453
+ target_1 = {};
1454
+ }
1455
+ if (target_1) {
1456
+ objForEachKey(source, function (key, value) {
1457
+ target_1[key] = _cfgDeepCopy(value);
1458
+ });
1459
+ return target_1;
1460
+ }
1461
+ }
1462
+ return source;
1463
+ }
1464
+ function getDynamicConfigHandler(value) {
1465
+ if (value) {
1466
+ var handler = value[CFG_HANDLER_LINK] || value;
1467
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1468
+ return handler;
1469
+ }
1470
+ }
1471
+ return null;
1472
+ }
1473
+ function throwInvalidAccess(message) {
1474
+ throwTypeError("InvalidAccess:" + message);
1423
1475
  }
1424
1476
 
1425
1477
  var arrayMethodsToPatch = [
@@ -1599,7 +1651,7 @@
1599
1651
  set: cfgHandler.set.bind(cfgHandler),
1600
1652
  setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
1601
1653
  ref: cfgHandler.ref.bind(cfgHandler),
1602
- rdOnly: cfgHandler.rdOnly.bind(cfgHandler)
1654
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
1603
1655
  });
1604
1656
  }
1605
1657
  catch (e) {
@@ -1749,7 +1801,7 @@
1749
1801
  _a[_DYN_SET_DF ] = _applyDefaults,
1750
1802
  _a[_DYN_WATCH ] = _watch,
1751
1803
  _a.ref = _ref,
1752
- _a.rdOnly = _rdOnly,
1804
+ _a[_DYN_RD_ONLY ] = _rdOnly,
1753
1805
  _a._block = _block,
1754
1806
  _a);
1755
1807
  objDefineProp(cfgHandler, "uid", (_b = {},
@@ -1787,6 +1839,48 @@
1787
1839
  createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
1788
1840
  }
1789
1841
 
1842
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
1843
+ if (!theValue && isNullOrUndefined(theValue)) {
1844
+ return defaultValue;
1845
+ }
1846
+ if (isBoolean(theValue)) {
1847
+ return theValue;
1848
+ }
1849
+ return asString(theValue)[_DYN_TO_LOWER_CASE$1 ]() === "true";
1850
+ }
1851
+ function cfgDfMerge(defaultValue) {
1852
+ return {
1853
+ mrg: true,
1854
+ v: defaultValue
1855
+ };
1856
+ }
1857
+ function cfgDfSet(setter, defaultValue) {
1858
+ return {
1859
+ set: setter,
1860
+ v: defaultValue
1861
+ };
1862
+ }
1863
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
1864
+ return {
1865
+ fb: fallBackName,
1866
+ isVal: validator,
1867
+ v: defaultValue
1868
+ };
1869
+ }
1870
+ function cfgDfBoolean(defaultValue, fallBackName) {
1871
+ return {
1872
+ fb: fallBackName,
1873
+ set: _stringToBoolOrDefault,
1874
+ v: !!defaultValue
1875
+ };
1876
+ }
1877
+ function cfgDfString(defaultValue) {
1878
+ return {
1879
+ isVal: isString,
1880
+ v: asString(defaultValue || STR_EMPTY)
1881
+ };
1882
+ }
1883
+
1790
1884
  var _aiNamespace = null;
1791
1885
  function _getExtensionNamespace() {
1792
1886
  var target = getInst("Microsoft");
@@ -1991,18 +2085,19 @@
1991
2085
  var _doc = getDocument();
1992
2086
  var _cookieCache = {};
1993
2087
  var _globalCookieConfig = {};
1994
- var defaultConfig = objDeepFreeze((_a$2 = {},
1995
- _a$2[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
1996
- _a$2.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
1997
- _a$2.enabled = UNDEFINED_VALUE,
1998
- _a$2));
1999
- var rootDefaultConfig = (_b = {
2000
- cookieCfg: {},
2088
+ var rootDefaultConfig = (_a$2 = {
2089
+ cookieCfg: cfgDfMerge((_b = {},
2090
+ _b[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2091
+ _b.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2092
+ _b.enabled = UNDEFINED_VALUE,
2093
+ _b.ignoreCookies = UNDEFINED_VALUE,
2094
+ _b.blockedCookies = UNDEFINED_VALUE,
2095
+ _b)),
2001
2096
  cookieDomain: UNDEFINED_VALUE,
2002
2097
  cookiePath: UNDEFINED_VALUE
2003
2098
  },
2004
- _b[strDisableCookiesUsage] = UNDEFINED_VALUE,
2005
- _b);
2099
+ _a$2[strDisableCookiesUsage] = UNDEFINED_VALUE,
2100
+ _a$2);
2006
2101
  function _gblCookieMgr(config, logger) {
2007
2102
  var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
2008
2103
  if (!inst) {
@@ -2061,7 +2156,7 @@
2061
2156
  rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2062
2157
  onConfigChange(rootConfig, function (details) {
2063
2158
  details[_DYN_SET_DF ](details.cfg, rootDefaultConfig);
2064
- cookieMgrConfig = details[_DYN_SET_DF ](details.cfg.cookieCfg, defaultConfig);
2159
+ cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
2065
2160
  var isEnabled = cookieMgrConfig.enabled;
2066
2161
  if (isNullOrUndefined(isEnabled)) {
2067
2162
  var cookieEnabled = void 0;
@@ -4162,13 +4257,6 @@
4162
4257
  }());
4163
4258
 
4164
4259
  var strEmpty = "";
4165
- function stringToBoolOrDefault(str, defaultValue) {
4166
- if (defaultValue === void 0) { defaultValue = false; }
4167
- if (str === undefined || str === null) {
4168
- return defaultValue;
4169
- }
4170
- return str.toString()[_DYN_TO_LOWER_CASE ]() === "true";
4171
- }
4172
4260
  function msToTimeSpan(totalms) {
4173
4261
  if (isNaN(totalms) || totalms < 0) {
4174
4262
  totalms = 0;
@@ -4396,21 +4484,26 @@
4396
4484
  var _DYN_MESSAGE = "message";
4397
4485
  var _DYN__CREATE_AUTO_EXCEPTI6 = "CreateAutoException";
4398
4486
  var _DYN_ADD_TELEMETRY_INITIA7 = "addTelemetryInitializer";
4487
+ var _DYN_OVERRIDE_PAGE_VIEW_D8 = "overridePageViewDuration";
4399
4488
  var _DYN_DURATION = "duration";
4489
+ var _DYN_AUTO_TRACK_PAGE_VISI9 = "autoTrackPageVisitTime";
4490
+ var _DYN_IS_BROWSER_LINK_TRAC10 = "isBrowserLinkTrackingEnabled";
4400
4491
  var _DYN_LENGTH = "length";
4401
- var _DYN_AUTO_UNHANDLED_PROMI8 = "autoUnhandledPromiseInstrumented";
4402
- var _DYN_IS_PERFORMANCE_TIMIN9 = "isPerformanceTimingSupported";
4403
- var _DYN_GET_PERFORMANCE_TIMI10 = "getPerformanceTiming";
4492
+ var _DYN_ENABLE_AUTO_ROUTE_TR11 = "enableAutoRouteTracking";
4493
+ var _DYN_ENABLE_UNHANDLED_PRO12 = "enableUnhandledPromiseRejectionTracking";
4494
+ var _DYN_AUTO_UNHANDLED_PROMI13 = "autoUnhandledPromiseInstrumented";
4495
+ var _DYN_IS_PERFORMANCE_TIMIN14 = "isPerformanceTimingSupported";
4496
+ var _DYN_GET_PERFORMANCE_TIMI15 = "getPerformanceTiming";
4404
4497
  var _DYN_NAVIGATION_START = "navigationStart";
4405
- var _DYN_SHOULD_COLLECT_DURAT11 = "shouldCollectDuration";
4406
- var _DYN_IS_PERFORMANCE_TIMIN12 = "isPerformanceTimingDataReady";
4498
+ var _DYN_SHOULD_COLLECT_DURAT16 = "shouldCollectDuration";
4499
+ var _DYN_IS_PERFORMANCE_TIMIN17 = "isPerformanceTimingDataReady";
4407
4500
  var _DYN_GET_ENTRIES_BY_TYPE = "getEntriesByType";
4408
4501
  var _DYN_RESPONSE_START = "responseStart";
4409
4502
  var _DYN_REQUEST_START = "requestStart";
4410
4503
  var _DYN_LOAD_EVENT_END = "loadEventEnd";
4411
4504
  var _DYN_RESPONSE_END = "responseEnd";
4412
4505
  var _DYN_CONNECT_END = "connectEnd";
4413
- var _DYN_PAGE_VISIT_START_TIM13 = "pageVisitStartTime";
4506
+ var _DYN_PAGE_VISIT_START_TIM18 = "pageVisitStartTime";
4414
4507
 
4415
4508
  var PageViewManager = /** @class */ (function () {
4416
4509
  function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {
@@ -4463,7 +4556,7 @@
4463
4556
  var location_1 = getLocation();
4464
4557
  uri = pageView.uri = location_1 && location_1[_DYN_HREF ] || "";
4465
4558
  }
4466
- if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN9 ]()) {
4559
+ if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN14 ]()) {
4467
4560
  appInsights[_DYN_SEND_PAGE_VIEW_INTER2 ](pageView, customProperties);
4468
4561
  _flushChannels(true);
4469
4562
  _throwInternal(_logger, 2 , 25 , "trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.");
@@ -4471,10 +4564,10 @@
4471
4564
  }
4472
4565
  var pageViewSent = false;
4473
4566
  var customDuration;
4474
- var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI10 ]()[_DYN_NAVIGATION_START ];
4567
+ var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI15 ]()[_DYN_NAVIGATION_START ];
4475
4568
  if (start > 0) {
4476
4569
  customDuration = dateTimeUtilsDuration(start, +new Date);
4477
- if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT11 ](customDuration)) {
4570
+ if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT16 ](customDuration)) {
4478
4571
  customDuration = undefined;
4479
4572
  }
4480
4573
  }
@@ -4501,7 +4594,7 @@
4501
4594
  _addQueue(function () {
4502
4595
  var processed = false;
4503
4596
  try {
4504
- if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN12 ]()) {
4597
+ if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN17 ]()) {
4505
4598
  processed = true;
4506
4599
  var pageViewPerformance = {
4507
4600
  name: name,
@@ -4646,7 +4739,7 @@
4646
4739
  if (total === 0) {
4647
4740
  _throwInternal(_logger, 2 , 10 , "error calculating page view performance.", { total: total, network: network, request: request, response: response, dom: dom });
4648
4741
  }
4649
- else if (!_this[_DYN_SHOULD_COLLECT_DURAT11 ](total, network, request, response, dom)) {
4742
+ else if (!_this[_DYN_SHOULD_COLLECT_DURAT16 ](total, network, request, response, dom)) {
4650
4743
  _throwInternal(_logger, 2 , 45 , "Invalid page load duration value. Browser perf data won't be sent.", { total: total, network: network, request: request, response: response, dom: dom });
4651
4744
  }
4652
4745
  else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {
@@ -4663,10 +4756,10 @@
4663
4756
  }
4664
4757
  }
4665
4758
  };
4666
- _self[_DYN_GET_PERFORMANCE_TIMI10 ] = _getPerformanceTiming;
4667
- _self[_DYN_IS_PERFORMANCE_TIMIN9 ] = _isPerformanceTimingSupported;
4668
- _self[_DYN_IS_PERFORMANCE_TIMIN12 ] = _isPerformanceTimingDataReady;
4669
- _self[_DYN_SHOULD_COLLECT_DURAT11 ] = _shouldCollectDuration;
4759
+ _self[_DYN_GET_PERFORMANCE_TIMI15 ] = _getPerformanceTiming;
4760
+ _self[_DYN_IS_PERFORMANCE_TIMIN14 ] = _isPerformanceTimingSupported;
4761
+ _self[_DYN_IS_PERFORMANCE_TIMIN17 ] = _isPerformanceTimingDataReady;
4762
+ _self[_DYN_SHOULD_COLLECT_DURAT16 ] = _shouldCollectDuration;
4670
4763
  });
4671
4764
  }
4672
4765
  PageViewPerformanceManager.__ieDyn=1;
@@ -4723,7 +4816,7 @@
4723
4816
  var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);
4724
4817
  if (pageVisitDataJsonStr && hasJSON()) {
4725
4818
  prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);
4726
- prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM13 ];
4819
+ prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM18 ];
4727
4820
  utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);
4728
4821
  }
4729
4822
  }
@@ -4743,7 +4836,7 @@
4743
4836
  }());
4744
4837
  var PageVisitData = /** @class */ (function () {
4745
4838
  function PageVisitData(pageName, pageUrl) {
4746
- this[_DYN_PAGE_VISIT_START_TIM13 ] = utcNow();
4839
+ this[_DYN_PAGE_VISIT_START_TIM18 ] = utcNow();
4747
4840
  this.pageName = pageName;
4748
4841
  this.pageUrl = pageUrl;
4749
4842
  }
@@ -4796,22 +4889,22 @@
4796
4889
  }
4797
4890
  var MinMilliSeconds = 60000;
4798
4891
  var defaultValues = objDeepFreeze((_a = {
4799
- sessionRenewalMs: { set: _chkConfigMilliseconds, v: 30 * 60 * 1000 },
4800
- sessionExpirationMs: { set: _chkConfigMilliseconds, v: 24 * 60 * 60 * 1000 },
4801
- disableExceptionTracking: { set: stringToBoolOrDefault },
4802
- autoTrackPageVisitTime: { set: stringToBoolOrDefault },
4803
- overridePageViewDuration: { set: stringToBoolOrDefault },
4804
- enableUnhandledPromiseRejectionTracking: { set: stringToBoolOrDefault }
4892
+ sessionRenewalMs: cfgDfSet(_chkConfigMilliseconds, 30 * 60 * 1000),
4893
+ sessionExpirationMs: cfgDfSet(_chkConfigMilliseconds, 24 * 60 * 60 * 1000),
4894
+ disableExceptionTracking: cfgDfBoolean()
4805
4895
  },
4806
- _a[_DYN_AUTO_UNHANDLED_PROMI8 ] = false,
4807
- _a.samplingPercentage = { isVal: _chkSampling, v: 100 },
4808
- _a.isStorageUseDisabled = { set: stringToBoolOrDefault },
4809
- _a.isBrowserLinkTrackingEnabled = { set: stringToBoolOrDefault },
4810
- _a.enableAutoRouteTracking = { set: stringToBoolOrDefault },
4811
- _a.namePrefix = "",
4812
- _a.enableDebug = { set: stringToBoolOrDefault },
4813
- _a.disableFlushOnBeforeUnload = { set: stringToBoolOrDefault },
4814
- _a.disableFlushOnUnload = { set: stringToBoolOrDefault, fb: "disableFlushOnBeforeUnload" },
4896
+ _a[_DYN_AUTO_TRACK_PAGE_VISI9 ] = cfgDfBoolean(),
4897
+ _a[_DYN_OVERRIDE_PAGE_VIEW_D8 ] = cfgDfBoolean(),
4898
+ _a[_DYN_ENABLE_UNHANDLED_PRO12 ] = cfgDfBoolean(),
4899
+ _a[_DYN_AUTO_UNHANDLED_PROMI13 ] = false,
4900
+ _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),
4901
+ _a[_DYN_IS_STORAGE_USE_DISAB0 ] = cfgDfBoolean(),
4902
+ _a[_DYN_IS_BROWSER_LINK_TRAC10 ] = cfgDfBoolean(),
4903
+ _a[_DYN_ENABLE_AUTO_ROUTE_TR11 ] = cfgDfBoolean(),
4904
+ _a.namePrefix = cfgDfString(),
4905
+ _a.enableDebug = cfgDfBoolean(),
4906
+ _a.disableFlushOnBeforeUnload = cfgDfBoolean(),
4907
+ _a.disableFlushOnUnload = cfgDfBoolean(false, "disableFlushOnBeforeUnload"),
4815
4908
  _a));
4816
4909
  function _chkConfigMilliseconds(value, defValue) {
4817
4910
  value = value || defValue;
@@ -5107,9 +5200,9 @@
5107
5200
  _self[_DYN__ADD_HOOK ](onConfigChange(config, function () {
5108
5201
  var ctx = createProcessTelemetryContext(null, config, core);
5109
5202
  _extConfig = ctx.getExtCfg(identifier, defaultValues);
5110
- _autoTrackPageVisitTime = _extConfig.autoTrackPageVisitTime;
5203
+ _autoTrackPageVisitTime = _extConfig[_DYN_AUTO_TRACK_PAGE_VISI9 ];
5111
5204
  _updateStorageUsage(_extConfig);
5112
- _isBrowserLinkTrackingEnabled = _extConfig.isBrowserLinkTrackingEnabled;
5205
+ _isBrowserLinkTrackingEnabled = _extConfig[_DYN_IS_BROWSER_LINK_TRAC10 ];
5113
5206
  _addDefaultTelemetryInitializers();
5114
5207
  }));
5115
5208
  }
@@ -5170,7 +5263,7 @@
5170
5263
  var win = getWindow();
5171
5264
  var locn = getLocation(true);
5172
5265
  _self[_DYN__ADD_HOOK ](onConfigChange(_extConfig, function () {
5173
- _enableAutoRouteTracking = _extConfig.enableAutoRouteTracking === true;
5266
+ _enableAutoRouteTracking = _extConfig[_DYN_ENABLE_AUTO_ROUTE_TR11 ] === true;
5174
5267
  if (win && _enableAutoRouteTracking && !_historyListenerAdded && hasHistory()) {
5175
5268
  var _history = getHistory();
5176
5269
  if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strShimUndefined) {
@@ -5252,8 +5345,8 @@
5252
5345
  }
5253
5346
  function _addUnhandledPromiseRejectionTracking(_window, _location) {
5254
5347
  _self[_DYN__ADD_HOOK ](onConfigChange(_extConfig, function () {
5255
- _enableUnhandledPromiseRejectionTracking = _extConfig.enableUnhandledPromiseRejectionTracking === true;
5256
- _autoExceptionInstrumented = _autoExceptionInstrumented || _extConfig[_DYN_AUTO_UNHANDLED_PROMI8 ];
5348
+ _enableUnhandledPromiseRejectionTracking = _extConfig[_DYN_ENABLE_UNHANDLED_PRO12 ] === true;
5349
+ _autoExceptionInstrumented = _autoExceptionInstrumented || _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 ];
5257
5350
  if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {
5258
5351
  _addHook(InstrumentEvent(_window, "onunhandledrejection", {
5259
5352
  ns: _evtNamespace,
@@ -5263,7 +5356,7 @@
5263
5356
  }
5264
5357
  }
5265
5358
  }, false));
5266
- _extConfig[_DYN_AUTO_UNHANDLED_PROMI8 ] = _autoUnhandledPromiseInstrumented = true;
5359
+ _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 ] = _autoUnhandledPromiseInstrumented = true;
5267
5360
  }
5268
5361
  }));
5269
5362
  }
@@ -5304,7 +5397,7 @@
5304
5397
  });
5305
5398
  return _this;
5306
5399
  }
5307
- AnalyticsPlugin.Version = "3.0.0-beta.2302-03";
5400
+ AnalyticsPlugin.Version = "3.0.0-beta.2302-05";
5308
5401
  return AnalyticsPlugin;
5309
5402
  }(BaseTelemetryPlugin));
5310
5403