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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/browser/applicationinsights-properties-js.integrity.json +9 -9
  2. package/browser/applicationinsights-properties-js.js +938 -495
  3. package/browser/applicationinsights-properties-js.js.map +1 -1
  4. package/browser/applicationinsights-properties-js.min.js +2 -2
  5. package/browser/applicationinsights-properties-js.min.js.map +1 -1
  6. package/dist/applicationinsights-properties-js.api.json +22 -170
  7. package/dist/applicationinsights-properties-js.api.md +9 -20
  8. package/dist/applicationinsights-properties-js.d.ts +28 -33
  9. package/dist/applicationinsights-properties-js.js +938 -495
  10. package/dist/applicationinsights-properties-js.js.map +1 -1
  11. package/dist/applicationinsights-properties-js.min.js +2 -2
  12. package/dist/applicationinsights-properties-js.min.js.map +1 -1
  13. package/dist/applicationinsights-properties-js.rollup.d.ts +28 -33
  14. package/dist-esm/Context/Application.js +1 -1
  15. package/dist-esm/Context/Device.js +1 -1
  16. package/dist-esm/Context/Internal.js +3 -3
  17. package/dist-esm/Context/Internal.js.map +1 -1
  18. package/dist-esm/Context/Location.js +1 -1
  19. package/dist-esm/Context/Session.js +30 -35
  20. package/dist-esm/Context/Session.js.map +1 -1
  21. package/dist-esm/Context/TelemetryTrace.js +1 -1
  22. package/dist-esm/Context/User.js +54 -46
  23. package/dist-esm/Context/User.js.map +1 -1
  24. package/dist-esm/Interfaces/IPropTelemetryContext.js +1 -1
  25. package/dist-esm/Interfaces/{ITelemetryConfig.js → IPropertiesConfig.js} +2 -2
  26. package/dist-esm/Interfaces/IPropertiesConfig.js.map +1 -0
  27. package/dist-esm/PropertiesPlugin.js +57 -50
  28. package/dist-esm/PropertiesPlugin.js.map +1 -1
  29. package/dist-esm/TelemetryContext.js +7 -5
  30. package/dist-esm/TelemetryContext.js.map +1 -1
  31. package/dist-esm/__DynamicConstants.js +8 -13
  32. package/dist-esm/__DynamicConstants.js.map +1 -1
  33. package/dist-esm/applicationinsights-properties-js.js +1 -1
  34. package/package.json +4 -4
  35. package/src/Context/Internal.ts +10 -9
  36. package/src/Context/Session.ts +33 -45
  37. package/src/Context/User.ts +67 -56
  38. package/src/Interfaces/IPropertiesConfig.ts +20 -0
  39. package/src/PropertiesPlugin.ts +58 -54
  40. package/src/TelemetryContext.ts +8 -4
  41. package/src/__DynamicConstants.ts +7 -12
  42. package/types/Context/Internal.d.ts +2 -2
  43. package/types/Context/Session.d.ts +7 -11
  44. package/types/Context/User.d.ts +5 -5
  45. package/types/Interfaces/IPropertiesConfig.d.ts +17 -0
  46. package/types/PropertiesPlugin.d.ts +1 -3
  47. package/types/TelemetryContext.d.ts +2 -2
  48. package/types/__DynamicConstants.d.ts +1 -6
  49. package/types/tsdoc-metadata.json +1 -1
  50. package/dist-esm/Interfaces/ITelemetryConfig.js.map +0 -1
  51. package/src/Interfaces/ITelemetryConfig.ts +0 -20
  52. package/types/Interfaces/ITelemetryConfig.d.ts +0 -17
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.0.0-beta.2209-03
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.0.0-beta.2210-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -14,10 +14,8 @@
14
14
  var strShimPrototype = "prototype";
15
15
  var strShimHasOwnProperty = "hasOwnProperty";
16
16
  var ObjClass$1 = Object;
17
- var ObjProto$1 = ObjClass$1[strShimPrototype];
18
17
  var ObjCreate = ObjClass$1["create"];
19
18
  var ObjDefineProperty = ObjClass$1["defineProperty"];
20
- var ObjHasOwnProperty = ObjProto$1[strShimHasOwnProperty];
21
19
 
22
20
  var _cachedGlobal$1 = null;
23
21
  function getGlobal$1(useCached) {
@@ -335,7 +333,6 @@
335
333
 
336
334
  var UNDEF_VALUE = undefined;
337
335
  var EMPTY = "";
338
- var BOOLEAN = "boolean";
339
336
  var FUNCTION = "function";
340
337
  var NUMBER = "number";
341
338
  var OBJECT = "object";
@@ -343,14 +340,19 @@
343
340
  var STRING = "string";
344
341
  var UNDEFINED = "undefined";
345
342
  var HAS_OWN_PROPERTY = "hasOwnProperty";
343
+ var SYMBOL = "Symbol";
344
+ var POLYFILL_TAG = "_polyfill";
346
345
  var INDEX_OF = "indexOf";
347
346
  var LENGTH = "length";
347
+ var DONE = "done";
348
+ var VALUE = "value";
348
349
  var ObjClass = Object;
349
350
  var ObjProto = ObjClass[PROTOTYPE];
350
351
  var StrCls = String;
351
352
  var StrProto = StrCls[PROTOTYPE];
352
353
  var MathCls = Math;
353
354
  var ArrCls = Array;
355
+ var ArrProto = ArrCls[PROTOTYPE];
354
356
 
355
357
  function _safeCheck(cb, defValue) {
356
358
  var result = defValue;
@@ -394,7 +396,6 @@
394
396
  }
395
397
  var isArray = ArrCls.isArray;
396
398
  var isNumber = _createIs(NUMBER);
397
- var isBoolean = _createIs(BOOLEAN);
398
399
  var isError = _createObjIs("[object Error]");
399
400
  function isTruthy(value) {
400
401
  return !(!value || _safeCheck(function () { return !(value && (0 + value)); }, !value));
@@ -463,7 +464,7 @@
463
464
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
464
465
  }
465
466
 
466
- function objForEachKey(theObject, callbackfn, thisArg) {
467
+ function objForEachKey$1(theObject, callbackfn, thisArg) {
467
468
  if (theObject && isObject(theObject)) {
468
469
  for (var prop in theObject) {
469
470
  if (objHasOwn(theObject, prop)) {
@@ -492,6 +493,7 @@
492
493
  throw new TypeError(message);
493
494
  }
494
495
 
496
+ ObjClass["assign"];
495
497
  var _objFreeze = ObjClass["freeze"];
496
498
  function _doNothing(value) {
497
499
  return value;
@@ -504,7 +506,7 @@
504
506
  }
505
507
  function objDeepFreeze(value) {
506
508
  if (_objFreeze) {
507
- objForEachKey(value, function (key, value) {
509
+ objForEachKey$1(value, function (key, value) {
508
510
  if (isArray(value) || isObject(value)) {
509
511
  _objFreeze(value);
510
512
  }
@@ -513,16 +515,76 @@
513
515
  return objFreeze(value);
514
516
  }
515
517
  var objFreeze = _objFreeze || _doNothing;
518
+ ObjClass["seal"] || _doNothing;
516
519
 
517
520
  function createEnum(values) {
518
521
  var theEnum = {};
519
- objForEachKey(values, function (field, value) {
522
+ objForEachKey$1(values, function (field, value) {
520
523
  theEnum[field] = value;
521
524
  theEnum[value] = field;
522
525
  });
523
526
  return objDeepFreeze(theEnum);
524
527
  }
525
528
 
529
+ var POLY_GLOBAL_REGISTORT = "__polySymbols$ts_utils";
530
+ var _polySymbols;
531
+ function _globalSymbolRegistry() {
532
+ if (!_polySymbols) {
533
+ var gbl = getGlobal();
534
+ _polySymbols = gbl[POLY_GLOBAL_REGISTORT] = gbl[POLY_GLOBAL_REGISTORT] || { k: {}, s: {} };
535
+ }
536
+ return _polySymbols;
537
+ }
538
+ function polyNewSymbol(description) {
539
+ var theSymbol = {
540
+ description: "" + description,
541
+ toString: function () { return SYMBOL + "(" + description + ")"; }
542
+ };
543
+ theSymbol[POLYFILL_TAG] = true;
544
+ return theSymbol;
545
+ }
546
+ function polySymbolFor(key) {
547
+ var registry = _globalSymbolRegistry();
548
+ if (!objHasOwn(registry, key)) {
549
+ var newSymbol = polyNewSymbol(key);
550
+ registry.k[key] = newSymbol;
551
+ registry.s[newSymbol] = "" + key;
552
+ }
553
+ return registry.k[key];
554
+ }
555
+
556
+ var _hasSymbol = _safeCheck(function () { return isDefined(Symbol); }, false);
557
+ var _symbol = getInst(SYMBOL);
558
+ var _symbolFor = _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
559
+ _symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
560
+ function newSymbol(description, noPoly) {
561
+ return _hasSymbol ? Symbol(description) : (!noPoly ? polyNewSymbol(description) : null);
562
+ }
563
+ var symbolFor = _symbolFor || polySymbolFor;
564
+
565
+ function isIterator(value) {
566
+ return !!value && isFunction(value.next);
567
+ }
568
+
569
+ function arrAppend(target, elms) {
570
+ if (!isUndefined(elms) && target) {
571
+ if (isArray(elms)) {
572
+ ArrProto.push.apply(target, elms);
573
+ }
574
+ else if (isIterator(elms)) {
575
+ var value = elms.next();
576
+ while (!value[DONE]) {
577
+ target.push(value[VALUE]);
578
+ value = elms.next();
579
+ }
580
+ }
581
+ else {
582
+ target.push(elms);
583
+ }
584
+ }
585
+ return target;
586
+ }
587
+
526
588
  function dumpObj(object, format) {
527
589
  var objectTypeDump = objToString(object);
528
590
  var propertyValueDump = "";
@@ -564,7 +626,7 @@
564
626
  d.__proto__ = b;
565
627
  }) ||
566
628
  function (d, b) {
567
- objForEachKey(b, function (key, value) {
629
+ objForEachKey$1(b, function (key, value) {
568
630
  d[key] = value;
569
631
  });
570
632
  };
@@ -634,7 +696,7 @@
634
696
 
635
697
  var SUB_STR = "substr";
636
698
  var strSubstring = _unwrapFunction("substring");
637
- StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
699
+ var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
638
700
  function polyStrSubstr(value, start, length) {
639
701
  if (isNullOrUndefined(value)) {
640
702
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -667,6 +729,8 @@
667
729
 
668
730
  var strIndexOf = _unwrapFunction(INDEX_OF);
669
731
 
732
+ var asString = StrCls;
733
+
670
734
  function _createTrimFn(exp) {
671
735
  return function _doTrim(value) {
672
736
  if (isNullOrUndefined(value)) {
@@ -679,58 +743,57 @@
679
743
  };
680
744
  }
681
745
  var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
682
- var polyStrTrimStart = _createTrimFn(/^\s+/g);
683
- var polyStrTrimEnd = _createTrimFn(/(?=\s)\s+$/g);
684
746
 
685
747
  var TRIM = "trim";
686
- var TRIM_START = "trimStart";
687
- var TRIM_END = "trimEnd";
688
748
  var strTrim = StrProto[TRIM] ? _unwrapFunction(TRIM) : polyStrTrim;
689
- StrProto[TRIM_START] ? _unwrapFunction(TRIM_START) : polyStrTrimStart;
690
- StrProto[TRIM_END] ? _unwrapFunction(TRIM_END) : polyStrTrimEnd;
691
749
 
692
750
  var createEnumStyle = createEnum;
693
751
 
752
+ var _DYN_LENGTH$2 = "length";
753
+ var _DYN_NOTIFY = "notify";
754
+ var _DYN_THROW_INTERNAL = "throwInternal";
755
+ var _DYN_WATCH = "watch";
756
+ var _DYN_LOGGER = "logger";
757
+ var _DYN_CONFIGURABLE = "configurable";
758
+ var _DYN_ENUMERABLE = "enumerable";
759
+ var _DYN_APPLY = "apply";
760
+ var _DYN_INDEX_OF = "indexOf";
761
+ var _DYN_PUSH = "push";
694
762
  var _DYN_INITIALIZE = "initialize";
695
- var _DYN_NAME$1 = "name";
696
763
  var _DYN_IDENTIFIER = "identifier";
697
- var _DYN_PUSH = "push";
698
764
  var _DYN_IS_INITIALIZED = "isInitialized";
699
- var _DYN_CONFIG$1 = "config";
700
- var _DYN_LOGGER = "logger";
701
- var _DYN_LENGTH$2 = "length";
765
+ var _DYN_NAME$1 = "name";
702
766
  var _DYN_TIME = "time";
703
767
  var _DYN_PROCESS_NEXT = "processNext";
704
768
  var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
769
+ var _DYN_CALL = "call";
705
770
  var _DYN_GET_PLUGIN = "getPlugin";
771
+ var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
706
772
  var _DYN_TEARDOWN = "teardown";
707
773
  var _DYN_MESSAGE_ID = "messageId";
708
774
  var _DYN_MESSAGE = "message";
709
775
  var _DYN_IS_ASYNC = "isAsync";
776
+ var _DYN_DIAG_LOG = "diagLog";
710
777
  var _DYN__DO_TEARDOWN = "_doTeardown";
711
778
  var _DYN_UPDATE$1 = "update";
712
779
  var _DYN_GET_NEXT = "getNext";
713
- var _DYN_DIAG_LOG = "diagLog";
714
780
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
715
781
  var _DYN_CREATE_NEW = "createNew";
716
- var _DYN_COOKIE_CFG = "cookieCfg";
717
- var _DYN_INDEX_OF = "indexOf";
782
+ var _DYN_CONFIG = "config";
718
783
  var _DYN_SUBSTRING$1 = "substring";
719
784
  var _DYN_USER_AGENT = "userAgent";
720
785
  var _DYN_SPLIT = "split";
721
- var _DYN_SUBSTR = "substr";
722
786
  var _DYN_NODE_TYPE = "nodeType";
723
- var _DYN_APPLY = "apply";
724
787
  var _DYN_REPLACE = "replace";
725
- var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
788
+ var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
726
789
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
727
790
  var _DYN_TO_LOWER_CASE = "toLowerCase";
728
- var _DYN_CALL = "call";
729
791
  var _DYN_IS_CHILD_EVT = "isChildEvt";
730
792
  var _DYN_GET_CTX = "getCtx";
731
793
  var _DYN_SET_CTX = "setCtx";
732
794
  var _DYN_COMPLETE = "complete";
733
795
 
796
+ var UNDEFINED_VALUE = undefined;
734
797
  var STR_EMPTY = "";
735
798
  var STR_CORE = "core";
736
799
  var STR_DISABLED = "disabled";
@@ -740,42 +803,19 @@
740
803
  var STR_ERROR_TO_CONSOLE = "errorToConsole";
741
804
  var STR_WARN_TO_CONSOLE = "warnToConsole";
742
805
  var STR_GET_PERF_MGR = "getPerfMgr";
806
+ var STR_DOMAIN = "domain";
807
+ var STR_PATH = "path";
808
+ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
743
809
 
744
- var _aiNamespace = null;
745
- function _getExtensionNamespace() {
746
- var target = getInst("Microsoft");
747
- if (target) {
748
- _aiNamespace = target["ApplicationInsights"];
749
- }
750
- return _aiNamespace;
751
- }
752
- function getDebugExt(config) {
753
- var ns = _aiNamespace;
754
- if (!ns && config.disableDbgExt !== true) {
755
- ns = _aiNamespace || _getExtensionNamespace();
756
- }
757
- return ns ? ns["ChromeDbgExt"] : null;
758
- }
759
-
760
- var cString = "String";
761
- var cObject = "Object";
762
- var strToISOString = "toISOString";
763
810
  var strToString = "toString";
764
811
  var strGetPrototypeOf = "getPrototypeOf";
765
812
  var strConstructor = "constructor";
766
- var DateProto = Date[strShimPrototype];
767
- var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
768
- var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
813
+ var _fnToString = ObjClass$1[strToString];
769
814
  var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass$1);
770
815
  var rCamelCase = /-([a-z])/g;
771
816
  var rNormalizeInvalid = /([^\w\d_$])/g;
772
817
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
773
- function _polyfillRequired(object, name) {
774
- return function () {
775
- throwUnsupported("Polyfill required for [" + name + "]");
776
- };
777
- }
778
- var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
818
+ var _getObjProto = Object[strGetPrototypeOf];
779
819
  function isNotNullOrUndefined(value) {
780
820
  return !isNullOrUndefined(value);
781
821
  }
@@ -792,6 +832,7 @@
792
832
  }
793
833
  return value;
794
834
  }
835
+ var objForEachKey = objForEachKey$1;
795
836
  function strContains(value, search) {
796
837
  if (value && search) {
797
838
  return strIndexOf(value, search) !== -1;
@@ -806,7 +847,7 @@
806
847
  result = true;
807
848
  }
808
849
  else {
809
- if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
850
+ if (proto[strConstructor] && objHasOwnProperty(proto, strConstructor)) {
810
851
  proto = proto[strConstructor];
811
852
  }
812
853
  result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
@@ -815,7 +856,7 @@
815
856
  return result;
816
857
  }
817
858
  function toISOString(date) {
818
- return _dateToISOString[_DYN_CALL ](date);
859
+ return date && date.toISOString() || "";
819
860
  }
820
861
  function dateNow() {
821
862
  var dt = Date;
@@ -852,9 +893,6 @@
852
893
  }
853
894
  return theValue;
854
895
  }
855
- function getCfgValue(theValue, defaultValue) {
856
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
857
- }
858
896
  function _createProxyFunction(source, funcName) {
859
897
  var srcFunc = null;
860
898
  var src = null;
@@ -894,49 +932,121 @@
894
932
  return class_1;
895
933
  }());
896
934
  }
897
- function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
898
- var theArgs = arguments;
899
- var extended = theArgs[0] || {};
900
- var argLen = theArgs[_DYN_LENGTH$2 ];
901
- var deep = false;
902
- var idx = 1;
903
- if (argLen > 0 && isBoolean(extended)) {
904
- deep = extended;
905
- extended = theArgs[idx] || {};
906
- idx++;
907
- }
908
- if (!isObject(extended)) {
909
- extended = {};
910
- }
911
- for (; idx < argLen; idx++) {
912
- var arg = theArgs[idx];
913
- var isArgArray = isArray(arg);
914
- var isArgObj = isObject(arg);
915
- for (var prop in arg) {
916
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
917
- if (!propOk) {
918
- continue;
919
- }
920
- var newValue = arg[prop];
921
- var isNewArray = void 0;
922
- if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
923
- var clone = extended[prop];
924
- if (isNewArray) {
925
- if (!isArray(clone)) {
926
- clone = [];
927
- }
928
- }
929
- else if (!isPlainObject(clone)) {
930
- clone = {};
935
+
936
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
937
+ function _cfgDeepCopy(source) {
938
+ if (source) {
939
+ if (isArray(source)) {
940
+ var result_1 = [];
941
+ result_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
942
+ arrForEach(source, function (value, idx) {
943
+ result_1[idx] = _cfgDeepCopy(value);
944
+ });
945
+ return result_1;
946
+ }
947
+ if (isPlainObject(source)) {
948
+ var target_1 = {};
949
+ objForEachKey$1(source, function (key, value) {
950
+ target_1[key] = _cfgDeepCopy(value);
951
+ });
952
+ return target_1;
953
+ }
954
+ }
955
+ return source;
956
+ }
957
+ function getDynamicConfigHandler(value) {
958
+ if (value) {
959
+ var handler = value[CFG_HANDLER_LINK] || value;
960
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
961
+ return handler;
962
+ }
963
+ }
964
+ return null;
965
+ }
966
+ function throwInvalidAccess(message) {
967
+ throwTypeError("InvalidAccess:" + message);
968
+ }
969
+
970
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
971
+ var defValue;
972
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
973
+ if (theConfig && cfgDefaults.fb) {
974
+ var fallbacks = cfgDefaults.fb;
975
+ if (!isArray(fallbacks)) {
976
+ fallbacks = [fallbacks];
977
+ }
978
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH$2 ]; lp++) {
979
+ var fallback = fallbacks[lp];
980
+ var fbValue = theConfig[fallback];
981
+ if (isDefaultValid(fbValue)) {
982
+ defValue = fbValue;
983
+ }
984
+ else {
985
+ fbValue = dynamicHandler.cfg[fallback];
986
+ if (isDefaultValid(fbValue)) {
987
+ defValue = fbValue;
931
988
  }
932
- newValue = objExtend(deep, clone, newValue);
989
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
933
990
  }
934
- if (newValue !== undefined) {
935
- extended[prop] = newValue;
991
+ if (isDefaultValid(defValue)) {
992
+ break;
936
993
  }
937
994
  }
938
995
  }
939
- return extended;
996
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
997
+ defValue = cfgDefaults.v;
998
+ }
999
+ return defValue;
1000
+ }
1001
+ function _applyDefaultValue(theConfig, name, defaultValue) {
1002
+ var dynamicHandler = theConfig[CFG_HANDLER_LINK];
1003
+ if (!dynamicHandler) {
1004
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
1005
+ }
1006
+ var isValid;
1007
+ var setFn;
1008
+ var defValue;
1009
+ var cfgDefaults = defaultValue;
1010
+ if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1011
+ isValid = cfgDefaults.isVal;
1012
+ setFn = cfgDefaults.set;
1013
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1014
+ }
1015
+ else {
1016
+ defValue = defaultValue;
1017
+ }
1018
+ var theValue = defValue;
1019
+ var usingDefault = true;
1020
+ var cfgValue = theConfig[name];
1021
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1022
+ theValue = cfgValue;
1023
+ usingDefault = false;
1024
+ }
1025
+ if (!usingDefault) {
1026
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
1027
+ theValue = defValue;
1028
+ usingDefault = true;
1029
+ }
1030
+ if (setFn) {
1031
+ theValue = setFn(theValue, defValue, theConfig);
1032
+ usingDefault = theValue === defValue;
1033
+ }
1034
+ }
1035
+ if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1036
+ theValue = _cfgDeepCopy(theValue);
1037
+ }
1038
+ dynamicHandler.set(theConfig, name, theValue);
1039
+ }
1040
+ function applyDefaults(theConfig, defaultValues) {
1041
+ if (defaultValues) {
1042
+ if (theConfig && !theConfig[CFG_HANDLER_LINK] && (isPlainObject(theConfig) || isArray(theConfig))) {
1043
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
1044
+ }
1045
+ objForEachKey(defaultValues, function (name, value) {
1046
+ _applyDefaultValue(theConfig, name, value);
1047
+ });
1048
+ }
1049
+ return theConfig;
940
1050
  }
941
1051
 
942
1052
  var strLocation = "location";
@@ -956,45 +1066,483 @@
956
1066
  return mockLocation;
957
1067
  }
958
1068
  }
959
- if (typeof location === strShimObject && location) {
960
- return location;
1069
+ if (typeof location === strShimObject && location) {
1070
+ return location;
1071
+ }
1072
+ return getInst(strLocation);
1073
+ }
1074
+ function getConsole() {
1075
+ if (typeof console !== strShimUndefined) {
1076
+ return console;
1077
+ }
1078
+ return getInst(strConsole);
1079
+ }
1080
+ function hasJSON() {
1081
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
1082
+ }
1083
+ function getJSON() {
1084
+ if (hasJSON()) {
1085
+ return JSON || getInst(strJSON);
1086
+ }
1087
+ return null;
1088
+ }
1089
+ function getCrypto() {
1090
+ return getInst(strCrypto);
1091
+ }
1092
+ function getMsCrypto() {
1093
+ return getInst(strMsCrypto);
1094
+ }
1095
+ function isIE() {
1096
+ var nav = getNavigator();
1097
+ if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1098
+ _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1099
+ var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1100
+ _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1101
+ }
1102
+ return _isTrident;
1103
+ }
1104
+
1105
+ var UInt32Mask = 0x100000000;
1106
+ var MaxUInt32 = 0xffffffff;
1107
+ var _mwcSeeded = false;
1108
+ var _mwcW = 123456789;
1109
+ var _mwcZ = 987654321;
1110
+ function _mwcSeed(seedValue) {
1111
+ if (seedValue < 0) {
1112
+ seedValue >>>= 0;
1113
+ }
1114
+ _mwcW = (123456789 + seedValue) & MaxUInt32;
1115
+ _mwcZ = (987654321 - seedValue) & MaxUInt32;
1116
+ _mwcSeeded = true;
1117
+ }
1118
+ function _autoSeedMwc() {
1119
+ try {
1120
+ var now = dateNow() & 0x7fffffff;
1121
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1122
+ }
1123
+ catch (e) {
1124
+ }
1125
+ }
1126
+ function random32(signed) {
1127
+ var value = 0;
1128
+ var c = getCrypto() || getMsCrypto();
1129
+ if (c && c.getRandomValues) {
1130
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1131
+ }
1132
+ if (value === 0 && isIE()) {
1133
+ if (!_mwcSeeded) {
1134
+ _autoSeedMwc();
1135
+ }
1136
+ value = mwcRandom32() & MaxUInt32;
1137
+ }
1138
+ if (value === 0) {
1139
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
1140
+ }
1141
+ if (!signed) {
1142
+ value >>>= 0;
1143
+ }
1144
+ return value;
1145
+ }
1146
+ function mwcRandom32(signed) {
1147
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1148
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1149
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1150
+ if (!signed) {
1151
+ value >>>= 0;
1152
+ }
1153
+ return value;
1154
+ }
1155
+ function newId(maxLength) {
1156
+ if (maxLength === void 0) { maxLength = 22; }
1157
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1158
+ var number = random32() >>> 0;
1159
+ var chars = 0;
1160
+ var result = STR_EMPTY;
1161
+ while (result[_DYN_LENGTH$2 ] < maxLength) {
1162
+ chars++;
1163
+ result += base64chars.charAt(number & 0x3F);
1164
+ number >>>= 6;
1165
+ if (chars === 5) {
1166
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1167
+ chars = 0;
1168
+ }
1169
+ }
1170
+ return result;
1171
+ }
1172
+
1173
+ var _objDefineProperty = ObjDefineProperty;
1174
+ var version = "3.0.0-beta.2210-02";
1175
+ var instanceName = "." + newId(6);
1176
+ var _dataUid = 0;
1177
+ function _createAccessor(target, prop, value) {
1178
+ var _a;
1179
+ if (_objDefineProperty) {
1180
+ try {
1181
+ _objDefineProperty(target, prop, (_a = {
1182
+ value: value
1183
+ },
1184
+ _a[_DYN_ENUMERABLE ] = false,
1185
+ _a[_DYN_CONFIGURABLE ] = true,
1186
+ _a));
1187
+ return true;
1188
+ }
1189
+ catch (e) {
1190
+ }
1191
+ }
1192
+ return false;
1193
+ }
1194
+ function _canAcceptData(target) {
1195
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1196
+ }
1197
+ function _getCache(data, target) {
1198
+ var theCache = target[data.id];
1199
+ if (!theCache) {
1200
+ theCache = {};
1201
+ try {
1202
+ if (_canAcceptData(target)) {
1203
+ if (!_createAccessor(target, data.id, theCache)) {
1204
+ target[data.id] = theCache;
1205
+ }
1206
+ }
1207
+ }
1208
+ catch (e) {
1209
+ }
1210
+ }
1211
+ return theCache;
1212
+ }
1213
+ function createUniqueNamespace(name, includeVersion) {
1214
+ if (includeVersion === void 0) { includeVersion = false; }
1215
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1216
+ }
1217
+ function createElmNodeData(name) {
1218
+ var data = {
1219
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1220
+ accept: function (target) {
1221
+ return _canAcceptData(target);
1222
+ },
1223
+ get: function (target, name, defValue, addDefault) {
1224
+ var theCache = target[data.id];
1225
+ if (!theCache) {
1226
+ if (addDefault) {
1227
+ theCache = _getCache(data, target);
1228
+ theCache[normalizeJsName(name)] = defValue;
1229
+ }
1230
+ return defValue;
1231
+ }
1232
+ return theCache[normalizeJsName(name)];
1233
+ },
1234
+ kill: function (target, name) {
1235
+ if (target && target[name]) {
1236
+ try {
1237
+ delete target[name];
1238
+ }
1239
+ catch (e) {
1240
+ }
1241
+ }
1242
+ }
1243
+ };
1244
+ return data;
1245
+ }
1246
+
1247
+ var arrayMethodsToPatch = [
1248
+ "push",
1249
+ "pop",
1250
+ "shift",
1251
+ "unshift",
1252
+ "splice"
1253
+ ];
1254
+ function _patchArray(state, target) {
1255
+ if (isArray(target)) {
1256
+ arrForEach(arrayMethodsToPatch, function (method) {
1257
+ var orgMethod = target[method];
1258
+ target[method] = function () {
1259
+ var args = [];
1260
+ for (var _i = 0; _i < arguments.length; _i++) {
1261
+ args[_i] = arguments[_i];
1262
+ }
1263
+ var result = orgMethod[_DYN_APPLY ](this, args);
1264
+ _makeDynamicObject(state, target);
1265
+ return result;
1266
+ };
1267
+ });
1268
+ }
1269
+ }
1270
+ function _makeDynamicProperty(state, theConfig, name, value) {
1271
+ var detail = {
1272
+ n: name,
1273
+ h: [],
1274
+ add: function (handler) {
1275
+ if (handler && handler.fn && detail.h[_DYN_INDEX_OF ](handler) === -1) {
1276
+ detail.h[_DYN_PUSH ](handler);
1277
+ }
1278
+ }
1279
+ };
1280
+ var checkDynamic = true;
1281
+ function _getProperty() {
1282
+ if (checkDynamic) {
1283
+ if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {
1284
+ value = _makeDynamicObject(state, value);
1285
+ }
1286
+ checkDynamic = false;
1287
+ }
1288
+ var activeHandler = state.act;
1289
+ if (activeHandler) {
1290
+ detail.add(activeHandler);
1291
+ }
1292
+ return value;
1293
+ }
1294
+ _getProperty[state.prop] = true;
1295
+ function _setProperty(newValue) {
1296
+ if (value !== newValue) {
1297
+ if (!!_setProperty[state.ro] && state.upd) {
1298
+ throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
1299
+ }
1300
+ if (value && value[CFG_HANDLER_LINK]) {
1301
+ if (isPlainObject(value)) {
1302
+ objForEachKey$1(value, function (key) {
1303
+ value[key] = UNDEFINED_VALUE;
1304
+ });
1305
+ }
1306
+ else if (isArray(value)) {
1307
+ arrForEach(value, function (propValue, idx) {
1308
+ value[idx] = UNDEFINED_VALUE;
1309
+ });
1310
+ }
1311
+ }
1312
+ checkDynamic = false;
1313
+ if (isPlainObject(newValue) || isArray(newValue)) {
1314
+ _makeDynamicObject(state, newValue);
1315
+ }
1316
+ value = newValue;
1317
+ state.add(detail);
1318
+ }
1319
+ }
1320
+ objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
1321
+ }
1322
+ function _setDynamicProperty(state, target, name, value) {
1323
+ if (target) {
1324
+ var isDynamic = false;
1325
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1326
+ if (propDesc && propDesc.get) {
1327
+ isDynamic = !!propDesc.get[state.prop];
1328
+ }
1329
+ if (!isDynamic) {
1330
+ _makeDynamicProperty(state, target, name, value);
1331
+ }
1332
+ else {
1333
+ target[name] = value;
1334
+ }
1335
+ }
1336
+ return value;
1337
+ }
1338
+ function _makeDynamicObject(state, target ) {
1339
+ var _a;
1340
+ objForEachKey$1( target, function (key, value) {
1341
+ _setDynamicProperty(state, target, key, value);
1342
+ });
1343
+ if (!target[CFG_HANDLER_LINK]) {
1344
+ objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
1345
+ _a[_DYN_CONFIGURABLE ] = false,
1346
+ _a[_DYN_ENUMERABLE ] = false,
1347
+ _a.get = function () {
1348
+ return state.hdlr;
1349
+ },
1350
+ _a));
1351
+ _patchArray(state, target);
1352
+ }
1353
+ return target;
1354
+ }
1355
+
1356
+ var symPrefix = "[[ai_";
1357
+ var symPostfix = "]]";
1358
+ function _insertWatcher(watchers, theDetail) {
1359
+ if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH$2 ] > 0) {
1360
+ arrForEach(theDetail.h, function (handler) {
1361
+ if (handler && handler.fn && watchers[_DYN_INDEX_OF ](handler) === -1) {
1362
+ watchers[_DYN_PUSH ](handler);
1363
+ }
1364
+ });
1365
+ }
1366
+ }
1367
+ function _createState(cfgHandler) {
1368
+ var _a;
1369
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1370
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1371
+ var _waitingHandlers = null;
1372
+ var _watcherTimer = null;
1373
+ var theState;
1374
+ function _useHandler(activeHandler, callback) {
1375
+ var prevWatcher = theState.act;
1376
+ try {
1377
+ theState.act = activeHandler;
1378
+ callback({
1379
+ cfg: cfgHandler.cfg,
1380
+ hdlr: cfgHandler
1381
+ });
1382
+ }
1383
+ catch (e) {
1384
+ var message = "Watcher [" + dumpObj(callback) + "] failed [" + dumpObj(e) + "]";
1385
+ var logger = cfgHandler[_DYN_LOGGER ];
1386
+ if (logger) {
1387
+ cfgHandler.logger[_DYN_THROW_INTERNAL ](1 , 107 , message);
1388
+ }
1389
+ else {
1390
+ throwInvalidAccess(message);
1391
+ }
1392
+ }
1393
+ finally {
1394
+ theState.act = prevWatcher || null;
1395
+ }
1396
+ }
1397
+ function _notifyWatchers() {
1398
+ if (_waitingHandlers) {
1399
+ var notifyHandlers = _waitingHandlers;
1400
+ _waitingHandlers = null;
1401
+ if (_watcherTimer) {
1402
+ clearTimeout(_watcherTimer);
1403
+ _watcherTimer = null;
1404
+ }
1405
+ arrForEach(notifyHandlers, function (handler) {
1406
+ if (handler.fn) {
1407
+ _useHandler(handler, handler.fn);
1408
+ }
1409
+ });
1410
+ if (_waitingHandlers) {
1411
+ _notifyWatchers();
1412
+ }
1413
+ }
1414
+ }
1415
+ function _addWatcher(detail) {
1416
+ if (detail && detail.h[_DYN_LENGTH$2 ] > 0) {
1417
+ if (!_waitingHandlers) {
1418
+ _waitingHandlers = [];
1419
+ }
1420
+ if (!_watcherTimer) {
1421
+ _watcherTimer = setTimeout(function () {
1422
+ _watcherTimer = null;
1423
+ _notifyWatchers();
1424
+ }, 0);
1425
+ }
1426
+ _insertWatcher(_waitingHandlers, detail);
1427
+ }
1428
+ }
1429
+ theState = (_a = {
1430
+ prop: dynamicPropertySymbol,
1431
+ ro: dynamicPropertyReadOnly,
1432
+ hdlr: cfgHandler,
1433
+ add: _addWatcher
1434
+ },
1435
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1436
+ _a.use = _useHandler,
1437
+ _a);
1438
+ return theState;
1439
+ }
1440
+
1441
+ function _createAndUseHandler(state, configHandler) {
1442
+ var handler = {
1443
+ fn: configHandler,
1444
+ rm: function () {
1445
+ handler.fn = null;
1446
+ state = null;
1447
+ configHandler = null;
1448
+ }
1449
+ };
1450
+ state.use(handler, configHandler);
1451
+ return handler;
1452
+ }
1453
+ function _createDynamicHandler(logger, target, inPlace) {
1454
+ var _a, _b;
1455
+ var dynamicConfig = getDynamicConfigHandler(target);
1456
+ if (dynamicConfig) {
1457
+ return dynamicConfig;
1458
+ }
1459
+ var uid = createUniqueNamespace("dyncfg", true);
1460
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
1461
+ var theState;
1462
+ function _notifyWatchers() {
1463
+ theState[_DYN_NOTIFY ]();
961
1464
  }
962
- return getInst(strLocation);
963
- }
964
- function getConsole() {
965
- if (typeof console !== strShimUndefined) {
966
- return console;
1465
+ function _setValue(target, name, value) {
1466
+ return _setDynamicProperty(theState, target, name, value);
1467
+ }
1468
+ function _watch(configHandler) {
1469
+ return _createAndUseHandler(theState, configHandler);
1470
+ }
1471
+ function _block(configHandler) {
1472
+ theState.use(null, configHandler);
1473
+ }
1474
+ var cfgHandler = (_a = {
1475
+ uid: null,
1476
+ cfg: newTarget
1477
+ },
1478
+ _a[_DYN_LOGGER ] = logger,
1479
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1480
+ _a.set = _setValue,
1481
+ _a[_DYN_WATCH ] = _watch,
1482
+ _a._block = _block,
1483
+ _a);
1484
+ objDefineProp(cfgHandler, "uid", (_b = {},
1485
+ _b[_DYN_CONFIGURABLE ] = false,
1486
+ _b[_DYN_ENUMERABLE ] = false,
1487
+ _b.writable = false,
1488
+ _b.value = uid,
1489
+ _b));
1490
+ theState = _createState(cfgHandler);
1491
+ _makeDynamicObject(theState, newTarget);
1492
+ return cfgHandler;
1493
+ }
1494
+ function _logInvalidAccess(logger, message) {
1495
+ if (logger) {
1496
+ logger[STR_WARN_TO_CONSOLE ](message);
1497
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
1498
+ }
1499
+ else {
1500
+ throwInvalidAccess(message);
967
1501
  }
968
- return getInst(strConsole);
969
- }
970
- function hasJSON() {
971
- return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
972
1502
  }
973
- function getJSON() {
974
- if (hasJSON()) {
975
- return JSON || getInst(strJSON);
1503
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
1504
+ var dynamic = _createDynamicHandler(logger, config || {}, inPlace);
1505
+ if (defaultConfig) {
1506
+ applyDefaults(dynamic.cfg, defaultConfig);
976
1507
  }
977
- return null;
1508
+ return dynamic;
978
1509
  }
979
- function getCrypto() {
980
- return getInst(strCrypto);
1510
+ function onConfigChange(config, configHandler, logger) {
1511
+ var handler = config[CFG_HANDLER_LINK] || config;
1512
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1513
+ return handler[_DYN_WATCH ](configHandler);
1514
+ }
1515
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
1516
+ createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
981
1517
  }
982
- function getMsCrypto() {
983
- return getInst(strMsCrypto);
1518
+
1519
+ var _aiNamespace = null;
1520
+ function _getExtensionNamespace() {
1521
+ var target = getInst("Microsoft");
1522
+ if (target) {
1523
+ _aiNamespace = target["ApplicationInsights"];
1524
+ }
1525
+ return _aiNamespace;
984
1526
  }
985
- function isIE() {
986
- var nav = getNavigator();
987
- if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
988
- _navUserAgentCheck = nav[_DYN_USER_AGENT ];
989
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
990
- _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1527
+ function getDebugExt(config) {
1528
+ var ns = _aiNamespace;
1529
+ if (!ns && config.disableDbgExt !== true) {
1530
+ ns = _aiNamespace || _getExtensionNamespace();
991
1531
  }
992
- return _isTrident;
1532
+ return ns ? ns["ChromeDbgExt"] : null;
993
1533
  }
994
1534
 
1535
+ var _a$3;
995
1536
  var AiNonUserActionablePrefix = "AI (Internal): ";
996
1537
  var AiUserActionablePrefix = "AI: ";
997
1538
  var AIInternalMessagePrefix = "AITR_";
1539
+ var defaultValues$1 = (_a$3 = {
1540
+ loggingLevelConsole: 0,
1541
+ loggingLevelTelemetry: 1,
1542
+ maxMessageLimit: 25
1543
+ },
1544
+ _a$3[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = false,
1545
+ _a$3);
998
1546
  function _sanitizeDiagnosticText(text) {
999
1547
  if (text) {
1000
1548
  return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
@@ -1050,8 +1598,8 @@
1050
1598
  _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1051
1599
  _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1052
1600
  _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1053
- _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1054
- _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1601
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = function () { return _enableDebugExceptions; };
1602
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
1055
1603
  if (isUserAct === void 0) { isUserAct = false; }
1056
1604
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1057
1605
  if (_enableDebugExceptions) {
@@ -1124,10 +1672,14 @@
1124
1672
  }
1125
1673
  }
1126
1674
  function _setDefaultsFromConfig(config) {
1127
- _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1128
- _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1129
- _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1130
- _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1675
+ var handler = createDynamicConfig(config, defaultValues$1, _self);
1676
+ handler[_DYN_WATCH ](function (details) {
1677
+ var config = details.cfg;
1678
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
1679
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
1680
+ _maxInternalMessageLimit = config.maxMessageLimit;
1681
+ _enableDebugExceptions = config[_DYN_ENABLE_DEBUG_EXCEPTI5 ];
1682
+ });
1131
1683
  }
1132
1684
  function _areInternalMessagesThrottled() {
1133
1685
  return _messageCount >= _maxInternalMessageLimit;
@@ -1148,7 +1700,7 @@
1148
1700
  }
1149
1701
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1150
1702
  if (isUserAct === void 0) { isUserAct = false; }
1151
- _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1703
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
1152
1704
  }
1153
1705
  function _logInternalMessage(logger, severity, message) {
1154
1706
  _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
@@ -1264,146 +1816,6 @@
1264
1816
  return func();
1265
1817
  }
1266
1818
 
1267
- var UInt32Mask = 0x100000000;
1268
- var MaxUInt32 = 0xffffffff;
1269
- var _mwcSeeded = false;
1270
- var _mwcW = 123456789;
1271
- var _mwcZ = 987654321;
1272
- function _mwcSeed(seedValue) {
1273
- if (seedValue < 0) {
1274
- seedValue >>>= 0;
1275
- }
1276
- _mwcW = (123456789 + seedValue) & MaxUInt32;
1277
- _mwcZ = (987654321 - seedValue) & MaxUInt32;
1278
- _mwcSeeded = true;
1279
- }
1280
- function _autoSeedMwc() {
1281
- try {
1282
- var now = dateNow() & 0x7fffffff;
1283
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1284
- }
1285
- catch (e) {
1286
- }
1287
- }
1288
- function random32(signed) {
1289
- var value = 0;
1290
- var c = getCrypto() || getMsCrypto();
1291
- if (c && c.getRandomValues) {
1292
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1293
- }
1294
- if (value === 0 && isIE()) {
1295
- if (!_mwcSeeded) {
1296
- _autoSeedMwc();
1297
- }
1298
- value = mwcRandom32() & MaxUInt32;
1299
- }
1300
- if (value === 0) {
1301
- value = Math.floor((UInt32Mask * Math.random()) | 0);
1302
- }
1303
- if (!signed) {
1304
- value >>>= 0;
1305
- }
1306
- return value;
1307
- }
1308
- function mwcRandom32(signed) {
1309
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1310
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1311
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1312
- if (!signed) {
1313
- value >>>= 0;
1314
- }
1315
- return value;
1316
- }
1317
- function newId(maxLength) {
1318
- if (maxLength === void 0) { maxLength = 22; }
1319
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1320
- var number = random32() >>> 0;
1321
- var chars = 0;
1322
- var result = STR_EMPTY;
1323
- while (result[_DYN_LENGTH$2 ] < maxLength) {
1324
- chars++;
1325
- result += base64chars.charAt(number & 0x3F);
1326
- number >>>= 6;
1327
- if (chars === 5) {
1328
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1329
- chars = 0;
1330
- }
1331
- }
1332
- return result;
1333
- }
1334
-
1335
- var _objDefineProperty = ObjDefineProperty;
1336
- var version = "3.0.0-beta.2209-03";
1337
- var instanceName = "." + newId(6);
1338
- var _dataUid = 0;
1339
- function _createAccessor(target, prop, value) {
1340
- if (_objDefineProperty) {
1341
- try {
1342
- _objDefineProperty(target, prop, {
1343
- value: value,
1344
- enumerable: false,
1345
- configurable: true
1346
- });
1347
- return true;
1348
- }
1349
- catch (e) {
1350
- }
1351
- }
1352
- return false;
1353
- }
1354
- function _canAcceptData(target) {
1355
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1356
- }
1357
- function _getCache(data, target) {
1358
- var theCache = target[data.id];
1359
- if (!theCache) {
1360
- theCache = {};
1361
- try {
1362
- if (_canAcceptData(target)) {
1363
- if (!_createAccessor(target, data.id, theCache)) {
1364
- target[data.id] = theCache;
1365
- }
1366
- }
1367
- }
1368
- catch (e) {
1369
- }
1370
- }
1371
- return theCache;
1372
- }
1373
- function createUniqueNamespace(name, includeVersion) {
1374
- if (includeVersion === void 0) { includeVersion = false; }
1375
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1376
- }
1377
- function createElmNodeData(name) {
1378
- var data = {
1379
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1380
- accept: function (target) {
1381
- return _canAcceptData(target);
1382
- },
1383
- get: function (target, name, defValue, addDefault) {
1384
- var theCache = target[data.id];
1385
- if (!theCache) {
1386
- if (addDefault) {
1387
- theCache = _getCache(data, target);
1388
- theCache[normalizeJsName(name)] = defValue;
1389
- }
1390
- return defValue;
1391
- }
1392
- return theCache[normalizeJsName(name)];
1393
- },
1394
- kill: function (target, name) {
1395
- if (target && target[name]) {
1396
- try {
1397
- delete target[name];
1398
- }
1399
- catch (e) {
1400
- }
1401
- }
1402
- }
1403
- };
1404
- return data;
1405
- }
1406
-
1407
1819
  function generateW3CId() {
1408
1820
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
1409
1821
  var oct = STR_EMPTY, tmp;
@@ -1420,14 +1832,14 @@
1420
1832
  hexValues[tmp >> 28 & 0xF];
1421
1833
  }
1422
1834
  var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1423
- return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
1835
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
1424
1836
  }
1425
1837
 
1426
1838
  var INVALID_TRACE_ID = "00000000000000000000000000000000";
1427
1839
  var INVALID_SPAN_ID = "0000000000000000";
1428
1840
  function _isValid(value, len, invalidValue) {
1429
1841
  if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
1430
- return !!value.match(/^[\da-f]*$/);
1842
+ return !!value.match(/^[\da-f]*$/i);
1431
1843
  }
1432
1844
  return false;
1433
1845
  }
@@ -1454,11 +1866,14 @@
1454
1866
  }
1455
1867
  proxy = proxy[_DYN_GET_NEXT ]();
1456
1868
  }
1457
- return createTelemetryProxyChain([startAt], core[_DYN_CONFIG$1 ] || {}, core);
1869
+ return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
1458
1870
  }
1459
- function _createInternalContext(telemetryChain, config, core, startAt) {
1871
+ function _createInternalContext(telemetryChain, dynamicConfig, core, startAt) {
1460
1872
  var _nextProxy = null;
1461
1873
  var _onComplete = [];
1874
+ if (!dynamicConfig) {
1875
+ dynamicConfig = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
1876
+ }
1462
1877
  if (startAt !== null) {
1463
1878
  _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1464
1879
  }
@@ -1469,12 +1884,12 @@
1469
1884
  return core;
1470
1885
  },
1471
1886
  diagLog: function () {
1472
- return safeGetLogger(core, config);
1887
+ return safeGetLogger(core, dynamicConfig.cfg);
1473
1888
  },
1474
1889
  getCfg: function () {
1475
- return config;
1890
+ return dynamicConfig.cfg;
1476
1891
  },
1477
- getExtCfg: _getExtCfg,
1892
+ getExtCfg: _resolveExtCfg,
1478
1893
  getConfig: _getConfig,
1479
1894
  hasNext: function () {
1480
1895
  return !!_nextProxy;
@@ -1521,48 +1936,51 @@
1521
1936
  }
1522
1937
  return nextProxy;
1523
1938
  }
1524
- function _getExtCfg(identifier, defaultValue, mergeDefault) {
1525
- if (defaultValue === void 0) { defaultValue = {}; }
1526
- if (mergeDefault === void 0) { mergeDefault = 0 ; }
1527
- var theConfig;
1528
- if (config) {
1529
- var extConfig = config[STR_EXTENSION_CONFIG ];
1530
- if (extConfig && identifier) {
1531
- theConfig = extConfig[identifier];
1532
- }
1533
- }
1534
- if (!theConfig) {
1535
- theConfig = defaultValue;
1536
- }
1537
- else if (isObject(defaultValue)) {
1538
- if (mergeDefault !== 0 ) {
1539
- var newConfig_1 = objExtend(true, defaultValue, theConfig);
1540
- if (config && mergeDefault === 2 ) {
1541
- objForEachKey(defaultValue, function (field) {
1542
- if (isNullOrUndefined(newConfig_1[field])) {
1543
- var cfgValue = config[field];
1544
- if (!isNullOrUndefined(cfgValue)) {
1545
- newConfig_1[field] = cfgValue;
1546
- }
1547
- }
1548
- });
1939
+ function _getExtCfg(identifier, createIfMissing) {
1940
+ var idCfg = null;
1941
+ if (dynamicConfig.cfg && identifier) {
1942
+ var extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
1943
+ if (!extCfg && createIfMissing) {
1944
+ dynamicConfig.set(dynamicConfig.cfg, "extensionConfig", {});
1945
+ extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
1946
+ }
1947
+ if (extCfg) {
1948
+ idCfg = extCfg[identifier];
1949
+ if (!idCfg && createIfMissing) {
1950
+ dynamicConfig.set(extCfg, identifier, {});
1951
+ idCfg = extCfg[identifier];
1549
1952
  }
1550
- theConfig = newConfig_1;
1551
1953
  }
1552
1954
  }
1553
- return theConfig;
1955
+ return idCfg;
1956
+ }
1957
+ function _resolveExtCfg(identifier, defaultValues) {
1958
+ var newConfig = _getExtCfg(identifier, true);
1959
+ if (defaultValues) {
1960
+ objForEachKey(defaultValues, function (field, defaultValue) {
1961
+ if (isNullOrUndefined(newConfig[field])) {
1962
+ var cfgValue = dynamicConfig.cfg[field];
1963
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1964
+ newConfig[field] = cfgValue;
1965
+ }
1966
+ }
1967
+ _applyDefaultValue(newConfig, field, defaultValue);
1968
+ });
1969
+ }
1970
+ return applyDefaults(newConfig, defaultValues);
1554
1971
  }
1555
1972
  function _getConfig(identifier, field, defaultValue) {
1556
1973
  if (defaultValue === void 0) { defaultValue = false; }
1557
1974
  var theValue;
1558
- var extConfig = _getExtCfg(identifier, null);
1559
- if (extConfig && !isNullOrUndefined(extConfig[field])) {
1975
+ var extConfig = _getExtCfg(identifier, false);
1976
+ var rootConfig = dynamicConfig.cfg;
1977
+ if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
1560
1978
  theValue = extConfig[field];
1561
1979
  }
1562
- else if (config && !isNullOrUndefined(config[field])) {
1563
- theValue = config[field];
1980
+ else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
1981
+ theValue = rootConfig[field];
1564
1982
  }
1565
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
1983
+ return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
1566
1984
  }
1567
1985
  function _iterateChain(cb) {
1568
1986
  var nextPlugin;
@@ -1575,27 +1993,30 @@
1575
1993
  }
1576
1994
  return context;
1577
1995
  }
1578
- function createProcessTelemetryContext(telemetryChain, config, core, startAt) {
1996
+ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
1997
+ var config = createDynamicConfig(cfg);
1579
1998
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1580
1999
  var context = internalContext.ctx;
1581
2000
  function _processNext(env) {
1582
2001
  var nextPlugin = internalContext._next();
1583
- nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2002
+ if (nextPlugin) {
2003
+ nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2004
+ }
1584
2005
  return !nextPlugin;
1585
2006
  }
1586
2007
  function _createNew(plugins, startAt) {
1587
2008
  if (plugins === void 0) { plugins = null; }
1588
2009
  if (isArray(plugins)) {
1589
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2010
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1590
2011
  }
1591
- return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
2012
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
1592
2013
  }
1593
2014
  context[_DYN_PROCESS_NEXT ] = _processNext;
1594
2015
  context[_DYN_CREATE_NEW ] = _createNew;
1595
2016
  return context;
1596
2017
  }
1597
2018
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
1598
- var config = core[_DYN_CONFIG$1 ] || {};
2019
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
1599
2020
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1600
2021
  var context = internalContext.ctx;
1601
2022
  function _processNext(unloadState) {
@@ -1606,7 +2027,7 @@
1606
2027
  function _createNew(plugins, startAt) {
1607
2028
  if (plugins === void 0) { plugins = null; }
1608
2029
  if (isArray(plugins)) {
1609
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2030
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1610
2031
  }
1611
2032
  return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1612
2033
  }
@@ -1615,7 +2036,7 @@
1615
2036
  return context;
1616
2037
  }
1617
2038
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
1618
- var config = core[_DYN_CONFIG$1 ] || {};
2039
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
1619
2040
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1620
2041
  var context = internalContext.ctx;
1621
2042
  function _processNext(updateState) {
@@ -1628,7 +2049,7 @@
1628
2049
  function _createNew(plugins, startAt) {
1629
2050
  if (plugins === void 0) { plugins = null; }
1630
2051
  if (isArray(plugins)) {
1631
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2052
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1632
2053
  }
1633
2054
  return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1634
2055
  }
@@ -1791,11 +2212,11 @@
1791
2212
  return objFreeze(proxyChain);
1792
2213
  }
1793
2214
 
2215
+ var _a$2, _b;
1794
2216
  var strToGMTString = "toGMTString";
1795
2217
  var strToUTCString = "toUTCString";
1796
2218
  var strCookie = "cookie";
1797
2219
  var strExpires = "expires";
1798
- var strEnabled = "enabled";
1799
2220
  var strIsCookieUseDisabled = "isCookieUseDisabled";
1800
2221
  var strDisableCookiesUsage = "disableCookiesUsage";
1801
2222
  var strConfigCookieMgr = "_ckMgr";
@@ -1805,6 +2226,18 @@
1805
2226
  var _doc = getDocument();
1806
2227
  var _cookieCache = {};
1807
2228
  var _globalCookieConfig = {};
2229
+ var defaultConfig = objDeepFreeze((_a$2 = {},
2230
+ _a$2[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2231
+ _a$2.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2232
+ _a$2.enabled = UNDEFINED_VALUE,
2233
+ _a$2));
2234
+ var rootDefaultConfig = (_b = {
2235
+ cookieCfg: {},
2236
+ cookieDomain: UNDEFINED_VALUE,
2237
+ cookiePath: UNDEFINED_VALUE
2238
+ },
2239
+ _b[strDisableCookiesUsage] = UNDEFINED_VALUE,
2240
+ _b);
1808
2241
  function _gblCookieMgr(config, logger) {
1809
2242
  var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1810
2243
  if (!inst) {
@@ -1819,22 +2252,6 @@
1819
2252
  }
1820
2253
  return true;
1821
2254
  }
1822
- function _createCookieMgrConfig(rootConfig) {
1823
- var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
1824
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
1825
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
1826
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
1827
- var cookieEnabled = void 0;
1828
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
1829
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
1830
- }
1831
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
1832
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
1833
- }
1834
- cookieMgrCfg[strEnabled] = cookieEnabled;
1835
- }
1836
- return cookieMgrCfg;
1837
- }
1838
2255
  function _isIgnoredCookie(cookieMgrCfg, name) {
1839
2256
  if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
1840
2257
  return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF ](name) !== -1;
@@ -1855,8 +2272,8 @@
1855
2272
  cookieMgr = core.getCookieMgr();
1856
2273
  }
1857
2274
  else if (config) {
1858
- var cookieCfg = config[_DYN_COOKIE_CFG ];
1859
- if (cookieCfg[strConfigCookieMgr]) {
2275
+ var cookieCfg = config.cookieCfg;
2276
+ if (cookieCfg && cookieCfg[strConfigCookieMgr]) {
1860
2277
  cookieMgr = cookieCfg[strConfigCookieMgr];
1861
2278
  }
1862
2279
  else {
@@ -1869,10 +2286,35 @@
1869
2286
  return cookieMgr;
1870
2287
  }
1871
2288
  function createCookieMgr(rootConfig, logger) {
1872
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
1873
- var _path = cookieMgrConfig.path || "/";
1874
- var _domain = cookieMgrConfig.domain;
1875
- var _enabled = cookieMgrConfig[strEnabled] !== false;
2289
+ var cookieMgrConfig;
2290
+ var _path;
2291
+ var _domain;
2292
+ var _enabled;
2293
+ var _getCookieFn;
2294
+ var _setCookieFn;
2295
+ var _delCookieFn;
2296
+ rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2297
+ onConfigChange(rootConfig, function (details) {
2298
+ applyDefaults(details.cfg, rootDefaultConfig);
2299
+ cookieMgrConfig = applyDefaults(details.cfg.cookieCfg, defaultConfig);
2300
+ var isEnabled = cookieMgrConfig.enabled;
2301
+ if (isNullOrUndefined(isEnabled)) {
2302
+ var cookieEnabled = void 0;
2303
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2304
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2305
+ }
2306
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2307
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
2308
+ }
2309
+ isEnabled = cookieEnabled;
2310
+ }
2311
+ _path = cookieMgrConfig[STR_PATH ] || "/";
2312
+ _domain = cookieMgrConfig[STR_DOMAIN ];
2313
+ _enabled = isEnabled !== false;
2314
+ _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
2315
+ _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2316
+ _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
2317
+ }, logger);
1876
2318
  var cookieMgr = {
1877
2319
  isEnabled: function () {
1878
2320
  var enabled = _enabled && areCookiesSupported(logger);
@@ -1895,7 +2337,7 @@
1895
2337
  theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
1896
2338
  values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
1897
2339
  }
1898
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
2340
+ setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
1899
2341
  if (!isNullOrUndefined(maxAgeSec)) {
1900
2342
  var _isIE = isIE();
1901
2343
  if (isUndefined(values[strExpires])) {
@@ -1921,9 +2363,8 @@
1921
2363
  setValue(values, "SameSite", "None", null, isUndefined);
1922
2364
  }
1923
2365
  }
1924
- setValue(values, "path", path || _path, null, isUndefined);
1925
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1926
- setCookieFn(name, _formatCookieValue(theValue, values));
2366
+ setValue(values, STR_PATH, path || _path, null, isUndefined);
2367
+ _setCookieFn(name, _formatCookieValue(theValue, values));
1927
2368
  result = true;
1928
2369
  }
1929
2370
  return result;
@@ -1931,7 +2372,7 @@
1931
2372
  get: function (name) {
1932
2373
  var value = STR_EMPTY;
1933
2374
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
1934
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2375
+ value = _getCookieFn(name);
1935
2376
  }
1936
2377
  return value;
1937
2378
  },
@@ -1947,14 +2388,13 @@
1947
2388
  var result = false;
1948
2389
  if (areCookiesSupported(logger)) {
1949
2390
  var values = (_a = {},
1950
- _a["path"] = path ? path : "/",
2391
+ _a[STR_PATH] = path ? path : "/",
1951
2392
  _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
1952
2393
  _a);
1953
2394
  if (!isIE()) {
1954
2395
  values["max-age"] = "0";
1955
2396
  }
1956
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1957
- delCookie(name, _formatCookieValue(STR_EMPTY, values));
2397
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
1958
2398
  result = true;
1959
2399
  }
1960
2400
  return result;
@@ -2003,7 +2443,7 @@
2003
2443
  }
2004
2444
  function _formatCookieValue(value, values) {
2005
2445
  var cookieValue = value || STR_EMPTY;
2006
- objForEachKey(values, function (name, theValue) {
2446
+ objForEachKey$1(values, function (name, theValue) {
2007
2447
  cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
2008
2448
  });
2009
2449
  return cookieValue;
@@ -2074,7 +2514,11 @@
2074
2514
  };
2075
2515
  }
2076
2516
 
2517
+ var _a$1;
2077
2518
  var strGetPlugin = "getPlugin";
2519
+ var defaultValues = (_a$1 = {},
2520
+ _a$1[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
2521
+ _a$1);
2078
2522
  var BaseTelemetryPlugin = /** @class */ (function () {
2079
2523
  function BaseTelemetryPlugin() {
2080
2524
  var _self = this;
@@ -2110,7 +2554,12 @@
2110
2554
  var oldHooks = _hooks;
2111
2555
  _hooks = [];
2112
2556
  arrForEach(oldHooks, function (fn) {
2113
- fn.rm();
2557
+ try {
2558
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
2559
+ }
2560
+ catch (e) {
2561
+ _throwInternal(theUnloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unloading:" + dumpObj(e));
2562
+ }
2114
2563
  });
2115
2564
  if (result === true) {
2116
2565
  theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
@@ -2153,12 +2602,7 @@
2153
2602
  };
2154
2603
  _self._addHook = function (hooks) {
2155
2604
  if (hooks) {
2156
- if (isArray(hooks)) {
2157
- _hooks = _hooks.concat(hooks);
2158
- }
2159
- else {
2160
- _hooks[_DYN_PUSH ](hooks);
2161
- }
2605
+ arrAppend(_hooks, hooks);
2162
2606
  }
2163
2607
  };
2164
2608
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
@@ -2199,9 +2643,7 @@
2199
2643
  return itemCtx;
2200
2644
  }
2201
2645
  function _setDefaults(config, core, pluginChain) {
2202
- if (config) {
2203
- setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2204
- }
2646
+ createDynamicConfig(config, defaultValues, core[_DYN_LOGGER ]);
2205
2647
  if (!pluginChain && core) {
2206
2648
  pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2207
2649
  }
@@ -2281,7 +2723,7 @@
2281
2723
  function dataSanitizeProperties(logger, properties) {
2282
2724
  if (properties) {
2283
2725
  var tempProps_1 = {};
2284
- objForEachKey(properties, function (prop, value) {
2726
+ objForEachKey$1(properties, function (prop, value) {
2285
2727
  if (isObject(value) && hasJSON()) {
2286
2728
  try {
2287
2729
  value = getJSON()[_DYN_STRINGIFY ](value);
@@ -2301,7 +2743,7 @@
2301
2743
  function dataSanitizeMeasurements(logger, measurements) {
2302
2744
  if (measurements) {
2303
2745
  var tempMeasurements_1 = {};
2304
- objForEachKey(measurements, function (measure, value) {
2746
+ objForEachKey$1(measurements, function (measure, value) {
2305
2747
  measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);
2306
2748
  tempMeasurements_1[measure] = value;
2307
2749
  });
@@ -2603,6 +3045,21 @@
2603
3045
  return Device;
2604
3046
  }());
2605
3047
 
3048
+ var Version = "2.8.5";
3049
+ var Internal = /** @class */ (function () {
3050
+ function Internal(config) {
3051
+ var prefix = config.sdkExtension;
3052
+ this.sdkVersion = (prefix ? prefix + "_" : "") + "javascript:" + Version;
3053
+ }
3054
+ return Internal;
3055
+ }());
3056
+
3057
+ var Location = /** @class */ (function () {
3058
+ function Location() {
3059
+ }
3060
+ return Location;
3061
+ }());
3062
+
2606
3063
  var _DYN_SESSION_MANAGER = "sessionManager";
2607
3064
  var _DYN_UPDATE = "update";
2608
3065
  var _DYN_IS_USER_COOKIE_SET = "isUserCookieSet";
@@ -2618,7 +3075,6 @@
2618
3075
  var _DYN_APPLY_LOCATION_CONTE4 = "applyLocationContext";
2619
3076
  var _DYN_APPLY_INTERNAL_CONTE5 = "applyInternalContext";
2620
3077
  var _DYN_ACCOUNT_ID = "accountId";
2621
- var _DYN_SDK_EXTENSION = "sdkExtension";
2622
3078
  var _DYN_GET_SESSION_ID = "getSessionId";
2623
3079
  var _DYN_NAME_PREFIX = "namePrefix";
2624
3080
  var _DYN_SESSION_COOKIE_POSTF6 = "sessionCookiePostfix";
@@ -2628,31 +3084,16 @@
2628
3084
  var _DYN_LENGTH = "length";
2629
3085
  var _DYN_AUTOMATIC_SESSION = "automaticSession";
2630
3086
  var _DYN_AUTHENTICATED_ID = "authenticatedId";
2631
- var _DYN_SESSION_EXPIRATION_M7 = "sessionExpirationMs";
2632
- var _DYN_SESSION_RENEWAL_MS = "sessionRenewalMs";
2633
- var _DYN_CONFIG = "config";
2634
3087
  var _DYN_ACQUISITION_DATE = "acquisitionDate";
2635
3088
  var _DYN_RENEWAL_DATE = "renewalDate";
2636
- var _DYN_COOKIE_DOMAIN = "cookieDomain";
2637
3089
  var _DYN_JOIN = "join";
2638
3090
  var _DYN_COOKIE_SEPARATOR = "cookieSeparator";
2639
- var _DYN_AUTH_USER_COOKIE_NAM8 = "authUserCookieName";
2640
-
2641
- var Version = "2.8.5";
2642
- var Internal = /** @class */ (function () {
2643
- function Internal(config) {
2644
- this.sdkVersion = (config[_DYN_SDK_EXTENSION ] && config[_DYN_SDK_EXTENSION ]() ? config[_DYN_SDK_EXTENSION ]() + "_" : "") + "javascript:" + Version;
2645
- }
2646
- return Internal;
2647
- }());
2648
-
2649
- var Location = /** @class */ (function () {
2650
- function Location() {
2651
- }
2652
- return Location;
2653
- }());
3091
+ var _DYN_AUTH_USER_COOKIE_NAM7 = "authUserCookieName";
2654
3092
 
2655
- var cookieNameConst = "ai_session";
3093
+ var SESSION_COOKIE_NAME = "ai_session";
3094
+ var ACQUISITION_SPAN = 86400000;
3095
+ var RENEWAL_SPAN = 1800000;
3096
+ var COOKIE_UPDATE_INTERVAL = 60000;
2656
3097
  var Session = /** @class */ (function () {
2657
3098
  function Session() {
2658
3099
  }
@@ -2665,21 +3106,16 @@
2665
3106
  var _cookieUpdatedTimestamp;
2666
3107
  var _logger = safeGetLogger(core);
2667
3108
  var _cookieManager = safeGetCookieMgr(core);
3109
+ var _sessionExpirationMs;
3110
+ var _sessionRenewalMs;
2668
3111
  dynamicProto(_SessionManager, self, function (_self) {
2669
3112
  if (!config) {
2670
3113
  config = {};
2671
3114
  }
2672
- if (!isFunction(config[_DYN_SESSION_EXPIRATION_M7 ])) {
2673
- config[_DYN_SESSION_EXPIRATION_M7 ] = function () { return _SessionManager.acquisitionSpan; };
2674
- }
2675
- if (!isFunction(config[_DYN_SESSION_RENEWAL_MS ])) {
2676
- config[_DYN_SESSION_RENEWAL_MS ] = function () { return _SessionManager.renewalSpan; };
2677
- }
2678
- _self[_DYN_CONFIG ] = config;
2679
- var sessionCookiePostfix = (_self.config[_DYN_SESSION_COOKIE_POSTF6 ] && _self[_DYN_CONFIG ][_DYN_SESSION_COOKIE_POSTF6 ]()) ?
2680
- _self.config[_DYN_SESSION_COOKIE_POSTF6 ]() :
2681
- ((_self.config[_DYN_NAME_PREFIX ] && _self[_DYN_CONFIG ][_DYN_NAME_PREFIX ]()) ? _self[_DYN_CONFIG ][_DYN_NAME_PREFIX ]() : "");
2682
- _storageNamePrefix = function () { return cookieNameConst + sessionCookiePostfix; };
3115
+ _sessionExpirationMs = config.sessionExpirationMs || ACQUISITION_SPAN;
3116
+ _sessionRenewalMs = config.sessionRenewalMs || RENEWAL_SPAN;
3117
+ var sessionCookiePostfix = config.sessionCookiePostfix || config[_DYN_NAME_PREFIX ] || "";
3118
+ _storageNamePrefix = SESSION_COOKIE_NAME + sessionCookiePostfix;
2683
3119
  _self[_DYN_AUTOMATIC_SESSION ] = new Session();
2684
3120
  _self[_DYN_UPDATE ] = function () {
2685
3121
  var nowMs = dateNow();
@@ -2688,20 +3124,18 @@
2688
3124
  if (!session.id) {
2689
3125
  isExpired = !_initializeAutomaticSession(session);
2690
3126
  }
2691
- var sessionExpirationMs = _self.config[_DYN_SESSION_EXPIRATION_M7 ]();
2692
- if (!isExpired && sessionExpirationMs > 0) {
2693
- var sessionRenewalMs = _self.config[_DYN_SESSION_RENEWAL_MS ]();
3127
+ if (!isExpired && _sessionExpirationMs > 0) {
2694
3128
  var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE ];
2695
3129
  var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE ];
2696
3130
  isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0;
2697
- isExpired = isExpired || timeSinceAcqMs > sessionExpirationMs;
2698
- isExpired = isExpired || timeSinceRenewalMs > sessionRenewalMs;
3131
+ isExpired = isExpired || timeSinceAcqMs > _sessionExpirationMs;
3132
+ isExpired = isExpired || timeSinceRenewalMs > _sessionRenewalMs;
2699
3133
  }
2700
3134
  if (isExpired) {
2701
3135
  _renew(nowMs);
2702
3136
  }
2703
3137
  else {
2704
- if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {
3138
+ if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > COOKIE_UPDATE_INTERVAL) {
2705
3139
  _setCookie(session, nowMs);
2706
3140
  }
2707
3141
  }
@@ -2712,12 +3146,12 @@
2712
3146
  };
2713
3147
  function _initializeAutomaticSession(session, now) {
2714
3148
  var isValid = false;
2715
- var cookieValue = _cookieManager.get(_storageNamePrefix());
3149
+ var cookieValue = _cookieManager.get(_storageNamePrefix);
2716
3150
  if (cookieValue && isFunction(cookieValue.split)) {
2717
3151
  isValid = _initializeAutomaticSessionWithData(session, cookieValue);
2718
3152
  }
2719
3153
  else {
2720
- var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix());
3154
+ var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix);
2721
3155
  if (storageValue) {
2722
3156
  isValid = _initializeAutomaticSessionWithData(session, storageValue);
2723
3157
  }
@@ -2752,9 +3186,8 @@
2752
3186
  return isValid;
2753
3187
  }
2754
3188
  function _renew(nowMs) {
2755
- var theConfig = (_self[_DYN_CONFIG ] || {});
2756
- var getNewId = (theConfig[_DYN_GET_NEW_ID ] ? theConfig[_DYN_GET_NEW_ID ]() : null) || newId;
2757
- _self.automaticSession.id = getNewId(theConfig[_DYN_ID_LENGTH ] ? theConfig[_DYN_ID_LENGTH ]() : 22);
3189
+ var getNewId = config[_DYN_GET_NEW_ID ] || newId;
3190
+ _self.automaticSession.id = getNewId(config[_DYN_ID_LENGTH ] || 22);
2758
3191
  _self[_DYN_AUTOMATIC_SESSION ][_DYN_ACQUISITION_DATE ] = nowMs;
2759
3192
  _setCookie(_self[_DYN_AUTOMATIC_SESSION ], nowMs);
2760
3193
  if (!utlCanUseLocalStorage()) {
@@ -2764,9 +3197,8 @@
2764
3197
  function _setCookie(session, nowMs) {
2765
3198
  var acq = session[_DYN_ACQUISITION_DATE ];
2766
3199
  session[_DYN_RENEWAL_DATE ] = nowMs;
2767
- var config = _self[_DYN_CONFIG ];
2768
- var renewalPeriodMs = config[_DYN_SESSION_RENEWAL_MS ]();
2769
- var acqTimeLeftMs = (acq + config[_DYN_SESSION_EXPIRATION_M7 ]()) - nowMs;
3200
+ var renewalPeriodMs = _sessionRenewalMs;
3201
+ var acqTimeLeftMs = (acq + _sessionExpirationMs) - nowMs;
2770
3202
  var cookie = [session.id, acq, nowMs];
2771
3203
  var maxAgeSec = 0;
2772
3204
  if (acqTimeLeftMs < renewalPeriodMs) {
@@ -2775,18 +3207,16 @@
2775
3207
  else {
2776
3208
  maxAgeSec = renewalPeriodMs / 1000;
2777
3209
  }
2778
- var cookieDomain = config[_DYN_COOKIE_DOMAIN ] ? config[_DYN_COOKIE_DOMAIN ]() : null;
2779
- _cookieManager.set(_storageNamePrefix(), cookie.join("|"), config[_DYN_SESSION_EXPIRATION_M7 ]() > 0 ? maxAgeSec : null, cookieDomain);
3210
+ var cookieDomain = config.cookieDomain || null;
3211
+ _cookieManager.set(_storageNamePrefix, cookie[_DYN_JOIN ]("|"), _sessionExpirationMs > 0 ? maxAgeSec : null, cookieDomain);
2780
3212
  _cookieUpdatedTimestamp = nowMs;
2781
3213
  }
2782
3214
  function _setStorage(guid, acq, renewal) {
2783
- utlSetLocalStorage(_logger, _storageNamePrefix(), [guid, acq, renewal][_DYN_JOIN ]("|"));
3215
+ utlSetLocalStorage(_logger, _storageNamePrefix, [guid, acq, renewal][_DYN_JOIN ]("|"));
2784
3216
  }
2785
3217
  });
2786
3218
  }
2787
- _SessionManager.acquisitionSpan = 86400000;
2788
- _SessionManager.renewalSpan = 1800000;
2789
- _SessionManager.cookieUpdateInterval = 60000;
3219
+ _SessionManager.__ieDyn=1;
2790
3220
  return _SessionManager;
2791
3221
  }());
2792
3222
 
@@ -2820,22 +3250,47 @@
2820
3250
  var _cookieManager = safeGetCookieMgr(core);
2821
3251
  var _storageNamePrefix;
2822
3252
  dynamicProto(User, this, function (_self) {
2823
- _self[_DYN_CONFIG ] = config;
2824
- var userCookiePostfix = (_self.config[_DYN_USER_COOKIE_POSTFIX ] && _self[_DYN_CONFIG ][_DYN_USER_COOKIE_POSTFIX ]()) ? _self[_DYN_CONFIG ][_DYN_USER_COOKIE_POSTFIX ]() : "";
2825
- _storageNamePrefix = function () { return User.userCookieName + userCookiePostfix; };
2826
- var cookie = _cookieManager.get(_storageNamePrefix());
2827
- if (cookie) {
2828
- _self[_DYN_IS_NEW_USER ] = false;
2829
- var params = cookie.split(User[_DYN_COOKIE_SEPARATOR ]);
2830
- if (params[_DYN_LENGTH ] > 0) {
2831
- _self.id = params[0];
2832
- _self[_DYN_IS_USER_COOKIE_SET ] = !!_self.id;
3253
+ objDefineProp(_self, "config", {
3254
+ configurable: true,
3255
+ enumerable: true,
3256
+ get: function () { return config; }
3257
+ });
3258
+ onConfigChange(config, function () {
3259
+ var userCookiePostfix = config[_DYN_USER_COOKIE_POSTFIX ] || "";
3260
+ _storageNamePrefix = User.userCookieName + userCookiePostfix;
3261
+ var cookie = _cookieManager.get(_storageNamePrefix);
3262
+ if (cookie) {
3263
+ _self[_DYN_IS_NEW_USER ] = false;
3264
+ var params = cookie.split(User[_DYN_COOKIE_SEPARATOR ]);
3265
+ if (params[_DYN_LENGTH ] > 0) {
3266
+ _self.id = params[0];
3267
+ _self[_DYN_IS_USER_COOKIE_SET ] = !!_self.id;
3268
+ }
2833
3269
  }
2834
- }
3270
+ if (!_self.id) {
3271
+ _self.id = _generateNewId();
3272
+ var newCookie = _generateNewCookie(_self.id);
3273
+ _setUserCookie(newCookie[_DYN_JOIN ](User[_DYN_COOKIE_SEPARATOR ]));
3274
+ var name_1 = (config[_DYN_NAME_PREFIX ] || "") + "ai_session";
3275
+ utlRemoveStorage(_logger, name_1);
3276
+ }
3277
+ _self[_DYN_ACCOUNT_ID ] = config[_DYN_ACCOUNT_ID ] || undefined;
3278
+ var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM7 ]);
3279
+ if (authCookie) {
3280
+ authCookie = decodeURI(authCookie);
3281
+ var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR ]);
3282
+ if (authCookieString[0]) {
3283
+ _self[_DYN_AUTHENTICATED_ID ] = authCookieString[0];
3284
+ }
3285
+ if (authCookieString[_DYN_LENGTH ] > 1 && authCookieString[1]) {
3286
+ _self[_DYN_ACCOUNT_ID ] = authCookieString[1];
3287
+ }
3288
+ }
3289
+ });
2835
3290
  function _generateNewId() {
2836
3291
  var theConfig = (config || {});
2837
- var getNewId = (theConfig[_DYN_GET_NEW_ID ] ? theConfig[_DYN_GET_NEW_ID ]() : null) || newId;
2838
- var id = getNewId(theConfig[_DYN_ID_LENGTH ] ? config[_DYN_ID_LENGTH ]() : 22);
3292
+ var getNewId = theConfig[_DYN_GET_NEW_ID ] || newId;
3293
+ var id = getNewId(theConfig[_DYN_ID_LENGTH ] ? config[_DYN_ID_LENGTH ] : 22);
2839
3294
  return id;
2840
3295
  }
2841
3296
  function _generateNewCookie(userId) {
@@ -2847,26 +3302,7 @@
2847
3302
  }
2848
3303
  function _setUserCookie(cookie) {
2849
3304
  var oneYear = 31536000;
2850
- _self[_DYN_IS_USER_COOKIE_SET ] = _cookieManager.set(_storageNamePrefix(), cookie, oneYear);
2851
- }
2852
- if (!_self.id) {
2853
- _self.id = _generateNewId();
2854
- var newCookie = _generateNewCookie(_self.id);
2855
- _setUserCookie(newCookie[_DYN_JOIN ](User[_DYN_COOKIE_SEPARATOR ]));
2856
- var name_1 = config[_DYN_NAME_PREFIX ] && config[_DYN_NAME_PREFIX ]() ? config[_DYN_NAME_PREFIX ]() + "ai_session" : "ai_session";
2857
- utlRemoveStorage(_logger, name_1);
2858
- }
2859
- _self[_DYN_ACCOUNT_ID ] = config[_DYN_ACCOUNT_ID ] ? config[_DYN_ACCOUNT_ID ]() : undefined;
2860
- var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM8 ]);
2861
- if (authCookie) {
2862
- authCookie = decodeURI(authCookie);
2863
- var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR ]);
2864
- if (authCookieString[0]) {
2865
- _self[_DYN_AUTHENTICATED_ID ] = authCookieString[0];
2866
- }
2867
- if (authCookieString[_DYN_LENGTH ] > 1 && authCookieString[1]) {
2868
- _self[_DYN_ACCOUNT_ID ] = authCookieString[1];
2869
- }
3305
+ _self[_DYN_IS_USER_COOKIE_SET ] = _cookieManager.set(_storageNamePrefix, cookie, oneYear);
2870
3306
  }
2871
3307
  _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {
2872
3308
  if (storeInCookie === void 0) { storeInCookie = false; }
@@ -2883,13 +3319,13 @@
2883
3319
  authCookie = [_self[_DYN_AUTHENTICATED_ID ], _self.accountId][_DYN_JOIN ](User[_DYN_COOKIE_SEPARATOR ]);
2884
3320
  }
2885
3321
  if (storeInCookie) {
2886
- _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM8 ], encodeURI(authCookie));
3322
+ _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM7 ], encodeURI(authCookie));
2887
3323
  }
2888
3324
  };
2889
3325
  _self.clearAuthenticatedUserContext = function () {
2890
3326
  _self[_DYN_AUTHENTICATED_ID ] = null;
2891
3327
  _self[_DYN_ACCOUNT_ID ] = null;
2892
- _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM8 ]);
3328
+ _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM7 ]);
2893
3329
  };
2894
3330
  _self[_DYN_UPDATE ] = function (userId) {
2895
3331
  if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET ]) {
@@ -2913,13 +3349,16 @@
2913
3349
  delete target[name];
2914
3350
  }
2915
3351
  }
3352
+ function _nullResult() {
3353
+ return null;
3354
+ }
2916
3355
  var TelemetryContext = /** @class */ (function () {
2917
3356
  function TelemetryContext(core, defaultConfig, previousTraceCtx) {
2918
3357
  var _this = this;
2919
3358
  var logger = core.logger;
2920
- this.appId = function () { return null; };
2921
- this[_DYN_GET_SESSION_ID ] = function () { return null; };
2922
3359
  dynamicProto(TelemetryContext, this, function (_self) {
3360
+ _self.appId = _nullResult;
3361
+ _self[_DYN_GET_SESSION_ID ] = _nullResult;
2923
3362
  _self.application = new Application();
2924
3363
  _self.internal = new Internal(defaultConfig);
2925
3364
  if (hasWindow()) {
@@ -3034,6 +3473,27 @@
3034
3473
  return TelemetryContext;
3035
3474
  }());
3036
3475
 
3476
+ var _a;
3477
+ var undefString;
3478
+ var nullValue = null;
3479
+ var _defaultConfig = objDeepFreeze((_a = {
3480
+ instrumentationKey: undefString
3481
+ },
3482
+ _a[_DYN_ACCOUNT_ID ] = nullValue,
3483
+ _a.sessionRenewalMs = 30 * 60 * 1000,
3484
+ _a.samplingPercentage = 100,
3485
+ _a.sessionExpirationMs = 24 * 60 * 60 * 1000,
3486
+ _a.cookieDomain = nullValue,
3487
+ _a.sdkExtension = nullValue,
3488
+ _a.isBrowserLinkTrackingEnabled = false,
3489
+ _a.appId = nullValue,
3490
+ _a[_DYN_GET_SESSION_ID ] = nullValue,
3491
+ _a[_DYN_NAME_PREFIX ] = undefString,
3492
+ _a[_DYN_SESSION_COOKIE_POSTF6 ] = undefString,
3493
+ _a[_DYN_USER_COOKIE_POSTFIX ] = undefString,
3494
+ _a[_DYN_ID_LENGTH ] = 22,
3495
+ _a[_DYN_GET_NEW_ID ] = nullValue,
3496
+ _a));
3037
3497
  var PropertiesPlugin = /** @class */ (function (_super) {
3038
3498
  __extendsFn(PropertiesPlugin, _super);
3039
3499
  function PropertiesPlugin() {
@@ -3043,22 +3503,29 @@
3043
3503
  var _extensionConfig;
3044
3504
  var _distributedTraceCtx;
3045
3505
  var _previousTraceCtx;
3506
+ var _context;
3046
3507
  dynamicProto(PropertiesPlugin, _this, function (_self, _base) {
3047
3508
  _initDefaults();
3509
+ objDefineProp(_self, "context", {
3510
+ enumerable: true,
3511
+ configurable: true,
3512
+ get: function () {
3513
+ return _context;
3514
+ }
3515
+ });
3048
3516
  _self.initialize = function (config, core, extensions, pluginChain) {
3049
3517
  _base.initialize(config, core, extensions, pluginChain);
3050
3518
  _populateDefaults(config);
3051
3519
  };
3052
3520
  _self.processTelemetry = function (event, itemCtx) {
3053
- if (isNullOrUndefined(event)) ;
3054
- else {
3521
+ if (!isNullOrUndefined(event)) {
3055
3522
  itemCtx = _self._getTelCtx(itemCtx);
3056
3523
  if (event.name === PageView.envelopeType) {
3057
3524
  itemCtx.diagLog().resetInternalMessageCount();
3058
3525
  }
3059
- var theContext = (_self.context || {});
3526
+ var theContext = (_context || {});
3060
3527
  if (theContext.session) {
3061
- if (typeof _self.context.session.id !== "string" && theContext[_DYN_SESSION_MANAGER ]) {
3528
+ if (typeof _context.session.id !== "string" && theContext[_DYN_SESSION_MANAGER ]) {
3062
3529
  theContext[_DYN_SESSION_MANAGER ][_DYN_UPDATE ]();
3063
3530
  }
3064
3531
  }
@@ -3089,25 +3556,24 @@
3089
3556
  _extensionConfig = null;
3090
3557
  _distributedTraceCtx = null;
3091
3558
  _previousTraceCtx = null;
3559
+ _context = null;
3092
3560
  }
3093
3561
  function _populateDefaults(config) {
3094
3562
  var identifier = _self.identifier;
3095
3563
  var core = _self.core;
3096
- var ctx = createProcessTelemetryContext(null, config, core);
3097
- var defaultConfig = PropertiesPlugin.getDefaultConfig();
3098
- _extensionConfig = _extensionConfig || {};
3099
- objForEachKey(defaultConfig, function (field, value) {
3100
- _extensionConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };
3101
- });
3102
- _previousTraceCtx = core[_DYN_GET_TRACE_CTX ](false);
3103
- _self.context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx);
3104
- _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE ], _previousTraceCtx);
3105
- core.setTraceCtx(_distributedTraceCtx);
3106
- _self.context.appId = function () {
3107
- var breezeChannel = core.getPlugin(BreezeChannelIdentifier);
3108
- return breezeChannel ? breezeChannel.plugin["_appId"] : null;
3109
- };
3110
- _self["_extConfig"] = _extensionConfig;
3564
+ _self._addHook(onConfigChange(config, function () {
3565
+ var ctx = createProcessTelemetryContext(null, config, core);
3566
+ _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);
3567
+ _previousTraceCtx = core[_DYN_GET_TRACE_CTX ](false);
3568
+ _context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx);
3569
+ _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE ], _previousTraceCtx);
3570
+ core.setTraceCtx(_distributedTraceCtx);
3571
+ _self.context.appId = function () {
3572
+ var breezeChannel = core.getPlugin(BreezeChannelIdentifier);
3573
+ return breezeChannel ? breezeChannel.plugin["_appId"] : null;
3574
+ };
3575
+ _self["_extConfig"] = _extensionConfig;
3576
+ }));
3111
3577
  }
3112
3578
  function _processTelemetryInternal(evt, itemCtx) {
3113
3579
  getSetValue(evt, "tags", []);
@@ -3127,30 +3593,7 @@
3127
3593
  });
3128
3594
  return _this;
3129
3595
  }
3130
- PropertiesPlugin.getDefaultConfig = function () {
3131
- var _a;
3132
- var defaultValue;
3133
- var nullValue = null;
3134
- var defaultConfig = (_a = {
3135
- instrumentationKey: function () { return defaultValue; }
3136
- },
3137
- _a[_DYN_ACCOUNT_ID ] = function () { return nullValue; },
3138
- _a.sessionRenewalMs = function () { return 30 * 60 * 1000; },
3139
- _a.samplingPercentage = function () { return 100; },
3140
- _a.sessionExpirationMs = function () { return 24 * 60 * 60 * 1000; },
3141
- _a[_DYN_COOKIE_DOMAIN ] = function () { return nullValue; },
3142
- _a[_DYN_SDK_EXTENSION ] = function () { return nullValue; },
3143
- _a.isBrowserLinkTrackingEnabled = function () { return false; },
3144
- _a.appId = function () { return nullValue; },
3145
- _a[_DYN_GET_SESSION_ID ] = function () { return nullValue; },
3146
- _a[_DYN_NAME_PREFIX ] = function () { return defaultValue; },
3147
- _a[_DYN_SESSION_COOKIE_POSTF6 ] = function () { return defaultValue; },
3148
- _a[_DYN_USER_COOKIE_POSTFIX ] = function () { return defaultValue; },
3149
- _a[_DYN_ID_LENGTH ] = function () { return 22; },
3150
- _a[_DYN_GET_NEW_ID ] = function () { return nullValue; },
3151
- _a);
3152
- return defaultConfig;
3153
- };
3596
+ PropertiesPlugin.__ieDyn=1;
3154
3597
  return PropertiesPlugin;
3155
3598
  }(BaseTelemetryPlugin));
3156
3599
  var PropertiesPlugin$1 = PropertiesPlugin;