@microsoft/applicationinsights-web-basic 3.0.0-beta.2210-01 → 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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.0.0-beta.2210-01
2
+ * Application Insights JavaScript Web SDK - Basic, 3.0.0-beta.2210-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -266,7 +266,6 @@
266
266
  var ObjAssign = ObjClass$1["assign"];
267
267
  var ObjCreate = ObjClass$1["create"];
268
268
  var ObjDefineProperty = ObjClass$1["defineProperty"];
269
- var ObjHasOwnProperty = ObjProto$1[strShimHasOwnProperty];
270
269
 
271
270
  var _cachedGlobal$1 = null;
272
271
  function getGlobal$1(useCached) {
@@ -362,13 +361,18 @@
362
361
  var STRING = "string";
363
362
  var UNDEFINED = "undefined";
364
363
  var HAS_OWN_PROPERTY = "hasOwnProperty";
364
+ var SYMBOL = "Symbol";
365
+ var POLYFILL_TAG = "_polyfill";
365
366
  var INDEX_OF = "indexOf";
366
367
  var LENGTH = "length";
368
+ var DONE = "done";
369
+ var VALUE = "value";
367
370
  var ObjClass = Object;
368
371
  var ObjProto = ObjClass[PROTOTYPE];
369
372
  var StrCls = String;
370
373
  var StrProto = StrCls[PROTOTYPE];
371
374
  var ArrCls = Array;
375
+ var ArrProto = ArrCls[PROTOTYPE];
372
376
 
373
377
  function _safeCheck(cb, defValue) {
374
378
  var result = defValue;
@@ -481,7 +485,7 @@
481
485
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
482
486
  }
483
487
 
484
- function objForEachKey(theObject, callbackfn, thisArg) {
488
+ function objForEachKey$1(theObject, callbackfn, thisArg) {
485
489
  if (theObject && isObject(theObject)) {
486
490
  for (var prop in theObject) {
487
491
  if (objHasOwn(theObject, prop)) {
@@ -523,9 +527,30 @@
523
527
  }
524
528
  return ObjClass.keys(value);
525
529
  }
530
+ function objDeepCopy(source) {
531
+ if (isArray(source)) {
532
+ var result_1 = [];
533
+ arrForEach(source, function (value) {
534
+ result_1.push(objDeepCopy(value));
535
+ });
536
+ return result_1;
537
+ }
538
+ if (isObject(source)) {
539
+ return objCopyProps({}, source);
540
+ }
541
+ return source;
542
+ }
543
+ function objCopyProps(target, source) {
544
+ if (!isNullOrUndefined(source)) {
545
+ objForEachKey$1(source, function (key, value) {
546
+ target[key] = objDeepCopy(value);
547
+ });
548
+ }
549
+ return target;
550
+ }
526
551
  function objDeepFreeze(value) {
527
552
  if (_objFreeze) {
528
- objForEachKey(value, function (key, value) {
553
+ objForEachKey$1(value, function (key, value) {
529
554
  if (isArray(value) || isObject(value)) {
530
555
  _objFreeze(value);
531
556
  }
@@ -537,7 +562,7 @@
537
562
 
538
563
  function createEnum(values) {
539
564
  var theEnum = {};
540
- objForEachKey(values, function (field, value) {
565
+ objForEachKey$1(values, function (field, value) {
541
566
  theEnum[field] = value;
542
567
  theEnum[value] = field;
543
568
  });
@@ -545,7 +570,7 @@
545
570
  }
546
571
  function createSimpleMap(values) {
547
572
  var mapClass = {};
548
- objForEachKey(values, function (field, value) {
573
+ objForEachKey$1(values, function (field, value) {
549
574
  mapClass[field] = value[1];
550
575
  mapClass[value[0]] = value[1];
551
576
  });
@@ -555,6 +580,65 @@
555
580
  return createSimpleMap(values);
556
581
  }
557
582
 
583
+ var POLY_GLOBAL_REGISTORT = "__polySymbols$ts_utils";
584
+ var _polySymbols;
585
+ function _globalSymbolRegistry() {
586
+ if (!_polySymbols) {
587
+ var gbl = getGlobal();
588
+ _polySymbols = gbl[POLY_GLOBAL_REGISTORT] = gbl[POLY_GLOBAL_REGISTORT] || { k: {}, s: {} };
589
+ }
590
+ return _polySymbols;
591
+ }
592
+ function polyNewSymbol(description) {
593
+ var theSymbol = {
594
+ description: "" + description,
595
+ toString: function () { return SYMBOL + "(" + description + ")"; }
596
+ };
597
+ theSymbol[POLYFILL_TAG] = true;
598
+ return theSymbol;
599
+ }
600
+ function polySymbolFor(key) {
601
+ var registry = _globalSymbolRegistry();
602
+ if (!objHasOwn(registry, key)) {
603
+ var newSymbol = polyNewSymbol(key);
604
+ registry.k[key] = newSymbol;
605
+ registry.s[newSymbol] = "" + key;
606
+ }
607
+ return registry.k[key];
608
+ }
609
+
610
+ var _hasSymbol = _safeCheck(function () { return isDefined(Symbol); }, false);
611
+ var _symbol = getInst(SYMBOL);
612
+ var _symbolFor = _symbol && _safeCheck(function () { return _symbol["for"]; }, null);
613
+ _symbol && _safeCheck(function () { return _symbol["keyFor"]; }, null);
614
+ function newSymbol(description, noPoly) {
615
+ return _hasSymbol ? Symbol(description) : (!noPoly ? polyNewSymbol(description) : null);
616
+ }
617
+ var symbolFor = _symbolFor || polySymbolFor;
618
+
619
+ function isIterator(value) {
620
+ return !!value && isFunction(value.next);
621
+ }
622
+
623
+ function arrAppend(target, elms) {
624
+ if (!isUndefined(elms) && target) {
625
+ if (isArray(elms)) {
626
+ ArrProto.push.apply(target, elms);
627
+ }
628
+ else if (isIterator(elms)) {
629
+ var value = elms.next();
630
+ while (!value[DONE]) {
631
+ target.push(value[VALUE]);
632
+ value = elms.next();
633
+ }
634
+ }
635
+ else {
636
+ target.push(elms);
637
+ }
638
+ }
639
+ return target;
640
+ }
641
+
558
642
  function dumpObj(object, format) {
559
643
  var objectTypeDump = objToString(object);
560
644
  var propertyValueDump = "";
@@ -600,7 +684,7 @@
600
684
  d.__proto__ = b;
601
685
  }) ||
602
686
  function (d, b) {
603
- objForEachKey(b, function (key, value) {
687
+ objForEachKey$1(b, function (key, value) {
604
688
  d[key] = value;
605
689
  });
606
690
  };
@@ -635,6 +719,20 @@
635
719
  throw new _unsupportedError(message);
636
720
  }
637
721
 
722
+ function _doExtend(target, theArgs) {
723
+ arrForEach(theArgs, function (theArg) {
724
+ objCopyProps(target, theArg);
725
+ });
726
+ return target;
727
+ }
728
+ function deepExtend(target) {
729
+ var theArgs = [];
730
+ for (var _i = 1; _i < arguments.length; _i++) {
731
+ theArgs[_i - 1] = arguments[_i];
732
+ }
733
+ return _doExtend(objDeepCopy(target) || {}, theArgs);
734
+ }
735
+
638
736
  var _objDefineProperty$1 = ObjClass["defineProperty"];
639
737
  function objDefineProp(target, key, descriptor) {
640
738
  if (_objDefineProperty$1) {
@@ -681,6 +779,8 @@
681
779
 
682
780
  var strIndexOf = _unwrapFunction(INDEX_OF);
683
781
 
782
+ var asString = StrCls;
783
+
684
784
  function _createTrimFn(exp) {
685
785
  return function _doTrim(value) {
686
786
  if (isNullOrUndefined(value)) {
@@ -700,51 +800,55 @@
700
800
  var createEnumStyle = createEnum;
701
801
  var createValueMap = createTypeMap;
702
802
 
803
+ var _DYN_LENGTH$2 = "length";
804
+ var _DYN_NOTIFY = "notify";
805
+ var _DYN_THROW_INTERNAL = "throwInternal";
806
+ var _DYN_WATCH = "watch";
807
+ var _DYN_LOGGER = "logger";
808
+ var _DYN_CONFIGURABLE = "configurable";
809
+ var _DYN_ENUMERABLE = "enumerable";
810
+ var _DYN_APPLY = "apply";
811
+ var _DYN_INDEX_OF$1 = "indexOf";
812
+ var _DYN_PUSH$1 = "push";
703
813
  var _DYN_INITIALIZE$1 = "initialize";
704
- var _DYN_NAME$2 = "name";
705
- var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
706
814
  var _DYN_IDENTIFIER = "identifier";
707
- var _DYN_PUSH$1 = "push";
815
+ var _DYN_SPLICE = "splice";
708
816
  var _DYN_IS_INITIALIZED = "isInitialized";
709
- var _DYN_CONFIG = "config";
710
- var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
711
- var _DYN_LOGGER = "logger";
712
- var _DYN_LENGTH$2 = "length";
817
+ var _DYN_NAME$2 = "name";
713
818
  var _DYN_TIME = "time";
714
819
  var _DYN_PROCESS_NEXT = "processNext";
715
820
  var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
821
+ var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
716
822
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
717
823
  var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
718
824
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
719
825
  var _DYN_ON_COMPLETE = "onComplete";
826
+ var _DYN_CALL = "call";
720
827
  var _DYN_GET_PLUGIN = "getPlugin";
721
828
  var _DYN_FLUSH = "flush";
829
+ var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
722
830
  var _DYN__EXTENSIONS = "_extensions";
723
- var _DYN_SPLICE = "splice";
724
831
  var _DYN_TEARDOWN = "teardown";
725
832
  var _DYN_MESSAGE_ID = "messageId";
726
833
  var _DYN_MESSAGE$1 = "message";
727
834
  var _DYN_IS_ASYNC = "isAsync";
835
+ var _DYN_DIAG_LOG$1 = "diagLog";
728
836
  var _DYN__DO_TEARDOWN = "_doTeardown";
729
837
  var _DYN_UPDATE = "update";
730
838
  var _DYN_GET_NEXT = "getNext";
731
- var _DYN_DIAG_LOG$1 = "diagLog";
732
839
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
733
840
  var _DYN_CREATE_NEW = "createNew";
734
- var _DYN_COOKIE_CFG = "cookieCfg";
735
- var _DYN_INDEX_OF$1 = "indexOf";
841
+ var _DYN_CONFIG = "config";
736
842
  var _DYN_SUBSTRING$1 = "substring";
737
843
  var _DYN_USER_AGENT = "userAgent";
738
844
  var _DYN_SPLIT$1 = "split";
739
845
  var _DYN_NODE_TYPE = "nodeType";
740
- var _DYN_APPLY = "apply";
741
846
  var _DYN_REPLACE = "replace";
742
- var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
847
+ var _DYN_ENABLE_DEBUG_EXCEPTI5 = "enableDebugExceptions";
743
848
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
744
849
  var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
745
850
  var _DYN_TYPE = "type";
746
851
  var _DYN_HANDLER = "handler";
747
- var _DYN_CALL = "call";
748
852
  var _DYN_LISTENERS = "listeners";
749
853
  var _DYN_IS_CHILD_EVT = "isChildEvt";
750
854
  var _DYN_GET_CTX = "getCtx";
@@ -754,6 +858,7 @@
754
858
  var _DYN_SPAN_ID = "spanId";
755
859
  var _DYN_TRACE_FLAGS = "traceFlags";
756
860
 
861
+ var UNDEFINED_VALUE$1 = undefined;
757
862
  var STR_EMPTY = "";
758
863
  var STR_CHANNELS = "channels";
759
864
  var STR_CORE = "core";
@@ -770,66 +875,19 @@
770
875
  var STR_ERROR_TO_CONSOLE = "errorToConsole";
771
876
  var STR_WARN_TO_CONSOLE = "warnToConsole";
772
877
  var STR_GET_PERF_MGR = "getPerfMgr";
878
+ var STR_DOMAIN = "domain";
879
+ var STR_PATH = "path";
880
+ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
773
881
 
774
- var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
775
- var _aiNamespace = null;
776
- var _debugListener;
777
- function _listenerProxyFunc(name, config) {
778
- return function () {
779
- var args = arguments;
780
- var dbgExt = getDebugExt(config);
781
- if (dbgExt) {
782
- var listener = dbgExt.listener;
783
- if (listener && listener[name]) {
784
- listener[name][_DYN_APPLY ](listener, args);
785
- }
786
- }
787
- };
788
- }
789
- function _getExtensionNamespace() {
790
- var target = getInst("Microsoft");
791
- if (target) {
792
- _aiNamespace = target["ApplicationInsights"];
793
- }
794
- return _aiNamespace;
795
- }
796
- function getDebugExt(config) {
797
- var ns = _aiNamespace;
798
- if (!ns && config.disableDbgExt !== true) {
799
- ns = _aiNamespace || _getExtensionNamespace();
800
- }
801
- return ns ? ns["ChromeDbgExt"] : null;
802
- }
803
- function getDebugListener(config) {
804
- if (!_debugListener) {
805
- _debugListener = {};
806
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH$2 ]; lp++) {
807
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
808
- }
809
- }
810
- return _debugListener;
811
- }
812
-
813
- var cString = "String";
814
- var cObject = "Object";
815
- var strToISOString = "toISOString";
816
882
  var strToString = "toString";
817
883
  var strGetPrototypeOf = "getPrototypeOf";
818
884
  var strConstructor = "constructor";
819
- var DateProto = Date[strShimPrototype];
820
- var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
821
- ObjProto$1[strToString] || _polyfillRequired(cObject, strToString);
822
- var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
885
+ var _fnToString = ObjClass$1[strToString];
823
886
  var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass$1);
824
887
  var rCamelCase = /-([a-z])/g;
825
888
  var rNormalizeInvalid = /([^\w\d_$])/g;
826
889
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
827
- function _polyfillRequired(object, name) {
828
- return function () {
829
- throwUnsupported("Polyfill required for [" + name + "]");
830
- };
831
- }
832
- var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
890
+ var _getObjProto = Object[strGetPrototypeOf];
833
891
  function isNotNullOrUndefined(value) {
834
892
  return !isNullOrUndefined(value);
835
893
  }
@@ -846,6 +904,7 @@
846
904
  }
847
905
  return value;
848
906
  }
907
+ var objForEachKey = objForEachKey$1;
849
908
  function strContains(value, search) {
850
909
  if (value && search) {
851
910
  return strIndexOf(value, search) !== -1;
@@ -860,7 +919,7 @@
860
919
  result = true;
861
920
  }
862
921
  else {
863
- if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL ](proto, strConstructor)) {
922
+ if (proto[strConstructor] && objHasOwnProperty(proto, strConstructor)) {
864
923
  proto = proto[strConstructor];
865
924
  }
866
925
  result = typeof proto === strShimFunction && _fnToString[_DYN_CALL ](proto) === _objFunctionString;
@@ -869,7 +928,7 @@
869
928
  return result;
870
929
  }
871
930
  function toISOString(date) {
872
- return _dateToISOString[_DYN_CALL ](date);
931
+ return date && date.toISOString() || "";
873
932
  }
874
933
  function dateNow() {
875
934
  var dt = Date;
@@ -906,9 +965,6 @@
906
965
  }
907
966
  return theValue;
908
967
  }
909
- function getCfgValue(theValue, defaultValue) {
910
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
911
- }
912
968
  function _createProxyFunction(source, funcName) {
913
969
  var srcFunc = null;
914
970
  var src = null;
@@ -983,7 +1039,7 @@
983
1039
  var isArgArray = isArray(arg);
984
1040
  var isArgObj = isObject(arg);
985
1041
  for (var prop in arg) {
986
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL ](arg, prop)));
1042
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
987
1043
  if (!propOk) {
988
1044
  continue;
989
1045
  }
@@ -1009,6 +1065,122 @@
1009
1065
  return extended;
1010
1066
  }
1011
1067
 
1068
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
1069
+ function _cfgDeepCopy(source) {
1070
+ if (source) {
1071
+ if (isArray(source)) {
1072
+ var result_1 = [];
1073
+ result_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
1074
+ arrForEach(source, function (value, idx) {
1075
+ result_1[idx] = _cfgDeepCopy(value);
1076
+ });
1077
+ return result_1;
1078
+ }
1079
+ if (isPlainObject(source)) {
1080
+ var target_1 = {};
1081
+ objForEachKey$1(source, function (key, value) {
1082
+ target_1[key] = _cfgDeepCopy(value);
1083
+ });
1084
+ return target_1;
1085
+ }
1086
+ }
1087
+ return source;
1088
+ }
1089
+ function getDynamicConfigHandler(value) {
1090
+ if (value) {
1091
+ var handler = value[CFG_HANDLER_LINK] || value;
1092
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1093
+ return handler;
1094
+ }
1095
+ }
1096
+ return null;
1097
+ }
1098
+ function throwInvalidAccess(message) {
1099
+ throwTypeError("InvalidAccess:" + message);
1100
+ }
1101
+
1102
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
1103
+ var defValue;
1104
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
1105
+ if (theConfig && cfgDefaults.fb) {
1106
+ var fallbacks = cfgDefaults.fb;
1107
+ if (!isArray(fallbacks)) {
1108
+ fallbacks = [fallbacks];
1109
+ }
1110
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH$2 ]; lp++) {
1111
+ var fallback = fallbacks[lp];
1112
+ var fbValue = theConfig[fallback];
1113
+ if (isDefaultValid(fbValue)) {
1114
+ defValue = fbValue;
1115
+ }
1116
+ else {
1117
+ fbValue = dynamicHandler.cfg[fallback];
1118
+ if (isDefaultValid(fbValue)) {
1119
+ defValue = fbValue;
1120
+ }
1121
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
1122
+ }
1123
+ if (isDefaultValid(defValue)) {
1124
+ break;
1125
+ }
1126
+ }
1127
+ }
1128
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
1129
+ defValue = cfgDefaults.v;
1130
+ }
1131
+ return defValue;
1132
+ }
1133
+ function _applyDefaultValue(theConfig, name, defaultValue) {
1134
+ var dynamicHandler = theConfig[CFG_HANDLER_LINK];
1135
+ if (!dynamicHandler) {
1136
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
1137
+ }
1138
+ var isValid;
1139
+ var setFn;
1140
+ var defValue;
1141
+ var cfgDefaults = defaultValue;
1142
+ if (cfgDefaults && isObject(cfgDefaults) && (cfgDefaults.isVal || cfgDefaults.set || cfgDefaults.fb || objHasOwn(cfgDefaults, "v"))) {
1143
+ isValid = cfgDefaults.isVal;
1144
+ setFn = cfgDefaults.set;
1145
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
1146
+ }
1147
+ else {
1148
+ defValue = defaultValue;
1149
+ }
1150
+ var theValue = defValue;
1151
+ var usingDefault = true;
1152
+ var cfgValue = theConfig[name];
1153
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
1154
+ theValue = cfgValue;
1155
+ usingDefault = false;
1156
+ }
1157
+ if (!usingDefault) {
1158
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
1159
+ theValue = defValue;
1160
+ usingDefault = true;
1161
+ }
1162
+ if (setFn) {
1163
+ theValue = setFn(theValue, defValue, theConfig);
1164
+ usingDefault = theValue === defValue;
1165
+ }
1166
+ }
1167
+ if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {
1168
+ theValue = _cfgDeepCopy(theValue);
1169
+ }
1170
+ dynamicHandler.set(theConfig, name, theValue);
1171
+ }
1172
+ function applyDefaults(theConfig, defaultValues) {
1173
+ if (defaultValues) {
1174
+ if (theConfig && !theConfig[CFG_HANDLER_LINK] && (isPlainObject(theConfig) || isArray(theConfig))) {
1175
+ throwInvalidAccess(STR_NOT_DYNAMIC_ERROR + dumpObj(theConfig));
1176
+ }
1177
+ objForEachKey(defaultValues, function (name, value) {
1178
+ _applyDefaultValue(theConfig, name, value);
1179
+ });
1180
+ }
1181
+ return theConfig;
1182
+ }
1183
+
1012
1184
  var strDocumentMode = "documentMode";
1013
1185
  var strLocation = "location";
1014
1186
  var strConsole = "console";
@@ -1124,33 +1296,494 @@
1124
1296
  isSupported = _hasProperty(request, "keepalive");
1125
1297
  }
1126
1298
  }
1127
- catch (e) {
1299
+ catch (e) {
1300
+ }
1301
+ return isSupported;
1302
+ }
1303
+ function useXDomainRequest() {
1304
+ if (_useXDomainRequest === null) {
1305
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1306
+ if (_useXDomainRequest && isXhrSupported()) {
1307
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
1308
+ }
1309
+ }
1310
+ return _useXDomainRequest;
1311
+ }
1312
+ function isXhrSupported() {
1313
+ var isSupported = false;
1314
+ try {
1315
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
1316
+ isSupported = !!xmlHttpRequest;
1317
+ }
1318
+ catch (e) {
1319
+ }
1320
+ return isSupported;
1321
+ }
1322
+
1323
+ var UInt32Mask = 0x100000000;
1324
+ var MaxUInt32 = 0xffffffff;
1325
+ var _mwcSeeded = false;
1326
+ var _mwcW = 123456789;
1327
+ var _mwcZ = 987654321;
1328
+ function _mwcSeed(seedValue) {
1329
+ if (seedValue < 0) {
1330
+ seedValue >>>= 0;
1331
+ }
1332
+ _mwcW = (123456789 + seedValue) & MaxUInt32;
1333
+ _mwcZ = (987654321 - seedValue) & MaxUInt32;
1334
+ _mwcSeeded = true;
1335
+ }
1336
+ function _autoSeedMwc() {
1337
+ try {
1338
+ var now = dateNow() & 0x7fffffff;
1339
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1340
+ }
1341
+ catch (e) {
1342
+ }
1343
+ }
1344
+ function random32(signed) {
1345
+ var value = 0;
1346
+ var c = getCrypto() || getMsCrypto();
1347
+ if (c && c.getRandomValues) {
1348
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1349
+ }
1350
+ if (value === 0 && isIE()) {
1351
+ if (!_mwcSeeded) {
1352
+ _autoSeedMwc();
1353
+ }
1354
+ value = mwcRandom32() & MaxUInt32;
1355
+ }
1356
+ if (value === 0) {
1357
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
1358
+ }
1359
+ if (!signed) {
1360
+ value >>>= 0;
1361
+ }
1362
+ return value;
1363
+ }
1364
+ function mwcRandom32(signed) {
1365
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1366
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1367
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1368
+ if (!signed) {
1369
+ value >>>= 0;
1370
+ }
1371
+ return value;
1372
+ }
1373
+ function newId(maxLength) {
1374
+ if (maxLength === void 0) { maxLength = 22; }
1375
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1376
+ var number = random32() >>> 0;
1377
+ var chars = 0;
1378
+ var result = STR_EMPTY;
1379
+ while (result[_DYN_LENGTH$2 ] < maxLength) {
1380
+ chars++;
1381
+ result += base64chars.charAt(number & 0x3F);
1382
+ number >>>= 6;
1383
+ if (chars === 5) {
1384
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1385
+ chars = 0;
1386
+ }
1387
+ }
1388
+ return result;
1389
+ }
1390
+
1391
+ var _objDefineProperty = ObjDefineProperty;
1392
+ var version = "3.0.0-beta.2210-02";
1393
+ var instanceName = "." + newId(6);
1394
+ var _dataUid = 0;
1395
+ function _createAccessor(target, prop, value) {
1396
+ var _a;
1397
+ if (_objDefineProperty) {
1398
+ try {
1399
+ _objDefineProperty(target, prop, (_a = {
1400
+ value: value
1401
+ },
1402
+ _a[_DYN_ENUMERABLE ] = false,
1403
+ _a[_DYN_CONFIGURABLE ] = true,
1404
+ _a));
1405
+ return true;
1406
+ }
1407
+ catch (e) {
1408
+ }
1409
+ }
1410
+ return false;
1411
+ }
1412
+ function _canAcceptData(target) {
1413
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1414
+ }
1415
+ function _getCache(data, target) {
1416
+ var theCache = target[data.id];
1417
+ if (!theCache) {
1418
+ theCache = {};
1419
+ try {
1420
+ if (_canAcceptData(target)) {
1421
+ if (!_createAccessor(target, data.id, theCache)) {
1422
+ target[data.id] = theCache;
1423
+ }
1424
+ }
1425
+ }
1426
+ catch (e) {
1427
+ }
1428
+ }
1429
+ return theCache;
1430
+ }
1431
+ function createUniqueNamespace(name, includeVersion) {
1432
+ if (includeVersion === void 0) { includeVersion = false; }
1433
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1434
+ }
1435
+ function createElmNodeData(name) {
1436
+ var data = {
1437
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1438
+ accept: function (target) {
1439
+ return _canAcceptData(target);
1440
+ },
1441
+ get: function (target, name, defValue, addDefault) {
1442
+ var theCache = target[data.id];
1443
+ if (!theCache) {
1444
+ if (addDefault) {
1445
+ theCache = _getCache(data, target);
1446
+ theCache[normalizeJsName(name)] = defValue;
1447
+ }
1448
+ return defValue;
1449
+ }
1450
+ return theCache[normalizeJsName(name)];
1451
+ },
1452
+ kill: function (target, name) {
1453
+ if (target && target[name]) {
1454
+ try {
1455
+ delete target[name];
1456
+ }
1457
+ catch (e) {
1458
+ }
1459
+ }
1460
+ }
1461
+ };
1462
+ return data;
1463
+ }
1464
+
1465
+ var arrayMethodsToPatch = [
1466
+ "push",
1467
+ "pop",
1468
+ "shift",
1469
+ "unshift",
1470
+ "splice"
1471
+ ];
1472
+ function _patchArray(state, target) {
1473
+ if (isArray(target)) {
1474
+ arrForEach(arrayMethodsToPatch, function (method) {
1475
+ var orgMethod = target[method];
1476
+ target[method] = function () {
1477
+ var args = [];
1478
+ for (var _i = 0; _i < arguments.length; _i++) {
1479
+ args[_i] = arguments[_i];
1480
+ }
1481
+ var result = orgMethod[_DYN_APPLY ](this, args);
1482
+ _makeDynamicObject(state, target);
1483
+ return result;
1484
+ };
1485
+ });
1486
+ }
1487
+ }
1488
+ function _makeDynamicProperty(state, theConfig, name, value) {
1489
+ var detail = {
1490
+ n: name,
1491
+ h: [],
1492
+ add: function (handler) {
1493
+ if (handler && handler.fn && detail.h[_DYN_INDEX_OF$1 ](handler) === -1) {
1494
+ detail.h[_DYN_PUSH$1 ](handler);
1495
+ }
1496
+ }
1497
+ };
1498
+ var checkDynamic = true;
1499
+ function _getProperty() {
1500
+ if (checkDynamic) {
1501
+ if (value && !value[CFG_HANDLER_LINK] && (isPlainObject(value) || isArray(value))) {
1502
+ value = _makeDynamicObject(state, value);
1503
+ }
1504
+ checkDynamic = false;
1505
+ }
1506
+ var activeHandler = state.act;
1507
+ if (activeHandler) {
1508
+ detail.add(activeHandler);
1509
+ }
1510
+ return value;
1511
+ }
1512
+ _getProperty[state.prop] = true;
1513
+ function _setProperty(newValue) {
1514
+ if (value !== newValue) {
1515
+ if (!!_setProperty[state.ro] && state.upd) {
1516
+ throwInvalidAccess("[" + name + "] is sealed from " + dumpObj(theConfig));
1517
+ }
1518
+ if (value && value[CFG_HANDLER_LINK]) {
1519
+ if (isPlainObject(value)) {
1520
+ objForEachKey$1(value, function (key) {
1521
+ value[key] = UNDEFINED_VALUE$1;
1522
+ });
1523
+ }
1524
+ else if (isArray(value)) {
1525
+ arrForEach(value, function (propValue, idx) {
1526
+ value[idx] = UNDEFINED_VALUE$1;
1527
+ });
1528
+ }
1529
+ }
1530
+ checkDynamic = false;
1531
+ if (isPlainObject(newValue) || isArray(newValue)) {
1532
+ _makeDynamicObject(state, newValue);
1533
+ }
1534
+ value = newValue;
1535
+ state.add(detail);
1536
+ }
1537
+ }
1538
+ objDefineAccessors(theConfig, detail.n, _getProperty, _setProperty, true);
1539
+ }
1540
+ function _setDynamicProperty(state, target, name, value) {
1541
+ if (target) {
1542
+ var isDynamic = false;
1543
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
1544
+ if (propDesc && propDesc.get) {
1545
+ isDynamic = !!propDesc.get[state.prop];
1546
+ }
1547
+ if (!isDynamic) {
1548
+ _makeDynamicProperty(state, target, name, value);
1549
+ }
1550
+ else {
1551
+ target[name] = value;
1552
+ }
1553
+ }
1554
+ return value;
1555
+ }
1556
+ function _makeDynamicObject(state, target ) {
1557
+ var _a;
1558
+ objForEachKey$1( target, function (key, value) {
1559
+ _setDynamicProperty(state, target, key, value);
1560
+ });
1561
+ if (!target[CFG_HANDLER_LINK]) {
1562
+ objDefineProp(target, CFG_HANDLER_LINK, (_a = {},
1563
+ _a[_DYN_CONFIGURABLE ] = false,
1564
+ _a[_DYN_ENUMERABLE ] = false,
1565
+ _a.get = function () {
1566
+ return state.hdlr;
1567
+ },
1568
+ _a));
1569
+ _patchArray(state, target);
1570
+ }
1571
+ return target;
1572
+ }
1573
+
1574
+ var symPrefix = "[[ai_";
1575
+ var symPostfix = "]]";
1576
+ function _insertWatcher(watchers, theDetail) {
1577
+ if (theDetail && theDetail.h && theDetail.h[_DYN_LENGTH$2 ] > 0) {
1578
+ arrForEach(theDetail.h, function (handler) {
1579
+ if (handler && handler.fn && watchers[_DYN_INDEX_OF$1 ](handler) === -1) {
1580
+ watchers[_DYN_PUSH$1 ](handler);
1581
+ }
1582
+ });
1583
+ }
1584
+ }
1585
+ function _createState(cfgHandler) {
1586
+ var _a;
1587
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
1588
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
1589
+ var _waitingHandlers = null;
1590
+ var _watcherTimer = null;
1591
+ var theState;
1592
+ function _useHandler(activeHandler, callback) {
1593
+ var prevWatcher = theState.act;
1594
+ try {
1595
+ theState.act = activeHandler;
1596
+ callback({
1597
+ cfg: cfgHandler.cfg,
1598
+ hdlr: cfgHandler
1599
+ });
1600
+ }
1601
+ catch (e) {
1602
+ var message = "Watcher [" + dumpObj(callback) + "] failed [" + dumpObj(e) + "]";
1603
+ var logger = cfgHandler[_DYN_LOGGER ];
1604
+ if (logger) {
1605
+ cfgHandler.logger[_DYN_THROW_INTERNAL ](1 , 107 , message);
1606
+ }
1607
+ else {
1608
+ throwInvalidAccess(message);
1609
+ }
1610
+ }
1611
+ finally {
1612
+ theState.act = prevWatcher || null;
1613
+ }
1614
+ }
1615
+ function _notifyWatchers() {
1616
+ if (_waitingHandlers) {
1617
+ var notifyHandlers = _waitingHandlers;
1618
+ _waitingHandlers = null;
1619
+ if (_watcherTimer) {
1620
+ clearTimeout(_watcherTimer);
1621
+ _watcherTimer = null;
1622
+ }
1623
+ arrForEach(notifyHandlers, function (handler) {
1624
+ if (handler.fn) {
1625
+ _useHandler(handler, handler.fn);
1626
+ }
1627
+ });
1628
+ if (_waitingHandlers) {
1629
+ _notifyWatchers();
1630
+ }
1631
+ }
1632
+ }
1633
+ function _addWatcher(detail) {
1634
+ if (detail && detail.h[_DYN_LENGTH$2 ] > 0) {
1635
+ if (!_waitingHandlers) {
1636
+ _waitingHandlers = [];
1637
+ }
1638
+ if (!_watcherTimer) {
1639
+ _watcherTimer = setTimeout(function () {
1640
+ _watcherTimer = null;
1641
+ _notifyWatchers();
1642
+ }, 0);
1643
+ }
1644
+ _insertWatcher(_waitingHandlers, detail);
1645
+ }
1646
+ }
1647
+ theState = (_a = {
1648
+ prop: dynamicPropertySymbol,
1649
+ ro: dynamicPropertyReadOnly,
1650
+ hdlr: cfgHandler,
1651
+ add: _addWatcher
1652
+ },
1653
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1654
+ _a.use = _useHandler,
1655
+ _a);
1656
+ return theState;
1657
+ }
1658
+
1659
+ function _createAndUseHandler(state, configHandler) {
1660
+ var handler = {
1661
+ fn: configHandler,
1662
+ rm: function () {
1663
+ handler.fn = null;
1664
+ state = null;
1665
+ configHandler = null;
1666
+ }
1667
+ };
1668
+ state.use(handler, configHandler);
1669
+ return handler;
1670
+ }
1671
+ function _createDynamicHandler(logger, target, inPlace) {
1672
+ var _a, _b;
1673
+ var dynamicConfig = getDynamicConfigHandler(target);
1674
+ if (dynamicConfig) {
1675
+ return dynamicConfig;
1676
+ }
1677
+ var uid = createUniqueNamespace("dyncfg", true);
1678
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
1679
+ var theState;
1680
+ function _notifyWatchers() {
1681
+ theState[_DYN_NOTIFY ]();
1682
+ }
1683
+ function _setValue(target, name, value) {
1684
+ return _setDynamicProperty(theState, target, name, value);
1685
+ }
1686
+ function _watch(configHandler) {
1687
+ return _createAndUseHandler(theState, configHandler);
1688
+ }
1689
+ function _block(configHandler) {
1690
+ theState.use(null, configHandler);
1691
+ }
1692
+ var cfgHandler = (_a = {
1693
+ uid: null,
1694
+ cfg: newTarget
1695
+ },
1696
+ _a[_DYN_LOGGER ] = logger,
1697
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
1698
+ _a.set = _setValue,
1699
+ _a[_DYN_WATCH ] = _watch,
1700
+ _a._block = _block,
1701
+ _a);
1702
+ objDefineProp(cfgHandler, "uid", (_b = {},
1703
+ _b[_DYN_CONFIGURABLE ] = false,
1704
+ _b[_DYN_ENUMERABLE ] = false,
1705
+ _b.writable = false,
1706
+ _b.value = uid,
1707
+ _b));
1708
+ theState = _createState(cfgHandler);
1709
+ _makeDynamicObject(theState, newTarget);
1710
+ return cfgHandler;
1711
+ }
1712
+ function _logInvalidAccess(logger, message) {
1713
+ if (logger) {
1714
+ logger[STR_WARN_TO_CONSOLE ](message);
1715
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
1716
+ }
1717
+ else {
1718
+ throwInvalidAccess(message);
1128
1719
  }
1129
- return isSupported;
1130
1720
  }
1131
- function useXDomainRequest() {
1132
- if (_useXDomainRequest === null) {
1133
- _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1134
- if (_useXDomainRequest && isXhrSupported()) {
1135
- _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
1721
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
1722
+ var dynamic = _createDynamicHandler(logger, config || {}, inPlace);
1723
+ if (defaultConfig) {
1724
+ applyDefaults(dynamic.cfg, defaultConfig);
1725
+ }
1726
+ return dynamic;
1727
+ }
1728
+ function onConfigChange(config, configHandler, logger) {
1729
+ var handler = config[CFG_HANDLER_LINK] || config;
1730
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
1731
+ return handler[_DYN_WATCH ](configHandler);
1732
+ }
1733
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
1734
+ createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
1735
+ }
1736
+
1737
+ var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1738
+ var _aiNamespace = null;
1739
+ var _debugListener;
1740
+ function _listenerProxyFunc(name, config) {
1741
+ return function () {
1742
+ var args = arguments;
1743
+ var dbgExt = getDebugExt(config);
1744
+ if (dbgExt) {
1745
+ var listener = dbgExt.listener;
1746
+ if (listener && listener[name]) {
1747
+ listener[name][_DYN_APPLY ](listener, args);
1748
+ }
1136
1749
  }
1750
+ };
1751
+ }
1752
+ function _getExtensionNamespace() {
1753
+ var target = getInst("Microsoft");
1754
+ if (target) {
1755
+ _aiNamespace = target["ApplicationInsights"];
1137
1756
  }
1138
- return _useXDomainRequest;
1757
+ return _aiNamespace;
1139
1758
  }
1140
- function isXhrSupported() {
1141
- var isSupported = false;
1142
- try {
1143
- var xmlHttpRequest = getInst(strXMLHttpRequest);
1144
- isSupported = !!xmlHttpRequest;
1759
+ function getDebugExt(config) {
1760
+ var ns = _aiNamespace;
1761
+ if (!ns && config.disableDbgExt !== true) {
1762
+ ns = _aiNamespace || _getExtensionNamespace();
1145
1763
  }
1146
- catch (e) {
1764
+ return ns ? ns["ChromeDbgExt"] : null;
1765
+ }
1766
+ function getDebugListener(config) {
1767
+ if (!_debugListener) {
1768
+ _debugListener = {};
1769
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH$2 ]; lp++) {
1770
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1771
+ }
1147
1772
  }
1148
- return isSupported;
1773
+ return _debugListener;
1149
1774
  }
1150
1775
 
1776
+ var _a$4;
1151
1777
  var AiNonUserActionablePrefix = "AI (Internal): ";
1152
1778
  var AiUserActionablePrefix = "AI: ";
1153
1779
  var AIInternalMessagePrefix = "AITR_";
1780
+ var defaultValues$2 = (_a$4 = {
1781
+ loggingLevelConsole: 0,
1782
+ loggingLevelTelemetry: 1,
1783
+ maxMessageLimit: 25
1784
+ },
1785
+ _a$4[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = false,
1786
+ _a$4);
1154
1787
  function _sanitizeDiagnosticText(text) {
1155
1788
  if (text) {
1156
1789
  return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
@@ -1206,8 +1839,8 @@
1206
1839
  _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1207
1840
  _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };
1208
1841
  _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };
1209
- _self[_DYN_ENABLE_DEBUG_EXCEPTI4 ] = function () { return _enableDebugExceptions; };
1210
- _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1842
+ _self[_DYN_ENABLE_DEBUG_EXCEPTI5 ] = function () { return _enableDebugExceptions; };
1843
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
1211
1844
  if (isUserAct === void 0) { isUserAct = false; }
1212
1845
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1213
1846
  if (_enableDebugExceptions) {
@@ -1280,10 +1913,14 @@
1280
1913
  }
1281
1914
  }
1282
1915
  function _setDefaultsFromConfig(config) {
1283
- _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);
1284
- _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);
1285
- _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);
1286
- _enableDebugExceptions = getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 ], false);
1916
+ var handler = createDynamicConfig(config, defaultValues$2, _self);
1917
+ handler[_DYN_WATCH ](function (details) {
1918
+ var config = details.cfg;
1919
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
1920
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
1921
+ _maxInternalMessageLimit = config.maxMessageLimit;
1922
+ _enableDebugExceptions = config[_DYN_ENABLE_DEBUG_EXCEPTI5 ];
1923
+ });
1287
1924
  }
1288
1925
  function _areInternalMessagesThrottled() {
1289
1926
  return _messageCount >= _maxInternalMessageLimit;
@@ -1304,7 +1941,7 @@
1304
1941
  }
1305
1942
  function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
1306
1943
  if (isUserAct === void 0) { isUserAct = false; }
1307
- _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);
1944
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
1308
1945
  }
1309
1946
  function _warnToConsole(logger, message) {
1310
1947
  _getLogger(logger)[STR_WARN_TO_CONSOLE ](message);
@@ -1453,151 +2090,11 @@
1453
2090
  return _defaultPerfManager;
1454
2091
  }
1455
2092
 
1456
- var UInt32Mask = 0x100000000;
1457
- var MaxUInt32 = 0xffffffff;
1458
- var _mwcSeeded = false;
1459
- var _mwcW = 123456789;
1460
- var _mwcZ = 987654321;
1461
- function _mwcSeed(seedValue) {
1462
- if (seedValue < 0) {
1463
- seedValue >>>= 0;
1464
- }
1465
- _mwcW = (123456789 + seedValue) & MaxUInt32;
1466
- _mwcZ = (987654321 - seedValue) & MaxUInt32;
1467
- _mwcSeeded = true;
1468
- }
1469
- function _autoSeedMwc() {
1470
- try {
1471
- var now = dateNow() & 0x7fffffff;
1472
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1473
- }
1474
- catch (e) {
1475
- }
1476
- }
1477
- function random32(signed) {
1478
- var value = 0;
1479
- var c = getCrypto() || getMsCrypto();
1480
- if (c && c.getRandomValues) {
1481
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1482
- }
1483
- if (value === 0 && isIE()) {
1484
- if (!_mwcSeeded) {
1485
- _autoSeedMwc();
1486
- }
1487
- value = mwcRandom32() & MaxUInt32;
1488
- }
1489
- if (value === 0) {
1490
- value = Math.floor((UInt32Mask * Math.random()) | 0);
1491
- }
1492
- if (!signed) {
1493
- value >>>= 0;
1494
- }
1495
- return value;
1496
- }
1497
- function mwcRandom32(signed) {
1498
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1499
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1500
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1501
- if (!signed) {
1502
- value >>>= 0;
1503
- }
1504
- return value;
1505
- }
1506
- function newId(maxLength) {
1507
- if (maxLength === void 0) { maxLength = 22; }
1508
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1509
- var number = random32() >>> 0;
1510
- var chars = 0;
1511
- var result = STR_EMPTY;
1512
- while (result[_DYN_LENGTH$2 ] < maxLength) {
1513
- chars++;
1514
- result += base64chars.charAt(number & 0x3F);
1515
- number >>>= 6;
1516
- if (chars === 5) {
1517
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1518
- chars = 0;
1519
- }
1520
- }
1521
- return result;
1522
- }
1523
-
1524
- var _objDefineProperty = ObjDefineProperty;
1525
- var version = "3.0.0-beta.2210-01";
1526
- var instanceName = "." + newId(6);
1527
- var _dataUid = 0;
1528
- function _createAccessor(target, prop, value) {
1529
- if (_objDefineProperty) {
1530
- try {
1531
- _objDefineProperty(target, prop, {
1532
- value: value,
1533
- enumerable: false,
1534
- configurable: true
1535
- });
1536
- return true;
1537
- }
1538
- catch (e) {
1539
- }
1540
- }
1541
- return false;
1542
- }
1543
- function _canAcceptData(target) {
1544
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1545
- }
1546
- function _getCache(data, target) {
1547
- var theCache = target[data.id];
1548
- if (!theCache) {
1549
- theCache = {};
1550
- try {
1551
- if (_canAcceptData(target)) {
1552
- if (!_createAccessor(target, data.id, theCache)) {
1553
- target[data.id] = theCache;
1554
- }
1555
- }
1556
- }
1557
- catch (e) {
1558
- }
1559
- }
1560
- return theCache;
1561
- }
1562
- function createUniqueNamespace(name, includeVersion) {
1563
- if (includeVersion === void 0) { includeVersion = false; }
1564
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1565
- }
1566
- function createElmNodeData(name) {
1567
- var data = {
1568
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1569
- accept: function (target) {
1570
- return _canAcceptData(target);
1571
- },
1572
- get: function (target, name, defValue, addDefault) {
1573
- var theCache = target[data.id];
1574
- if (!theCache) {
1575
- if (addDefault) {
1576
- theCache = _getCache(data, target);
1577
- theCache[normalizeJsName(name)] = defValue;
1578
- }
1579
- return defValue;
1580
- }
1581
- return theCache[normalizeJsName(name)];
1582
- },
1583
- kill: function (target, name) {
1584
- if (target && target[name]) {
1585
- try {
1586
- delete target[name];
1587
- }
1588
- catch (e) {
1589
- }
1590
- }
1591
- }
1592
- };
1593
- return data;
1594
- }
1595
-
1596
2093
  var INVALID_TRACE_ID = "00000000000000000000000000000000";
1597
2094
  var INVALID_SPAN_ID = "0000000000000000";
1598
2095
  function _isValid(value, len, invalidValue) {
1599
2096
  if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
1600
- return !!value.match(/^[\da-f]*$/);
2097
+ return !!value.match(/^[\da-f]*$/i);
1601
2098
  }
1602
2099
  return false;
1603
2100
  }
@@ -1620,9 +2117,7 @@
1620
2117
  while (proxy) {
1621
2118
  var thePlugin = proxy[_DYN_GET_PLUGIN ]();
1622
2119
  if (thePlugin) {
1623
- if (lastPlugin &&
1624
- isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN ]) &&
1625
- isFunction(thePlugin[STR_PROCESS_TELEMETRY ])) {
2120
+ if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN ] && thePlugin[STR_PROCESS_TELEMETRY ]) {
1626
2121
  lastPlugin[_DYN_SET_NEXT_PLUGIN ](thePlugin);
1627
2122
  }
1628
2123
  var isInitialized = false;
@@ -1641,7 +2136,7 @@
1641
2136
  }
1642
2137
  }
1643
2138
  arrForEach(initPlugins, function (thePlugin) {
1644
- var core = processContext[STR_CORE]();
2139
+ var core = processContext[STR_CORE ]();
1645
2140
  thePlugin[_DYN_INITIALIZE$1 ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
1646
2141
  pluginState = _getPluginState(thePlugin);
1647
2142
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
@@ -1655,8 +2150,8 @@
1655
2150
  return plugins.sort(function (extA, extB) {
1656
2151
  var result = 0;
1657
2152
  if (extB) {
1658
- var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);
1659
- if (isFunction(extA[STR_PROCESS_TELEMETRY])) {
2153
+ var bHasProcess = extB[STR_PROCESS_TELEMETRY];
2154
+ if (extA[STR_PROCESS_TELEMETRY]) {
1660
2155
  result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;
1661
2156
  }
1662
2157
  else if (bHasProcess) {
@@ -1720,9 +2215,12 @@
1720
2215
  }
1721
2216
  return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
1722
2217
  }
1723
- function _createInternalContext(telemetryChain, config, core, startAt) {
2218
+ function _createInternalContext(telemetryChain, dynamicConfig, core, startAt) {
1724
2219
  var _nextProxy = null;
1725
2220
  var _onComplete = [];
2221
+ if (!dynamicConfig) {
2222
+ dynamicConfig = createDynamicConfig({}, null, core[_DYN_LOGGER ]);
2223
+ }
1726
2224
  if (startAt !== null) {
1727
2225
  _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1728
2226
  }
@@ -1733,12 +2231,12 @@
1733
2231
  return core;
1734
2232
  },
1735
2233
  diagLog: function () {
1736
- return safeGetLogger(core, config);
2234
+ return safeGetLogger(core, dynamicConfig.cfg);
1737
2235
  },
1738
2236
  getCfg: function () {
1739
- return config;
2237
+ return dynamicConfig.cfg;
1740
2238
  },
1741
- getExtCfg: _getExtCfg,
2239
+ getExtCfg: _resolveExtCfg,
1742
2240
  getConfig: _getConfig,
1743
2241
  hasNext: function () {
1744
2242
  return !!_nextProxy;
@@ -1785,48 +2283,51 @@
1785
2283
  }
1786
2284
  return nextProxy;
1787
2285
  }
1788
- function _getExtCfg(identifier, defaultValue, mergeDefault) {
1789
- if (defaultValue === void 0) { defaultValue = {}; }
1790
- if (mergeDefault === void 0) { mergeDefault = 0 ; }
1791
- var theConfig;
1792
- if (config) {
1793
- var extConfig = config[STR_EXTENSION_CONFIG ];
1794
- if (extConfig && identifier) {
1795
- theConfig = extConfig[identifier];
1796
- }
1797
- }
1798
- if (!theConfig) {
1799
- theConfig = defaultValue;
1800
- }
1801
- else if (isObject(defaultValue)) {
1802
- if (mergeDefault !== 0 ) {
1803
- var newConfig_1 = objExtend(true, defaultValue, theConfig);
1804
- if (config && mergeDefault === 2 ) {
1805
- objForEachKey(defaultValue, function (field) {
1806
- if (isNullOrUndefined(newConfig_1[field])) {
1807
- var cfgValue = config[field];
1808
- if (!isNullOrUndefined(cfgValue)) {
1809
- newConfig_1[field] = cfgValue;
1810
- }
1811
- }
1812
- });
2286
+ function _getExtCfg(identifier, createIfMissing) {
2287
+ var idCfg = null;
2288
+ if (dynamicConfig.cfg && identifier) {
2289
+ var extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
2290
+ if (!extCfg && createIfMissing) {
2291
+ dynamicConfig.set(dynamicConfig.cfg, "extensionConfig", {});
2292
+ extCfg = dynamicConfig.cfg[STR_EXTENSION_CONFIG ];
2293
+ }
2294
+ if (extCfg) {
2295
+ idCfg = extCfg[identifier];
2296
+ if (!idCfg && createIfMissing) {
2297
+ dynamicConfig.set(extCfg, identifier, {});
2298
+ idCfg = extCfg[identifier];
1813
2299
  }
1814
- theConfig = newConfig_1;
1815
2300
  }
1816
2301
  }
1817
- return theConfig;
2302
+ return idCfg;
2303
+ }
2304
+ function _resolveExtCfg(identifier, defaultValues) {
2305
+ var newConfig = _getExtCfg(identifier, true);
2306
+ if (defaultValues) {
2307
+ objForEachKey(defaultValues, function (field, defaultValue) {
2308
+ if (isNullOrUndefined(newConfig[field])) {
2309
+ var cfgValue = dynamicConfig.cfg[field];
2310
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
2311
+ newConfig[field] = cfgValue;
2312
+ }
2313
+ }
2314
+ _applyDefaultValue(newConfig, field, defaultValue);
2315
+ });
2316
+ }
2317
+ return applyDefaults(newConfig, defaultValues);
1818
2318
  }
1819
2319
  function _getConfig(identifier, field, defaultValue) {
1820
2320
  if (defaultValue === void 0) { defaultValue = false; }
1821
2321
  var theValue;
1822
- var extConfig = _getExtCfg(identifier, null);
1823
- if (extConfig && !isNullOrUndefined(extConfig[field])) {
2322
+ var extConfig = _getExtCfg(identifier, false);
2323
+ var rootConfig = dynamicConfig.cfg;
2324
+ if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {
1824
2325
  theValue = extConfig[field];
1825
2326
  }
1826
- else if (config && !isNullOrUndefined(config[field])) {
1827
- theValue = config[field];
2327
+ else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {
2328
+ theValue = rootConfig[field];
1828
2329
  }
1829
- return !isNullOrUndefined(theValue) ? theValue : defaultValue;
2330
+ return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;
1830
2331
  }
1831
2332
  function _iterateChain(cb) {
1832
2333
  var nextPlugin;
@@ -1839,27 +2340,30 @@
1839
2340
  }
1840
2341
  return context;
1841
2342
  }
1842
- function createProcessTelemetryContext(telemetryChain, config, core, startAt) {
2343
+ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
2344
+ var config = createDynamicConfig(cfg);
1843
2345
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1844
2346
  var context = internalContext.ctx;
1845
2347
  function _processNext(env) {
1846
2348
  var nextPlugin = internalContext._next();
1847
- nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2349
+ if (nextPlugin) {
2350
+ nextPlugin[STR_PROCESS_TELEMETRY ](env, context);
2351
+ }
1848
2352
  return !nextPlugin;
1849
2353
  }
1850
2354
  function _createNew(plugins, startAt) {
1851
2355
  if (plugins === void 0) { plugins = null; }
1852
2356
  if (isArray(plugins)) {
1853
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2357
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1854
2358
  }
1855
- return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config, core, startAt);
2359
+ return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT ](), config.cfg, core, startAt);
1856
2360
  }
1857
2361
  context[_DYN_PROCESS_NEXT ] = _processNext;
1858
2362
  context[_DYN_CREATE_NEW ] = _createNew;
1859
2363
  return context;
1860
2364
  }
1861
2365
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
1862
- var config = core[_DYN_CONFIG ] || {};
2366
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
1863
2367
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1864
2368
  var context = internalContext.ctx;
1865
2369
  function _processNext(unloadState) {
@@ -1870,7 +2374,7 @@
1870
2374
  function _createNew(plugins, startAt) {
1871
2375
  if (plugins === void 0) { plugins = null; }
1872
2376
  if (isArray(plugins)) {
1873
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2377
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1874
2378
  }
1875
2379
  return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1876
2380
  }
@@ -1879,7 +2383,7 @@
1879
2383
  return context;
1880
2384
  }
1881
2385
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
1882
- var config = core[_DYN_CONFIG ] || {};
2386
+ var config = createDynamicConfig(core[_DYN_CONFIG ]);
1883
2387
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
1884
2388
  var context = internalContext.ctx;
1885
2389
  function _processNext(updateState) {
@@ -1892,7 +2396,7 @@
1892
2396
  function _createNew(plugins, startAt) {
1893
2397
  if (plugins === void 0) { plugins = null; }
1894
2398
  if (isArray(plugins)) {
1895
- plugins = createTelemetryProxyChain(plugins, config, core, startAt);
2399
+ plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);
1896
2400
  }
1897
2401
  return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT ](), core, startAt);
1898
2402
  }
@@ -2251,11 +2755,11 @@
2251
2755
  return channelQueue;
2252
2756
  }
2253
2757
 
2758
+ var _a$3, _b$1;
2254
2759
  var strToGMTString = "toGMTString";
2255
2760
  var strToUTCString = "toUTCString";
2256
2761
  var strCookie = "cookie";
2257
2762
  var strExpires = "expires";
2258
- var strEnabled = "enabled";
2259
2763
  var strIsCookieUseDisabled = "isCookieUseDisabled";
2260
2764
  var strDisableCookiesUsage = "disableCookiesUsage";
2261
2765
  var strConfigCookieMgr = "_ckMgr";
@@ -2265,28 +2769,24 @@
2265
2769
  var _doc = getDocument();
2266
2770
  var _cookieCache = {};
2267
2771
  var _globalCookieConfig = {};
2772
+ var defaultConfig$1 = objDeepFreeze((_a$3 = {},
2773
+ _a$3[STR_DOMAIN] = { fb: "cookieDomain", dfVal: isNotNullOrUndefined },
2774
+ _a$3.path = { fb: "cookiePath", dfVal: isNotNullOrUndefined },
2775
+ _a$3.enabled = UNDEFINED_VALUE$1,
2776
+ _a$3));
2777
+ var rootDefaultConfig = (_b$1 = {
2778
+ cookieCfg: {},
2779
+ cookieDomain: UNDEFINED_VALUE$1,
2780
+ cookiePath: UNDEFINED_VALUE$1
2781
+ },
2782
+ _b$1[strDisableCookiesUsage] = UNDEFINED_VALUE$1,
2783
+ _b$1);
2268
2784
  function _isMgrEnabled(cookieMgr) {
2269
2785
  if (cookieMgr) {
2270
2786
  return cookieMgr.isEnabled();
2271
2787
  }
2272
2788
  return true;
2273
2789
  }
2274
- function _createCookieMgrConfig(rootConfig) {
2275
- var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
2276
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
2277
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
2278
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
2279
- var cookieEnabled = void 0;
2280
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2281
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2282
- }
2283
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2284
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
2285
- }
2286
- cookieMgrCfg[strEnabled] = cookieEnabled;
2287
- }
2288
- return cookieMgrCfg;
2289
- }
2290
2790
  function _isIgnoredCookie(cookieMgrCfg, name) {
2291
2791
  if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
2292
2792
  return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF$1 ](name) !== -1;
@@ -2302,10 +2802,35 @@
2302
2802
  return _isIgnoredCookie(cookieMgrCfg, name);
2303
2803
  }
2304
2804
  function createCookieMgr(rootConfig, logger) {
2305
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
2306
- var _path = cookieMgrConfig.path || "/";
2307
- var _domain = cookieMgrConfig.domain;
2308
- var _enabled = cookieMgrConfig[strEnabled] !== false;
2805
+ var cookieMgrConfig;
2806
+ var _path;
2807
+ var _domain;
2808
+ var _enabled;
2809
+ var _getCookieFn;
2810
+ var _setCookieFn;
2811
+ var _delCookieFn;
2812
+ rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2813
+ onConfigChange(rootConfig, function (details) {
2814
+ applyDefaults(details.cfg, rootDefaultConfig);
2815
+ cookieMgrConfig = applyDefaults(details.cfg.cookieCfg, defaultConfig$1);
2816
+ var isEnabled = cookieMgrConfig.enabled;
2817
+ if (isNullOrUndefined(isEnabled)) {
2818
+ var cookieEnabled = void 0;
2819
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
2820
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
2821
+ }
2822
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2823
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
2824
+ }
2825
+ isEnabled = cookieEnabled;
2826
+ }
2827
+ _path = cookieMgrConfig[STR_PATH ] || "/";
2828
+ _domain = cookieMgrConfig[STR_DOMAIN ];
2829
+ _enabled = isEnabled !== false;
2830
+ _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
2831
+ _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2832
+ _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
2833
+ }, logger);
2309
2834
  var cookieMgr = {
2310
2835
  isEnabled: function () {
2311
2836
  var enabled = _enabled && areCookiesSupported(logger);
@@ -2328,7 +2853,7 @@
2328
2853
  theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
2329
2854
  values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
2330
2855
  }
2331
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
2856
+ setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2332
2857
  if (!isNullOrUndefined(maxAgeSec)) {
2333
2858
  var _isIE = isIE();
2334
2859
  if (isUndefined(values[strExpires])) {
@@ -2354,9 +2879,8 @@
2354
2879
  setValue(values, "SameSite", "None", null, isUndefined);
2355
2880
  }
2356
2881
  }
2357
- setValue(values, "path", path || _path, null, isUndefined);
2358
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2359
- setCookieFn(name, _formatCookieValue(theValue, values));
2882
+ setValue(values, STR_PATH, path || _path, null, isUndefined);
2883
+ _setCookieFn(name, _formatCookieValue(theValue, values));
2360
2884
  result = true;
2361
2885
  }
2362
2886
  return result;
@@ -2364,7 +2888,7 @@
2364
2888
  get: function (name) {
2365
2889
  var value = STR_EMPTY;
2366
2890
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2367
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2891
+ value = _getCookieFn(name);
2368
2892
  }
2369
2893
  return value;
2370
2894
  },
@@ -2380,14 +2904,13 @@
2380
2904
  var result = false;
2381
2905
  if (areCookiesSupported(logger)) {
2382
2906
  var values = (_a = {},
2383
- _a["path"] = path ? path : "/",
2907
+ _a[STR_PATH] = path ? path : "/",
2384
2908
  _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2385
2909
  _a);
2386
2910
  if (!isIE()) {
2387
2911
  values["max-age"] = "0";
2388
2912
  }
2389
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
2390
- delCookie(name, _formatCookieValue(STR_EMPTY, values));
2913
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
2391
2914
  result = true;
2392
2915
  }
2393
2916
  return result;
@@ -2436,7 +2959,7 @@
2436
2959
  }
2437
2960
  function _formatCookieValue(value, values) {
2438
2961
  var cookieValue = value || STR_EMPTY;
2439
- objForEachKey(values, function (name, theValue) {
2962
+ objForEachKey$1(values, function (name, theValue) {
2440
2963
  cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
2441
2964
  });
2442
2965
  return cookieValue;
@@ -2480,8 +3003,81 @@
2480
3003
  if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
2481
3004
  return true;
2482
3005
  }
2483
- return false;
2484
- }
3006
+ return false;
3007
+ }
3008
+
3009
+ var defaultValues$1 = {
3010
+ perfEvtsSendAll: false
3011
+ };
3012
+ function _runListeners(listeners, name, isAsync, callback) {
3013
+ arrForEach(listeners, function (listener) {
3014
+ if (listener && listener[name]) {
3015
+ if (isAsync) {
3016
+ setTimeout(function () { return callback(listener); }, 0);
3017
+ }
3018
+ else {
3019
+ try {
3020
+ callback(listener);
3021
+ }
3022
+ catch (e) {
3023
+ }
3024
+ }
3025
+ }
3026
+ });
3027
+ }
3028
+ var NotificationManager = /** @class */ (function () {
3029
+ function NotificationManager(config) {
3030
+ this.listeners = [];
3031
+ var perfEvtsSendAll;
3032
+ var cfgHandler = createDynamicConfig(config, defaultValues$1);
3033
+ cfgHandler[_DYN_WATCH ](function (details) {
3034
+ perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
3035
+ });
3036
+ dynamicProto(NotificationManager, this, function (_self) {
3037
+ _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3038
+ _self.listeners[_DYN_PUSH$1 ](listener);
3039
+ };
3040
+ _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3041
+ var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3042
+ while (index > -1) {
3043
+ _self.listeners[_DYN_SPLICE ](index, 1);
3044
+ index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3045
+ }
3046
+ };
3047
+ _self[STR_EVENTS_SENT ] = function (events) {
3048
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3049
+ listener[STR_EVENTS_SENT ](events);
3050
+ });
3051
+ };
3052
+ _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3053
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3054
+ listener[STR_EVENTS_DISCARDED ](events, reason);
3055
+ });
3056
+ };
3057
+ _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3058
+ _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3059
+ listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3060
+ });
3061
+ };
3062
+ _self[STR_PERF_EVENT ] = function (perfEvent) {
3063
+ if (perfEvent) {
3064
+ if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3065
+ _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3066
+ if (perfEvent[_DYN_IS_ASYNC ]) {
3067
+ setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3068
+ }
3069
+ else {
3070
+ listener[STR_PERF_EVENT ](perfEvent);
3071
+ }
3072
+ });
3073
+ }
3074
+ }
3075
+ };
3076
+ });
3077
+ }
3078
+ NotificationManager.__ieDyn=1;
3079
+ return NotificationManager;
3080
+ }());
2485
3081
 
2486
3082
  function createUnloadHandlerContainer() {
2487
3083
  var handlers = [];
@@ -2507,7 +3103,11 @@
2507
3103
  };
2508
3104
  }
2509
3105
 
3106
+ var _a$2;
2510
3107
  var strGetPlugin = "getPlugin";
3108
+ var defaultValues = (_a$2 = {},
3109
+ _a$2[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: [] },
3110
+ _a$2);
2511
3111
  var BaseTelemetryPlugin = /** @class */ (function () {
2512
3112
  function BaseTelemetryPlugin() {
2513
3113
  var _self = this;
@@ -2543,7 +3143,12 @@
2543
3143
  var oldHooks = _hooks;
2544
3144
  _hooks = [];
2545
3145
  arrForEach(oldHooks, function (fn) {
2546
- fn.rm();
3146
+ try {
3147
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
3148
+ }
3149
+ catch (e) {
3150
+ _throwInternal(theUnloadCtx[_DYN_DIAG_LOG$1 ](), 2 , 73 , "Unloading:" + dumpObj(e));
3151
+ }
2547
3152
  });
2548
3153
  if (result === true) {
2549
3154
  theUnloadCtx[_DYN_PROCESS_NEXT ](theUnloadState);
@@ -2586,12 +3191,7 @@
2586
3191
  };
2587
3192
  _self._addHook = function (hooks) {
2588
3193
  if (hooks) {
2589
- if (isArray(hooks)) {
2590
- _hooks = _hooks.concat(hooks);
2591
- }
2592
- else {
2593
- _hooks[_DYN_PUSH$1 ](hooks);
2594
- }
3194
+ arrAppend(_hooks, hooks);
2595
3195
  }
2596
3196
  };
2597
3197
  proxyFunctionAs(_self, "_addUnloadCb", function () { return _unloadHandlerContainer; }, "add");
@@ -2632,9 +3232,7 @@
2632
3232
  return itemCtx;
2633
3233
  }
2634
3234
  function _setDefaults(config, core, pluginChain) {
2635
- if (config) {
2636
- setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2637
- }
3235
+ createDynamicConfig(config, defaultValues, core[_DYN_LOGGER ]);
2638
3236
  if (!pluginChain && core) {
2639
3237
  pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2640
3238
  }
@@ -2699,7 +3297,7 @@
2699
3297
  }
2700
3298
  }
2701
3299
  catch (e) {
2702
- _throwInternal(itemCtx[_DYN_DIAG_LOG$1 ](), 1 , 64 , "One of telemetry initializers failed, telemetry item will not be sent: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3300
+ _throwInternal(itemCtx[_DYN_DIAG_LOG$1 ](), 2 , 64 , "Telemetry initializer failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
2703
3301
  }
2704
3302
  }
2705
3303
  }
@@ -2721,13 +3319,21 @@
2721
3319
  return TelemetryInitializerPlugin;
2722
3320
  }(BaseTelemetryPlugin));
2723
3321
 
3322
+ var _a$1;
2724
3323
  var strValidationError = "Plugins must provide initialize method";
2725
3324
  var strNotificationManager = "_notificationManager";
2726
3325
  var strSdkUnloadingError = "SDK is still unloading...";
2727
3326
  var strSdkNotInitialized = "SDK is not initialized";
2728
- var defaultInitConfig = {
2729
- loggingLevelConsole: 1
2730
- };
3327
+ var defaultConfig = objDeepFreeze((_a$1 = {
3328
+ cookieCfg: {}
3329
+ },
3330
+ _a$1[STR_EXTENSIONS] = [],
3331
+ _a$1[STR_CHANNELS] = [],
3332
+ _a$1[STR_EXTENSION_CONFIG] = {},
3333
+ _a$1[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE$1,
3334
+ _a$1.loggingLevelConsole = 0 ,
3335
+ _a$1.diagnosticLogInterval = UNDEFINED_VALUE$1,
3336
+ _a$1));
2731
3337
  function _createPerfManager(core, notificationMgr) {
2732
3338
  return new PerfManager(notificationMgr);
2733
3339
  }
@@ -2769,19 +3375,63 @@
2769
3375
  });
2770
3376
  return exists;
2771
3377
  }
2772
- function _createDummyNotificationManager() {
2773
- var _a;
2774
- return objCreateFn((_a = {},
2775
- _a[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) { },
2776
- _a[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) { },
2777
- _a[STR_EVENTS_SENT ] = function (events) { },
2778
- _a[STR_EVENTS_DISCARDED ] = function (events, reason) { },
2779
- _a[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) { },
2780
- _a));
2781
- }
2782
- var BaseCore = /** @class */ (function () {
2783
- function BaseCore() {
2784
- var _config;
3378
+ function _deepMergeConfig(details, target, newValues, merge) {
3379
+ if (newValues) {
3380
+ objForEachKey(newValues, function (key, value) {
3381
+ if (merge) {
3382
+ if (isPlainObject(value) && isPlainObject(target[key])) {
3383
+ _deepMergeConfig(details, target[key], value, merge);
3384
+ }
3385
+ }
3386
+ if (merge && isPlainObject(value) && isPlainObject(target[key])) {
3387
+ _deepMergeConfig(details, target[key], value, merge);
3388
+ }
3389
+ else {
3390
+ details.hdlr.set(target, key, value);
3391
+ }
3392
+ });
3393
+ }
3394
+ }
3395
+ function _findWatcher(listeners, newWatcher) {
3396
+ var theListener = null;
3397
+ var idx = -1;
3398
+ arrForEach(listeners, function (listener, lp) {
3399
+ if (listener.w === newWatcher) {
3400
+ theListener = listener;
3401
+ idx = lp;
3402
+ return -1;
3403
+ }
3404
+ });
3405
+ return { i: idx, l: theListener };
3406
+ }
3407
+ function _addDelayedCfgListener(listeners, newWatcher) {
3408
+ var theListener = _findWatcher(listeners, newWatcher).l;
3409
+ if (!theListener) {
3410
+ theListener = {
3411
+ w: newWatcher,
3412
+ rm: function () {
3413
+ var fnd = _findWatcher(listeners, newWatcher);
3414
+ if (fnd.i !== -1) {
3415
+ listeners[_DYN_SPLICE ](fnd.i, 1);
3416
+ }
3417
+ }
3418
+ };
3419
+ listeners[_DYN_PUSH$1 ](theListener);
3420
+ }
3421
+ return theListener;
3422
+ }
3423
+ function _registerDelayedCfgListener(config, listeners, logger) {
3424
+ arrForEach(listeners, function (listener) {
3425
+ var unloadHdl = onConfigChange(config, listener.w, logger);
3426
+ delete listener.w;
3427
+ listener.rm = function () {
3428
+ unloadHdl.rm();
3429
+ };
3430
+ });
3431
+ }
3432
+ var AppInsightsCore = /** @class */ (function () {
3433
+ function AppInsightsCore() {
3434
+ var _configHandler;
2785
3435
  var _isInitialized;
2786
3436
  var _eventQueue;
2787
3437
  var _notificationManager;
@@ -2799,10 +3449,13 @@
2799
3449
  var _internalLogsEventName;
2800
3450
  var _evtNamespace;
2801
3451
  var _unloadHandlers;
3452
+ var _hooks;
2802
3453
  var _debugListener;
2803
3454
  var _traceCtx;
3455
+ var _instrumentationKey;
3456
+ var _cfgListeners;
2804
3457
  var _internalLogPoller = 0;
2805
- dynamicProto(BaseCore, this, function (_self) {
3458
+ dynamicProto(AppInsightsCore, this, function (_self) {
2806
3459
  _initDefaults();
2807
3460
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
2808
3461
  _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
@@ -2810,29 +3463,33 @@
2810
3463
  throwError(strSdkUnloadingError);
2811
3464
  }
2812
3465
  if (_self[_DYN_IS_INITIALIZED ]()) {
2813
- throwError("Core should not be initialized more than once");
2814
- }
2815
- _config = config || {};
2816
- _self[_DYN_CONFIG ] = _config;
2817
- if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY$1 ])) {
2818
- throwError("Please provide instrumentation key");
2819
- }
3466
+ throwError("Core cannot be initialized more than once");
3467
+ }
3468
+ _configHandler = createDynamicConfig(config, defaultConfig, logger || _self[_DYN_LOGGER ], false);
3469
+ config = _configHandler.cfg;
3470
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3471
+ _instrumentationKey = details.cfg.instrumentationKey;
3472
+ if (isNullOrUndefined(_instrumentationKey)) {
3473
+ throwError("Please provide instrumentation key");
3474
+ }
3475
+ }));
2820
3476
  _notificationManager = notificationManager;
2821
3477
  _self[strNotificationManager] = notificationManager;
2822
3478
  _initDebugListener();
2823
3479
  _initPerfManager();
2824
3480
  _initExtConfig();
2825
- if (logger) {
2826
- _self[_DYN_LOGGER ] = logger;
2827
- }
2828
- var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);
3481
+ _self[_DYN_LOGGER ] = logger || new DiagnosticLogger(config);
3482
+ _configHandler[_DYN_LOGGER ] = _self[_DYN_LOGGER ];
3483
+ var cfgExtensions = config[STR_EXTENSIONS ];
2829
3484
  _configExtensions = [];
2830
3485
  _configExtensions[_DYN_PUSH$1 ].apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), cfgExtensions));
2831
- _channelConfig = getSetValue(_config, STR_CHANNELS, []);
3486
+ _channelConfig = config[STR_CHANNELS ];
2832
3487
  _initPluginChain(null);
2833
3488
  if (!_channelQueue || _channelQueue[_DYN_LENGTH$2 ] === 0) {
2834
3489
  throwError("No " + STR_CHANNELS + " available");
2835
3490
  }
3491
+ _registerDelayedCfgListener(config, _cfgListeners, _self[_DYN_LOGGER ]);
3492
+ _cfgListeners = null;
2836
3493
  _isInitialized = true;
2837
3494
  _self.releaseQueue();
2838
3495
  };
@@ -2846,21 +3503,33 @@
2846
3503
  return objFreeze(controls);
2847
3504
  };
2848
3505
  _self.track = function (telemetryItem) {
2849
- telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY$1 ];
2850
- telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
2851
- telemetryItem.ver = telemetryItem.ver || "4.0";
2852
- if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
2853
- _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
2854
- }
2855
- else {
2856
- _eventQueue[_DYN_PUSH$1 ](telemetryItem);
2857
- }
3506
+ doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3507
+ if (telemetryItem === null) {
3508
+ _notifyInvalidEvent(telemetryItem);
3509
+ throwError("Invalid telemetry item");
3510
+ }
3511
+ if (!telemetryItem[_DYN_NAME$2 ] && isNullOrUndefined(telemetryItem[_DYN_NAME$2 ])) {
3512
+ _notifyInvalidEvent(telemetryItem);
3513
+ throwError("telemetry name required");
3514
+ }
3515
+ telemetryItem.iKey = telemetryItem.iKey || _instrumentationKey;
3516
+ telemetryItem[_DYN_TIME ] = telemetryItem[_DYN_TIME ] || toISOString(new Date());
3517
+ telemetryItem.ver = telemetryItem.ver || "4.0";
3518
+ if (!_isUnloading && _self[_DYN_IS_INITIALIZED ]()) {
3519
+ _createTelCtx()[_DYN_PROCESS_NEXT ](telemetryItem);
3520
+ }
3521
+ else {
3522
+ _eventQueue[_DYN_PUSH$1 ](telemetryItem);
3523
+ }
3524
+ }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
2858
3525
  };
2859
3526
  _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
2860
3527
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
2861
3528
  if (!_notificationManager) {
2862
- _notificationManager = _createDummyNotificationManager();
2863
- _self[strNotificationManager] = _notificationManager;
3529
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3530
+ _notificationManager = new NotificationManager(details.cfg);
3531
+ _self[strNotificationManager] = _notificationManager;
3532
+ }));
2864
3533
  }
2865
3534
  return _notificationManager;
2866
3535
  };
@@ -2876,7 +3545,9 @@
2876
3545
  };
2877
3546
  _self.getCookieMgr = function () {
2878
3547
  if (!_cookieManager) {
2879
- _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER ]);
3548
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3549
+ _cookieManager = createCookieMgr(details.cfg, _self[_DYN_LOGGER ]);
3550
+ }));
2880
3551
  }
2881
3552
  return _cookieManager;
2882
3553
  };
@@ -2885,12 +3556,14 @@
2885
3556
  };
2886
3557
  _self[STR_GET_PERF_MGR ] = function () {
2887
3558
  if (!_perfManager && !_cfgPerfManager) {
2888
- if (getCfgValue(_config.enablePerfMgr)) {
2889
- var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR ]);
2890
- if (isFunction(createPerfMgr)) {
2891
- _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
3559
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3560
+ if (details.cfg.enablePerfMgr) {
3561
+ var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR ];
3562
+ if (isFunction(createPerfMgr)) {
3563
+ _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR ]());
3564
+ }
2892
3565
  }
2893
- }
3566
+ }));
2894
3567
  }
2895
3568
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
2896
3569
  };
@@ -2911,16 +3584,18 @@
2911
3584
  };
2912
3585
  _self.pollInternalLogs = function (eventName) {
2913
3586
  _internalLogsEventName = eventName || null;
2914
- var interval = getCfgValue(_config.diagnosticLogInterval);
2915
- if (!interval || !(interval > 0)) {
2916
- interval = 10000;
2917
- }
2918
- if (_internalLogPoller) {
2919
- clearInterval(_internalLogPoller);
2920
- }
2921
- _internalLogPoller = setInterval(function () {
2922
- _flushInternalLogs();
2923
- }, interval);
3587
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3588
+ var interval = details.cfg.diagnosticLogInterval;
3589
+ if (!interval || !(interval > 0)) {
3590
+ interval = 10000;
3591
+ }
3592
+ if (_internalLogPoller) {
3593
+ clearInterval(_internalLogPoller);
3594
+ }
3595
+ _internalLogPoller = setInterval(function () {
3596
+ _flushInternalLogs();
3597
+ }, interval);
3598
+ }));
2924
3599
  return _internalLogPoller;
2925
3600
  };
2926
3601
  _self[_DYN_STOP_POLLING_INTERNA3 ] = function () {
@@ -2948,6 +3623,16 @@
2948
3623
  _a);
2949
3624
  var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
2950
3625
  processUnloadCtx[_DYN_ON_COMPLETE ](function () {
3626
+ var oldHooks = _hooks;
3627
+ _hooks = [];
3628
+ arrForEach(oldHooks, function (fn) {
3629
+ try {
3630
+ (fn.rm || fn.remove)[_DYN_CALL ](fn);
3631
+ }
3632
+ catch (e) {
3633
+ _throwInternal(_self[_DYN_LOGGER ], 2 , 73 , "Unloading:" + dumpObj(e));
3634
+ }
3635
+ });
2951
3636
  _initDefaults();
2952
3637
  unloadComplete && unloadComplete(unloadState);
2953
3638
  }, _self);
@@ -3005,6 +3690,35 @@
3005
3690
  _addPlugin();
3006
3691
  }
3007
3692
  };
3693
+ _self.updateCfg = function (newConfig, mergeExisting) {
3694
+ if (mergeExisting === void 0) { mergeExisting = true; }
3695
+ var updateState = {
3696
+ reason: 1 ,
3697
+ cfg: _configHandler.cfg,
3698
+ oldCfg: deepExtend({}, _configHandler.cfg),
3699
+ newConfig: deepExtend({}, newConfig),
3700
+ merge: mergeExisting
3701
+ };
3702
+ newConfig = updateState.newConfig;
3703
+ var cfg = _configHandler.cfg;
3704
+ newConfig[STR_EXTENSIONS ] = cfg[STR_EXTENSIONS ];
3705
+ newConfig[STR_CHANNELS ] = cfg[STR_CHANNELS ];
3706
+ _configHandler._block(function (details) {
3707
+ var theConfig = details.cfg;
3708
+ _deepMergeConfig(details, theConfig, newConfig, mergeExisting);
3709
+ if (!mergeExisting) {
3710
+ objForEachKey(theConfig, function (key) {
3711
+ if (!objHasOwn(newConfig, key)) {
3712
+ details.hdlr.set(theConfig, key, UNDEFINED_VALUE$1);
3713
+ }
3714
+ });
3715
+ }
3716
+ applyDefaults(theConfig, defaultConfig);
3717
+ _initExtConfig();
3718
+ });
3719
+ _configHandler[_DYN_NOTIFY ]();
3720
+ _doUpdate(updateState);
3721
+ };
3008
3722
  _self.evtNamespace = function () {
3009
3723
  return _evtNamespace;
3010
3724
  };
@@ -3018,12 +3732,38 @@
3018
3732
  _self.setTraceCtx = function (traceCtx) {
3019
3733
  _traceCtx = traceCtx || null;
3020
3734
  };
3735
+ _self.addUnloadHook = _addUnloadHook;
3021
3736
  proxyFunctionAs(_self, "addUnloadCb", function () { return _unloadHandlers; }, "add");
3737
+ _self.onCfgChange = function (handler) {
3738
+ var unloadHook;
3739
+ if (!_isInitialized) {
3740
+ unloadHook = _addDelayedCfgListener(_cfgListeners, handler);
3741
+ }
3742
+ else {
3743
+ unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER ]);
3744
+ }
3745
+ return {
3746
+ rm: function () {
3747
+ unloadHook.rm();
3748
+ }
3749
+ };
3750
+ };
3022
3751
  function _initDefaults() {
3752
+ var _a;
3023
3753
  _isInitialized = false;
3024
- _config = objExtend(true, {}, defaultInitConfig);
3025
- _self[_DYN_CONFIG ] = _config;
3026
- _self[_DYN_LOGGER ] = new DiagnosticLogger(_config);
3754
+ _configHandler = createDynamicConfig({}, defaultConfig, _self[_DYN_LOGGER ]);
3755
+ _configHandler.cfg[_DYN_LOGGING_LEVEL_CONSOL4 ] = 1 ;
3756
+ objDefineProp(_self, "config", (_a = {},
3757
+ _a[_DYN_CONFIGURABLE ] = true,
3758
+ _a[_DYN_ENUMERABLE ] = true,
3759
+ _a.get = function () { return _configHandler.cfg; },
3760
+ _a.set = function (newValue) {
3761
+ if (_self[_DYN_IS_INITIALIZED ]()) {
3762
+ _self.updateCfg(newValue, false);
3763
+ }
3764
+ },
3765
+ _a));
3766
+ _self[_DYN_LOGGER ] = new DiagnosticLogger(_configHandler.cfg);
3027
3767
  _self[_DYN__EXTENSIONS ] = [];
3028
3768
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
3029
3769
  _eventQueue = [];
@@ -3042,9 +3782,12 @@
3042
3782
  _evtNamespace = createUniqueNamespace("AIBaseCore", true);
3043
3783
  _unloadHandlers = createUnloadHandlerContainer();
3044
3784
  _traceCtx = null;
3785
+ _instrumentationKey = null;
3786
+ _hooks = [];
3787
+ _cfgListeners = [];
3045
3788
  }
3046
3789
  function _createTelCtx() {
3047
- return createProcessTelemetryContext(_getPluginChain(), _config, _self);
3790
+ return createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
3048
3791
  }
3049
3792
  function _initPluginChain(updateState) {
3050
3793
  var theExtensions = _validateExtensions(_self[_DYN_LOGGER ], ChannelControllerPriority, _configExtensions);
@@ -3069,7 +3812,7 @@
3069
3812
  allExtensions[_DYN_PUSH$1 ](_channelControl);
3070
3813
  _coreExtensions[_DYN_PUSH$1 ](_channelControl);
3071
3814
  _self[_DYN__EXTENSIONS ] = sortPlugins(allExtensions);
3072
- _channelControl[_DYN_INITIALIZE$1 ](_config, _self, allExtensions);
3815
+ _channelControl[_DYN_INITIALIZE$1 ](_configHandler.cfg, _self, allExtensions);
3073
3816
  initializePlugins(_createTelCtx(), allExtensions);
3074
3817
  _self[_DYN__EXTENSIONS ] = objFreeze(sortPlugins(_coreExtensions || [])).slice();
3075
3818
  if (updateState) {
@@ -3127,13 +3870,13 @@
3127
3870
  if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {
3128
3871
  extensions[_DYN_PUSH$1 ](_telemetryInitializerPlugin);
3129
3872
  }
3130
- _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);
3873
+ _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _configHandler.cfg, _self);
3131
3874
  }
3132
3875
  return _pluginChain;
3133
3876
  }
3134
3877
  function _removePlugins(thePlugins, unloadState, removeComplete) {
3135
3878
  if (thePlugins && thePlugins[_DYN_LENGTH$2 ] > 0) {
3136
- var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);
3879
+ var unloadChain = createTelemetryProxyChain(thePlugins, _configHandler.cfg, _self);
3137
3880
  var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);
3138
3881
  unloadCtx[_DYN_ON_COMPLETE ](function () {
3139
3882
  var removed = false;
@@ -3178,7 +3921,7 @@
3178
3921
  var _a;
3179
3922
  var item = (_a = {},
3180
3923
  _a[_DYN_NAME$2 ] = _internalLogsEventName ? _internalLogsEventName : "InternalMessageId: " + logMessage[_DYN_MESSAGE_ID ],
3181
- _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY$1 ]),
3924
+ _a.iKey = _instrumentationKey,
3182
3925
  _a.time = toISOString(new Date()),
3183
3926
  _a.baseType = _InternalLogMessage.dataType,
3184
3927
  _a.baseData = { message: logMessage[_DYN_MESSAGE$1 ] },
@@ -3196,28 +3939,31 @@
3196
3939
  return true;
3197
3940
  }
3198
3941
  function _initDebugListener() {
3199
- var disableDbgExt = getCfgValue(_config.disableDbgExt);
3200
- if (disableDbgExt === true && _debugListener) {
3201
- _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
3202
- _debugListener = null;
3203
- }
3204
- if (_notificationManager && !_debugListener && disableDbgExt !== true) {
3205
- _debugListener = getDebugListener(_config);
3206
- _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
3207
- }
3942
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3943
+ var disableDbgExt = details.cfg.disableDbgExt;
3944
+ if (disableDbgExt === true && _debugListener) {
3945
+ _notificationManager[_DYN_REMOVE_NOTIFICATION_2 ](_debugListener);
3946
+ _debugListener = null;
3947
+ }
3948
+ if (_notificationManager && !_debugListener && disableDbgExt !== true) {
3949
+ _debugListener = getDebugListener(details.cfg);
3950
+ _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 ](_debugListener);
3951
+ }
3952
+ }));
3208
3953
  }
3209
3954
  function _initPerfManager() {
3210
- var enablePerfMgr = getCfgValue(_config.enablePerfMgr);
3211
- if (!enablePerfMgr && _cfgPerfManager) {
3212
- _cfgPerfManager = null;
3213
- }
3214
- if (enablePerfMgr) {
3215
- getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);
3216
- }
3955
+ _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3956
+ var enablePerfMgr = details.cfg.enablePerfMgr;
3957
+ if (!enablePerfMgr && _cfgPerfManager) {
3958
+ _cfgPerfManager = null;
3959
+ }
3960
+ if (enablePerfMgr) {
3961
+ getSetValue(details.cfg, STR_CREATE_PERF_MGR, _createPerfManager);
3962
+ }
3963
+ }));
3217
3964
  }
3218
3965
  function _initExtConfig() {
3219
- var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});
3220
- extConfig.NotificationManager = _notificationManager;
3966
+ _configHandler.cfg[STR_EXTENSION_CONFIG ].NotificationManager = _notificationManager;
3221
3967
  }
3222
3968
  function _doUpdate(updateState) {
3223
3969
  var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);
@@ -3234,114 +3980,22 @@
3234
3980
  throwError(message);
3235
3981
  }
3236
3982
  }
3237
- });
3238
- }
3239
- BaseCore.__ieDyn=1;
3240
- return BaseCore;
3241
- }());
3242
-
3243
- function _runListeners(listeners, name, isAsync, callback) {
3244
- arrForEach(listeners, function (listener) {
3245
- if (listener && listener[name]) {
3246
- if (isAsync) {
3247
- setTimeout(function () { return callback(listener); }, 0);
3248
- }
3249
- else {
3250
- try {
3251
- callback(listener);
3252
- }
3253
- catch (e) {
3254
- }
3255
- }
3256
- }
3257
- });
3258
- }
3259
- var NotificationManager = /** @class */ (function () {
3260
- function NotificationManager(config) {
3261
- this.listeners = [];
3262
- var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;
3263
- dynamicProto(NotificationManager, this, function (_self) {
3264
- _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
3265
- _self.listeners[_DYN_PUSH$1 ](listener);
3266
- };
3267
- _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
3268
- var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3269
- while (index > -1) {
3270
- _self.listeners[_DYN_SPLICE ](index, 1);
3271
- index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3272
- }
3273
- };
3274
- _self[STR_EVENTS_SENT ] = function (events) {
3275
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3276
- listener[STR_EVENTS_SENT ](events);
3277
- });
3278
- };
3279
- _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
3280
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3281
- listener[STR_EVENTS_DISCARDED ](events, reason);
3282
- });
3283
- };
3284
- _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
3285
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3286
- listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
3287
- });
3288
- };
3289
- _self[STR_PERF_EVENT ] = function (perfEvent) {
3290
- if (perfEvent) {
3291
- if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
3292
- _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3293
- if (perfEvent[_DYN_IS_ASYNC ]) {
3294
- setTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
3295
- }
3296
- else {
3297
- listener[STR_PERF_EVENT ](perfEvent);
3298
- }
3299
- });
3300
- }
3301
- }
3302
- };
3303
- });
3304
- }
3305
- NotificationManager.__ieDyn=1;
3306
- return NotificationManager;
3307
- }());
3308
-
3309
- var AppInsightsCore = /** @class */ (function (_super) {
3310
- __extendsFn(AppInsightsCore, _super);
3311
- function AppInsightsCore() {
3312
- var _this = _super.call(this) || this;
3313
- dynamicProto(AppInsightsCore, _this, function (_self, _base) {
3314
- _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
3315
- _base[_DYN_INITIALIZE$1 ](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
3316
- };
3317
- _self.track = function (telemetryItem) {
3318
- doPerf(_self[STR_GET_PERF_MGR ](), function () { return "AppInsightsCore:track"; }, function () {
3319
- if (telemetryItem === null) {
3320
- _notifyInvalidEvent(telemetryItem);
3321
- throwError("Invalid telemetry item");
3322
- }
3323
- _validateTelemetryItem(telemetryItem);
3324
- _base.track(telemetryItem);
3325
- }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));
3326
- };
3327
- function _validateTelemetryItem(telemetryItem) {
3328
- if (isNullOrUndefined(telemetryItem[_DYN_NAME$2 ])) {
3329
- _notifyInvalidEvent(telemetryItem);
3330
- throwError("telemetry name required");
3331
- }
3332
- }
3333
3983
  function _notifyInvalidEvent(telemetryItem) {
3334
3984
  var manager = _self[_DYN_GET_NOTIFY_MGR ]();
3335
3985
  if (manager) {
3336
3986
  manager[STR_EVENTS_DISCARDED ]([telemetryItem], 2 );
3337
3987
  }
3338
3988
  }
3989
+ function _addUnloadHook(hooks) {
3990
+ if (hooks) {
3991
+ arrAppend(_hooks, hooks);
3992
+ }
3993
+ }
3339
3994
  });
3340
- return _this;
3341
3995
  }
3342
3996
  AppInsightsCore.__ieDyn=1;
3343
3997
  return AppInsightsCore;
3344
- }(BaseCore));
3998
+ }());
3345
3999
 
3346
4000
  var strOnPrefix = "on";
3347
4001
  var strAttachEvent = "attachEvent";
@@ -3358,7 +4012,7 @@
3358
4012
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3359
4013
  function _normalizeNamespace(name) {
3360
4014
  if (name && name[_DYN_REPLACE ]) {
3361
- return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
4015
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
3362
4016
  }
3363
4017
  return name;
3364
4018
  }
@@ -3517,112 +4171,6 @@
3517
4171
  }
3518
4172
  }
3519
4173
 
3520
- var _a$1;
3521
- var FAILED = "Failed";
3522
- var FAILED_MONITOR_AJAX = FAILED + "MonitorAjax";
3523
- var TRACK = "Track";
3524
- var START = "Start";
3525
- var STOP = "Stop";
3526
- var EVENT = "Event";
3527
- var AUTH_CONTEXT = "AuthContext";
3528
- var EXCEPTION = "Exception";
3529
- var LOCAL = "Local";
3530
- var SESSION = "Session";
3531
- var STORAGE = "Storage";
3532
- var BROWSER = "Browser";
3533
- var CANNOT = "Cannot";
3534
- var BUFFER = "Buffer";
3535
- var INSTRUMENTATION_KEY = "InstrumentationKey";
3536
- createEnumStyle({
3537
- CRITICAL: 1 ,
3538
- WARNING: 2
3539
- });
3540
- var _InternalMessageId = createEnumStyle((_a$1 = {},
3541
- _a$1[BROWSER + "DoesNotSupport" + LOCAL + STORAGE] = 0 ,
3542
- _a$1[BROWSER + CANNOT + "Read" + LOCAL + STORAGE] = 1 ,
3543
- _a$1[BROWSER + CANNOT + "Read" + SESSION + STORAGE] = 2 ,
3544
- _a$1[BROWSER + CANNOT + "Write" + LOCAL + STORAGE] = 3 ,
3545
- _a$1[BROWSER + CANNOT + "Write" + SESSION + STORAGE] = 4 ,
3546
- _a$1[BROWSER + FAILED + "RemovalFrom" + LOCAL + STORAGE] = 5 ,
3547
- _a$1[BROWSER + FAILED + "RemovalFrom" + SESSION + STORAGE] = 6 ,
3548
- _a$1[CANNOT + "SendEmptyTelemetry"] = 7 ,
3549
- _a$1.ClientPerformanceMathError = 8 ,
3550
- _a$1["ErrorParsingAI" + SESSION + "Cookie"] = 9 ,
3551
- _a$1.ErrorPVCalc = 10 ,
3552
- _a$1[EXCEPTION + "WhileLoggingError"] = 11 ,
3553
- _a$1[FAILED + "AddingTelemetryTo" + BUFFER] = 12 ,
3554
- _a$1[FAILED_MONITOR_AJAX + "Abort"] = 13 ,
3555
- _a$1[FAILED_MONITOR_AJAX + "Dur"] = 14 ,
3556
- _a$1[FAILED_MONITOR_AJAX + "Open"] = 15 ,
3557
- _a$1[FAILED_MONITOR_AJAX + "RSC"] = 16 ,
3558
- _a$1[FAILED_MONITOR_AJAX + "Send"] = 17 ,
3559
- _a$1[FAILED_MONITOR_AJAX + "GetCorrelationHeader"] = 18 ,
3560
- _a$1[FAILED + "ToAddHandlerForOnBeforeUnload"] = 19 ,
3561
- _a$1[FAILED + "ToSendQueuedTelemetry"] = 20 ,
3562
- _a$1[FAILED + "ToReportDataLoss"] = 21 ,
3563
- _a$1["Flush" + FAILED] = 22 ,
3564
- _a$1.MessageLimitPerPVExceeded = 23 ,
3565
- _a$1.MissingRequiredFieldSpecification = 24 ,
3566
- _a$1.NavigationTimingNotSupported = 25 ,
3567
- _a$1.OnError = 26 ,
3568
- _a$1[SESSION + "RenewalDateIsZero"] = 27 ,
3569
- _a$1.SenderNotInitialized = 28 ,
3570
- _a$1[START + TRACK + EVENT + FAILED] = 29 ,
3571
- _a$1[STOP + TRACK + EVENT + FAILED] = 30 ,
3572
- _a$1[START + TRACK + FAILED] = 31 ,
3573
- _a$1[STOP + TRACK + FAILED] = 32 ,
3574
- _a$1.TelemetrySampledAndNotSent = 33 ,
3575
- _a$1[TRACK + EVENT + FAILED] = 34 ,
3576
- _a$1[TRACK + EXCEPTION + FAILED] = 35 ,
3577
- _a$1[TRACK + "Metric" + FAILED] = 36 ,
3578
- _a$1[TRACK + "PV" + FAILED] = 37 ,
3579
- _a$1[TRACK + "PV" + FAILED + "Calc"] = 38 ,
3580
- _a$1[TRACK + "Trace" + FAILED] = 39 ,
3581
- _a$1["Transmission" + FAILED] = 40 ,
3582
- _a$1[FAILED + "ToSet" + STORAGE + BUFFER] = 41 ,
3583
- _a$1[FAILED + "ToRestore" + STORAGE + BUFFER] = 42 ,
3584
- _a$1.InvalidBackendResponse = 43 ,
3585
- _a$1[FAILED + "ToFixDepricatedValues"] = 44 ,
3586
- _a$1.InvalidDurationValue = 45 ,
3587
- _a$1.TelemetryEnvelopeInvalid = 46 ,
3588
- _a$1.CreateEnvelopeError = 47 ,
3589
- _a$1[CANNOT + "SerializeObject"] = 48 ,
3590
- _a$1[CANNOT + "SerializeObjectNonSerializable"] = 49 ,
3591
- _a$1.CircularReferenceDetected = 50 ,
3592
- _a$1["Clear" + AUTH_CONTEXT + FAILED] = 51 ,
3593
- _a$1[EXCEPTION + "Truncated"] = 52 ,
3594
- _a$1.IllegalCharsInName = 53 ,
3595
- _a$1.ItemNotInArray = 54 ,
3596
- _a$1.MaxAjaxPerPVExceeded = 55 ,
3597
- _a$1.MessageTruncated = 56 ,
3598
- _a$1.NameTooLong = 57 ,
3599
- _a$1.SampleRateOutOfRange = 58 ,
3600
- _a$1["Set" + AUTH_CONTEXT + FAILED] = 59 ,
3601
- _a$1["Set" + AUTH_CONTEXT + FAILED + "AccountName"] = 60 ,
3602
- _a$1.StringValueTooLong = 61 ,
3603
- _a$1.StartCalledMoreThanOnce = 62 ,
3604
- _a$1.StopCalledWithoutStart = 63 ,
3605
- _a$1["TelemetryInitializer" + FAILED] = 64 ,
3606
- _a$1.TrackArgumentsNotSpecified = 65 ,
3607
- _a$1.UrlTooLong = 66 ,
3608
- _a$1[SESSION + STORAGE + BUFFER + "Full"] = 67 ,
3609
- _a$1[CANNOT + "AccessCookie"] = 68 ,
3610
- _a$1.IdTooLong = 69 ,
3611
- _a$1.InvalidEvent = 70 ,
3612
- _a$1[FAILED_MONITOR_AJAX + "SetRequestHeader"] = 71 ,
3613
- _a$1["Send" + BROWSER + "InfoOnUserInit"] = 72 ,
3614
- _a$1["Plugin" + EXCEPTION] = 73 ,
3615
- _a$1["Notification" + EXCEPTION] = 74 ,
3616
- _a$1.SnippetScriptLoadFailure = 99 ,
3617
- _a$1["Invalid" + INSTRUMENTATION_KEY] = 100 ,
3618
- _a$1[CANNOT + "ParseAiBlobValue"] = 101 ,
3619
- _a$1.InvalidContentBlob = 102 ,
3620
- _a$1[TRACK + "PageAction" + EVENT + FAILED] = 103 ,
3621
- _a$1[FAILED + "AddingCustomDefinedRequestContext"] = 104 ,
3622
- _a$1["InMemory" + STORAGE + BUFFER + "Full"] = 105 ,
3623
- _a$1[INSTRUMENTATION_KEY + "Deprecation"] = 106 ,
3624
- _a$1));
3625
-
3626
4174
  var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3627
4175
  var SampleRate = "sampleRate";
3628
4176
  var ProcessLegacy = "ProcessLegacy";
@@ -3738,7 +4286,7 @@
3738
4286
  function dataSanitizeProperties(logger, properties) {
3739
4287
  if (properties) {
3740
4288
  var tempProps_1 = {};
3741
- objForEachKey(properties, function (prop, value) {
4289
+ objForEachKey$1(properties, function (prop, value) {
3742
4290
  if (isObject(value) && hasJSON()) {
3743
4291
  try {
3744
4292
  value = getJSON()[_DYN_STRINGIFY$1 ](value);
@@ -3758,7 +4306,7 @@
3758
4306
  function dataSanitizeMeasurements(logger, measurements) {
3759
4307
  if (measurements) {
3760
4308
  var tempMeasurements_1 = {};
3761
- objForEachKey(measurements, function (measure, value) {
4309
+ objForEachKey$1(measurements, function (measure, value) {
3762
4310
  measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);
3763
4311
  tempMeasurements_1[measure] = value;
3764
4312
  });
@@ -3809,7 +4357,7 @@
3809
4357
  function urlParseHost(url, inclPort) {
3810
4358
  var fullHost = urlParseFullHost(url, inclPort) || "";
3811
4359
  if (fullHost) {
3812
- var match = fullHost.match(/(www[0-9]?\.)?(.[^/:]+)(\:[\d]+)?/i);
4360
+ var match = fullHost.match(/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
3813
4361
  if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
3814
4362
  return match[2] + (match[3] || "");
3815
4363
  }
@@ -3819,7 +4367,7 @@
3819
4367
  function urlParseFullHost(url, inclPort) {
3820
4368
  var result = null;
3821
4369
  if (url) {
3822
- var match = url.match(/(\w*):\/\/(.[^/:]+)(\:[\d]+)?/i);
4370
+ var match = url.match(/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
3823
4371
  if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
3824
4372
  result = match[2] || "";
3825
4373
  if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
@@ -4764,6 +5312,7 @@
4764
5312
  var _DYN_ON_LINE = "onLine";
4765
5313
  var _DYN_ENQUEUE = "enqueue";
4766
5314
  var _DYN_COUNT = "count";
5315
+ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
4767
5316
  var _DYN_PUSH = "push";
4768
5317
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
4769
5318
  var _DYN_CLEAR = "clear";
@@ -4774,36 +5323,31 @@
4774
5323
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4775
5324
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4776
5325
  var _DYN_NAME_PREFIX = "namePrefix";
4777
- var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
4778
5326
  var _DYN_TRIGGER_SEND = "triggerSend";
4779
5327
  var _DYN_DIAG_LOG = "diagLog";
5328
+ var _DYN__SENDER = "_sender";
5329
+ var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
4780
5330
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
4781
5331
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
4782
- var _DYN__SENDER = "_sender";
4783
- var _DYN__SENDER_CONFIG = "_senderConfig";
4784
5332
  var _DYN__BUFFER = "_buffer";
4785
5333
  var _DYN_ENABLE_SESSION_STORA4 = "enableSessionStorageBuffer";
4786
5334
  var _DYN_SAMPLING_PERCENTAGE = "samplingPercentage";
4787
5335
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4788
- var _DYN_ENDPOINT_URL = "endpointUrl";
4789
5336
  var _DYN_CUSTOM_HEADERS = "customHeaders";
4790
5337
  var _DYN_DISABLE_XHR = "disableXhr";
4791
5338
  var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
4792
- var _DYN_DISABLE_TELEMETRY = "disableTelemetry";
5339
+ var _DYN_CONVERT_UNDEFINED = "convertUndefined";
5340
+ var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4793
5341
  var _DYN_BASE_TYPE = "baseType";
4794
5342
  var _DYN_SAMPLE_RATE = "sampleRate";
4795
- var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4796
5343
  var _DYN__XHR_READY_STATE_CHA6 = "_xhrReadyStateChange";
4797
5344
  var _DYN__ON_ERROR = "_onError";
4798
5345
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
4799
5346
  var _DYN__ON_SUCCESS = "_onSuccess";
4800
5347
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
4801
5348
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
4802
- var _DYN_IS_RETRY_DISABLED = "isRetryDisabled";
4803
5349
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
4804
- var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4805
5350
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
4806
- var _DYN_DISABLE_INSTRUMENTAT7 = "disableInstrumentationKeyValidation";
4807
5351
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
4808
5352
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
4809
5353
 
@@ -4861,12 +5405,12 @@
4861
5405
  var tgs = {};
4862
5406
  for (var i = itmTags[_DYN_LENGTH ] - 1; i >= 0; i--) {
4863
5407
  var tg = itmTags[i];
4864
- objForEachKey(tg, function (key, value) {
5408
+ objForEachKey$1(tg, function (key, value) {
4865
5409
  tgs[key] = value;
4866
5410
  });
4867
5411
  itmTags.splice(i, 1);
4868
5412
  }
4869
- objForEachKey(itmTags, function (tg, value) {
5413
+ objForEachKey$1(itmTags, function (tg, value) {
4870
5414
  tgs[tg] = value;
4871
5415
  });
4872
5416
  var theTags = __assignFn(__assignFn({}, envTags), tgs);
@@ -4877,7 +5421,7 @@
4877
5421
  }
4878
5422
  function _extractPropsAndMeasurements(data, properties, measurements) {
4879
5423
  if (!isNullOrUndefined(data)) {
4880
- objForEachKey(data, function (key, value) {
5424
+ objForEachKey$1(data, function (key, value) {
4881
5425
  if (isNumber(value)) {
4882
5426
  measurements[key] = value;
4883
5427
  }
@@ -4892,7 +5436,7 @@
4892
5436
  }
4893
5437
  function _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {
4894
5438
  if (!isNullOrUndefined(properties)) {
4895
- objForEachKey(properties, function (key, value) {
5439
+ objForEachKey$1(properties, function (key, value) {
4896
5440
  properties[key] = value || customUndefinedValue;
4897
5441
  });
4898
5442
  }
@@ -4916,7 +5460,7 @@
4916
5460
  }
4917
5461
  }
4918
5462
  var EnvelopeCreator = {
4919
- Version: "3.0.0-beta.2210-01"
5463
+ Version: "3.0.0-beta.2210-02"
4920
5464
  };
4921
5465
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4922
5466
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5023,7 +5567,7 @@
5023
5567
  }
5024
5568
  if (!isNullOrUndefined(bd[strProperties])) {
5025
5569
  var pageTags = bd[strProperties];
5026
- objForEachKey(pageTags, function (key, value) {
5570
+ objForEachKey$1(pageTags, function (key, value) {
5027
5571
  properties[key] = value;
5028
5572
  });
5029
5573
  }
@@ -5154,7 +5698,7 @@
5154
5698
  };
5155
5699
  dynamicProto(BaseSendBuffer, this, function (_self) {
5156
5700
  _self[_DYN_ENQUEUE ] = function (payload) {
5157
- if (_self[_DYN_COUNT ]() >= config.eventsLimitInMem()) {
5701
+ if (_self[_DYN_COUNT ]() >= config[_DYN_EVENTS_LIMIT_IN_MEM ]) {
5158
5702
  if (!_bufferFullMessageSent) {
5159
5703
  _throwInternal(logger, 2 , 105 , "Maximum in-memory buffer size reached: " + _self[_DYN_COUNT ](), true);
5160
5704
  _bufferFullMessageSent = true;
@@ -5171,7 +5715,7 @@
5171
5715
  for (var lp = 0; lp < _buffer[_DYN_LENGTH ]; lp++) {
5172
5716
  size += _buffer[lp][_DYN_LENGTH ];
5173
5717
  }
5174
- if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]()) {
5718
+ if (!config[_DYN_EMIT_LINE_DELIMITED_0 ]) {
5175
5719
  size += 2;
5176
5720
  }
5177
5721
  return size;
@@ -5185,7 +5729,7 @@
5185
5729
  };
5186
5730
  _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
5187
5731
  if (payload && payload[_DYN_LENGTH ] > 0) {
5188
- var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ]() ?
5732
+ var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5189
5733
  payload.join("\n") :
5190
5734
  "[" + payload.join(",") + "]";
5191
5735
  return batch;
@@ -5273,7 +5817,7 @@
5273
5817
  function _getBuffer(key) {
5274
5818
  var prefixedKey = key;
5275
5819
  try {
5276
- prefixedKey = config[_DYN_NAME_PREFIX ] && config[_DYN_NAME_PREFIX ]() ? config[_DYN_NAME_PREFIX ]() + "_" + prefixedKey : prefixedKey;
5820
+ prefixedKey = config[_DYN_NAME_PREFIX ] ? config[_DYN_NAME_PREFIX ] + "_" + prefixedKey : prefixedKey;
5277
5821
  var bufferJson = utlGetSessionStorage(logger, prefixedKey);
5278
5822
  if (bufferJson) {
5279
5823
  var buffer_1 = getJSON().parse(bufferJson);
@@ -5293,7 +5837,7 @@
5293
5837
  function _setBuffer(key, buffer) {
5294
5838
  var prefixedKey = key;
5295
5839
  try {
5296
- prefixedKey = config[_DYN_NAME_PREFIX ] && config[_DYN_NAME_PREFIX ]() ? config[_DYN_NAME_PREFIX ]() + "_" + prefixedKey : prefixedKey;
5840
+ prefixedKey = config[_DYN_NAME_PREFIX ] ? config[_DYN_NAME_PREFIX ] + "_" + prefixedKey : prefixedKey;
5297
5841
  var bufferJson = JSON[_DYN_STRINGIFY ](buffer);
5298
5842
  utlSetSessionStorage(logger, prefixedKey, bufferJson);
5299
5843
  }
@@ -5360,7 +5904,7 @@
5360
5904
  return output;
5361
5905
  }
5362
5906
  source[circularReferenceCheck] = true;
5363
- objForEachKey(source.aiDataContract, function (field, contract) {
5907
+ objForEachKey$1(source.aiDataContract, function (field, contract) {
5364
5908
  var isRequired = (isFunction(contract)) ? (contract() & 1 ) : (contract & 1 );
5365
5909
  var isHidden = (isFunction(contract)) ? (contract() & 4 ) : (contract & 4 );
5366
5910
  var isArray = contract & 2 ;
@@ -5411,7 +5955,7 @@
5411
5955
  var output;
5412
5956
  if (map) {
5413
5957
  output = {};
5414
- objForEachKey(map, function (field, value) {
5958
+ objForEachKey$1(map, function (field, value) {
5415
5959
  if (expectedType === "string") {
5416
5960
  if (value === undefined) {
5417
5961
  output[field] = "undefined";
@@ -5537,7 +6081,8 @@
5537
6081
  return Sample;
5538
6082
  }());
5539
6083
 
5540
- var _a;
6084
+ var _a, _b;
6085
+ var UNDEFINED_VALUE = undefined;
5541
6086
  var FetchSyncRequestSizeLimitBytes = 65000;
5542
6087
  function _getResponseText(xhr) {
5543
6088
  try {
@@ -5547,47 +6092,41 @@
5547
6092
  }
5548
6093
  return null;
5549
6094
  }
5550
- function _getDefaultAppInsightsChannelConfig() {
5551
- var _a;
5552
- var defaultValue;
5553
- var defaultCustomHeaders;
5554
- return _a = {
5555
- endpointUrl: function () { return DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH; }
5556
- },
5557
- _a[_DYN_EMIT_LINE_DELIMITED_0 ] = function () { return false; },
5558
- _a[_DYN_MAX_BATCH_INTERVAL ] = function () { return 15000; },
5559
- _a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = function () { return 102400; },
5560
- _a[_DYN_DISABLE_TELEMETRY ] = function () { return false; },
5561
- _a[_DYN_ENABLE_SESSION_STORA4 ] = function () { return true; },
5562
- _a[_DYN_IS_RETRY_DISABLED ] = function () { return false; },
5563
- _a[_DYN_IS_BEACON_API_DISABL3 ] = function () { return true; },
5564
- _a[_DYN_DISABLE_XHR ] = function () { return false; },
5565
- _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = function () { return false; },
5566
- _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = function () { return false; },
5567
- _a[_DYN_INSTRUMENTATION_KEY ] = function () { return defaultValue; },
5568
- _a[_DYN_NAME_PREFIX ] = function () { return defaultValue; },
5569
- _a[_DYN_SAMPLING_PERCENTAGE ] = function () { return 100; },
5570
- _a[_DYN_CUSTOM_HEADERS ] = function () { return defaultCustomHeaders; },
5571
- _a[_DYN_CONVERT_UNDEFINED ] = function () { return defaultValue; },
5572
- _a.eventsLimitInMem = function () { return 10000; },
5573
- _a;
5574
- }
5575
- var EnvelopeTypeCreator = (_a = {},
5576
- _a[Event.dataType] = EventEnvelopeCreator,
5577
- _a[Trace.dataType] = TraceEnvelopeCreator,
5578
- _a[PageView.dataType] = PageViewEnvelopeCreator,
5579
- _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,
5580
- _a[Exception.dataType] = ExceptionEnvelopeCreator,
5581
- _a[Metric.dataType] = MetricEnvelopeCreator,
5582
- _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,
5583
- _a);
6095
+ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
6096
+ endpointUrl: { isVal: isTruthy, v: DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH }
6097
+ },
6098
+ _a[_DYN_EMIT_LINE_DELIMITED_0 ] = false,
6099
+ _a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
6100
+ _a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
6101
+ _a.disableTelemetry = false,
6102
+ _a[_DYN_ENABLE_SESSION_STORA4 ] = true,
6103
+ _a.isRetryDisabled = false,
6104
+ _a.isBeaconApiDisabled = true,
6105
+ _a[_DYN_DISABLE_XHR ] = false,
6106
+ _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = false,
6107
+ _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = false,
6108
+ _a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
6109
+ _a[_DYN_NAME_PREFIX ] = UNDEFINED_VALUE,
6110
+ _a[_DYN_SAMPLING_PERCENTAGE ] = 100,
6111
+ _a[_DYN_CUSTOM_HEADERS ] = UNDEFINED_VALUE,
6112
+ _a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
6113
+ _a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
6114
+ _a));
6115
+ var EnvelopeTypeCreator = (_b = {},
6116
+ _b[Event.dataType] = EventEnvelopeCreator,
6117
+ _b[Trace.dataType] = TraceEnvelopeCreator,
6118
+ _b[PageView.dataType] = PageViewEnvelopeCreator,
6119
+ _b[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,
6120
+ _b[Exception.dataType] = ExceptionEnvelopeCreator,
6121
+ _b[Metric.dataType] = MetricEnvelopeCreator,
6122
+ _b[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,
6123
+ _b);
5584
6124
  var Sender = /** @class */ (function (_super) {
5585
6125
  __extendsFn(Sender, _super);
5586
6126
  function Sender() {
5587
6127
  var _this = _super.call(this) || this;
5588
6128
  _this.priority = 1001;
5589
6129
  _this.identifier = BreezeChannelIdentifier;
5590
- _this._senderConfig = _getDefaultAppInsightsChannelConfig();
5591
6130
  var _consecutiveErrors;
5592
6131
  var _retryAt;
5593
6132
  var _lastSend;
@@ -5601,6 +6140,16 @@
5601
6140
  var _syncUnloadSender;
5602
6141
  var _offlineListener;
5603
6142
  var _evtNamespace;
6143
+ var _endpointUrl;
6144
+ var _orgEndpointUrl;
6145
+ var _maxBatchSizeInBytes;
6146
+ var _beaconSupported;
6147
+ var _customHeaders;
6148
+ var _disableTelemetry;
6149
+ var _instrumentationKey;
6150
+ var _convertUndefined;
6151
+ var _isRetryDisabled;
6152
+ var _maxBatchInterval;
5604
6153
  dynamicProto(Sender, _this, function (_self, _base) {
5605
6154
  _initDefaults();
5606
6155
  _self.pause = function () {
@@ -5611,7 +6160,7 @@
5611
6160
  if (_paused) {
5612
6161
  _paused = false;
5613
6162
  _retryAt = null;
5614
- if (_self._buffer.size() > _self._senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ]()) {
6163
+ if (_self[_DYN__BUFFER ].size() > _maxBatchSizeInBytes) {
5615
6164
  _self[_DYN_TRIGGER_SEND ](true, null, 10 );
5616
6165
  }
5617
6166
  _setupTimer();
@@ -5631,7 +6180,7 @@
5631
6180
  };
5632
6181
  _self.onunloadFlush = function () {
5633
6182
  if (!_paused) {
5634
- if ((_self._senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ]() === false || _self[_DYN__SENDER_CONFIG ][_DYN_IS_BEACON_API_DISABL3 ]() === false) && isBeaconsSupported()) {
6183
+ if (_beaconSupported) {
5635
6184
  try {
5636
6185
  _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
5637
6186
  }
@@ -5652,7 +6201,6 @@
5652
6201
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
5653
6202
  }
5654
6203
  _base.initialize(config, core, extensions, pluginChain);
5655
- var ctx = _self._getTelCtx();
5656
6204
  var identifier = _self.identifier;
5657
6205
  _serializer = new Serializer(core.logger);
5658
6206
  _consecutiveErrors = 0;
@@ -5663,64 +6211,86 @@
5663
6211
  var diagLog = _self[_DYN_DIAG_LOG ]();
5664
6212
  _evtNamespace = mergeEvtNamespace(createUniqueNamespace("Sender"), core.evtNamespace && core.evtNamespace());
5665
6213
  _offlineListener = createOfflineListener(_evtNamespace);
5666
- var defaultConfig = _getDefaultAppInsightsChannelConfig();
5667
- objForEachKey(defaultConfig, function (field, value) {
5668
- _self[_DYN__SENDER_CONFIG ][field] = function () {
5669
- var theValue = ctx.getConfig(identifier, field, value());
5670
- if (!theValue && field === "endpointUrl") {
5671
- theValue = value();
6214
+ _self._addHook(onConfigChange(config, function () {
6215
+ var ctx = createProcessTelemetryContext(null, config, core);
6216
+ var senderConfig = ctx.getExtCfg(identifier, defaultAppInsightsChannelConfig);
6217
+ objDefineProp(_self, "_senderConfig", {
6218
+ enumerable: true,
6219
+ configurable: true,
6220
+ get: function () {
6221
+ return senderConfig;
5672
6222
  }
5673
- return theValue;
5674
- };
5675
- });
5676
- _self._buffer = (_self[_DYN__SENDER_CONFIG ][_DYN_ENABLE_SESSION_STORA4 ]() && utlCanUseSessionStorage())
5677
- ? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG ]) : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG ]);
5678
- _self._sample = new Sample(_self[_DYN__SENDER_CONFIG ][_DYN_SAMPLING_PERCENTAGE ](), diagLog);
5679
- if (!_validateInstrumentationKey(config)) {
5680
- _throwInternal(diagLog, 1 , 100 , "Invalid Instrumentation key " + config[_DYN_INSTRUMENTATION_KEY ]);
5681
- }
5682
- if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()[_DYN_LENGTH ] > 0) {
5683
- arrForEach(_self[_DYN__SENDER_CONFIG ][_DYN_CUSTOM_HEADERS ](), function (customHeader) {
5684
- _this.addHeader(customHeader.header, customHeader.value);
5685
6223
  });
5686
- }
5687
- var senderConfig = _self[_DYN__SENDER_CONFIG ];
5688
- var sendPostFunc = null;
5689
- if (!senderConfig[_DYN_DISABLE_XHR ]() && useXDomainRequest()) {
5690
- sendPostFunc = _xdrSender;
5691
- }
5692
- else if (!senderConfig[_DYN_DISABLE_XHR ]() && isXhrSupported()) {
5693
- sendPostFunc = _xhrSender;
5694
- }
5695
- if (!sendPostFunc && isFetchSupported()) {
5696
- sendPostFunc = _fetchSender;
5697
- }
5698
- _fallbackSender = sendPostFunc || _xhrSender;
5699
- if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ]() && isBeaconsSupported()) {
5700
- sendPostFunc = _beaconSender;
5701
- }
5702
- _self[_DYN__SENDER ] = sendPostFunc || _xhrSender;
5703
- if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 ]() && isFetchSupported(true)) {
5704
- _syncUnloadSender = _fetchKeepAliveSender;
5705
- }
5706
- else if (isBeaconsSupported()) {
5707
- _syncUnloadSender = _beaconSender;
5708
- }
5709
- else if (!senderConfig[_DYN_DISABLE_XHR ]() && useXDomainRequest()) {
5710
- _syncUnloadSender = _xdrSender;
5711
- }
5712
- else if (!senderConfig[_DYN_DISABLE_XHR ]() && isXhrSupported()) {
5713
- _syncUnloadSender = _xhrSender;
5714
- }
5715
- else {
5716
- _syncUnloadSender = _fallbackSender;
5717
- }
6224
+ _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
6225
+ _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
6226
+ if (_self[_DYN__BUFFER ]) ;
6227
+ else {
6228
+ _self[_DYN__BUFFER ] = (senderConfig[_DYN_ENABLE_SESSION_STORA4 ] && utlCanUseSessionStorage())
6229
+ ? new SessionStorageSendBuffer(diagLog, senderConfig) : new ArraySendBuffer(diagLog, senderConfig);
6230
+ }
6231
+ _self._sample = new Sample(senderConfig[_DYN_SAMPLING_PERCENTAGE ], diagLog);
6232
+ _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY ];
6233
+ if (!_validateInstrumentationKey(_instrumentationKey, config)) {
6234
+ _throwInternal(diagLog, 1 , 100 , "Invalid Instrumentation key " + _instrumentationKey);
6235
+ }
6236
+ if (_orgEndpointUrl !== senderConfig.endpointUrl) {
6237
+ _endpointUrl = _orgEndpointUrl = senderConfig.endpointUrl;
6238
+ }
6239
+ if (_customHeaders && _customHeaders !== senderConfig[_DYN_CUSTOM_HEADERS ]) {
6240
+ arrForEach(_customHeaders, function (customHeader) {
6241
+ delete _headers[customHeader.header];
6242
+ });
6243
+ }
6244
+ _customHeaders = senderConfig[_DYN_CUSTOM_HEADERS ];
6245
+ if (!isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH ] > 0) {
6246
+ arrForEach(_customHeaders, function (customHeader) {
6247
+ _this.addHeader(customHeader.header, customHeader.value);
6248
+ });
6249
+ }
6250
+ else {
6251
+ _customHeaders = null;
6252
+ }
6253
+ var sendPostFunc = null;
6254
+ if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
6255
+ sendPostFunc = _xdrSender;
6256
+ }
6257
+ else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
6258
+ sendPostFunc = _xhrSender;
6259
+ }
6260
+ if (!sendPostFunc && isFetchSupported()) {
6261
+ sendPostFunc = _fetchSender;
6262
+ }
6263
+ _fallbackSender = sendPostFunc || _xhrSender;
6264
+ if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
6265
+ sendPostFunc = _beaconSender;
6266
+ }
6267
+ _self[_DYN__SENDER ] = sendPostFunc || _xhrSender;
6268
+ if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 ] && isFetchSupported(true)) {
6269
+ _syncUnloadSender = _fetchKeepAliveSender;
6270
+ }
6271
+ else if (isBeaconsSupported()) {
6272
+ _syncUnloadSender = _beaconSender;
6273
+ }
6274
+ else if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
6275
+ _syncUnloadSender = _xdrSender;
6276
+ }
6277
+ else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
6278
+ _syncUnloadSender = _xhrSender;
6279
+ }
6280
+ else {
6281
+ _syncUnloadSender = _fallbackSender;
6282
+ }
6283
+ _disableTelemetry = senderConfig.disableTelemetry;
6284
+ _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED ] || UNDEFINED_VALUE;
6285
+ _isRetryDisabled = senderConfig.isRetryDisabled;
6286
+ _maxBatchInterval = senderConfig[_DYN_MAX_BATCH_INTERVAL ];
6287
+ }));
5718
6288
  };
5719
6289
  _self.processTelemetry = function (telemetryItem, itemCtx) {
5720
6290
  itemCtx = _self._getTelCtx(itemCtx);
5721
6291
  var diagLogger = itemCtx[_DYN_DIAG_LOG ]();
5722
6292
  try {
5723
- if (_self[_DYN__SENDER_CONFIG ][_DYN_DISABLE_TELEMETRY ]()) {
6293
+ if (_disableTelemetry) {
5724
6294
  return;
5725
6295
  }
5726
6296
  if (!telemetryItem) {
@@ -5745,9 +6315,8 @@
5745
6315
  else {
5746
6316
  telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE ];
5747
6317
  }
5748
- var convertUndefined = _self[_DYN__SENDER_CONFIG ][_DYN_CONVERT_UNDEFINED ]() || undefined;
5749
- var defaultEnvelopeIkey = telemetryItem.iKey || _self[_DYN__SENDER_CONFIG ][_DYN_INSTRUMENTATION_KEY ]();
5750
- var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, convertUndefined);
6318
+ var defaultEnvelopeIkey = telemetryItem.iKey || _instrumentationKey;
6319
+ var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, _convertUndefined);
5751
6320
  if (!aiEnvelope_1) {
5752
6321
  _throwInternal(diagLogger, 1 , 47 , "Unable to create an AppInsights envelope");
5753
6322
  return;
@@ -5773,7 +6342,7 @@
5773
6342
  var payload = _serializer.serialize(aiEnvelope_1);
5774
6343
  var buffer = _self[_DYN__BUFFER ];
5775
6344
  var bufferSize = buffer.size();
5776
- if ((bufferSize + payload[_DYN_LENGTH ]) > _self[_DYN__SENDER_CONFIG ][_DYN_MAX_BATCH_SIZE_IN_BY1 ]()) {
6345
+ if ((bufferSize + payload[_DYN_LENGTH ]) > _maxBatchSizeInBytes) {
5777
6346
  _self[_DYN_TRIGGER_SEND ](true, null, 10 );
5778
6347
  }
5779
6348
  buffer[_DYN_ENQUEUE ](payload);
@@ -5794,7 +6363,7 @@
5794
6363
  if (!_paused) {
5795
6364
  try {
5796
6365
  var buffer = _self[_DYN__BUFFER ];
5797
- if (!_self[_DYN__SENDER_CONFIG ][_DYN_DISABLE_TELEMETRY ]()) {
6366
+ if (!_disableTelemetry) {
5798
6367
  if (buffer[_DYN_COUNT ]() > 0) {
5799
6368
  var payload = buffer.getItems();
5800
6369
  _notifySendRequest(sendReason || 0 , async);
@@ -5868,7 +6437,7 @@
5868
6437
  else {
5869
6438
  var results = _parseResponse(responseText);
5870
6439
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
5871
- && !_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]()) {
6440
+ && !_isRetryDisabled) {
5872
6441
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
5873
6442
  }
5874
6443
  else {
@@ -5894,7 +6463,7 @@
5894
6463
  return;
5895
6464
  }
5896
6465
  }
5897
- if (!_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]() && _isRetriable(status)) {
6466
+ if (!_isRetryDisabled && _isRetriable(status)) {
5898
6467
  _resendPayload(payload);
5899
6468
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
5900
6469
  "Response code " + status + ". Will retry to send " + payload[_DYN_LENGTH ] + " items.");
@@ -5904,7 +6473,7 @@
5904
6473
  }
5905
6474
  }
5906
6475
  else if (_offlineListener && !_offlineListener.isOnline()) {
5907
- if (!_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]()) {
6476
+ if (!_isRetryDisabled) {
5908
6477
  var offlineBackOffMultiplier = 10;
5909
6478
  _resendPayload(payload, offlineBackOffMultiplier);
5910
6479
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". Offline - Response Code: ".concat(status, ". Offline status: ").concat(!_offlineListener.isOnline(), ". Will retry to send ").concat(payload.length, " items."));
@@ -5916,7 +6485,7 @@
5916
6485
  if (!response) {
5917
6486
  response = _parseResponse(res);
5918
6487
  }
5919
- if (response && !_self[_DYN__SENDER_CONFIG ][_DYN_IS_RETRY_DISABLED ]()) {
6488
+ if (response && !_isRetryDisabled) {
5920
6489
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
5921
6490
  }
5922
6491
  else {
@@ -5934,8 +6503,8 @@
5934
6503
  return false;
5935
6504
  }
5936
6505
  if (!isNullOrUndefined(responseUrl) && responseUrl !== "") {
5937
- if (responseUrl !== _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]()) {
5938
- _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ] = function () { return responseUrl; };
6506
+ if (responseUrl !== _endpointUrl) {
6507
+ _endpointUrl = responseUrl;
5939
6508
  ++_stamp_specific_redirects;
5940
6509
  return true;
5941
6510
  }
@@ -5953,7 +6522,7 @@
5953
6522
  function _doBeaconSend(payload) {
5954
6523
  var nav = getNavigator();
5955
6524
  var buffer = _self[_DYN__BUFFER ];
5956
- var url = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]();
6525
+ var url = _endpointUrl;
5957
6526
  var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5958
6527
  var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
5959
6528
  var queued = nav.sendBeacon(url, plainTextBatch);
@@ -5982,7 +6551,7 @@
5982
6551
  }
5983
6552
  function _xhrSender(payload, isAsync) {
5984
6553
  var xhr = new XMLHttpRequest();
5985
- var endPointUrl = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]();
6554
+ var endPointUrl = _endpointUrl;
5986
6555
  try {
5987
6556
  xhr[DisabledPropertyName] = true;
5988
6557
  }
@@ -6025,7 +6594,7 @@
6025
6594
  }
6026
6595
  function _doFetchSender(payload, isAsync) {
6027
6596
  var _a;
6028
- var endPointUrl = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]();
6597
+ var endPointUrl = _endpointUrl;
6029
6598
  var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6030
6599
  var plainTextBatch = new Blob([batch], { type: "application/json" });
6031
6600
  var requestHeaders = new Headers();
@@ -6146,7 +6715,7 @@
6146
6715
  function _setupTimer() {
6147
6716
  if (!_timeoutHandle && !_paused) {
6148
6717
  var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;
6149
- var timerValue = Math.max(_self[_DYN__SENDER_CONFIG ][_DYN_MAX_BATCH_INTERVAL ](), retryInterval);
6718
+ var timerValue = Math.max(_maxBatchInterval, retryInterval);
6150
6719
  _timeoutHandle = setTimeout(function () {
6151
6720
  _timeoutHandle = null;
6152
6721
  _self[_DYN_TRIGGER_SEND ](true, null, 1 );
@@ -6181,13 +6750,13 @@
6181
6750
  xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };
6182
6751
  xdr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr), event); };
6183
6752
  var hostingProtocol = _window && _window.location && _window.location.protocol || "";
6184
- if (_self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]().lastIndexOf(hostingProtocol, 0) !== 0) {
6753
+ if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
6185
6754
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
6186
6755
  "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
6187
6756
  buffer[_DYN_CLEAR ]();
6188
6757
  return;
6189
6758
  }
6190
- var endpointUrl = _self[_DYN__SENDER_CONFIG ][_DYN_ENDPOINT_URL ]().replace(/^(https?:)/, "");
6759
+ var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
6191
6760
  xdr.open("POST", endpointUrl);
6192
6761
  var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
6193
6762
  xdr.send(batch);
@@ -6217,14 +6786,15 @@
6217
6786
  }
6218
6787
  }
6219
6788
  }
6220
- function _validateInstrumentationKey(config) {
6221
- var disableIKeyValidationFlag = isNullOrUndefined(config[_DYN_DISABLE_INSTRUMENTAT7 ]) ? false : config[_DYN_DISABLE_INSTRUMENTAT7 ];
6789
+ function _validateInstrumentationKey(instrumentationKey, config) {
6790
+ var disableValidation = config.disableInstrumentationKeyValidation;
6791
+ var disableIKeyValidationFlag = isNullOrUndefined(disableValidation) ? false : disableValidation;
6222
6792
  if (disableIKeyValidationFlag) {
6223
6793
  return true;
6224
6794
  }
6225
6795
  var UUID_Regex = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
6226
6796
  var regexp = new RegExp(UUID_Regex);
6227
- return regexp.test(config[_DYN_INSTRUMENTATION_KEY ]);
6797
+ return regexp.test(instrumentationKey);
6228
6798
  }
6229
6799
  function _initDefaults() {
6230
6800
  _self[_DYN__SENDER ] = null;
@@ -6244,6 +6814,22 @@
6244
6814
  _fallbackSender = null;
6245
6815
  _syncUnloadSender = null;
6246
6816
  _evtNamespace = null;
6817
+ _endpointUrl = null;
6818
+ _orgEndpointUrl = null;
6819
+ _maxBatchSizeInBytes = 0;
6820
+ _beaconSupported = false;
6821
+ _customHeaders = null;
6822
+ _disableTelemetry = false;
6823
+ _instrumentationKey = null;
6824
+ _convertUndefined = UNDEFINED_VALUE;
6825
+ _isRetryDisabled = false;
6826
+ objDefineProp(_self, "_senderConfig", {
6827
+ enumerable: true,
6828
+ configurable: true,
6829
+ get: function () {
6830
+ return objExtend({}, defaultAppInsightsChannelConfig);
6831
+ }
6832
+ });
6247
6833
  }
6248
6834
  });
6249
6835
  return _this;
@@ -6273,7 +6859,11 @@
6273
6859
  throwError("Invalid input configuration");
6274
6860
  }
6275
6861
  dynamicProto(ApplicationInsights, this, function (_self) {
6276
- _self.config = config;
6862
+ objDefineProp(_self, "config", {
6863
+ configurable: true,
6864
+ enumerable: true,
6865
+ get: function () { return config; }
6866
+ });
6277
6867
  _initialize();
6278
6868
  _self[_DYN_INITIALIZE ] = _initialize;
6279
6869
  _self.getSKUDefaults = function () {
@@ -6310,7 +6900,6 @@
6310
6900
  exports.ApplicationInsights = ApplicationInsights;
6311
6901
  exports.Sender = Sender;
6312
6902
  exports.SeverityLevel = SeverityLevel;
6313
- exports._InternalMessageId = _InternalMessageId;
6314
6903
  exports.arrForEach = arrForEach;
6315
6904
  exports.isNullOrUndefined = isNullOrUndefined;
6316
6905
  exports.proxyFunctions = proxyFunctions;
@@ -6319,4 +6908,4 @@
6319
6908
  Object.defineProperty(exports, '__esModule', { value: true });
6320
6909
 
6321
6910
  }));
6322
- //# sourceMappingURL=aib.3.0.0-beta.2210-01.js.map
6911
+ //# sourceMappingURL=aib.3.0.0-beta.2210-02.js.map