@microsoft/applicationinsights-channel-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 (32) hide show
  1. package/browser/applicationinsights-channel-js.integrity.json +9 -9
  2. package/browser/applicationinsights-channel-js.js +211 -135
  3. package/browser/applicationinsights-channel-js.js.map +1 -1
  4. package/browser/applicationinsights-channel-js.min.js +2 -2
  5. package/browser/applicationinsights-channel-js.min.js.map +1 -1
  6. package/dist/applicationinsights-channel-js.api.json +1 -1
  7. package/dist/applicationinsights-channel-js.d.ts +1 -1
  8. package/dist/applicationinsights-channel-js.js +211 -135
  9. package/dist/applicationinsights-channel-js.js.map +1 -1
  10. package/dist/applicationinsights-channel-js.min.js +2 -2
  11. package/dist/applicationinsights-channel-js.min.js.map +1 -1
  12. package/dist/applicationinsights-channel-js.rollup.d.ts +1 -1
  13. package/dist-esm/EnvelopeCreator.js +2 -2
  14. package/dist-esm/EnvelopeCreator.js.map +1 -1
  15. package/dist-esm/Interfaces.js +1 -1
  16. package/dist-esm/InternalConstants.js +1 -1
  17. package/dist-esm/Offline.js +1 -1
  18. package/dist-esm/SendBuffer.js +1 -1
  19. package/dist-esm/Sender.js +17 -14
  20. package/dist-esm/Sender.js.map +1 -1
  21. package/dist-esm/Serializer.js +1 -1
  22. package/dist-esm/TelemetryProcessors/Sample.js +1 -1
  23. package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +1 -1
  24. package/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  25. package/dist-esm/__DynamicConstants.js +2 -3
  26. package/dist-esm/__DynamicConstants.js.map +1 -1
  27. package/dist-esm/applicationinsights-channel-js.js +1 -1
  28. package/package.json +4 -4
  29. package/src/Sender.ts +18 -14
  30. package/src/__DynamicConstants.ts +1 -2
  31. package/types/__DynamicConstants.d.ts +0 -1
  32. package/types/tsdoc-metadata.json +1 -1
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-channel-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-channel-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-Xo5YW96pSzUHXmnR+8Ev4YJzP9o9K9lNL5y+NHTTDjQ= sha384-hdP57bvtn4ixAa+zFYZQCXLVUQJ9o7Q/ZBniyu3fbyA5Oh+3ImCRJXDkacvwqdxr sha512-+MosJ0t0f+f482zd5Lah6g1SCkS4Af4ttQ4skF+goisXj5zLWBtfgm1mFq2Jy1FaSY9xNgkcNxmxI4GryFNuLQ==",
8
+ "integrity": "sha256-67qFHPbQCipy+qCDNAMoC5YBAWw8w1l3hogk+PgmjVE= sha384-AJLcDP9SBaImwm8ZVii96AoUqkl5BfcCroXABXG2oMYO7Um+FG/0uTwbZiEZUD8g sha512-KHKMVJA6C+mSrczOMvmQFWQcNhqx1hAfxoPJQO/DWq0lXYMQtS77t73AOUc4gxDdAO+l5Q9AbdsfkitF59sSlg==",
9
9
  "hashes": {
10
- "sha256": "Xo5YW96pSzUHXmnR+8Ev4YJzP9o9K9lNL5y+NHTTDjQ=",
11
- "sha384": "hdP57bvtn4ixAa+zFYZQCXLVUQJ9o7Q/ZBniyu3fbyA5Oh+3ImCRJXDkacvwqdxr",
12
- "sha512": "+MosJ0t0f+f482zd5Lah6g1SCkS4Af4ttQ4skF+goisXj5zLWBtfgm1mFq2Jy1FaSY9xNgkcNxmxI4GryFNuLQ=="
10
+ "sha256": "67qFHPbQCipy+qCDNAMoC5YBAWw8w1l3hogk+PgmjVE=",
11
+ "sha384": "AJLcDP9SBaImwm8ZVii96AoUqkl5BfcCroXABXG2oMYO7Um+FG/0uTwbZiEZUD8g",
12
+ "sha512": "KHKMVJA6C+mSrczOMvmQFWQcNhqx1hAfxoPJQO/DWq0lXYMQtS77t73AOUc4gxDdAO+l5Q9AbdsfkitF59sSlg=="
13
13
  }
14
14
  },
15
15
  "@min.js": {
16
16
  "file": "applicationinsights-channel-js.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-wyYCU0adyuraCB8vXO6sZCFPS6kBuJUBfZTGM98r0gY= sha384-prDGIP7eQ91MpYvzTJYlpYSCgkrQVlKFNhVyVnrPKzC9XASNKu2YwGmrC+MWI01c sha512-JQQQfIpdF83I3NqoaUoHEbNkLIzJmWjVsB1ajcr8lzxtpsaVoOHUBpilccDu89L8Q9EMZZ07WfKGglOFReQsQQ==",
18
+ "integrity": "sha256-7oFSraohSZaIWnunWq/ilMLi7p1Fubp3+xxis5wnA68= sha384-+RqSYc4A33VeEFQV1yQDJf7xwohqJqCE9SL2zJdtA0bDCqlhCBMPvk1eWuZP0O4M sha512-jBI6j1tkkJBfSpA3rkG36x4AMJrTVDrmuk3++jCqnd2WPhjk9PEk5g615bU0+6Y0N7HDbUxB5rJRiSbhjlJY0Q==",
19
19
  "hashes": {
20
- "sha256": "wyYCU0adyuraCB8vXO6sZCFPS6kBuJUBfZTGM98r0gY=",
21
- "sha384": "prDGIP7eQ91MpYvzTJYlpYSCgkrQVlKFNhVyVnrPKzC9XASNKu2YwGmrC+MWI01c",
22
- "sha512": "JQQQfIpdF83I3NqoaUoHEbNkLIzJmWjVsB1ajcr8lzxtpsaVoOHUBpilccDu89L8Q9EMZZ07WfKGglOFReQsQQ=="
20
+ "sha256": "7oFSraohSZaIWnunWq/ilMLi7p1Fubp3+xxis5wnA68=",
21
+ "sha384": "+RqSYc4A33VeEFQV1yQDJf7xwohqJqCE9SL2zJdtA0bDCqlhCBMPvk1eWuZP0O4M",
22
+ "sha512": "jBI6j1tkkJBfSpA3rkG36x4AMJrTVDrmuk3++jCqnd2WPhjk9PEk5g615bU0+6Y0N7HDbUxB5rJRiSbhjlJY0Q=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.0-beta.2302-03
2
+ * Application Insights JavaScript SDK - Channel, 3.0.0-beta.2302-05
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -407,7 +407,8 @@
407
407
  return typeof value === theType;
408
408
  };
409
409
  }
410
- function _createObjIs(theType) {
410
+ function _createObjIs(theName) {
411
+ var theType = "[object " + theName + "]";
411
412
  return function (value) {
412
413
  return !!(value && objToString(value) === theType);
413
414
  };
@@ -435,7 +436,7 @@
435
436
  var isArray = ArrCls.isArray;
436
437
  var isNumber = _createIs(NUMBER);
437
438
  var isBoolean = _createIs(BOOLEAN);
438
- var isError = _createObjIs("[object Error]");
439
+ var isError = _createObjIs("Error");
439
440
  function isTruthy(value) {
440
441
  return !(!value || _safeGet(function () { return !(value && (0 + value)); }, !value));
441
442
  }
@@ -463,14 +464,21 @@
463
464
  }
464
465
  }
465
466
 
467
+ function _createKeyValueMap(values, keyType, valueType, completeFn) {
468
+ var theMap = {};
469
+ objForEachKey(values, function (key, value) {
470
+ theMap[key] = keyType ? value : key;
471
+ theMap[value] = valueType ? value : key;
472
+ });
473
+ return completeFn(theMap);
474
+ }
475
+
466
476
  function throwTypeError(message) {
467
477
  throw new TypeError(message);
468
478
  }
469
479
 
470
480
  var _objFreeze = ObjClass["freeze"];
471
- function _doNothing(value) {
472
- return value;
473
- }
481
+ var _doNothing = function (value) { return value; };
474
482
  ObjClass["assign"];
475
483
  function objKeys(value) {
476
484
  if (!isObject(value) || value === null) {
@@ -493,17 +501,12 @@
493
501
  var objGetPrototypeOf = ObjClass["getPrototypeOf"] || _doNothing;
494
502
 
495
503
  function createEnum(values) {
496
- var theEnum = {};
497
- objForEachKey(values, function (field, value) {
498
- theEnum[field] = value;
499
- theEnum[value] = field;
500
- });
501
- return objDeepFreeze(theEnum);
504
+ return _createKeyValueMap(values, 1, 0, objDeepFreeze);
502
505
  }
503
506
  function createSimpleMap(values) {
504
507
  var mapClass = {};
505
- objForEachKey(values, function (field, value) {
506
- mapClass[field] = value[1];
508
+ objForEachKey(values, function (key, value) {
509
+ mapClass[key] = value[1];
507
510
  mapClass[value[0]] = value[1];
508
511
  });
509
512
  return objDeepFreeze(mapClass);
@@ -540,6 +543,40 @@
540
543
  return _globalCfg;
541
544
  }
542
545
 
546
+ function dumpObj(object, format) {
547
+ var propertyValueDump = "";
548
+ if (isError(object)) {
549
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
550
+ }
551
+ else {
552
+ try {
553
+ propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
554
+ }
555
+ catch (e) {
556
+ propertyValueDump = " - " + dumpObj(e, format);
557
+ }
558
+ }
559
+ return objToString(object) + ": " + propertyValueDump;
560
+ }
561
+
562
+ function _extractArgs(args, startAt) {
563
+ var theArgs = [];
564
+ for (var lp = startAt; lp < args[LENGTH]; lp++) {
565
+ theArgs[lp - startAt] = args[lp];
566
+ }
567
+ return theArgs;
568
+ }
569
+
570
+ function _unwrapFunction(funcName) {
571
+ return function (thisArg) {
572
+ var args = _extractArgs(arguments, 1);
573
+ if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
574
+ return thisArg[funcName].apply(thisArg, args);
575
+ }
576
+ throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
577
+ };
578
+ }
579
+
543
580
  var _polySymbols;
544
581
  function _globalSymbolRegistry() {
545
582
  if (!_polySymbols) {
@@ -639,6 +676,9 @@
639
676
  var _cachedWindow;
640
677
  var _cachedDocument;
641
678
  var _cachedNavigator;
679
+ function _lazySafeGetInst(name) {
680
+ return _lazySafeGet(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
681
+ }
642
682
  function getGlobal(useCached) {
643
683
  (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = _lazySafeGet(_getGlobalValue, null));
644
684
  return _cachedGlobal.v;
@@ -654,32 +694,37 @@
654
694
  return null;
655
695
  }
656
696
  function getDocument() {
657
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGet(function () { return getInst(DOCUMENT); }, UNDEF_VALUE));
697
+ (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGetInst(DOCUMENT));
658
698
  return _cachedDocument.v;
659
699
  }
660
700
  function hasWindow() {
661
701
  return !!getWindow();
662
702
  }
663
703
  function getWindow() {
664
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGet(function () { return getInst(WINDOW); }, UNDEF_VALUE));
704
+ (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGetInst(WINDOW));
665
705
  return _cachedWindow.v;
666
706
  }
667
707
  function hasNavigator() {
668
708
  return !!getNavigator();
669
709
  }
670
710
  function getNavigator() {
671
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGet(function () { return getInst(NAVIGATOR); }, UNDEF_VALUE));
711
+ (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGetInst(NAVIGATOR));
672
712
  return _cachedNavigator.v;
673
713
  }
674
714
 
675
715
  var _symbol;
676
716
  var _symbolFor;
677
717
  var _symbolKeyFor;
718
+ function _getSymbolValue(name) {
719
+ return _lazySafeGet(function () {
720
+ return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
721
+ }, UNDEF_VALUE);
722
+ }
678
723
  function getSymbol() {
679
724
  var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
680
- resetCache && (_symbol = _lazySafeGet(function () { return isDefined(Symbol) ? getInst(SYMBOL) : UNDEF_VALUE; }, UNDEF_VALUE));
681
- (!_symbolFor || resetCache) && (_symbolFor = _lazySafeGet(function () { return _symbol.v ? _symbol["for"] : UNDEF_VALUE; }, UNDEF_VALUE));
682
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _lazySafeGet(function () { return _symbol.v ? _symbol["keyFor"] : UNDEF_VALUE; }, UNDEF_VALUE));
725
+ resetCache && (_symbol = _lazySafeGetInst(SYMBOL));
726
+ (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
727
+ (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
683
728
  return _symbol.v;
684
729
  }
685
730
  function newSymbol(description, noPoly) {
@@ -727,46 +772,6 @@
727
772
  }
728
773
  }
729
774
 
730
- function dumpObj(object, format) {
731
- var objectTypeDump = objToString(object);
732
- var propertyValueDump = "";
733
- if (objectTypeDump === "[object Error]") {
734
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
735
- }
736
- else {
737
- try {
738
- if (format) {
739
- if (isNumber(format)) {
740
- propertyValueDump = JSON.stringify(object, null, format);
741
- }
742
- else {
743
- propertyValueDump = JSON.stringify(object, null, 4);
744
- }
745
- }
746
- else {
747
- propertyValueDump = JSON.stringify(object);
748
- }
749
- }
750
- catch (e) {
751
- propertyValueDump = objToString(object) + " - " + dumpObj(e, format);
752
- }
753
- }
754
- return objectTypeDump + ": " + propertyValueDump;
755
- }
756
-
757
- function _unwrapFunction(funcName) {
758
- return function (thisArg) {
759
- var args = [];
760
- for (var _i = 1; _i < arguments.length; _i++) {
761
- args[_i - 1] = arguments[_i];
762
- }
763
- if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
764
- return thisArg[funcName].apply(thisArg, args);
765
- }
766
- throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
767
- };
768
- }
769
-
770
775
  var arrIndexOf = _unwrapFunction(INDEX_OF);
771
776
 
772
777
  var arrMap = _unwrapFunction("map");
@@ -777,9 +782,7 @@
777
782
  d.__proto__ = b;
778
783
  }) ||
779
784
  function (d, b) {
780
- objForEachKey(b, function (key, value) {
781
- d[key] = value;
782
- });
785
+ objForEachKey(b, function (key, value) { return d[key] = value; });
783
786
  };
784
787
  return fn(obj, proto);
785
788
  }
@@ -812,7 +815,7 @@
812
815
  return new Date().getTime();
813
816
  }
814
817
 
815
- var _fnToString$1;
818
+ var _fnToString;
816
819
  var _objCtrFnString;
817
820
  var _gblWindow;
818
821
  function isPlainObject(value) {
@@ -825,8 +828,8 @@
825
828
  var result = false;
826
829
  if (value !== _gblWindow) {
827
830
  if (!_objCtrFnString) {
828
- _fnToString$1 = Function[PROTOTYPE].toString;
829
- _objCtrFnString = _fnToString$1.call(ObjClass);
831
+ _fnToString = Function[PROTOTYPE].toString;
832
+ _objCtrFnString = _fnToString.call(ObjClass);
830
833
  }
831
834
  try {
832
835
  var proto = objGetPrototypeOf(value);
@@ -835,7 +838,7 @@
835
838
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
836
839
  proto = proto[CONSTRUCTOR];
837
840
  }
838
- result = proto && typeof proto === FUNCTION && _fnToString$1.call(proto) === _objCtrFnString;
841
+ result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
839
842
  }
840
843
  }
841
844
  catch (ex) {
@@ -900,14 +903,6 @@
900
903
  return timer;
901
904
  }
902
905
 
903
- function _extractArgs(args, startAt) {
904
- var theArgs = [];
905
- for (var lp = startAt; lp < args[LENGTH]; lp++) {
906
- theArgs[lp - startAt] = args[lp];
907
- }
908
- return theArgs;
909
- }
910
-
911
906
  function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
912
907
  var isArr = isArray(overrideFn);
913
908
  var len = isArr ? overrideFn.length : 0;
@@ -933,7 +928,9 @@
933
928
  var createEnumStyle = createEnum;
934
929
  var createValueMap = createTypeMap;
935
930
 
931
+ var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
936
932
  var _DYN_LENGTH$2 = "length";
933
+ var _DYN_RD_ONLY = "rdOnly";
937
934
  var _DYN_NOTIFY = "notify";
938
935
  var _DYN_THROW_INTERNAL = "throwInternal";
939
936
  var _DYN_SET_DF = "setDf";
@@ -970,7 +967,6 @@
970
967
  var _DYN_REPLACE = "replace";
971
968
  var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
972
969
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
973
- var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
974
970
  var _DYN_TYPE = "type";
975
971
  var _DYN_HANDLER = "handler";
976
972
  var _DYN_IS_CHILD_EVT = "isChildEvt";
@@ -1006,9 +1002,6 @@
1006
1002
  var STR_GET_PERF_MGR = "getPerfMgr";
1007
1003
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1008
1004
 
1009
- var strToString = "toString";
1010
- var _fnToString = ObjClass$1[strToString];
1011
- _fnToString.call(ObjClass$1);
1012
1005
  var rCamelCase = /-([a-z])/g;
1013
1006
  var rNormalizeInvalid = /([^\w\d_$])/g;
1014
1007
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
@@ -1215,7 +1208,7 @@
1215
1208
  if (userAgentStr === void 0) { userAgentStr = null; }
1216
1209
  if (!userAgentStr) {
1217
1210
  var navigator_1 = getNavigator() || {};
1218
- userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT ] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
1211
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
1219
1212
  }
1220
1213
  var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1221
1214
  if (strContains(ua, strMsie)) {
@@ -1338,7 +1331,7 @@
1338
1331
  }
1339
1332
 
1340
1333
  var _objDefineProperty = ObjDefineProperty;
1341
- var version = "3.0.0-beta.2302-03";
1334
+ var version = "3.0.0-beta.2302-05";
1342
1335
  var instanceName = "." + newId(6);
1343
1336
  var _dataUid = 0;
1344
1337
  function _createAccessor(target, prop, value) {
@@ -1411,39 +1404,9 @@
1411
1404
  return data;
1412
1405
  }
1413
1406
 
1414
- var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1415
- function _cfgDeepCopy(source) {
1416
- if (source) {
1417
- var target_1;
1418
- if (isArray(source)) {
1419
- target_1 = [];
1420
- target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1421
- }
1422
- else if (isPlainObject(source)) {
1423
- target_1 = {};
1424
- }
1425
- if (target_1) {
1426
- objForEachKey(source, function (key, value) {
1427
- target_1[key] = _cfgDeepCopy(value);
1428
- });
1429
- return target_1;
1430
- }
1431
- }
1432
- return source;
1433
- }
1434
- function getDynamicConfigHandler(value) {
1435
- if (value) {
1436
- var handler = value[CFG_HANDLER_LINK] || value;
1437
- if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1438
- return handler;
1439
- }
1440
- }
1441
- return null;
1407
+ function _isConfigDefaults(value) {
1408
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
1442
1409
  }
1443
- function throwInvalidAccess(message) {
1444
- throwTypeError("InvalidAccess:" + message);
1445
- }
1446
-
1447
1410
  function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1448
1411
  var defValue;
1449
1412
  var isDefaultValid = cfgDefaults.dfVal || isDefined;
@@ -1458,7 +1421,7 @@
1458
1421
  if (isDefaultValid(fbValue)) {
1459
1422
  defValue = fbValue;
1460
1423
  }
1461
- else {
1424
+ else if (dynamicHandler) {
1462
1425
  fbValue = dynamicHandler.cfg[fallback];
1463
1426
  if (isDefaultValid(fbValue)) {
1464
1427
  defValue = fbValue;
@@ -1475,27 +1438,63 @@
1475
1438
  }
1476
1439
  return defValue;
1477
1440
  }
1441
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
1442
+ var theValue = cfgDefaults;
1443
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
1444
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1445
+ }
1446
+ if (theValue) {
1447
+ if (_isConfigDefaults(theValue)) {
1448
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
1449
+ }
1450
+ var newValue_1;
1451
+ if (isArray(theValue)) {
1452
+ newValue_1 = [];
1453
+ newValue_1[_DYN_LENGTH$2 ] = theValue[_DYN_LENGTH$2 ];
1454
+ }
1455
+ else if (isPlainObject(theValue)) {
1456
+ newValue_1 = {};
1457
+ }
1458
+ if (newValue_1) {
1459
+ objForEachKey(theValue, function (key, value) {
1460
+ if (value && _isConfigDefaults(value)) {
1461
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
1462
+ }
1463
+ newValue_1[key] = value;
1464
+ });
1465
+ theValue = newValue_1;
1466
+ }
1467
+ }
1468
+ return theValue;
1469
+ }
1478
1470
  function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
1479
1471
  var isValid;
1480
1472
  var setFn;
1481
1473
  var defValue;
1482
1474
  var cfgDefaults = defaultValue;
1483
- if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1475
+ var mergeDf;
1476
+ var reference;
1477
+ var readOnly;
1478
+ if (_isConfigDefaults(cfgDefaults)) {
1484
1479
  isValid = cfgDefaults.isVal;
1485
1480
  setFn = cfgDefaults.set;
1481
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
1482
+ mergeDf = cfgDefaults.mrg;
1483
+ reference = cfgDefaults.ref;
1484
+ if (!reference && isUndefined(reference)) {
1485
+ reference = !!mergeDf;
1486
+ }
1486
1487
  defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1487
1488
  }
1488
1489
  else {
1489
1490
  defValue = defaultValue;
1490
1491
  }
1491
- var theValue = defValue;
1492
+ var theValue;
1492
1493
  var usingDefault = true;
1493
1494
  var cfgValue = theConfig[name];
1494
1495
  if (cfgValue || !isNullOrUndefined(cfgValue)) {
1495
1496
  theValue = cfgValue;
1496
1497
  usingDefault = false;
1497
- }
1498
- if (!usingDefault) {
1499
1498
  if (isValid && theValue !== defValue && !isValid(theValue)) {
1500
1499
  theValue = defValue;
1501
1500
  usingDefault = true;
@@ -1505,10 +1504,61 @@
1505
1504
  usingDefault = theValue === defValue;
1506
1505
  }
1507
1506
  }
1508
- if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1509
- theValue = _cfgDeepCopy(theValue);
1507
+ if (!usingDefault) {
1508
+ if (isPlainObject(theValue) || isArray(defValue)) {
1509
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
1510
+ objForEachKey(defValue, function (dfName, dfValue) {
1511
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
1512
+ });
1513
+ }
1514
+ }
1515
+ }
1516
+ else if (defValue) {
1517
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
1518
+ }
1519
+ else {
1520
+ theValue = defValue;
1510
1521
  }
1511
1522
  dynamicHandler.set(theConfig, name, theValue);
1523
+ if (reference) {
1524
+ dynamicHandler.ref(theConfig, name);
1525
+ }
1526
+ if (readOnly) {
1527
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
1528
+ }
1529
+ }
1530
+
1531
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1532
+ function _cfgDeepCopy(source) {
1533
+ if (source) {
1534
+ var target_1;
1535
+ if (isArray(source)) {
1536
+ target_1 = [];
1537
+ target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1538
+ }
1539
+ else if (isPlainObject(source)) {
1540
+ target_1 = {};
1541
+ }
1542
+ if (target_1) {
1543
+ objForEachKey(source, function (key, value) {
1544
+ target_1[key] = _cfgDeepCopy(value);
1545
+ });
1546
+ return target_1;
1547
+ }
1548
+ }
1549
+ return source;
1550
+ }
1551
+ function getDynamicConfigHandler(value) {
1552
+ if (value) {
1553
+ var handler = value[CFG_HANDLER_LINK] || value;
1554
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1555
+ return handler;
1556
+ }
1557
+ }
1558
+ return null;
1559
+ }
1560
+ function throwInvalidAccess(message) {
1561
+ throwTypeError("InvalidAccess:" + message);
1512
1562
  }
1513
1563
 
1514
1564
  var arrayMethodsToPatch = [
@@ -1688,7 +1738,7 @@
1688
1738
  set: cfgHandler.set.bind(cfgHandler),
1689
1739
  setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
1690
1740
  ref: cfgHandler.ref.bind(cfgHandler),
1691
- rdOnly: cfgHandler.rdOnly.bind(cfgHandler)
1741
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
1692
1742
  });
1693
1743
  }
1694
1744
  catch (e) {
@@ -1838,7 +1888,7 @@
1838
1888
  _a[_DYN_SET_DF ] = _applyDefaults,
1839
1889
  _a[_DYN_WATCH ] = _watch,
1840
1890
  _a.ref = _ref,
1841
- _a.rdOnly = _rdOnly,
1891
+ _a[_DYN_RD_ONLY ] = _rdOnly,
1842
1892
  _a._block = _block,
1843
1893
  _a);
1844
1894
  objDefineProp(cfgHandler, "uid", (_b = {},
@@ -1876,6 +1926,30 @@
1876
1926
  createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
1877
1927
  }
1878
1928
 
1929
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
1930
+ if (!theValue && isNullOrUndefined(theValue)) {
1931
+ return defaultValue;
1932
+ }
1933
+ if (isBoolean(theValue)) {
1934
+ return theValue;
1935
+ }
1936
+ return asString(theValue)[_DYN_TO_LOWER_CASE$1 ]() === "true";
1937
+ }
1938
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
1939
+ return {
1940
+ fb: fallBackName,
1941
+ isVal: validator,
1942
+ v: defaultValue
1943
+ };
1944
+ }
1945
+ function cfgDfBoolean(defaultValue, fallBackName) {
1946
+ return {
1947
+ fb: fallBackName,
1948
+ set: _stringToBoolOrDefault,
1949
+ v: !!defaultValue
1950
+ };
1951
+ }
1952
+
1879
1953
  var _aiNamespace = null;
1880
1954
  function _getExtensionNamespace() {
1881
1955
  var target = getInst("Microsoft");
@@ -4059,7 +4133,6 @@
4059
4133
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
4060
4134
  var _DYN_ENABLE_SESSION_STORA4 = "enableSessionStorageBuffer";
4061
4135
  var _DYN__BUFFER = "_buffer";
4062
- var _DYN_SAMPLING_PERCENTAGE = "samplingPercentage";
4063
4136
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4064
4137
  var _DYN_DISABLE_XHR = "disableXhr";
4065
4138
  var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
@@ -4187,7 +4260,7 @@
4187
4260
  }
4188
4261
  }
4189
4262
  var EnvelopeCreator = {
4190
- Version: "3.0.0-beta.2302-03"
4263
+ Version: "3.0.0-beta.2302-05"
4191
4264
  };
4192
4265
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4193
4266
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -4847,25 +4920,28 @@
4847
4920
  return null;
4848
4921
  }
4849
4922
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
4850
- endpointUrl: { isVal: isTruthy, v: DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH }
4923
+ endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
4851
4924
  },
4852
- _a[_DYN_EMIT_LINE_DELIMITED_0 ] = false,
4925
+ _a[_DYN_EMIT_LINE_DELIMITED_0 ] = cfgDfBoolean(),
4853
4926
  _a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
4854
4927
  _a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
4855
- _a.disableTelemetry = false,
4856
- _a[_DYN_ENABLE_SESSION_STORA4 ] = true,
4857
- _a.isRetryDisabled = false,
4858
- _a.isBeaconApiDisabled = true,
4859
- _a[_DYN_DISABLE_XHR ] = false,
4860
- _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = false,
4861
- _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = false,
4928
+ _a.disableTelemetry = cfgDfBoolean(),
4929
+ _a[_DYN_ENABLE_SESSION_STORA4 ] = cfgDfBoolean(true),
4930
+ _a.isRetryDisabled = cfgDfBoolean(),
4931
+ _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
4932
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
4933
+ _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = cfgDfBoolean(),
4934
+ _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
4862
4935
  _a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
4863
4936
  _a.namePrefix = UNDEFINED_VALUE,
4864
- _a[_DYN_SAMPLING_PERCENTAGE ] = 100,
4937
+ _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),
4865
4938
  _a[_DYN_CUSTOM_HEADERS ] = UNDEFINED_VALUE,
4866
4939
  _a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
4867
4940
  _a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
4868
4941
  _a));
4942
+ function _chkSampling(value) {
4943
+ return !isNaN(value) && value > 0 && value <= 100;
4944
+ }
4869
4945
  var EnvelopeTypeCreator = (_b = {},
4870
4946
  _b[Event.dataType] = EventEnvelopeCreator,
4871
4947
  _b[Trace.dataType] = TraceEnvelopeCreator,
@@ -5007,7 +5083,7 @@
5007
5083
  }
5008
5084
  _namePrefix = namePrefix;
5009
5085
  _sessionStorageUsed = canUseSessionStorage;
5010
- _self._sample = new Sample(senderConfig[_DYN_SAMPLING_PERCENTAGE ], diagLog);
5086
+ _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
5011
5087
  _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY ];
5012
5088
  if (!_validateInstrumentationKey(_instrumentationKey, config)) {
5013
5089
  _throwInternal(diagLog, 1 , 100 , "Invalid Instrumentation key " + _instrumentationKey);