@microsoft/applicationinsights-clickanalytics-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 (67) hide show
  1. package/browser/{ai.clck.3.0.0-beta.2209-03.cjs.js → ai.clck.3.0.0-beta.2210-02.cjs.js} +710 -402
  2. package/browser/ai.clck.3.0.0-beta.2210-02.cjs.js.map +1 -0
  3. package/browser/ai.clck.3.0.0-beta.2210-02.cjs.min.js +6 -0
  4. package/browser/ai.clck.3.0.0-beta.2210-02.cjs.min.js.map +1 -0
  5. package/browser/{ai.clck.3.0.0-beta.2209-03.gbl.js → ai.clck.3.0.0-beta.2210-02.gbl.js} +710 -402
  6. package/browser/ai.clck.3.0.0-beta.2210-02.gbl.js.map +1 -0
  7. package/browser/ai.clck.3.0.0-beta.2210-02.gbl.min.js +6 -0
  8. package/browser/ai.clck.3.0.0-beta.2210-02.gbl.min.js.map +1 -0
  9. package/browser/ai.clck.3.0.0-beta.2210-02.integrity.json +66 -0
  10. package/browser/{ai.clck.3.0.0-beta.2209-03.js → ai.clck.3.0.0-beta.2210-02.js} +710 -402
  11. package/browser/ai.clck.3.0.0-beta.2210-02.js.map +1 -0
  12. package/browser/ai.clck.3.0.0-beta.2210-02.min.js +6 -0
  13. package/browser/ai.clck.3.0.0-beta.2210-02.min.js.map +1 -0
  14. package/browser/ai.clck.3.cjs.js +709 -401
  15. package/browser/ai.clck.3.cjs.js.map +1 -1
  16. package/browser/ai.clck.3.cjs.min.js +2 -2
  17. package/browser/ai.clck.3.cjs.min.js.map +1 -1
  18. package/browser/ai.clck.3.gbl.js +709 -401
  19. package/browser/ai.clck.3.gbl.js.map +1 -1
  20. package/browser/ai.clck.3.gbl.min.js +2 -2
  21. package/browser/ai.clck.3.gbl.min.js.map +1 -1
  22. package/browser/ai.clck.3.js +709 -401
  23. package/browser/ai.clck.3.js.map +1 -1
  24. package/browser/ai.clck.3.min.js +2 -2
  25. package/browser/ai.clck.3.min.js.map +1 -1
  26. package/dist/applicationinsights-clickanalytics-js.api.json +1 -1
  27. package/dist/applicationinsights-clickanalytics-js.d.ts +2 -2
  28. package/dist/applicationinsights-clickanalytics-js.js +709 -401
  29. package/dist/applicationinsights-clickanalytics-js.js.map +1 -1
  30. package/dist/applicationinsights-clickanalytics-js.min.js +2 -2
  31. package/dist/applicationinsights-clickanalytics-js.min.js.map +1 -1
  32. package/dist/applicationinsights-clickanalytics-js.rollup.d.ts +2 -2
  33. package/dist-esm/Behaviours.js +1 -1
  34. package/dist-esm/ClickAnalyticsPlugin.js +2 -2
  35. package/dist-esm/ClickAnalyticsPlugin.js.map +1 -1
  36. package/dist-esm/DataCollector.js +1 -1
  37. package/dist-esm/Enums.js +1 -1
  38. package/dist-esm/Interfaces/Datamodel.js +1 -1
  39. package/dist-esm/__DynamicConstants.js +1 -1
  40. package/dist-esm/applicationinsights-clickanalytics-js.js +1 -1
  41. package/dist-esm/common/Utils.js +5 -10
  42. package/dist-esm/common/Utils.js.map +1 -1
  43. package/dist-esm/events/PageAction.js +2 -3
  44. package/dist-esm/events/PageAction.js.map +1 -1
  45. package/dist-esm/events/WebEvent.js +2 -3
  46. package/dist-esm/events/WebEvent.js.map +1 -1
  47. package/dist-esm/handlers/AutoCaptureHandler.js +2 -3
  48. package/dist-esm/handlers/AutoCaptureHandler.js.map +1 -1
  49. package/dist-esm/handlers/DomContentHandler.js +3 -4
  50. package/dist-esm/handlers/DomContentHandler.js.map +1 -1
  51. package/package.json +5 -5
  52. package/src/ClickAnalyticsPlugin.ts +1 -1
  53. package/src/common/Utils.ts +4 -14
  54. package/src/handlers/DomContentHandler.ts +1 -1
  55. package/types/ClickAnalyticsPlugin.d.ts +1 -1
  56. package/types/common/Utils.d.ts +1 -86
  57. package/types/tsdoc-metadata.json +1 -1
  58. package/browser/ai.clck.3.0.0-beta.2209-03.cjs.js.map +0 -1
  59. package/browser/ai.clck.3.0.0-beta.2209-03.cjs.min.js +0 -6
  60. package/browser/ai.clck.3.0.0-beta.2209-03.cjs.min.js.map +0 -1
  61. package/browser/ai.clck.3.0.0-beta.2209-03.gbl.js.map +0 -1
  62. package/browser/ai.clck.3.0.0-beta.2209-03.gbl.min.js +0 -6
  63. package/browser/ai.clck.3.0.0-beta.2209-03.gbl.min.js.map +0 -1
  64. package/browser/ai.clck.3.0.0-beta.2209-03.integrity.json +0 -66
  65. package/browser/ai.clck.3.0.0-beta.2209-03.js.map +0 -1
  66. package/browser/ai.clck.3.0.0-beta.2209-03.min.js +0 -6
  67. package/browser/ai.clck.3.0.0-beta.2209-03.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2209-03
2
+ * Application Insights JavaScript SDK - Click Analytics, 3.0.0-beta.2210-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -14,11 +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
- var ObjAssign = ObjClass$1["assign"];
19
17
  var ObjCreate = ObjClass$1["create"];
20
18
  var ObjDefineProperty = ObjClass$1["defineProperty"];
21
- var ObjHasOwnProperty = ObjProto$1[strShimHasOwnProperty];
22
19
 
23
20
  var _cachedGlobal$1 = null;
24
21
  function getGlobal$1(useCached) {
@@ -61,18 +58,6 @@
61
58
 
62
59
  (getGlobal$1() || {})["Symbol"];
63
60
  (getGlobal$1() || {})["Reflect"];
64
- var __objAssignFnImpl = function (t) {
65
- for (var s, i = 1, n = arguments.length; i < n; i++) {
66
- s = arguments[i];
67
- for (var p in s) {
68
- if (ObjProto$1[strShimHasOwnProperty].call(s, p)) {
69
- t[p] = s[p];
70
- }
71
- }
72
- }
73
- return t;
74
- };
75
- var __assignFn = ObjAssign || __objAssignFnImpl;
76
61
  var extendStaticsFn = function (d, b) {
77
62
  extendStaticsFn = ObjClass$1["setPrototypeOf"] ||
78
63
  ({ __proto__: [] } instanceof Array && function (d, b) {
@@ -356,11 +341,17 @@
356
341
  var STRING = "string";
357
342
  var UNDEFINED = "undefined";
358
343
  var HAS_OWN_PROPERTY = "hasOwnProperty";
344
+ var SYMBOL = "Symbol";
345
+ var POLYFILL_TAG = "_polyfill";
359
346
  var INDEX_OF = "indexOf";
360
347
  var LENGTH = "length";
348
+ var DONE = "done";
349
+ var VALUE = "value";
361
350
  var ObjClass = Object;
362
351
  var ObjProto = ObjClass[PROTOTYPE];
352
+ var StrCls = String;
363
353
  var ArrCls = Array;
354
+ var ArrProto = ArrCls[PROTOTYPE];
364
355
 
365
356
  function _safeCheck(cb, defValue) {
366
357
  var result = defValue;
@@ -473,7 +464,7 @@
473
464
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
474
465
  }
475
466
 
476
- function objForEachKey(theObject, callbackfn, thisArg) {
467
+ function objForEachKey$1(theObject, callbackfn, thisArg) {
477
468
  if (theObject && isObject(theObject)) {
478
469
  for (var prop in theObject) {
479
470
  if (objHasOwn(theObject, prop)) {
@@ -515,25 +506,65 @@
515
506
  }
516
507
  return ObjClass.keys(value);
517
508
  }
518
- function objDeepFreeze(value) {
519
- if (_objFreeze) {
520
- objForEachKey(value, function (key, value) {
521
- if (isArray(value) || isObject(value)) {
522
- _objFreeze(value);
523
- }
524
- });
509
+ var objFreeze = _objFreeze || _doNothing;
510
+
511
+ var POLY_GLOBAL_REGISTORT = "__polySymbols$ts_utils";
512
+ var _polySymbols;
513
+ function _globalSymbolRegistry() {
514
+ if (!_polySymbols) {
515
+ var gbl = getGlobal();
516
+ _polySymbols = gbl[POLY_GLOBAL_REGISTORT] = gbl[POLY_GLOBAL_REGISTORT] || { k: {}, s: {} };
517
+ }
518
+ return _polySymbols;
519
+ }
520
+ function polyNewSymbol(description) {
521
+ var theSymbol = {
522
+ description: "" + description,
523
+ toString: function () { return SYMBOL + "(" + description + ")"; }
524
+ };
525
+ theSymbol[POLYFILL_TAG] = true;
526
+ return theSymbol;
527
+ }
528
+ function polySymbolFor(key) {
529
+ var registry = _globalSymbolRegistry();
530
+ if (!objHasOwn(registry, key)) {
531
+ var newSymbol = polyNewSymbol(key);
532
+ registry.k[key] = newSymbol;
533
+ registry.s[newSymbol] = "" + key;
525
534
  }
526
- return objFreeze(value);
535
+ return registry.k[key];
527
536
  }
528
- var objFreeze = _objFreeze || _doNothing;
529
537
 
530
- function createEnum(values) {
531
- var theEnum = {};
532
- objForEachKey(values, function (field, value) {
533
- theEnum[field] = value;
534
- theEnum[value] = field;
535
- });
536
- return objDeepFreeze(theEnum);
538
+ var _hasSymbol = _safeCheck(function () { return isDefined(Symbol); }, false);
539
+ var _symbol = getInst(SYMBOL);
540
+ var _symbolFor = _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
541
+ _symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
542
+ function newSymbol(description, noPoly) {
543
+ return _hasSymbol ? Symbol(description) : (!noPoly ? polyNewSymbol(description) : null);
544
+ }
545
+ var symbolFor = _symbolFor || polySymbolFor;
546
+
547
+ function isIterator(value) {
548
+ return !!value && isFunction(value.next);
549
+ }
550
+
551
+ function arrAppend(target, elms) {
552
+ if (!isUndefined(elms) && target) {
553
+ if (isArray(elms)) {
554
+ ArrProto.push.apply(target, elms);
555
+ }
556
+ else if (isIterator(elms)) {
557
+ var value = elms.next();
558
+ while (!value[DONE]) {
559
+ target.push(value[VALUE]);
560
+ value = elms.next();
561
+ }
562
+ }
563
+ else {
564
+ target.push(elms);
565
+ }
566
+ }
567
+ return target;
537
568
  }
538
569
 
539
570
  function dumpObj(object, format) {
@@ -577,7 +608,7 @@
577
608
  d.__proto__ = b;
578
609
  }) ||
579
610
  function (d, b) {
580
- objForEachKey(b, function (key, value) {
611
+ objForEachKey$1(b, function (key, value) {
581
612
  d[key] = value;
582
613
  });
583
614
  };
@@ -643,47 +674,55 @@
643
674
 
644
675
  var strIndexOf = _unwrapFunction(INDEX_OF);
645
676
 
646
- var createEnumStyle = createEnum;
677
+ var asString = StrCls;
647
678
 
679
+ var _DYN_LENGTH$1 = "length";
680
+ var _DYN_NOTIFY = "notify";
681
+ var _DYN_THROW_INTERNAL = "throwInternal";
682
+ var _DYN_WATCH = "watch";
683
+ var _DYN_LOGGER = "logger";
684
+ var _DYN_CONFIGURABLE = "configurable";
685
+ var _DYN_ENUMERABLE = "enumerable";
686
+ var _DYN_APPLY = "apply";
687
+ var _DYN_INDEX_OF$1 = "indexOf";
688
+ var _DYN_PUSH = "push";
648
689
  var _DYN_INITIALIZE = "initialize";
649
- var _DYN_NAME$1 = "name";
650
690
  var _DYN_IDENTIFIER = "identifier";
651
- var _DYN_PUSH = "push";
691
+ var _DYN_SPLICE = "splice";
652
692
  var _DYN_IS_INITIALIZED = "isInitialized";
653
- var _DYN_CONFIG = "config";
654
- var _DYN_LOGGER = "logger";
655
- var _DYN_LENGTH$1 = "length";
693
+ var _DYN_NAME$1 = "name";
656
694
  var _DYN_TIME = "time";
657
695
  var _DYN_PROCESS_NEXT = "processNext";
658
696
  var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
697
+ var _DYN_CALL = "call";
659
698
  var _DYN_GET_PLUGIN = "getPlugin";
660
- var _DYN_SPLICE = "splice";
699
+ var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
661
700
  var _DYN_TEARDOWN = "teardown";
662
701
  var _DYN_MESSAGE_ID = "messageId";
663
702
  var _DYN_MESSAGE = "message";
664
703
  var _DYN_IS_ASYNC = "isAsync";
704
+ var _DYN_DIAG_LOG = "diagLog";
665
705
  var _DYN__DO_TEARDOWN = "_doTeardown";
666
706
  var _DYN_UPDATE = "update";
667
707
  var _DYN_GET_NEXT = "getNext";
668
- var _DYN_DIAG_LOG = "diagLog";
669
708
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
670
709
  var _DYN_CREATE_NEW = "createNew";
710
+ var _DYN_CONFIG = "config";
671
711
  var _DYN_USER_AGENT = "userAgent";
672
712
  var _DYN_SPLIT = "split";
673
713
  var _DYN_NODE_TYPE = "nodeType";
674
- var _DYN_APPLY = "apply";
675
714
  var _DYN_REPLACE = "replace";
676
- var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
715
+ var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
677
716
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
678
717
  var _DYN_TO_LOWER_CASE = "toLowerCase";
679
718
  var _DYN_TYPE = "type";
680
719
  var _DYN_HANDLER = "handler";
681
- var _DYN_CALL = "call";
682
720
  var _DYN_IS_CHILD_EVT = "isChildEvt";
683
721
  var _DYN_GET_CTX = "getCtx";
684
722
  var _DYN_SET_CTX = "setCtx";
685
723
  var _DYN_COMPLETE = "complete";
686
724
 
725
+ var UNDEFINED_VALUE = undefined;
687
726
  var STR_EMPTY = "";
688
727
  var STR_CORE = "core";
689
728
  var STR_DISABLED = "disabled";
@@ -693,39 +732,20 @@
693
732
  var STR_ERROR_TO_CONSOLE = "errorToConsole";
694
733
  var STR_WARN_TO_CONSOLE = "warnToConsole";
695
734
  var STR_GET_PERF_MGR = "getPerfMgr";
735
+ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
696
736
 
697
- var _aiNamespace = null;
698
- function _getExtensionNamespace() {
699
- var target = getInst("Microsoft");
700
- if (target) {
701
- _aiNamespace = target["ApplicationInsights"];
702
- }
703
- return _aiNamespace;
704
- }
705
- function getDebugExt(config) {
706
- var ns = _aiNamespace;
707
- if (!ns && config.disableDbgExt !== true) {
708
- ns = _aiNamespace || _getExtensionNamespace();
709
- }
710
- return ns ? ns["ChromeDbgExt"] : null;
711
- }
712
-
713
- var cString = "String";
714
- var cObject = "Object";
715
737
  var strToString = "toString";
716
738
  var strGetPrototypeOf = "getPrototypeOf";
717
739
  var strConstructor = "constructor";
718
- var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
740
+ var _fnToString = ObjClass$1[strToString];
719
741
  var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass$1);
720
742
  var rCamelCase = /-([a-z])/g;
721
743
  var rNormalizeInvalid = /([^\w\d_$])/g;
722
744
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
723
- function _polyfillRequired(object, name) {
724
- return function () {
725
- throwUnsupported("Polyfill required for [" + name + "]");
726
- };
745
+ var _getObjProto = Object[strGetPrototypeOf];
746
+ function isNotNullOrUndefined(value) {
747
+ return !isNullOrUndefined(value);
727
748
  }
728
- var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
729
749
  function normalizeJsName(name) {
730
750
  var value = name;
731
751
  if (value && isString(value)) {
@@ -739,6 +759,7 @@
739
759
  }
740
760
  return value;
741
761
  }
762
+ var objForEachKey = objForEachKey$1;
742
763
  function strContains(value, search) {
743
764
  if (value && search) {
744
765
  return strIndexOf(value, search) !== -1;
@@ -753,7 +774,7 @@
753
774
  result = true;
754
775
  }
755
776
  else {
756
- if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
777
+ if (proto[strConstructor] && objHasOwnProperty(proto, strConstructor)) {
757
778
  proto = proto[strConstructor];
758
779
  }
759
780
  result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
@@ -771,20 +792,6 @@
771
792
  }
772
793
  return STR_EMPTY;
773
794
  }
774
- function setValue(target, field, value, valChk, srcChk) {
775
- var theValue = value;
776
- if (target) {
777
- theValue = target[field];
778
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
779
- theValue = value;
780
- target[field] = theValue;
781
- }
782
- }
783
- return theValue;
784
- }
785
- function getCfgValue(theValue, defaultValue) {
786
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
787
- }
788
795
  function _createProxyFunction(source, funcName) {
789
796
  var srcFunc = null;
790
797
  var src = null;
@@ -830,7 +837,7 @@
830
837
  var isArgArray = isArray(arg);
831
838
  var isArgObj = isObject(arg);
832
839
  for (var prop in arg) {
833
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
840
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
834
841
  if (!propOk) {
835
842
  continue;
836
843
  }
@@ -856,6 +863,122 @@
856
863
  return extended;
857
864
  }
858
865
 
866
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
867
+ function _cfgDeepCopy(source) {
868
+ if (source) {
869
+ if (isArray(source)) {
870
+ var result_1 = [];
871
+ result_1[_DYN_LENGTH$1 ] = source[_DYN_LENGTH$1 ];
872
+ arrForEach(source, function (value, idx) {
873
+ result_1[idx] = _cfgDeepCopy(value);
874
+ });
875
+ return result_1;
876
+ }
877
+ if (isPlainObject(source)) {
878
+ var target_1 = {};
879
+ objForEachKey$1(source, function (key, value) {
880
+ target_1[key] = _cfgDeepCopy(value);
881
+ });
882
+ return target_1;
883
+ }
884
+ }
885
+ return source;
886
+ }
887
+ function getDynamicConfigHandler(value) {
888
+ if (value) {
889
+ var handler = value[CFG_HANDLER_LINK] || value;
890
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
891
+ return handler;
892
+ }
893
+ }
894
+ return null;
895
+ }
896
+ function throwInvalidAccess(message) {
897
+ throwTypeError("InvalidAccess:" + message);
898
+ }
899
+
900
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
901
+ var defValue;
902
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
903
+ if (theConfig && cfgDefaults.fb) {
904
+ var fallbacks = cfgDefaults.fb;
905
+ if (!isArray(fallbacks)) {
906
+ fallbacks = [fallbacks];
907
+ }
908
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH$1 ]; lp++) {
909
+ var fallback = fallbacks[lp];
910
+ var fbValue = theConfig[fallback];
911
+ if (isDefaultValid(fbValue)) {
912
+ defValue = fbValue;
913
+ }
914
+ else {
915
+ fbValue = dynamicHandler.cfg[fallback];
916
+ if (isDefaultValid(fbValue)) {
917
+ defValue = fbValue;
918
+ }
919
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
920
+ }
921
+ if (isDefaultValid(defValue)) {
922
+ break;
923
+ }
924
+ }
925
+ }
926
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
927
+ defValue = cfgDefaults.v;
928
+ }
929
+ return defValue;
930
+ }
931
+ function _applyDefaultValue(theConfig, name, defaultValue) {
932
+ var dynamicHandler = theConfig[CFG_HANDLER_LINK];
933
+ if (!dynamicHandler) {
934
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
935
+ }
936
+ var isValid;
937
+ var setFn;
938
+ var defValue;
939
+ var cfgDefaults = defaultValue;
940
+ if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
941
+ isValid = cfgDefaults.isVal;
942
+ setFn = cfgDefaults.set;
943
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
944
+ }
945
+ else {
946
+ defValue = defaultValue;
947
+ }
948
+ var theValue = defValue;
949
+ var usingDefault = true;
950
+ var cfgValue = theConfig[name];
951
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
952
+ theValue = cfgValue;
953
+ usingDefault = false;
954
+ }
955
+ if (!usingDefault) {
956
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
957
+ theValue = defValue;
958
+ usingDefault = true;
959
+ }
960
+ if (setFn) {
961
+ theValue = setFn(theValue, defValue, theConfig);
962
+ usingDefault = theValue === defValue;
963
+ }
964
+ }
965
+ if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
966
+ theValue = _cfgDeepCopy(theValue);
967
+ }
968
+ dynamicHandler.set(theConfig, name, theValue);
969
+ }
970
+ function applyDefaults(theConfig, defaultValues) {
971
+ if (defaultValues) {
972
+ if (theConfig && !theConfig[CFG_HANDLER_LINK] && (isPlainObject(theConfig) || isArray(theConfig))) {
973
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
974
+ }
975
+ objForEachKey(defaultValues, function (name, value) {
976
+ _applyDefaultValue(theConfig, name, value);
977
+ });
978
+ }
979
+ return theConfig;
980
+ }
981
+
859
982
  var strLocation = "location";
860
983
  var strConsole = "console";
861
984
  var strPerformance = "performance";
@@ -913,9 +1036,430 @@
913
1036
  return _isTrident;
914
1037
  }
915
1038
 
1039
+ var UInt32Mask = 0x100000000;
1040
+ var MaxUInt32 = 0xffffffff;
1041
+ var _mwcSeeded = false;
1042
+ var _mwcW = 123456789;
1043
+ var _mwcZ = 987654321;
1044
+ function _mwcSeed(seedValue) {
1045
+ if (seedValue < 0) {
1046
+ seedValue >>>= 0;
1047
+ }
1048
+ _mwcW = (123456789 + seedValue) & MaxUInt32;
1049
+ _mwcZ = (987654321 - seedValue) & MaxUInt32;
1050
+ _mwcSeeded = true;
1051
+ }
1052
+ function _autoSeedMwc() {
1053
+ try {
1054
+ var now = dateNow() & 0x7fffffff;
1055
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1056
+ }
1057
+ catch (e) {
1058
+ }
1059
+ }
1060
+ function random32(signed) {
1061
+ var value = 0;
1062
+ var c = getCrypto() || getMsCrypto();
1063
+ if (c && c.getRandomValues) {
1064
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1065
+ }
1066
+ if (value === 0 && isIE()) {
1067
+ if (!_mwcSeeded) {
1068
+ _autoSeedMwc();
1069
+ }
1070
+ value = mwcRandom32() & MaxUInt32;
1071
+ }
1072
+ if (value === 0) {
1073
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
1074
+ }
1075
+ if (!signed) {
1076
+ value >>>= 0;
1077
+ }
1078
+ return value;
1079
+ }
1080
+ function mwcRandom32(signed) {
1081
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1082
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1083
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1084
+ if (!signed) {
1085
+ value >>>= 0;
1086
+ }
1087
+ return value;
1088
+ }
1089
+ function newId(maxLength) {
1090
+ if (maxLength === void 0) { maxLength = 22; }
1091
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1092
+ var number = random32() >>> 0;
1093
+ var chars = 0;
1094
+ var result = STR_EMPTY;
1095
+ while (result[_DYN_LENGTH$1 ] < maxLength) {
1096
+ chars++;
1097
+ result += base64chars.charAt(number & 0x3F);
1098
+ number >>>= 6;
1099
+ if (chars === 5) {
1100
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1101
+ chars = 0;
1102
+ }
1103
+ }
1104
+ return result;
1105
+ }
1106
+
1107
+ var _objDefineProperty = ObjDefineProperty;
1108
+ var version = "3.0.0-beta.2210-02";
1109
+ var instanceName = "." + newId(6);
1110
+ var _dataUid = 0;
1111
+ function _createAccessor(target, prop, value) {
1112
+ var _a;
1113
+ if (_objDefineProperty) {
1114
+ try {
1115
+ _objDefineProperty(target, prop, (_a = {
1116
+ value: value
1117
+ },
1118
+ _a[_DYN_ENUMERABLE ] = false,
1119
+ _a[_DYN_CONFIGURABLE ] = true,
1120
+ _a));
1121
+ return true;
1122
+ }
1123
+ catch (e) {
1124
+ }
1125
+ }
1126
+ return false;
1127
+ }
1128
+ function _canAcceptData(target) {
1129
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1130
+ }
1131
+ function _getCache(data, target) {
1132
+ var theCache = target[data.id];
1133
+ if (!theCache) {
1134
+ theCache = {};
1135
+ try {
1136
+ if (_canAcceptData(target)) {
1137
+ if (!_createAccessor(target, data.id, theCache)) {
1138
+ target[data.id] = theCache;
1139
+ }
1140
+ }
1141
+ }
1142
+ catch (e) {
1143
+ }
1144
+ }
1145
+ return theCache;
1146
+ }
1147
+ function createUniqueNamespace(name, includeVersion) {
1148
+ if (includeVersion === void 0) { includeVersion = false; }
1149
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1150
+ }
1151
+ function createElmNodeData(name) {
1152
+ var data = {
1153
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1154
+ accept: function (target) {
1155
+ return _canAcceptData(target);
1156
+ },
1157
+ get: function (target, name, defValue, addDefault) {
1158
+ var theCache = target[data.id];
1159
+ if (!theCache) {
1160
+ if (addDefault) {
1161
+ theCache = _getCache(data, target);
1162
+ theCache[normalizeJsName(name)] = defValue;
1163
+ }
1164
+ return defValue;
1165
+ }
1166
+ return theCache[normalizeJsName(name)];
1167
+ },
1168
+ kill: function (target, name) {
1169
+ if (target && target[name]) {
1170
+ try {
1171
+ delete target[name];
1172
+ }
1173
+ catch (e) {
1174
+ }
1175
+ }
1176
+ }
1177
+ };
1178
+ return data;
1179
+ }
1180
+
1181
+ var arrayMethodsToPatch = [
1182
+ "push",
1183
+ "pop",
1184
+ "shift",
1185
+ "unshift",
1186
+ "splice"
1187
+ ];
1188
+ function _patchArray(state, target) {
1189
+ if (isArray(target)) {
1190
+ arrForEach(arrayMethodsToPatch, function (method) {
1191
+ var orgMethod = target[method];
1192
+ target[method] = function () {
1193
+ var args = [];
1194
+ for (var _i = 0; _i < arguments.length; _i++) {
1195
+ args[_i] = arguments[_i];
1196
+ }
1197
+ var result = orgMethod[_DYN_APPLY ](this, args);
1198
+ _makeDynamicObject(state, target);
1199
+ return result;
1200
+ };
1201
+ });
1202
+ }
1203
+ }
1204
+ function _makeDynamicProperty(state, theConfig, name, value) {
1205
+ var detail = {
1206
+ n: name,
1207
+ h: [],
1208
+ add: function (handler) {
1209
+ if (handler && handler.fn && detail.h[_DYN_INDEX_OF$1 ](handler) === -1) {
1210
+ detail.h[_DYN_PUSH ](handler);
1211
+ }
1212
+ }
1213
+ };
1214
+ var checkDynamic = true;
1215
+ function _getProperty() {
1216
+ if (checkDynamic) {
1217
+ if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {
1218
+ value = _makeDynamicObject(state, value);
1219
+ }
1220
+ checkDynamic = false;
1221
+ }
1222
+ var activeHandler = state.act;
1223
+ if (activeHandler) {
1224
+ detail.add(activeHandler);
1225
+ }
1226
+ return value;
1227
+ }
1228
+ _getProperty[state.prop] = true;
1229
+ function _setProperty(newValue) {
1230
+ if (value !== newValue) {
1231
+ if (!!_setProperty[state.ro] && state.upd) {
1232
+ throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
1233
+ }
1234
+ if (value && value[CFG_HANDLER_LINK]) {
1235
+ if (isPlainObject(value)) {
1236
+ objForEachKey$1(value, function (key) {
1237
+ value[key] = UNDEFINED_VALUE;
1238
+ });
1239
+ }
1240
+ else if (isArray(value)) {
1241
+ arrForEach(value, function (propValue, idx) {
1242
+ value[idx] = UNDEFINED_VALUE;
1243
+ });
1244
+ }
1245
+ }
1246
+ checkDynamic = false;
1247
+ if (isPlainObject(newValue) || isArray(newValue)) {
1248
+ _makeDynamicObject(state, newValue);
1249
+ }
1250
+ value = newValue;
1251
+ state.add(detail);
1252
+ }
1253
+ }
1254
+ objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
1255
+ }
1256
+ function _setDynamicProperty(state, target, name, value) {
1257
+ if (target) {
1258
+ var isDynamic = false;
1259
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1260
+ if (propDesc && propDesc.get) {
1261
+ isDynamic = !!propDesc.get[state.prop];
1262
+ }
1263
+ if (!isDynamic) {
1264
+ _makeDynamicProperty(state, target, name, value);
1265
+ }
1266
+ else {
1267
+ target[name] = value;
1268
+ }
1269
+ }
1270
+ return value;
1271
+ }
1272
+ function _makeDynamicObject(state, target ) {
1273
+ var _a;
1274
+ objForEachKey$1( target, function (key, value) {
1275
+ _setDynamicProperty(state, target, key, value);
1276
+ });
1277
+ if (!target[CFG_HANDLER_LINK]) {
1278
+ objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
1279
+ _a[_DYN_CONFIGURABLE ] = false,
1280
+ _a[_DYN_ENUMERABLE ] = false,
1281
+ _a.get = function () {
1282
+ return state.hdlr;
1283
+ },
1284
+ _a));
1285
+ _patchArray(state, target);
1286
+ }
1287
+ return target;
1288
+ }
1289
+
1290
+ var symPrefix = "[[ai_";
1291
+ var symPostfix = "]]";
1292
+ function _insertWatcher(watchers, theDetail) {
1293
+ if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH$1 ] > 0) {
1294
+ arrForEach(theDetail.h, function (handler) {
1295
+ if (handler && handler.fn && watchers[_DYN_INDEX_OF$1 ](handler) === -1) {
1296
+ watchers[_DYN_PUSH ](handler);
1297
+ }
1298
+ });
1299
+ }
1300
+ }
1301
+ function _createState(cfgHandler) {
1302
+ var _a;
1303
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1304
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1305
+ var _waitingHandlers = null;
1306
+ var _watcherTimer = null;
1307
+ var theState;
1308
+ function _useHandler(activeHandler, callback) {
1309
+ var prevWatcher = theState.act;
1310
+ try {
1311
+ theState.act = activeHandler;
1312
+ callback({
1313
+ cfg: cfgHandler.cfg,
1314
+ hdlr: cfgHandler
1315
+ });
1316
+ }
1317
+ catch (e) {
1318
+ var message = "Watcher [" + dumpObj(callback) + "] failed [" + dumpObj(e) + "]";
1319
+ var logger = cfgHandler[_DYN_LOGGER ];
1320
+ if (logger) {
1321
+ cfgHandler.logger[_DYN_THROW_INTERNAL ](1 , 107 , message);
1322
+ }
1323
+ else {
1324
+ throwInvalidAccess(message);
1325
+ }
1326
+ }
1327
+ finally {
1328
+ theState.act = prevWatcher || null;
1329
+ }
1330
+ }
1331
+ function _notifyWatchers() {
1332
+ if (_waitingHandlers) {
1333
+ var notifyHandlers = _waitingHandlers;
1334
+ _waitingHandlers = null;
1335
+ if (_watcherTimer) {
1336
+ clearTimeout(_watcherTimer);
1337
+ _watcherTimer = null;
1338
+ }
1339
+ arrForEach(notifyHandlers, function (handler) {
1340
+ if (handler.fn) {
1341
+ _useHandler(handler, handler.fn);
1342
+ }
1343
+ });
1344
+ if (_waitingHandlers) {
1345
+ _notifyWatchers();
1346
+ }
1347
+ }
1348
+ }
1349
+ function _addWatcher(detail) {
1350
+ if (detail && detail.h[_DYN_LENGTH$1 ] > 0) {
1351
+ if (!_waitingHandlers) {
1352
+ _waitingHandlers = [];
1353
+ }
1354
+ if (!_watcherTimer) {
1355
+ _watcherTimer = setTimeout(function () {
1356
+ _watcherTimer = null;
1357
+ _notifyWatchers();
1358
+ }, 0);
1359
+ }
1360
+ _insertWatcher(_waitingHandlers, detail);
1361
+ }
1362
+ }
1363
+ theState = (_a = {
1364
+ prop: dynamicPropertySymbol,
1365
+ ro: dynamicPropertyReadOnly,
1366
+ hdlr: cfgHandler,
1367
+ add: _addWatcher
1368
+ },
1369
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1370
+ _a.use = _useHandler,
1371
+ _a);
1372
+ return theState;
1373
+ }
1374
+
1375
+ function _createAndUseHandler(state, configHandler) {
1376
+ var handler = {
1377
+ fn: configHandler,
1378
+ rm: function () {
1379
+ handler.fn = null;
1380
+ state = null;
1381
+ configHandler = null;
1382
+ }
1383
+ };
1384
+ state.use(handler, configHandler);
1385
+ return handler;
1386
+ }
1387
+ function _createDynamicHandler(logger, target, inPlace) {
1388
+ var _a, _b;
1389
+ var dynamicConfig = getDynamicConfigHandler(target);
1390
+ if (dynamicConfig) {
1391
+ return dynamicConfig;
1392
+ }
1393
+ var uid = createUniqueNamespace("dyncfg", true);
1394
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
1395
+ var theState;
1396
+ function _notifyWatchers() {
1397
+ theState[_DYN_NOTIFY ]();
1398
+ }
1399
+ function _setValue(target, name, value) {
1400
+ return _setDynamicProperty(theState, target, name, value);
1401
+ }
1402
+ function _watch(configHandler) {
1403
+ return _createAndUseHandler(theState, configHandler);
1404
+ }
1405
+ function _block(configHandler) {
1406
+ theState.use(null, configHandler);
1407
+ }
1408
+ var cfgHandler = (_a = {
1409
+ uid: null,
1410
+ cfg: newTarget
1411
+ },
1412
+ _a[_DYN_LOGGER ] = logger,
1413
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1414
+ _a.set = _setValue,
1415
+ _a[_DYN_WATCH ] = _watch,
1416
+ _a._block = _block,
1417
+ _a);
1418
+ objDefineProp(cfgHandler, "uid", (_b = {},
1419
+ _b[_DYN_CONFIGURABLE ] = false,
1420
+ _b[_DYN_ENUMERABLE ] = false,
1421
+ _b.writable = false,
1422
+ _b.value = uid,
1423
+ _b));
1424
+ theState = _createState(cfgHandler);
1425
+ _makeDynamicObject(theState, newTarget);
1426
+ return cfgHandler;
1427
+ }
1428
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
1429
+ var dynamic = _createDynamicHandler(logger, config || {}, inPlace);
1430
+ if (defaultConfig) {
1431
+ applyDefaults(dynamic.cfg, defaultConfig);
1432
+ }
1433
+ return dynamic;
1434
+ }
1435
+
1436
+ var _aiNamespace = null;
1437
+ function _getExtensionNamespace() {
1438
+ var target = getInst("Microsoft");
1439
+ if (target) {
1440
+ _aiNamespace = target["ApplicationInsights"];
1441
+ }
1442
+ return _aiNamespace;
1443
+ }
1444
+ function getDebugExt(config) {
1445
+ var ns = _aiNamespace;
1446
+ if (!ns && config.disableDbgExt !== true) {
1447
+ ns = _aiNamespace || _getExtensionNamespace();
1448
+ }
1449
+ return ns ? ns["ChromeDbgExt"] : null;
1450
+ }
1451
+
1452
+ var _a$1;
916
1453
  var AiNonUserActionablePrefix = "AI (Internal): ";
917
1454
  var AiUserActionablePrefix = "AI: ";
918
1455
  var AIInternalMessagePrefix = "AITR_";
1456
+ var defaultValues$1 = (_a$1 = {
1457
+ loggingLevelConsole: 0,
1458
+ loggingLevelTelemetry: 1,
1459
+ maxMessageLimit: 25
1460
+ },
1461
+ _a$1[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = false,
1462
+ _a$1);
919
1463
  function _sanitizeDiagnosticText(text) {
920
1464
  if (text) {
921
1465
  return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
@@ -971,8 +1515,8 @@
971
1515
  _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
972
1516
  _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
973
1517
  _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
974
- _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
975
- _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1518
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = function () { return _enableDebugExceptions; };
1519
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
976
1520
  if (isUserAct === void 0) { isUserAct = false; }
977
1521
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
978
1522
  if (_enableDebugExceptions) {
@@ -1045,10 +1589,14 @@
1045
1589
  }
1046
1590
  }
1047
1591
  function _setDefaultsFromConfig(config) {
1048
- _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1049
- _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1050
- _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1051
- _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1592
+ var handler = createDynamicConfig(config, defaultValues$1, _self);
1593
+ handler[_DYN_WATCH ](function (details) {
1594
+ var config = details.cfg;
1595
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
1596
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
1597
+ _maxInternalMessageLimit = config.maxMessageLimit;
1598
+ _enableDebugExceptions = config[_DYN_ENABLE_DEBUG_EXCEPTI5 ];
1599
+ });
1052
1600
  }
1053
1601
  function _areInternalMessagesThrottled() {
1054
1602
  return _messageCount >= _maxInternalMessageLimit;
@@ -1069,7 +1617,7 @@
1069
1617
  }
1070
1618
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1071
1619
  if (isUserAct === void 0) { isUserAct = false; }
1072
- _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1620
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
1073
1621
  }
1074
1622
 
1075
1623
  var strExecutionContextKey = "ctx";
@@ -1182,146 +1730,6 @@
1182
1730
  return func();
1183
1731
  }
1184
1732
 
1185
- var UInt32Mask = 0x100000000;
1186
- var MaxUInt32 = 0xffffffff;
1187
- var _mwcSeeded = false;
1188
- var _mwcW = 123456789;
1189
- var _mwcZ = 987654321;
1190
- function _mwcSeed(seedValue) {
1191
- if (seedValue < 0) {
1192
- seedValue >>>= 0;
1193
- }
1194
- _mwcW = (123456789 + seedValue) & MaxUInt32;
1195
- _mwcZ = (987654321 - seedValue) & MaxUInt32;
1196
- _mwcSeeded = true;
1197
- }
1198
- function _autoSeedMwc() {
1199
- try {
1200
- var now = dateNow() & 0x7fffffff;
1201
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1202
- }
1203
- catch (e) {
1204
- }
1205
- }
1206
- function random32(signed) {
1207
- var value = 0;
1208
- var c = getCrypto() || getMsCrypto();
1209
- if (c && c.getRandomValues) {
1210
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1211
- }
1212
- if (value === 0 && isIE()) {
1213
- if (!_mwcSeeded) {
1214
- _autoSeedMwc();
1215
- }
1216
- value = mwcRandom32() & MaxUInt32;
1217
- }
1218
- if (value === 0) {
1219
- value = Math.floor((UInt32Mask * Math.random()) | 0);
1220
- }
1221
- if (!signed) {
1222
- value >>>= 0;
1223
- }
1224
- return value;
1225
- }
1226
- function mwcRandom32(signed) {
1227
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1228
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1229
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1230
- if (!signed) {
1231
- value >>>= 0;
1232
- }
1233
- return value;
1234
- }
1235
- function newId(maxLength) {
1236
- if (maxLength === void 0) { maxLength = 22; }
1237
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1238
- var number = random32() >>> 0;
1239
- var chars = 0;
1240
- var result = STR_EMPTY;
1241
- while (result[_DYN_LENGTH$1 ] < maxLength) {
1242
- chars++;
1243
- result += base64chars.charAt(number & 0x3F);
1244
- number >>>= 6;
1245
- if (chars === 5) {
1246
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1247
- chars = 0;
1248
- }
1249
- }
1250
- return result;
1251
- }
1252
-
1253
- var _objDefineProperty = ObjDefineProperty;
1254
- var version = "3.0.0-beta.2209-03";
1255
- var instanceName = "." + newId(6);
1256
- var _dataUid = 0;
1257
- function _createAccessor(target, prop, value) {
1258
- if (_objDefineProperty) {
1259
- try {
1260
- _objDefineProperty(target, prop, {
1261
- value: value,
1262
- enumerable: false,
1263
- configurable: true
1264
- });
1265
- return true;
1266
- }
1267
- catch (e) {
1268
- }
1269
- }
1270
- return false;
1271
- }
1272
- function _canAcceptData(target) {
1273
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1274
- }
1275
- function _getCache(data, target) {
1276
- var theCache = target[data.id];
1277
- if (!theCache) {
1278
- theCache = {};
1279
- try {
1280
- if (_canAcceptData(target)) {
1281
- if (!_createAccessor(target, data.id, theCache)) {
1282
- target[data.id] = theCache;
1283
- }
1284
- }
1285
- }
1286
- catch (e) {
1287
- }
1288
- }
1289
- return theCache;
1290
- }
1291
- function createUniqueNamespace(name, includeVersion) {
1292
- if (includeVersion === void 0) { includeVersion = false; }
1293
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1294
- }
1295
- function createElmNodeData(name) {
1296
- var data = {
1297
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1298
- accept: function (target) {
1299
- return _canAcceptData(target);
1300
- },
1301
- get: function (target, name, defValue, addDefault) {
1302
- var theCache = target[data.id];
1303
- if (!theCache) {
1304
- if (addDefault) {
1305
- theCache = _getCache(data, target);
1306
- theCache[normalizeJsName(name)] = defValue;
1307
- }
1308
- return defValue;
1309
- }
1310
- return theCache[normalizeJsName(name)];
1311
- },
1312
- kill: function (target, name) {
1313
- if (target && target[name]) {
1314
- try {
1315
- delete target[name];
1316
- }
1317
- catch (e) {
1318
- }
1319
- }
1320
- }
1321
- };
1322
- return data;
1323
- }
1324
-
1325
1733
  var pluginStateData = createElmNodeData("plugin");
1326
1734
  function _getPluginState(plugin) {
1327
1735
  return pluginStateData.get(plugin, "state", {}, true);
@@ -1357,9 +1765,12 @@
1357
1765
  }
1358
1766
  return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
1359
1767
  }
1360
- function _createInternalContext(telemetryChain, config, core, startAt) {
1768
+ function _createInternalContext(telemetryChain, dynamicConfig, core, startAt) {
1361
1769
  var _nextProxy = null;
1362
1770
  var _onComplete = [];
1771
+ if (!dynamicConfig) {
1772
+ dynamicConfig = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
1773
+ }
1363
1774
  if (startAt !== null) {
1364
1775
  _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1365
1776
  }
@@ -1370,12 +1781,12 @@
1370
1781
  return core;
1371
1782
  },
1372
1783
  diagLog: function () {
1373
- return safeGetLogger(core, config);
1784
+ return safeGetLogger(core, dynamicConfig.cfg);
1374
1785
  },
1375
1786
  getCfg: function () {
1376
- return config;
1787
+ return dynamicConfig.cfg;
1377
1788
  },
1378
- getExtCfg: _getExtCfg,
1789
+ getExtCfg: _resolveExtCfg,
1379
1790
  getConfig: _getConfig,
1380
1791
  hasNext: function () {
1381
1792
  return !!_nextProxy;
@@ -1422,48 +1833,51 @@
1422
1833
  }
1423
1834
  return nextProxy;
1424
1835
  }
1425
- function _getExtCfg(identifier, defaultValue, mergeDefault) {
1426
- if (defaultValue === void 0) { defaultValue = {}; }
1427
- if (mergeDefault === void 0) { mergeDefault = 0 ; }
1428
- var theConfig;
1429
- if (config) {
1430
- var extConfig = config[STR_EXTENSION_CONFIG ];
1431
- if (extConfig && identifier) {
1432
- theConfig = extConfig[identifier];
1433
- }
1434
- }
1435
- if (!theConfig) {
1436
- theConfig = defaultValue;
1437
- }
1438
- else if (isObject(defaultValue)) {
1439
- if (mergeDefault !== 0 ) {
1440
- var newConfig_1 = objExtend(true, defaultValue, theConfig);
1441
- if (config && mergeDefault === 2 ) {
1442
- objForEachKey(defaultValue, function (field) {
1443
- if (isNullOrUndefined(newConfig_1[field])) {
1444
- var cfgValue = config[field];
1445
- if (!isNullOrUndefined(cfgValue)) {
1446
- newConfig_1[field] = cfgValue;
1447
- }
1448
- }
1449
- });
1836
+ function _getExtCfg(identifier, createIfMissing) {
1837
+ var idCfg = null;
1838
+ if (dynamicConfig.cfg && identifier) {
1839
+ var extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
1840
+ if (!extCfg && createIfMissing) {
1841
+ dynamicConfig.set(dynamicConfig.cfg, "extensionConfig", {});
1842
+ extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
1843
+ }
1844
+ if (extCfg) {
1845
+ idCfg = extCfg[identifier];
1846
+ if (!idCfg && createIfMissing) {
1847
+ dynamicConfig.set(extCfg, identifier, {});
1848
+ idCfg = extCfg[identifier];
1450
1849
  }
1451
- theConfig = newConfig_1;
1452
1850
  }
1453
1851
  }
1454
- return theConfig;
1852
+ return idCfg;
1853
+ }
1854
+ function _resolveExtCfg(identifier, defaultValues) {
1855
+ var newConfig = _getExtCfg(identifier, true);
1856
+ if (defaultValues) {
1857
+ objForEachKey(defaultValues, function (field, defaultValue) {
1858
+ if (isNullOrUndefined(newConfig[field])) {
1859
+ var cfgValue = dynamicConfig.cfg[field];
1860
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1861
+ newConfig[field] = cfgValue;
1862
+ }
1863
+ }
1864
+ _applyDefaultValue(newConfig, field, defaultValue);
1865
+ });
1866
+ }
1867
+ return applyDefaults(newConfig, defaultValues);
1455
1868
  }
1456
1869
  function _getConfig(identifier, field, defaultValue) {
1457
1870
  if (defaultValue === void 0) { defaultValue = false; }
1458
1871
  var theValue;
1459
- var extConfig = _getExtCfg(identifier, null);
1460
- if (extConfig && !isNullOrUndefined(extConfig[field])) {
1872
+ var extConfig = _getExtCfg(identifier, false);
1873
+ var rootConfig = dynamicConfig.cfg;
1874
+ if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
1461
1875
  theValue = extConfig[field];
1462
1876
  }
1463
- else if (config && !isNullOrUndefined(config[field])) {
1464
- theValue = config[field];
1877
+ else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
1878
+ theValue = rootConfig[field];
1465
1879
  }
1466
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
1880
+ return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
1467
1881
  }
1468
1882
  function _iterateChain(cb) {
1469
1883
  var nextPlugin;
@@ -1476,27 +1890,30 @@
1476
1890
  }
1477
1891
  return context;
1478
1892
  }
1479
- function createProcessTelemetryContext(telemetryChain, config, core, startAt) {
1893
+ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
1894
+ var config = createDynamicConfig(cfg);
1480
1895
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1481
1896
  var context = internalContext.ctx;
1482
1897
  function _processNext(env) {
1483
1898
  var nextPlugin = internalContext._next();
1484
- nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
1899
+ if (nextPlugin) {
1900
+ nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
1901
+ }
1485
1902
  return !nextPlugin;
1486
1903
  }
1487
1904
  function _createNew(plugins, startAt) {
1488
1905
  if (plugins === void 0) { plugins = null; }
1489
1906
  if (isArray(plugins)) {
1490
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1907
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1491
1908
  }
1492
- return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
1909
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
1493
1910
  }
1494
1911
  context[_DYN_PROCESS_NEXT ] = _processNext;
1495
1912
  context[_DYN_CREATE_NEW ] = _createNew;
1496
1913
  return context;
1497
1914
  }
1498
1915
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
1499
- var config = core[_DYN_CONFIG ] || {};
1916
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
1500
1917
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1501
1918
  var context = internalContext.ctx;
1502
1919
  function _processNext(unloadState) {
@@ -1507,7 +1924,7 @@
1507
1924
  function _createNew(plugins, startAt) {
1508
1925
  if (plugins === void 0) { plugins = null; }
1509
1926
  if (isArray(plugins)) {
1510
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1927
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1511
1928
  }
1512
1929
  return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1513
1930
  }
@@ -1516,7 +1933,7 @@
1516
1933
  return context;
1517
1934
  }
1518
1935
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
1519
- var config = core[_DYN_CONFIG ] || {};
1936
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
1520
1937
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1521
1938
  var context = internalContext.ctx;
1522
1939
  function _processNext(updateState) {
@@ -1529,7 +1946,7 @@
1529
1946
  function _createNew(plugins, startAt) {
1530
1947
  if (plugins === void 0) { plugins = null; }
1531
1948
  if (isArray(plugins)) {
1532
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
1949
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1533
1950
  }
1534
1951
  return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1535
1952
  }
@@ -1716,7 +2133,11 @@
1716
2133
  };
1717
2134
  }
1718
2135
 
2136
+ var _a;
1719
2137
  var strGetPlugin = "getPlugin";
2138
+ var defaultValues = (_a = {},
2139
+ _a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
2140
+ _a);
1720
2141
  var BaseTelemetryPlugin = /** @class */ (function () {
1721
2142
  function BaseTelemetryPlugin() {
1722
2143
  var _self = this;
@@ -1752,7 +2173,12 @@
1752
2173
  var oldHooks = _hooks;
1753
2174
  _hooks = [];
1754
2175
  arrForEach(oldHooks, function (fn) {
1755
- fn.rm();
2176
+ try {
2177
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
2178
+ }
2179
+ catch (e) {
2180
+ _throwInternal(theUnloadCtx[_DYN_DIAG_LOG ](), 2 , 73 , "Unloading:" + dumpObj(e));
2181
+ }
1756
2182
  });
1757
2183
  if (result === true) {
1758
2184
  theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
@@ -1795,12 +2221,7 @@
1795
2221
  };
1796
2222
  _self._addHook = function (hooks) {
1797
2223
  if (hooks) {
1798
- if (isArray(hooks)) {
1799
- _hooks = _hooks.concat(hooks);
1800
- }
1801
- else {
1802
- _hooks[_DYN_PUSH ](hooks);
1803
- }
2224
+ arrAppend(_hooks, hooks);
1804
2225
  }
1805
2226
  };
1806
2227
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
@@ -1841,9 +2262,7 @@
1841
2262
  return itemCtx;
1842
2263
  }
1843
2264
  function _setDefaults(config, core, pluginChain) {
1844
- if (config) {
1845
- setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
1846
- }
2265
+ createDynamicConfig(config, defaultValues, core[_DYN_LOGGER ]);
1847
2266
  if (!pluginChain && core) {
1848
2267
  pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
1849
2268
  }
@@ -1882,7 +2301,7 @@
1882
2301
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1883
2302
  function _normalizeNamespace(name) {
1884
2303
  if (name && name[_DYN_REPLACE ]) {
1885
- return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
2304
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
1886
2305
  }
1887
2306
  return name;
1888
2307
  }
@@ -2041,112 +2460,6 @@
2041
2460
  }
2042
2461
  }
2043
2462
 
2044
- var _a;
2045
- var FAILED = "Failed";
2046
- var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax";
2047
- var TRACK = "Track";
2048
- var START = "Start";
2049
- var STOP = "Stop";
2050
- var EVENT = "Event";
2051
- var AUTH_CONTEXT = "AuthContext";
2052
- var EXCEPTION = "Exception";
2053
- var LOCAL = "Local";
2054
- var SESSION = "Session";
2055
- var STORAGE = "Storage";
2056
- var BROWSER = "Browser";
2057
- var CANNOT = "Cannot";
2058
- var BUFFER = "Buffer";
2059
- var INSTRUMENTATION_KEY = "InstrumentationKey";
2060
- createEnumStyle({
2061
- CRITICAL: 1 ,
2062
- WARNING: 2
2063
- });
2064
- var _InternalMessageId = createEnumStyle((_a = {},
2065
- _a[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 ,
2066
- _a[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 ,
2067
- _a[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 ,
2068
- _a[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 ,
2069
- _a[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 ,
2070
- _a[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 ,
2071
- _a[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 ,
2072
- _a[CANNOT + "SendEmptyTelemetry"] = 7 ,
2073
- _a.ClientPerformanceMathError = 8 ,
2074
- _a["ErrorParsingAI" + SESSION + "Cookie"] = 9 ,
2075
- _a.ErrorPVCalc = 10 ,
2076
- _a[EXCEPTION + "WhileLoggingError"] = 11 ,
2077
- _a[FAILED + "AddingTelemetryTo" + BUFFER] = 12 ,
2078
- _a[FAILED_MONITOR_AJAX + "Abort"] = 13 ,
2079
- _a[FAILED_MONITOR_AJAX + "Dur"] = 14 ,
2080
- _a[FAILED_MONITOR_AJAX + "Open"] = 15 ,
2081
- _a[FAILED_MONITOR_AJAX + "RSC"] = 16 ,
2082
- _a[FAILED_MONITOR_AJAX + "Send"] = 17 ,
2083
- _a[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 ,
2084
- _a[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 ,
2085
- _a[FAILED + "ToSendQueuedTelemetry"] = 20 ,
2086
- _a[FAILED + "ToReportDataLoss"] = 21 ,
2087
- _a["Flush" + FAILED] = 22 ,
2088
- _a.MessageLimitPerPVExceeded = 23 ,
2089
- _a.MissingRequiredFieldSpecification = 24 ,
2090
- _a.NavigationTimingNotSupported = 25 ,
2091
- _a.OnError = 26 ,
2092
- _a[SESSION + "RenewalDateIsZero"] = 27 ,
2093
- _a.SenderNotInitialized = 28 ,
2094
- _a[START + TRACK + EVENT + FAILED] = 29 ,
2095
- _a[STOP + TRACK + EVENT + FAILED] = 30 ,
2096
- _a[START + TRACK + FAILED] = 31 ,
2097
- _a[STOP + TRACK + FAILED] = 32 ,
2098
- _a.TelemetrySampledAndNotSent = 33 ,
2099
- _a[TRACK + EVENT + FAILED] = 34 ,
2100
- _a[TRACK + EXCEPTION + FAILED] = 35 ,
2101
- _a[TRACK + "Metric" + FAILED] = 36 ,
2102
- _a[TRACK + "PV" + FAILED] = 37 ,
2103
- _a[TRACK + "PV" + FAILED + "Calc"] = 38 ,
2104
- _a[TRACK + "Trace" + FAILED] = 39 ,
2105
- _a["Transmission" + FAILED] = 40 ,
2106
- _a[FAILED + "ToSet" + STORAGE + BUFFER] = 41 ,
2107
- _a[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 ,
2108
- _a.InvalidBackendResponse = 43 ,
2109
- _a[FAILED + "ToFixDepricatedValues"] = 44 ,
2110
- _a.InvalidDurationValue = 45 ,
2111
- _a.TelemetryEnvelopeInvalid = 46 ,
2112
- _a.CreateEnvelopeError = 47 ,
2113
- _a[CANNOT + "SerializeObject"] = 48 ,
2114
- _a[CANNOT + "SerializeObjectNonSerializable"] = 49 ,
2115
- _a.CircularReferenceDetected = 50 ,
2116
- _a["Clear" + AUTH_CONTEXT + FAILED] = 51 ,
2117
- _a[EXCEPTION + "Truncated"] = 52 ,
2118
- _a.IllegalCharsInName = 53 ,
2119
- _a.ItemNotInArray = 54 ,
2120
- _a.MaxAjaxPerPVExceeded = 55 ,
2121
- _a.MessageTruncated = 56 ,
2122
- _a.NameTooLong = 57 ,
2123
- _a.SampleRateOutOfRange = 58 ,
2124
- _a["Set" + AUTH_CONTEXT + FAILED] = 59 ,
2125
- _a["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 ,
2126
- _a.StringValueTooLong = 61 ,
2127
- _a.StartCalledMoreThanOnce = 62 ,
2128
- _a.StopCalledWithoutStart = 63 ,
2129
- _a["TelemetryInitializer" + FAILED] = 64 ,
2130
- _a.TrackArgumentsNotSpecified = 65 ,
2131
- _a.UrlTooLong = 66 ,
2132
- _a[SESSION + STORAGE + BUFFER + "Full"] = 67 ,
2133
- _a[CANNOT + "AccessCookie"] = 68 ,
2134
- _a.IdTooLong = 69 ,
2135
- _a.InvalidEvent = 70 ,
2136
- _a[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 ,
2137
- _a["Send" + BROWSER + "InfoOnUserInit"] = 72 ,
2138
- _a["Plugin" + EXCEPTION] = 73 ,
2139
- _a["Notification" + EXCEPTION] = 74 ,
2140
- _a.SnippetScriptLoadFailure = 99 ,
2141
- _a["Invalid" + INSTRUMENTATION_KEY] = 100 ,
2142
- _a[CANNOT + "ParseAiBlobValue"] = 101 ,
2143
- _a.InvalidContentBlob = 102 ,
2144
- _a[TRACK + "PageAction" + EVENT + FAILED] = 103 ,
2145
- _a[FAILED + "AddingCustomDefinedRequestContext"] = 104 ,
2146
- _a["InMemory" + STORAGE + BUFFER + "Full"] = 105 ,
2147
- _a[INSTRUMENTATION_KEY + "Deprecation"] = 106 ,
2148
- _a));
2149
-
2150
2463
  var strNotSpecified = "not_specified";
2151
2464
 
2152
2465
  var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
@@ -2202,15 +2515,10 @@
2202
2515
  var DEFAULT_DONOT_TRACK_TAG = "ai-dnt";
2203
2516
  var DEFAULT_AI_BLOB_ATTRIBUTE_TAG = "ai-blob";
2204
2517
  var DEFAULT_DATA_PREFIX = "data-";
2205
- __assignFn(__assignFn({}, _InternalMessageId), createEnumStyle({
2206
- CannotParseAiBlobValue: 101 ,
2207
- InvalidContentBlob: 102 ,
2208
- TrackPageActionEventFailed: 103
2209
- }));
2210
2518
  function removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {
2211
2519
  removeInvalidElements(overrideConfig);
2212
2520
  for (var i in attributeNamesExpectedObjects) {
2213
- if (objHasOwnProperty(attributeNamesExpectedObjects, i)) {
2521
+ if (objHasOwn(attributeNamesExpectedObjects, i)) {
2214
2522
  var objectName = attributeNamesExpectedObjects[i];
2215
2523
  if (typeof overrideConfig[objectName] === "object") {
2216
2524
  removeInvalidElements(overrideConfig[objectName]);
@@ -2582,7 +2890,7 @@
2582
2890
  _populateEventDataIfPresent(event.data, "pageName", pageActionEvent[_DYN_PAGE_NAME ]);
2583
2891
  _populateEventDataIfPresent(event[_DYN_DATA ], "parentId", pageActionEvent[_DYN_PARENT_ID ]);
2584
2892
  if (properties) {
2585
- objForEachKey(properties, function (property, value) {
2893
+ objForEachKey$1(properties, function (property, value) {
2586
2894
  if (!event[_DYN_DATA ][property]) {
2587
2895
  _populateEventDataIfPresent(event[_DYN_DATA ], property, value);
2588
2896
  }
@@ -3088,7 +3396,7 @@
3088
3396
  }
3089
3397
  return _this;
3090
3398
  }
3091
- ClickAnalyticsPlugin.Version = "3.0.0-beta.2209-03";
3399
+ ClickAnalyticsPlugin.Version = "3.0.0-beta.2210-02";
3092
3400
  return ClickAnalyticsPlugin;
3093
3401
  }(BaseTelemetryPlugin));
3094
3402