@microsoft/applicationinsights-properties-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.
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-properties-js",
3
- "version": "3.0.0-beta.2302-03",
3
+ "version": "3.0.0-beta.2302-05",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-properties-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-pi1rbj5VmSaBtGtq4QRrSCv9gd1hwtuTyLBMYS/D7d4= sha384-ENbsAeQDU7J4kDq3ZGqKs/Ri2I43QSlXsho2Vb3O3QXTRekRaZjz5s3F9hsuhZ3S sha512-+63gFTVc9JpnuL9+8alcGyEqYL0zVh7/RywyVEbanf1c5g4SW8lTAUf5HISFOoVT5qGOQG66+5vSLDTnjYX5SA==",
8
+ "integrity": "sha256-Vkcl3P7ID+aaHOW+Hz4cnECKQhB0qYHM9etFi5JepbM= sha384-gRDGWvPJrq5r+y0M9MZBgBIOlJtwZR+mXFeHGqkUBTdjvHcW0HMK6FcPVi3Kb45f sha512-jqCfUiCe/2bXdKtkRQjsiYiWPuJHHhORLfiXtSx5xduijQDFge42K9qFepHgTRwAwTgz55JVmY4E9q5NtdThag==",
9
9
  "hashes": {
10
- "sha256": "pi1rbj5VmSaBtGtq4QRrSCv9gd1hwtuTyLBMYS/D7d4=",
11
- "sha384": "ENbsAeQDU7J4kDq3ZGqKs/Ri2I43QSlXsho2Vb3O3QXTRekRaZjz5s3F9hsuhZ3S",
12
- "sha512": "+63gFTVc9JpnuL9+8alcGyEqYL0zVh7/RywyVEbanf1c5g4SW8lTAUf5HISFOoVT5qGOQG66+5vSLDTnjYX5SA=="
10
+ "sha256": "Vkcl3P7ID+aaHOW+Hz4cnECKQhB0qYHM9etFi5JepbM=",
11
+ "sha384": "gRDGWvPJrq5r+y0M9MZBgBIOlJtwZR+mXFeHGqkUBTdjvHcW0HMK6FcPVi3Kb45f",
12
+ "sha512": "jqCfUiCe/2bXdKtkRQjsiYiWPuJHHhORLfiXtSx5xduijQDFge42K9qFepHgTRwAwTgz55JVmY4E9q5NtdThag=="
13
13
  }
14
14
  },
15
15
  "@min.js": {
16
16
  "file": "applicationinsights-properties-js.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-7BF2pnRtYM7s0R8wfXzjjexeRhUK5svBS4DVJ7R+dHw= sha384-B4/127SzOSRkWhGlrrI8AYDFP7Ce9Vwt2K1ugupn6Ads6y/y1ynzdtDti1qtwDl+ sha512-QM7W8dhD6bs4tSzc/w1CWHtPETzK7zEyf2OWHj4vxPPP46DMu96rd3f4WbSyn/yBWeKpKtuGnNNsUN3Ag5b9Cg==",
18
+ "integrity": "sha256-w2+aBQOFMiKJdolQGDUphyr+OAaUS69khk2U6IZ9DAQ= sha384-phpZF2QjeDdvuC4el+8sRVrKOau15ZvlhxFGy8n0lOAWEaHeoNPPakK1L78Kpyui sha512-3L1r2zibULj0Q3U/nwrYKNIN4LYZkD27y+K4+Gn7z61W1Gk9I7Hde0jV6pHqrGUae5ZWdFZJXAis1vA+nuUGoQ==",
19
19
  "hashes": {
20
- "sha256": "7BF2pnRtYM7s0R8wfXzjjexeRhUK5svBS4DVJ7R+dHw=",
21
- "sha384": "B4/127SzOSRkWhGlrrI8AYDFP7Ce9Vwt2K1ugupn6Ads6y/y1ynzdtDti1qtwDl+",
22
- "sha512": "QM7W8dhD6bs4tSzc/w1CWHtPETzK7zEyf2OWHj4vxPPP46DMu96rd3f4WbSyn/yBWeKpKtuGnNNsUN3Ag5b9Cg=="
20
+ "sha256": "w2+aBQOFMiKJdolQGDUphyr+OAaUS69khk2U6IZ9DAQ=",
21
+ "sha384": "phpZF2QjeDdvuC4el+8sRVrKOau15ZvlhxFGy8n0lOAWEaHeoNPPakK1L78Kpyui",
22
+ "sha512": "3L1r2zibULj0Q3U/nwrYKNIN4LYZkD27y+K4+Gn7z61W1Gk9I7Hde0jV6pHqrGUae5ZWdFZJXAis1vA+nuUGoQ=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.0.0-beta.2302-03
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.0.0-beta.2302-05
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -393,7 +393,8 @@
393
393
  return typeof value === theType;
394
394
  };
395
395
  }
396
- function _createObjIs(theType) {
396
+ function _createObjIs(theName) {
397
+ var theType = "[object " + theName + "]";
397
398
  return function (value) {
398
399
  return !!(value && objToString(value) === theType);
399
400
  };
@@ -420,7 +421,7 @@
420
421
  }
421
422
  var isArray = ArrCls.isArray;
422
423
  var isNumber = _createIs(NUMBER);
423
- var isError = _createObjIs("[object Error]");
424
+ var isError = _createObjIs("Error");
424
425
  function isTruthy(value) {
425
426
  return !(!value || _safeGet(function () { return !(value && (0 + value)); }, !value));
426
427
  }
@@ -448,14 +449,21 @@
448
449
  }
449
450
  }
450
451
 
452
+ function _createKeyValueMap(values, keyType, valueType, completeFn) {
453
+ var theMap = {};
454
+ objForEachKey(values, function (key, value) {
455
+ theMap[key] = keyType ? value : key;
456
+ theMap[value] = valueType ? value : key;
457
+ });
458
+ return completeFn(theMap);
459
+ }
460
+
451
461
  function throwTypeError(message) {
452
462
  throw new TypeError(message);
453
463
  }
454
464
 
455
465
  var _objFreeze = ObjClass["freeze"];
456
- function _doNothing(value) {
457
- return value;
458
- }
466
+ var _doNothing = function (value) { return value; };
459
467
  ObjClass["assign"];
460
468
  function objKeys(value) {
461
469
  if (!isObject(value) || value === null) {
@@ -478,12 +486,7 @@
478
486
  var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _doNothing;
479
487
 
480
488
  function createEnum(values) {
481
- var theEnum = {};
482
- objForEachKey(values, function (field, value) {
483
- theEnum[field] = value;
484
- theEnum[value] = field;
485
- });
486
- return objDeepFreeze(theEnum);
489
+ return _createKeyValueMap(values, 1, 0, objDeepFreeze);
487
490
  }
488
491
 
489
492
  var asString = StrCls;
@@ -514,6 +517,67 @@
514
517
  return _globalCfg;
515
518
  }
516
519
 
520
+ function dumpObj(object, format) {
521
+ var propertyValueDump = "";
522
+ if (isError(object)) {
523
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
524
+ }
525
+ else {
526
+ try {
527
+ propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
528
+ }
529
+ catch (e) {
530
+ propertyValueDump = " - " + dumpObj(e, format);
531
+ }
532
+ }
533
+ return objToString(object) + ": " + propertyValueDump;
534
+ }
535
+
536
+ function _extractArgs(args, startAt) {
537
+ var theArgs = [];
538
+ for (var lp = startAt; lp < args[LENGTH]; lp++) {
539
+ theArgs[lp - startAt] = args[lp];
540
+ }
541
+ return theArgs;
542
+ }
543
+
544
+ function _unwrapFunction(funcName) {
545
+ return function (thisArg) {
546
+ var args = _extractArgs(arguments, 1);
547
+ if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
548
+ return thisArg[funcName].apply(thisArg, args);
549
+ }
550
+ throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
551
+ };
552
+ }
553
+
554
+ var mathMax = MathCls.max;
555
+
556
+ var strSlice = _unwrapFunction("slice");
557
+
558
+ var SUB_STR = "substr";
559
+ var strSubstring = _unwrapFunction("substring");
560
+ var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
561
+ function polyStrSubstr(value, start, length) {
562
+ if (isNullOrUndefined(value)) {
563
+ throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
564
+ }
565
+ if (length < 0) {
566
+ return EMPTY;
567
+ }
568
+ start = start || 0;
569
+ if (start < 0) {
570
+ start = mathMax(start + value[LENGTH], 0);
571
+ }
572
+ if (isUndefined(length)) {
573
+ return strSlice(value, start);
574
+ }
575
+ return strSlice(value, start, start + length);
576
+ }
577
+ function strLeft(value, count) {
578
+ return strSubstring(value, 0, count);
579
+ }
580
+
517
581
  var _polySymbols;
518
582
  function _globalSymbolRegistry() {
519
583
  if (!_polySymbols) {
@@ -613,6 +677,9 @@
613
677
  var _cachedWindow;
614
678
  var _cachedDocument;
615
679
  var _cachedNavigator;
680
+ function _lazySafeGetInst(name) {
681
+ return _lazySafeGet(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
682
+ }
616
683
  function getGlobal(useCached) {
617
684
  (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = _lazySafeGet(_getGlobalValue, null));
618
685
  return _cachedGlobal.v;
@@ -628,29 +695,34 @@
628
695
  return null;
629
696
  }
630
697
  function getDocument() {
631
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGet(function () { return getInst(DOCUMENT); }, UNDEF_VALUE));
698
+ (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGetInst(DOCUMENT));
632
699
  return _cachedDocument.v;
633
700
  }
634
701
  function hasWindow() {
635
702
  return !!getWindow();
636
703
  }
637
704
  function getWindow() {
638
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGet(function () { return getInst(WINDOW); }, UNDEF_VALUE));
705
+ (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGetInst(WINDOW));
639
706
  return _cachedWindow.v;
640
707
  }
641
708
  function getNavigator() {
642
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGet(function () { return getInst(NAVIGATOR); }, UNDEF_VALUE));
709
+ (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGetInst(NAVIGATOR));
643
710
  return _cachedNavigator.v;
644
711
  }
645
712
 
646
713
  var _symbol;
647
714
  var _symbolFor;
648
715
  var _symbolKeyFor;
716
+ function _getSymbolValue(name) {
717
+ return _lazySafeGet(function () {
718
+ return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
719
+ }, UNDEF_VALUE);
720
+ }
649
721
  function getSymbol() {
650
722
  var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
651
- resetCache && (_symbol = _lazySafeGet(function () { return isDefined(Symbol) ? getInst(SYMBOL) : UNDEF_VALUE; }, UNDEF_VALUE));
652
- (!_symbolFor || resetCache) && (_symbolFor = _lazySafeGet(function () { return _symbol.v ? _symbol["for"] : UNDEF_VALUE; }, UNDEF_VALUE));
653
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _lazySafeGet(function () { return _symbol.v ? _symbol["keyFor"] : UNDEF_VALUE; }, UNDEF_VALUE));
723
+ resetCache && (_symbol = _lazySafeGetInst(SYMBOL));
724
+ (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
725
+ (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
654
726
  return _symbol.v;
655
727
  }
656
728
  function newSymbol(description, noPoly) {
@@ -698,46 +770,6 @@
698
770
  }
699
771
  }
700
772
 
701
- function dumpObj(object, format) {
702
- var objectTypeDump = objToString(object);
703
- var propertyValueDump = "";
704
- if (objectTypeDump === "[object Error]") {
705
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
706
- }
707
- else {
708
- try {
709
- if (format) {
710
- if (isNumber(format)) {
711
- propertyValueDump = JSON.stringify(object, null, format);
712
- }
713
- else {
714
- propertyValueDump = JSON.stringify(object, null, 4);
715
- }
716
- }
717
- else {
718
- propertyValueDump = JSON.stringify(object);
719
- }
720
- }
721
- catch (e) {
722
- propertyValueDump = objToString(object) + " - " + dumpObj(e, format);
723
- }
724
- }
725
- return objectTypeDump + ": " + propertyValueDump;
726
- }
727
-
728
- function _unwrapFunction(funcName) {
729
- return function (thisArg) {
730
- var args = [];
731
- for (var _i = 1; _i < arguments.length; _i++) {
732
- args[_i - 1] = arguments[_i];
733
- }
734
- if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
735
- return thisArg[funcName].apply(thisArg, args);
736
- }
737
- throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
738
- };
739
- }
740
-
741
773
  var arrIndexOf = _unwrapFunction(INDEX_OF);
742
774
 
743
775
  function objSetPrototypeOf(obj, proto) {
@@ -746,9 +778,7 @@
746
778
  d.__proto__ = b;
747
779
  }) ||
748
780
  function (d, b) {
749
- objForEachKey(b, function (key, value) {
750
- d[key] = value;
751
- });
781
+ objForEachKey(b, function (key, value) { return d[key] = value; });
752
782
  };
753
783
  return fn(obj, proto);
754
784
  }
@@ -781,7 +811,7 @@
781
811
  return new Date().getTime();
782
812
  }
783
813
 
784
- var _fnToString$1;
814
+ var _fnToString;
785
815
  var _objCtrFnString;
786
816
  var _gblWindow;
787
817
  function isPlainObject(value) {
@@ -794,8 +824,8 @@
794
824
  var result = false;
795
825
  if (value !== _gblWindow) {
796
826
  if (!_objCtrFnString) {
797
- _fnToString$1 = Function[PROTOTYPE].toString;
798
- _objCtrFnString = _fnToString$1.call(ObjClass);
827
+ _fnToString = Function[PROTOTYPE].toString;
828
+ _objCtrFnString = _fnToString.call(ObjClass);
799
829
  }
800
830
  try {
801
831
  var proto = objGetPrototypeOf(value);
@@ -804,7 +834,7 @@
804
834
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
805
835
  proto = proto[CONSTRUCTOR];
806
836
  }
807
- result = proto && typeof proto === FUNCTION && _fnToString$1.call(proto) === _objCtrFnString;
837
+ result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
808
838
  }
809
839
  }
810
840
  catch (ex) {
@@ -813,33 +843,6 @@
813
843
  return result;
814
844
  }
815
845
 
816
- var mathMax = MathCls.max;
817
-
818
- var strSlice = _unwrapFunction("slice");
819
-
820
- var SUB_STR = "substr";
821
- var strSubstring = _unwrapFunction("substring");
822
- var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
823
- function polyStrSubstr(value, start, length) {
824
- if (isNullOrUndefined(value)) {
825
- throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
826
- }
827
- if (length < 0) {
828
- return EMPTY;
829
- }
830
- start = start || 0;
831
- if (start < 0) {
832
- start = mathMax(start + value[LENGTH], 0);
833
- }
834
- if (isUndefined(length)) {
835
- return strSlice(value, start);
836
- }
837
- return strSlice(value, start, start + length);
838
- }
839
- function strLeft(value, count) {
840
- return strSubstring(value, 0, count);
841
- }
842
-
843
846
  var ENDS_WITH = "endsWith";
844
847
  var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
845
848
  function polyStrEndsWith(value, searchString, length) {
@@ -909,14 +912,6 @@
909
912
  return timer;
910
913
  }
911
914
 
912
- function _extractArgs(args, startAt) {
913
- var theArgs = [];
914
- for (var lp = startAt; lp < args[LENGTH]; lp++) {
915
- theArgs[lp - startAt] = args[lp];
916
- }
917
- return theArgs;
918
- }
919
-
920
915
  function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
921
916
  var isArr = isArray(overrideFn);
922
917
  var len = isArr ? overrideFn.length : 0;
@@ -941,7 +936,9 @@
941
936
 
942
937
  var createEnumStyle = createEnum;
943
938
 
939
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
944
940
  var _DYN_LENGTH$2 = "length";
941
+ var _DYN_RD_ONLY = "rdOnly";
945
942
  var _DYN_NOTIFY = "notify";
946
943
  var _DYN_THROW_INTERNAL = "throwInternal";
947
944
  var _DYN_SET_DF = "setDf";
@@ -978,7 +975,6 @@
978
975
  var _DYN_REPLACE = "replace";
979
976
  var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
980
977
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
981
- var _DYN_TO_LOWER_CASE = "toLowerCase";
982
978
  var _DYN_IS_CHILD_EVT = "isChildEvt";
983
979
  var _DYN_GET_CTX = "getCtx";
984
980
  var _DYN_SET_CTX = "setCtx";
@@ -1014,9 +1010,6 @@
1014
1010
  var STR_PATH = "path";
1015
1011
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1016
1012
 
1017
- var strToString = "toString";
1018
- var _fnToString = ObjClass$1[strToString];
1019
- _fnToString.call(ObjClass$1);
1020
1013
  var rCamelCase = /-([a-z])/g;
1021
1014
  var rNormalizeInvalid = /([^\w\d_$])/g;
1022
1015
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -1238,7 +1231,7 @@
1238
1231
  }
1239
1232
 
1240
1233
  var _objDefineProperty = ObjDefineProperty;
1241
- var version = "3.0.0-beta.2302-03";
1234
+ var version = "3.0.0-beta.2302-05";
1242
1235
  var instanceName = "." + newId(6);
1243
1236
  var _dataUid = 0;
1244
1237
  function _createAccessor(target, prop, value) {
@@ -1311,39 +1304,9 @@
1311
1304
  return data;
1312
1305
  }
1313
1306
 
1314
- var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1315
- function _cfgDeepCopy(source) {
1316
- if (source) {
1317
- var target_1;
1318
- if (isArray(source)) {
1319
- target_1 = [];
1320
- target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1321
- }
1322
- else if (isPlainObject(source)) {
1323
- target_1 = {};
1324
- }
1325
- if (target_1) {
1326
- objForEachKey(source, function (key, value) {
1327
- target_1[key] = _cfgDeepCopy(value);
1328
- });
1329
- return target_1;
1330
- }
1331
- }
1332
- return source;
1333
- }
1334
- function getDynamicConfigHandler(value) {
1335
- if (value) {
1336
- var handler = value[CFG_HANDLER_LINK] || value;
1337
- if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1338
- return handler;
1339
- }
1340
- }
1341
- return null;
1342
- }
1343
- function throwInvalidAccess(message) {
1344
- throwTypeError("InvalidAccess:" + message);
1307
+ function _isConfigDefaults(value) {
1308
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
1345
1309
  }
1346
-
1347
1310
  function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1348
1311
  var defValue;
1349
1312
  var isDefaultValid = cfgDefaults.dfVal || isDefined;
@@ -1358,7 +1321,7 @@
1358
1321
  if (isDefaultValid(fbValue)) {
1359
1322
  defValue = fbValue;
1360
1323
  }
1361
- else {
1324
+ else if (dynamicHandler) {
1362
1325
  fbValue = dynamicHandler.cfg[fallback];
1363
1326
  if (isDefaultValid(fbValue)) {
1364
1327
  defValue = fbValue;
@@ -1375,27 +1338,63 @@
1375
1338
  }
1376
1339
  return defValue;
1377
1340
  }
1341
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
1342
+ var theValue = cfgDefaults;
1343
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
1344
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1345
+ }
1346
+ if (theValue) {
1347
+ if (_isConfigDefaults(theValue)) {
1348
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
1349
+ }
1350
+ var newValue_1;
1351
+ if (isArray(theValue)) {
1352
+ newValue_1 = [];
1353
+ newValue_1[_DYN_LENGTH$2 ] = theValue[_DYN_LENGTH$2 ];
1354
+ }
1355
+ else if (isPlainObject(theValue)) {
1356
+ newValue_1 = {};
1357
+ }
1358
+ if (newValue_1) {
1359
+ objForEachKey(theValue, function (key, value) {
1360
+ if (value && _isConfigDefaults(value)) {
1361
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
1362
+ }
1363
+ newValue_1[key] = value;
1364
+ });
1365
+ theValue = newValue_1;
1366
+ }
1367
+ }
1368
+ return theValue;
1369
+ }
1378
1370
  function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
1379
1371
  var isValid;
1380
1372
  var setFn;
1381
1373
  var defValue;
1382
1374
  var cfgDefaults = defaultValue;
1383
- if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1375
+ var mergeDf;
1376
+ var reference;
1377
+ var readOnly;
1378
+ if (_isConfigDefaults(cfgDefaults)) {
1384
1379
  isValid = cfgDefaults.isVal;
1385
1380
  setFn = cfgDefaults.set;
1381
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
1382
+ mergeDf = cfgDefaults.mrg;
1383
+ reference = cfgDefaults.ref;
1384
+ if (!reference && isUndefined(reference)) {
1385
+ reference = !!mergeDf;
1386
+ }
1386
1387
  defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1387
1388
  }
1388
1389
  else {
1389
1390
  defValue = defaultValue;
1390
1391
  }
1391
- var theValue = defValue;
1392
+ var theValue;
1392
1393
  var usingDefault = true;
1393
1394
  var cfgValue = theConfig[name];
1394
1395
  if (cfgValue || !isNullOrUndefined(cfgValue)) {
1395
1396
  theValue = cfgValue;
1396
1397
  usingDefault = false;
1397
- }
1398
- if (!usingDefault) {
1399
1398
  if (isValid && theValue !== defValue && !isValid(theValue)) {
1400
1399
  theValue = defValue;
1401
1400
  usingDefault = true;
@@ -1405,10 +1404,61 @@
1405
1404
  usingDefault = theValue === defValue;
1406
1405
  }
1407
1406
  }
1408
- if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1409
- theValue = _cfgDeepCopy(theValue);
1407
+ if (!usingDefault) {
1408
+ if (isPlainObject(theValue) || isArray(defValue)) {
1409
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
1410
+ objForEachKey(defValue, function (dfName, dfValue) {
1411
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
1412
+ });
1413
+ }
1414
+ }
1415
+ }
1416
+ else if (defValue) {
1417
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
1418
+ }
1419
+ else {
1420
+ theValue = defValue;
1410
1421
  }
1411
1422
  dynamicHandler.set(theConfig, name, theValue);
1423
+ if (reference) {
1424
+ dynamicHandler.ref(theConfig, name);
1425
+ }
1426
+ if (readOnly) {
1427
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
1428
+ }
1429
+ }
1430
+
1431
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1432
+ function _cfgDeepCopy(source) {
1433
+ if (source) {
1434
+ var target_1;
1435
+ if (isArray(source)) {
1436
+ target_1 = [];
1437
+ target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1438
+ }
1439
+ else if (isPlainObject(source)) {
1440
+ target_1 = {};
1441
+ }
1442
+ if (target_1) {
1443
+ objForEachKey(source, function (key, value) {
1444
+ target_1[key] = _cfgDeepCopy(value);
1445
+ });
1446
+ return target_1;
1447
+ }
1448
+ }
1449
+ return source;
1450
+ }
1451
+ function getDynamicConfigHandler(value) {
1452
+ if (value) {
1453
+ var handler = value[CFG_HANDLER_LINK] || value;
1454
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1455
+ return handler;
1456
+ }
1457
+ }
1458
+ return null;
1459
+ }
1460
+ function throwInvalidAccess(message) {
1461
+ throwTypeError("InvalidAccess:" + message);
1412
1462
  }
1413
1463
 
1414
1464
  var arrayMethodsToPatch = [
@@ -1588,7 +1638,7 @@
1588
1638
  set: cfgHandler.set.bind(cfgHandler),
1589
1639
  setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
1590
1640
  ref: cfgHandler.ref.bind(cfgHandler),
1591
- rdOnly: cfgHandler.rdOnly.bind(cfgHandler)
1641
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
1592
1642
  });
1593
1643
  }
1594
1644
  catch (e) {
@@ -1738,7 +1788,7 @@
1738
1788
  _a[_DYN_SET_DF ] = _applyDefaults,
1739
1789
  _a[_DYN_WATCH ] = _watch,
1740
1790
  _a.ref = _ref,
1741
- _a.rdOnly = _rdOnly,
1791
+ _a[_DYN_RD_ONLY ] = _rdOnly,
1742
1792
  _a._block = _block,
1743
1793
  _a);
1744
1794
  objDefineProp(cfgHandler, "uid", (_b = {},
@@ -1776,6 +1826,13 @@
1776
1826
  createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
1777
1827
  }
1778
1828
 
1829
+ function cfgDfMerge(defaultValue) {
1830
+ return {
1831
+ mrg: true,
1832
+ v: defaultValue
1833
+ };
1834
+ }
1835
+
1779
1836
  var _aiNamespace = null;
1780
1837
  function _getExtensionNamespace() {
1781
1838
  var target = getInst("Microsoft");
@@ -1980,18 +2037,19 @@
1980
2037
  var _doc = getDocument();
1981
2038
  var _cookieCache = {};
1982
2039
  var _globalCookieConfig = {};
1983
- var defaultConfig = objDeepFreeze((_a$2 = {},
1984
- _a$2[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
1985
- _a$2.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
1986
- _a$2.enabled = UNDEFINED_VALUE,
1987
- _a$2));
1988
- var rootDefaultConfig = (_b = {
1989
- cookieCfg: {},
2040
+ var rootDefaultConfig = (_a$2 = {
2041
+ cookieCfg: cfgDfMerge((_b = {},
2042
+ _b[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2043
+ _b.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2044
+ _b.enabled = UNDEFINED_VALUE,
2045
+ _b.ignoreCookies = UNDEFINED_VALUE,
2046
+ _b.blockedCookies = UNDEFINED_VALUE,
2047
+ _b)),
1990
2048
  cookieDomain: UNDEFINED_VALUE,
1991
2049
  cookiePath: UNDEFINED_VALUE
1992
2050
  },
1993
- _b[strDisableCookiesUsage] = UNDEFINED_VALUE,
1994
- _b);
2051
+ _a$2[strDisableCookiesUsage] = UNDEFINED_VALUE,
2052
+ _a$2);
1995
2053
  function _gblCookieMgr(config, logger) {
1996
2054
  var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1997
2055
  if (!inst) {
@@ -2050,7 +2108,7 @@
2050
2108
  rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2051
2109
  onConfigChange(rootConfig, function (details) {
2052
2110
  details[_DYN_SET_DF ](details.cfg, rootDefaultConfig);
2053
- cookieMgrConfig = details[_DYN_SET_DF ](details.cfg.cookieCfg, defaultConfig);
2111
+ cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
2054
2112
  var isEnabled = cookieMgrConfig.enabled;
2055
2113
  if (isNullOrUndefined(isEnabled)) {
2056
2114
  var cookieEnabled = void 0;