@microsoft/applicationinsights-core-js 3.1.1-nightly3.2403-03 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +1321 -745
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +1323 -747
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +1323 -747
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-core-js.js +1321 -745
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +1 -1
  21. package/dist-es5/Config/DynamicProperty.js +1 -1
  22. package/dist-es5/Config/DynamicState.js +1 -1
  23. package/dist-es5/Config/DynamicSupport.js +1 -1
  24. package/dist-es5/Config/IConfigDefaults.js +1 -1
  25. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  26. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  28. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  29. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +1 -1
  31. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  32. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  33. package/dist-es5/JavaScriptSDK/Constants.js +9 -1
  34. package/dist-es5/JavaScriptSDK/Constants.js.map +1 -1
  35. package/dist-es5/JavaScriptSDK/CookieMgr.js +3 -3
  36. package/dist-es5/JavaScriptSDK/CookieMgr.js.map +1 -1
  37. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  38. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +1 -1
  39. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  40. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  41. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  42. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  43. package/dist-es5/JavaScriptSDK/HelperFuncs.js +171 -3
  44. package/dist-es5/JavaScriptSDK/HelperFuncs.js.map +1 -1
  45. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  46. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  47. package/dist-es5/JavaScriptSDK/NotificationManager.js +3 -3
  48. package/dist-es5/JavaScriptSDK/NotificationManager.js.map +1 -1
  49. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  50. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  51. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  52. package/dist-es5/JavaScriptSDK/SenderPostManager.js +533 -0
  53. package/dist-es5/JavaScriptSDK/SenderPostManager.js.map +1 -0
  54. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  55. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  56. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  57. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +1 -1
  58. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  59. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  60. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/ISenderPostManager.js +6 -0
  82. package/dist-es5/JavaScriptSDK.Interfaces/ISenderPostManager.js.map +1 -0
  83. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  90. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  91. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  92. package/dist-es5/JavaScriptSDK.Interfaces/IXDomainRequest.js +6 -0
  93. package/dist-es5/JavaScriptSDK.Interfaces/IXDomainRequest.js.map +1 -0
  94. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  95. package/dist-es5/__DynamicConstants.js +19 -8
  96. package/dist-es5/__DynamicConstants.js.map +1 -1
  97. package/dist-es5/applicationinsights-core-js.js +3 -2
  98. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  99. package/package.json +75 -78
  100. package/types/applicationinsights-core-js.d.ts +241 -1
  101. package/types/applicationinsights-core-js.namespaced.d.ts +241 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.1.1-nightly3.2403-03
2
+ * Application Insights JavaScript SDK - Core, 3.1.1
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -1122,6 +1122,7 @@ var _DYN__DO_TEARDOWN = "_doTeardown";
1122
1122
  var _DYN_UPDATE = "update";
1123
1123
  var _DYN_GET_NEXT = "getNext";
1124
1124
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1125
+ var _DYN_PROTOCOL = "protocol";
1125
1126
  var _DYN_USER_AGENT = "userAgent";
1126
1127
  var _DYN_SPLIT = "split";
1127
1128
  var _DYN_NODE_TYPE = "nodeType";
@@ -1129,10 +1130,20 @@ var _DYN_REPLACE = "replace";
1129
1130
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1130
1131
  var _DYN_TYPE = "type";
1131
1132
  var _DYN_HANDLER = "handler";
1133
+ var _DYN_STATUS = "status";
1134
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1135
+ var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1136
+ var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1132
1137
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1138
+ var _DYN_DATA = "data";
1133
1139
  var _DYN_GET_CTX = "getCtx";
1134
1140
  var _DYN_SET_CTX = "setCtx";
1135
1141
  var _DYN_COMPLETE = "complete";
1142
+ var _DYN_URL_STRING = "urlString";
1143
+ var _DYN_SEND_POST = "sendPOST";
1144
+ var _DYN_HEADERS = "headers";
1145
+ var _DYN_TIMEOUT = "timeout";
1146
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
1136
1147
  var _DYN_TRACE_ID = "traceId";
1137
1148
  var _DYN_SPAN_ID = "spanId";
1138
1149
  var _DYN_TRACE_FLAGS = "traceFlags";
@@ -1772,7 +1783,7 @@ function createPromise(executor, timeout) {
1772
1783
  var createAllPromise = _createAllPromise(createPromise);
1773
1784
 
1774
1785
  var UNDEFINED_VALUE = undefined;
1775
- var STR_EMPTY = "";
1786
+ var STR_EMPTY$1 = "";
1776
1787
  var STR_CHANNELS = "channels";
1777
1788
  var STR_CORE = "core";
1778
1789
  var STR_CREATE_PERF_MGR = "createPerfMgr";
@@ -1793,208 +1804,43 @@ var STR_DOMAIN = "domain";
1793
1804
  var STR_PATH = "path";
1794
1805
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1795
1806
 
1796
- var strGetPrototypeOf = "getPrototypeOf";
1797
- var rCamelCase = /-([a-z])/g;
1798
- var rNormalizeInvalid = /([^\w\d_$])/g;
1799
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
1800
- var _getObjProto = Object[strGetPrototypeOf];
1801
- function isNotUndefined(value) {
1802
- return !isUndefined(value);
1803
- }
1804
- function isNotNullOrUndefined(value) {
1805
- return !isNullOrUndefined(value);
1806
- }
1807
- function normalizeJsName(name) {
1808
- var value = name;
1809
- if (value && isString(value)) {
1810
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1811
- return letter.toUpperCase();
1812
- });
1813
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1814
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1815
- return "_" + match;
1816
- });
1817
- }
1818
- return value;
1819
- }
1820
- function strContains(value, search) {
1821
- if (value && search) {
1822
- return strIndexOf(value, search) !== -1;
1823
- }
1824
- return false;
1825
- }
1826
- function toISOString(date) {
1827
- return date && date.toISOString() || "";
1828
- }
1829
- function getExceptionName(object) {
1830
- if (isError(object)) {
1831
- return object[_DYN_NAME ];
1832
- }
1833
- return STR_EMPTY;
1834
- }
1835
- function setValue(target, field, value, valChk, srcChk) {
1836
- var theValue = value;
1837
- if (target) {
1838
- theValue = target[field];
1839
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1840
- theValue = value;
1841
- target[field] = theValue;
1842
- }
1843
- }
1844
- return theValue;
1845
- }
1846
- function getSetValue(target, field, defValue) {
1847
- var theValue;
1848
- if (target) {
1849
- theValue = target[field];
1850
- if (!theValue && isNullOrUndefined(theValue)) {
1851
- theValue = !isUndefined(defValue) ? defValue : {};
1852
- target[field] = theValue;
1853
- }
1854
- }
1855
- else {
1856
- theValue = !isUndefined(defValue) ? defValue : {};
1857
- }
1858
- return theValue;
1859
- }
1860
- function _createProxyFunction(source, funcName) {
1861
- var srcFunc = null;
1862
- var src = null;
1863
- if (isFunction(source)) {
1864
- srcFunc = source;
1865
- }
1866
- else {
1867
- src = source;
1868
- }
1807
+ var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
1808
+ var _aiNamespace = null;
1809
+ var _debugListener;
1810
+ function _listenerProxyFunc(name, config) {
1869
1811
  return function () {
1870
- var originalArguments = arguments;
1871
- if (srcFunc) {
1872
- src = srcFunc();
1873
- }
1874
- if (src) {
1875
- return src[funcName][_DYN_APPLY ](src, originalArguments);
1876
- }
1877
- };
1878
- }
1879
- function proxyAssign(target, source, chkSet) {
1880
- if (target && source && isObject(target) && isObject(source)) {
1881
- var _loop_1 = function (field) {
1882
- if (isString(field)) {
1883
- var value = source[field];
1884
- if (isFunction(value)) {
1885
- if (!chkSet || chkSet(field, true, source, target)) {
1886
- target[field] = _createProxyFunction(source, field);
1887
- }
1888
- }
1889
- else if (!chkSet || chkSet(field, false, source, target)) {
1890
- if (objHasOwn(target, field)) {
1891
- delete target[field];
1892
- }
1893
- objDefine(target, field, {
1894
- g: function () {
1895
- return source[field];
1896
- },
1897
- s: function (theValue) {
1898
- source[field] = theValue;
1899
- }
1900
- });
1901
- }
1812
+ var args = arguments;
1813
+ var dbgExt = getDebugExt(config);
1814
+ if (dbgExt) {
1815
+ var listener = dbgExt.listener;
1816
+ if (listener && listener[name]) {
1817
+ listener[name][_DYN_APPLY ](listener, args);
1902
1818
  }
1903
- };
1904
- for (var field in source) {
1905
- _loop_1(field);
1906
- }
1907
- }
1908
- return target;
1909
- }
1910
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1911
- if (target && name && source) {
1912
- if (overwriteTarget !== false || isUndefined(target[name])) {
1913
- target[name] = _createProxyFunction(source, theFunc);
1914
1819
  }
1915
- }
1820
+ };
1916
1821
  }
1917
- function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
1918
- if (target && source && isObject(target) && isArray(functionsToProxy)) {
1919
- arrForEach(functionsToProxy, function (theFuncName) {
1920
- if (isString(theFuncName)) {
1921
- proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
1922
- }
1923
- });
1822
+ function _getExtensionNamespace() {
1823
+ var target = getInst("Microsoft");
1824
+ if (target) {
1825
+ _aiNamespace = target["ApplicationInsights"];
1924
1826
  }
1925
- return target;
1926
- }
1927
- function createClassFromInterface(defaults) {
1928
- return /** @class */ (function () {
1929
- function class_1() {
1930
- var _this = this;
1931
- if (defaults) {
1932
- objForEachKey(defaults, function (field, value) {
1933
- _this[field] = value;
1934
- });
1935
- }
1936
- }
1937
- return class_1;
1938
- }());
1827
+ return _aiNamespace;
1939
1828
  }
1940
- function optimizeObject(theObject) {
1941
- if (theObject && objAssign) {
1942
- theObject = ObjClass(objAssign({}, theObject));
1829
+ function getDebugExt(config) {
1830
+ var ns = _aiNamespace;
1831
+ if (!ns && config.disableDbgExt !== true) {
1832
+ ns = _aiNamespace || _getExtensionNamespace();
1943
1833
  }
1944
- return theObject;
1834
+ return ns ? ns["ChromeDbgExt"] : null;
1945
1835
  }
1946
- function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
1947
- var theArgs = arguments;
1948
- var extended = theArgs[0] || {};
1949
- var argLen = theArgs[_DYN_LENGTH ];
1950
- var deep = false;
1951
- var idx = 1;
1952
- if (argLen > 0 && isBoolean(extended)) {
1953
- deep = extended;
1954
- extended = theArgs[idx] || {};
1955
- idx++;
1956
- }
1957
- if (!isObject(extended)) {
1958
- extended = {};
1959
- }
1960
- for (; idx < argLen; idx++) {
1961
- var arg = theArgs[idx];
1962
- var isArgArray = isArray(arg);
1963
- var isArgObj = isObject(arg);
1964
- for (var prop in arg) {
1965
- var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
1966
- if (!propOk) {
1967
- continue;
1968
- }
1969
- var newValue = arg[prop];
1970
- var isNewArray = void 0;
1971
- if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
1972
- var clone = extended[prop];
1973
- if (isNewArray) {
1974
- if (!isArray(clone)) {
1975
- clone = [];
1976
- }
1977
- }
1978
- else if (!isPlainObject(clone)) {
1979
- clone = {};
1980
- }
1981
- newValue = objExtend(deep, clone, newValue);
1982
- }
1983
- if (newValue !== undefined) {
1984
- extended[prop] = newValue;
1985
- }
1836
+ function getDebugListener(config) {
1837
+ if (!_debugListener) {
1838
+ _debugListener = {};
1839
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
1840
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1986
1841
  }
1987
1842
  }
1988
- return extended;
1989
- }
1990
- function isFeatureEnabled(feature, cfg) {
1991
- var rlt = false;
1992
- var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
1993
- if (feature && ft) {
1994
- var mode = ft.mode;
1995
- rlt = (mode == 3 ) || (mode == 1 );
1996
- }
1997
- return rlt;
1843
+ return _debugListener;
1998
1844
  }
1999
1845
 
2000
1846
  var strDocumentMode = "documentMode";
@@ -2084,7 +1930,7 @@ function isIE() {
2084
1930
  var nav = getNavigator();
2085
1931
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
2086
1932
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
2087
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1933
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2088
1934
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
2089
1935
  }
2090
1936
  return _isTrident;
@@ -2093,9 +1939,9 @@ function getIEVersion(userAgentStr) {
2093
1939
  if (userAgentStr === void 0) { userAgentStr = null; }
2094
1940
  if (!userAgentStr) {
2095
1941
  var navigator_1 = getNavigator() || {};
2096
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1942
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2097
1943
  }
2098
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1944
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2099
1945
  if (strContains(ua, strMsie)) {
2100
1946
  var doc = getDocument() || {};
2101
1947
  return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2111,9 +1957,9 @@ function getIEVersion(userAgentStr) {
2111
1957
  function isSafari(userAgentStr) {
2112
1958
  if (!userAgentStr || !isString(userAgentStr)) {
2113
1959
  var navigator_2 = getNavigator() || {};
2114
- userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY;
1960
+ userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
2115
1961
  }
2116
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1962
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
2117
1963
  return (strIndexOf(ua, "safari") >= 0);
2118
1964
  }
2119
1965
  function isBeaconsSupported(useCached) {
@@ -2218,235 +2064,750 @@ function sendCustomEvent(evtName, cfg, customDetails) {
2218
2064
  return false;
2219
2065
  }
2220
2066
 
2221
- var UInt32Mask = 0x100000000;
2222
- var MaxUInt32 = 0xffffffff;
2223
- var SEED1 = 123456789;
2224
- var SEED2 = 987654321;
2225
- var _mwcSeeded = false;
2226
- var _mwcW = SEED1;
2227
- var _mwcZ = SEED2;
2228
- function _mwcSeed(seedValue) {
2229
- if (seedValue < 0) {
2230
- seedValue >>>= 0;
2067
+ var _a$3;
2068
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2069
+ var AiNonUserActionablePrefix = "AI (Internal): ";
2070
+ var AiUserActionablePrefix = "AI: ";
2071
+ var AIInternalMessagePrefix = "AITR_";
2072
+ var defaultValues$2 = {
2073
+ loggingLevelConsole: 0,
2074
+ loggingLevelTelemetry: 1,
2075
+ maxMessageLimit: 25,
2076
+ enableDebug: false
2077
+ };
2078
+ var _logFuncs = (_a$3 = {},
2079
+ _a$3[0 ] = null,
2080
+ _a$3[1 ] = "errorToConsole",
2081
+ _a$3[2 ] = STR_WARN_TO_CONSOLE,
2082
+ _a$3[3 ] = "debugToConsole",
2083
+ _a$3);
2084
+ function _sanitizeDiagnosticText(text) {
2085
+ if (text) {
2086
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2231
2087
  }
2232
- _mwcW = (SEED1 + seedValue) & MaxUInt32;
2233
- _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2234
- _mwcSeeded = true;
2088
+ return STR_EMPTY$1;
2235
2089
  }
2236
- function _autoSeedMwc() {
2237
- try {
2238
- var now = utcNow() & 0x7fffffff;
2239
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2240
- }
2241
- catch (e) {
2242
- }
2243
- }
2244
- function randomValue(maxValue) {
2245
- if (maxValue > 0) {
2246
- return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
2090
+ function _logToConsole(func, message) {
2091
+ var theConsole = getConsole();
2092
+ if (!!theConsole) {
2093
+ var logFunc = "log";
2094
+ if (theConsole[func]) {
2095
+ logFunc = func;
2096
+ }
2097
+ if (isFunction(theConsole[logFunc])) {
2098
+ theConsole[logFunc](message);
2099
+ }
2247
2100
  }
2248
- return 0;
2249
2101
  }
2250
- function random32(signed) {
2251
- var value = 0;
2252
- var c = getCrypto() || getMsCrypto();
2253
- if (c && c.getRandomValues) {
2254
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2255
- }
2256
- if (value === 0 && isIE()) {
2257
- if (!_mwcSeeded) {
2258
- _autoSeedMwc();
2102
+ var _InternalLogMessage = /** @class */ (function () {
2103
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2104
+ if (isUserAct === void 0) { isUserAct = false; }
2105
+ var _self = this;
2106
+ _self[_DYN_MESSAGE_ID ] = msgId;
2107
+ _self[_DYN_MESSAGE ] =
2108
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2109
+ msgId;
2110
+ var strProps = STR_EMPTY$1;
2111
+ if (hasJSON()) {
2112
+ strProps = getJSON().stringify(properties);
2259
2113
  }
2260
- value = mwcRandom32() & MaxUInt32;
2114
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2115
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2116
+ _self[_DYN_MESSAGE ] += diagnosticText;
2261
2117
  }
2262
- if (value === 0) {
2263
- value = Math.floor((UInt32Mask * Math.random()) | 0);
2118
+ _InternalLogMessage.dataType = "MessageData";
2119
+ return _InternalLogMessage;
2120
+ }());
2121
+ function safeGetLogger(core, config) {
2122
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2123
+ }
2124
+ var DiagnosticLogger = /** @class */ (function () {
2125
+ function DiagnosticLogger(config) {
2126
+ this.identifier = "DiagnosticLogger";
2127
+ this.queue = [];
2128
+ var _messageCount = 0;
2129
+ var _messageLogged = {};
2130
+ var _loggingLevelConsole;
2131
+ var _loggingLevelTelemetry;
2132
+ var _maxInternalMessageLimit;
2133
+ var _enableDebug;
2134
+ var _unloadHandler;
2135
+ dynamicProto(DiagnosticLogger, this, function (_self) {
2136
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2137
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2138
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2139
+ if (isUserAct === void 0) { isUserAct = false; }
2140
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2141
+ if (_enableDebug) {
2142
+ throw dumpObj(message);
2143
+ }
2144
+ else {
2145
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2146
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
2147
+ if (isUserAct) {
2148
+ var messageKey = +message[_DYN_MESSAGE_ID ];
2149
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2150
+ _self[logFunc](message[_DYN_MESSAGE ]);
2151
+ _messageLogged[messageKey] = true;
2152
+ }
2153
+ }
2154
+ else {
2155
+ if (_loggingLevelConsole >= severity) {
2156
+ _self[logFunc](message[_DYN_MESSAGE ]);
2157
+ }
2158
+ }
2159
+ _logInternalMessage(severity, message);
2160
+ }
2161
+ else {
2162
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2163
+ }
2164
+ }
2165
+ };
2166
+ _self.debugToConsole = function (message) {
2167
+ _logToConsole("debug", message);
2168
+ _debugExtMsg("warning", message);
2169
+ };
2170
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2171
+ _logToConsole("warn", message);
2172
+ _debugExtMsg("warning", message);
2173
+ };
2174
+ _self.errorToConsole = function (message) {
2175
+ _logToConsole("error", message);
2176
+ _debugExtMsg("error", message);
2177
+ };
2178
+ _self.resetInternalMessageCount = function () {
2179
+ _messageCount = 0;
2180
+ _messageLogged = {};
2181
+ };
2182
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2183
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2184
+ _unloadHandler && _unloadHandler.rm();
2185
+ _unloadHandler = null;
2186
+ };
2187
+ function _logInternalMessage(severity, message) {
2188
+ if (_areInternalMessagesThrottled()) {
2189
+ return;
2190
+ }
2191
+ var logMessage = true;
2192
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2193
+ if (_messageLogged[messageKey]) {
2194
+ logMessage = false;
2195
+ }
2196
+ else {
2197
+ _messageLogged[messageKey] = true;
2198
+ }
2199
+ if (logMessage) {
2200
+ if (severity <= _loggingLevelTelemetry) {
2201
+ _self.queue[_DYN_PUSH ](message);
2202
+ _messageCount++;
2203
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2204
+ }
2205
+ if (_messageCount === _maxInternalMessageLimit) {
2206
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2207
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2208
+ _self.queue[_DYN_PUSH ](throttleMessage);
2209
+ if (severity === 1 ) {
2210
+ _self.errorToConsole(throttleLimitMessage);
2211
+ }
2212
+ else {
2213
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2214
+ }
2215
+ }
2216
+ }
2217
+ }
2218
+ function _setDefaultsFromConfig(config) {
2219
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2220
+ var config = details.cfg;
2221
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2222
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
2223
+ _maxInternalMessageLimit = config.maxMessageLimit;
2224
+ _enableDebug = config.enableDebug;
2225
+ });
2226
+ }
2227
+ function _areInternalMessagesThrottled() {
2228
+ return _messageCount >= _maxInternalMessageLimit;
2229
+ }
2230
+ function _debugExtMsg(name, data) {
2231
+ var dbgExt = getDebugExt(config || {});
2232
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2233
+ dbgExt[_DYN_DIAG_LOG ](name, data);
2234
+ }
2235
+ }
2236
+ });
2264
2237
  }
2265
- if (!signed) {
2266
- value >>>= 0;
2238
+ DiagnosticLogger.__ieDyn=1;
2239
+ return DiagnosticLogger;
2240
+ }());
2241
+ function _getLogger(logger) {
2242
+ return (logger || new DiagnosticLogger());
2243
+ }
2244
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2245
+ if (isUserAct === void 0) { isUserAct = false; }
2246
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2247
+ }
2248
+ function _warnToConsole(logger, message) {
2249
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2250
+ }
2251
+ function _logInternalMessage(logger, severity, message) {
2252
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
2253
+ }
2254
+
2255
+ var strGetPrototypeOf = "getPrototypeOf";
2256
+ var rCamelCase = /-([a-z])/g;
2257
+ var rNormalizeInvalid = /([^\w\d_$])/g;
2258
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
2259
+ var _getObjProto = Object[strGetPrototypeOf];
2260
+ function isNotUndefined(value) {
2261
+ return !isUndefined(value);
2262
+ }
2263
+ function isNotNullOrUndefined(value) {
2264
+ return !isNullOrUndefined(value);
2265
+ }
2266
+ function normalizeJsName(name) {
2267
+ var value = name;
2268
+ if (value && isString(value)) {
2269
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2270
+ return letter.toUpperCase();
2271
+ });
2272
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2273
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2274
+ return "_" + match;
2275
+ });
2267
2276
  }
2268
2277
  return value;
2269
2278
  }
2270
- function mwcRandomSeed(value) {
2271
- if (!value) {
2272
- _autoSeedMwc();
2279
+ function strContains(value, search) {
2280
+ if (value && search) {
2281
+ return strIndexOf(value, search) !== -1;
2273
2282
  }
2274
- else {
2275
- _mwcSeed(value);
2283
+ return false;
2284
+ }
2285
+ function toISOString(date) {
2286
+ return date && date.toISOString() || "";
2287
+ }
2288
+ function getExceptionName(object) {
2289
+ if (isError(object)) {
2290
+ return object[_DYN_NAME ];
2276
2291
  }
2292
+ return STR_EMPTY$1;
2277
2293
  }
2278
- function mwcRandom32(signed) {
2279
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2280
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2281
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2282
- if (!signed) {
2283
- value >>>= 0;
2294
+ function setValue(target, field, value, valChk, srcChk) {
2295
+ var theValue = value;
2296
+ if (target) {
2297
+ theValue = target[field];
2298
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
2299
+ theValue = value;
2300
+ target[field] = theValue;
2301
+ }
2284
2302
  }
2285
- return value;
2303
+ return theValue;
2286
2304
  }
2287
- function newId(maxLength) {
2288
- if (maxLength === void 0) { maxLength = 22; }
2289
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2290
- var number = random32() >>> 0;
2291
- var chars = 0;
2292
- var result = STR_EMPTY;
2293
- while (result[_DYN_LENGTH ] < maxLength) {
2294
- chars++;
2295
- result += base64chars.charAt(number & 0x3F);
2296
- number >>>= 6;
2297
- if (chars === 5) {
2298
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2299
- chars = 0;
2305
+ function getSetValue(target, field, defValue) {
2306
+ var theValue;
2307
+ if (target) {
2308
+ theValue = target[field];
2309
+ if (!theValue && isNullOrUndefined(theValue)) {
2310
+ theValue = !isUndefined(defValue) ? defValue : {};
2311
+ target[field] = theValue;
2300
2312
  }
2301
2313
  }
2302
- return result;
2314
+ else {
2315
+ theValue = !isUndefined(defValue) ? defValue : {};
2316
+ }
2317
+ return theValue;
2303
2318
  }
2304
-
2305
- var version = "3.0.5";
2306
- var instanceName = "." + newId(6);
2307
- var _dataUid = 0;
2308
- function _canAcceptData(target) {
2309
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2319
+ function _createProxyFunction(source, funcName) {
2320
+ var srcFunc = null;
2321
+ var src = null;
2322
+ if (isFunction(source)) {
2323
+ srcFunc = source;
2324
+ }
2325
+ else {
2326
+ src = source;
2327
+ }
2328
+ return function () {
2329
+ var originalArguments = arguments;
2330
+ if (srcFunc) {
2331
+ src = srcFunc();
2332
+ }
2333
+ if (src) {
2334
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
2335
+ }
2336
+ };
2310
2337
  }
2311
- function _getCache(data, target) {
2312
- var theCache = target[data.id];
2313
- if (!theCache) {
2314
- theCache = {};
2315
- try {
2316
- if (_canAcceptData(target)) {
2317
- objDefine(target, data.id, {
2318
- e: false,
2319
- v: theCache
2320
- });
2338
+ function proxyAssign(target, source, chkSet) {
2339
+ if (target && source && isObject(target) && isObject(source)) {
2340
+ var _loop_1 = function (field) {
2341
+ if (isString(field)) {
2342
+ var value = source[field];
2343
+ if (isFunction(value)) {
2344
+ if (!chkSet || chkSet(field, true, source, target)) {
2345
+ target[field] = _createProxyFunction(source, field);
2346
+ }
2347
+ }
2348
+ else if (!chkSet || chkSet(field, false, source, target)) {
2349
+ if (objHasOwn(target, field)) {
2350
+ delete target[field];
2351
+ }
2352
+ objDefine(target, field, {
2353
+ g: function () {
2354
+ return source[field];
2355
+ },
2356
+ s: function (theValue) {
2357
+ source[field] = theValue;
2358
+ }
2359
+ });
2360
+ }
2321
2361
  }
2322
- }
2323
- catch (e) {
2362
+ };
2363
+ for (var field in source) {
2364
+ _loop_1(field);
2324
2365
  }
2325
2366
  }
2326
- return theCache;
2367
+ return target;
2327
2368
  }
2328
- function createUniqueNamespace(name, includeVersion) {
2329
- if (includeVersion === void 0) { includeVersion = false; }
2330
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
2369
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2370
+ if (target && name && source) {
2371
+ if (overwriteTarget !== false || isUndefined(target[name])) {
2372
+ target[name] = _createProxyFunction(source, theFunc);
2373
+ }
2374
+ }
2331
2375
  }
2332
- function createElmNodeData(name) {
2333
- var data = {
2334
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
2335
- accept: function (target) {
2336
- return _canAcceptData(target);
2337
- },
2338
- get: function (target, name, defValue, addDefault) {
2339
- var theCache = target[data.id];
2340
- if (!theCache) {
2341
- if (addDefault) {
2342
- theCache = _getCache(data, target);
2343
- theCache[normalizeJsName(name)] = defValue;
2344
- }
2345
- return defValue;
2376
+ function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
2377
+ if (target && source && isObject(target) && isArray(functionsToProxy)) {
2378
+ arrForEach(functionsToProxy, function (theFuncName) {
2379
+ if (isString(theFuncName)) {
2380
+ proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
2346
2381
  }
2347
- return theCache[normalizeJsName(name)];
2348
- },
2349
- kill: function (target, name) {
2350
- if (target && target[name]) {
2351
- try {
2352
- delete target[name];
2353
- }
2354
- catch (e) {
2355
- }
2382
+ });
2383
+ }
2384
+ return target;
2385
+ }
2386
+ function createClassFromInterface(defaults) {
2387
+ return /** @class */ (function () {
2388
+ function class_1() {
2389
+ var _this = this;
2390
+ if (defaults) {
2391
+ objForEachKey(defaults, function (field, value) {
2392
+ _this[field] = value;
2393
+ });
2356
2394
  }
2357
2395
  }
2358
- };
2359
- return data;
2396
+ return class_1;
2397
+ }());
2360
2398
  }
2361
-
2362
- function _isConfigDefaults(value) {
2363
- return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
2399
+ function optimizeObject(theObject) {
2400
+ if (theObject && objAssign) {
2401
+ theObject = ObjClass(objAssign({}, theObject));
2402
+ }
2403
+ return theObject;
2364
2404
  }
2365
- function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
2366
- var defValue;
2367
- var isDefaultValid = cfgDefaults.dfVal || isDefined;
2368
- if (theConfig && cfgDefaults.fb) {
2369
- var fallbacks = cfgDefaults.fb;
2370
- if (!isArray(fallbacks)) {
2371
- fallbacks = [fallbacks];
2372
- }
2373
- for (var lp = 0; lp < fallbacks[_DYN_LENGTH ]; lp++) {
2374
- var fallback = fallbacks[lp];
2375
- var fbValue = theConfig[fallback];
2376
- if (isDefaultValid(fbValue)) {
2377
- defValue = fbValue;
2405
+ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
2406
+ var theArgs = arguments;
2407
+ var extended = theArgs[0] || {};
2408
+ var argLen = theArgs[_DYN_LENGTH ];
2409
+ var deep = false;
2410
+ var idx = 1;
2411
+ if (argLen > 0 && isBoolean(extended)) {
2412
+ deep = extended;
2413
+ extended = theArgs[idx] || {};
2414
+ idx++;
2415
+ }
2416
+ if (!isObject(extended)) {
2417
+ extended = {};
2418
+ }
2419
+ for (; idx < argLen; idx++) {
2420
+ var arg = theArgs[idx];
2421
+ var isArgArray = isArray(arg);
2422
+ var isArgObj = isObject(arg);
2423
+ for (var prop in arg) {
2424
+ var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));
2425
+ if (!propOk) {
2426
+ continue;
2378
2427
  }
2379
- else if (dynamicHandler) {
2380
- fbValue = dynamicHandler.cfg[fallback];
2381
- if (isDefaultValid(fbValue)) {
2382
- defValue = fbValue;
2428
+ var newValue = arg[prop];
2429
+ var isNewArray = void 0;
2430
+ if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {
2431
+ var clone = extended[prop];
2432
+ if (isNewArray) {
2433
+ if (!isArray(clone)) {
2434
+ clone = [];
2435
+ }
2383
2436
  }
2384
- dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
2437
+ else if (!isPlainObject(clone)) {
2438
+ clone = {};
2439
+ }
2440
+ newValue = objExtend(deep, clone, newValue);
2385
2441
  }
2386
- if (isDefaultValid(defValue)) {
2387
- break;
2442
+ if (newValue !== undefined) {
2443
+ extended[prop] = newValue;
2388
2444
  }
2389
2445
  }
2390
2446
  }
2391
- if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
2392
- defValue = cfgDefaults.v;
2447
+ return extended;
2448
+ }
2449
+ function isFeatureEnabled(feature, cfg) {
2450
+ var rlt = false;
2451
+ var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];
2452
+ if (feature && ft) {
2453
+ var mode = ft.mode;
2454
+ rlt = (mode == 3 ) || (mode == 1 );
2393
2455
  }
2394
- return defValue;
2456
+ return rlt;
2395
2457
  }
2396
- function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
2397
- var theValue = cfgDefaults;
2398
- if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
2399
- theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2458
+ function getResponseText(xhr) {
2459
+ try {
2460
+ return xhr.responseText;
2400
2461
  }
2401
- if (theValue) {
2402
- if (_isConfigDefaults(theValue)) {
2403
- theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
2404
- }
2405
- var newValue_1;
2406
- if (isArray(theValue)) {
2407
- newValue_1 = [];
2408
- newValue_1[_DYN_LENGTH ] = theValue[_DYN_LENGTH ];
2462
+ catch (e) {
2463
+ }
2464
+ return null;
2465
+ }
2466
+ function formatErrorMessageXdr(xdr, message) {
2467
+ if (xdr) {
2468
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2469
+ }
2470
+ return message;
2471
+ }
2472
+ function formatErrorMessageXhr(xhr, message) {
2473
+ if (xhr) {
2474
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2475
+ }
2476
+ return message;
2477
+ }
2478
+ function prependTransports(theTransports, newTransports) {
2479
+ if (newTransports) {
2480
+ if (isNumber(newTransports)) {
2481
+ theTransports = [newTransports].concat(theTransports);
2409
2482
  }
2410
- else if (isPlainObject(theValue)) {
2411
- newValue_1 = {};
2483
+ else if (isArray(newTransports)) {
2484
+ theTransports = newTransports.concat(theTransports);
2412
2485
  }
2413
- if (newValue_1) {
2414
- objForEachKey(theValue, function (key, value) {
2415
- if (value && _isConfigDefaults(value)) {
2416
- value = _resolveDefaultValue(dynamicHandler, theConfig, value);
2417
- }
2418
- newValue_1[key] = value;
2419
- });
2420
- theValue = newValue_1;
2486
+ }
2487
+ return theTransports;
2488
+ }
2489
+ function parseResponse(response, diagLog) {
2490
+ try {
2491
+ if (response && response !== "") {
2492
+ var result = getJSON().parse(response);
2493
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2494
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
2495
+ return result;
2496
+ }
2421
2497
  }
2422
2498
  }
2423
- return theValue;
2499
+ catch (e) {
2500
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2501
+ response: response
2502
+ });
2503
+ }
2504
+ return null;
2424
2505
  }
2425
- function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2426
- var isValid;
2427
- var setFn;
2428
- var defValue;
2429
- var cfgDefaults = defaultValue;
2430
- var mergeDf;
2431
- var reference;
2432
- var readOnly;
2433
- var blkDynamicValue;
2434
- if (_isConfigDefaults(cfgDefaults)) {
2435
- isValid = cfgDefaults.isVal;
2436
- setFn = cfgDefaults.set;
2437
- readOnly = cfgDefaults[_DYN_RD_ONLY ];
2438
- blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2439
- mergeDf = cfgDefaults.mrg;
2440
- reference = cfgDefaults.ref;
2441
- if (!reference && isUndefined(reference)) {
2442
- reference = !!mergeDf;
2506
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2507
+ var strWithCredentials = "withCredentials";
2508
+ var strTimeout = "timeout";
2509
+ function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2510
+ if (disabled === void 0) { disabled = false; }
2511
+ if (isSync === void 0) { isSync = false; }
2512
+ function _wrapSetXhrProp(xhr, prop, value) {
2513
+ try {
2514
+ xhr[prop] = value;
2515
+ }
2516
+ catch (e) {
2443
2517
  }
2444
- defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2445
2518
  }
2446
- else {
2447
- defValue = defaultValue;
2519
+ var xhr = new XMLHttpRequest();
2520
+ if (disabled) {
2521
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2448
2522
  }
2449
- if (blkDynamicValue) {
2523
+ if (withCredentials) {
2524
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2525
+ }
2526
+ xhr.open(method, urlString, !isSync);
2527
+ if (withCredentials) {
2528
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2529
+ }
2530
+ if (!isSync && timeout) {
2531
+ _wrapSetXhrProp(xhr, strTimeout, timeout);
2532
+ }
2533
+ return xhr;
2534
+ }
2535
+ function convertAllHeadersToMap(headersString) {
2536
+ var headers = {};
2537
+ if (isString(headersString)) {
2538
+ var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2539
+ arrForEach(headersArray, function (headerEntry) {
2540
+ if (headerEntry) {
2541
+ var idx = headerEntry.indexOf(": ");
2542
+ if (idx !== -1) {
2543
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2544
+ var value = strTrim(headerEntry.substring(idx + 1));
2545
+ headers[header] = value;
2546
+ }
2547
+ else {
2548
+ headers[strTrim(headerEntry)] = 1;
2549
+ }
2550
+ }
2551
+ });
2552
+ }
2553
+ return headers;
2554
+ }
2555
+ function _appendHeader(theHeaders, xhr, name) {
2556
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2557
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2558
+ if (value) {
2559
+ theHeaders[name] = strTrim(value);
2560
+ }
2561
+ }
2562
+ return theHeaders;
2563
+ }
2564
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2565
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2566
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2567
+ function _getAllResponseHeaders(xhr, isOneDs) {
2568
+ var theHeaders = {};
2569
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2570
+ if (!!isOneDs) {
2571
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2572
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2573
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2574
+ }
2575
+ }
2576
+ else {
2577
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2578
+ }
2579
+ return theHeaders;
2580
+ }
2581
+
2582
+ var UInt32Mask = 0x100000000;
2583
+ var MaxUInt32 = 0xffffffff;
2584
+ var SEED1 = 123456789;
2585
+ var SEED2 = 987654321;
2586
+ var _mwcSeeded = false;
2587
+ var _mwcW = SEED1;
2588
+ var _mwcZ = SEED2;
2589
+ function _mwcSeed(seedValue) {
2590
+ if (seedValue < 0) {
2591
+ seedValue >>>= 0;
2592
+ }
2593
+ _mwcW = (SEED1 + seedValue) & MaxUInt32;
2594
+ _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2595
+ _mwcSeeded = true;
2596
+ }
2597
+ function _autoSeedMwc() {
2598
+ try {
2599
+ var now = utcNow() & 0x7fffffff;
2600
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2601
+ }
2602
+ catch (e) {
2603
+ }
2604
+ }
2605
+ function randomValue(maxValue) {
2606
+ if (maxValue > 0) {
2607
+ return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
2608
+ }
2609
+ return 0;
2610
+ }
2611
+ function random32(signed) {
2612
+ var value = 0;
2613
+ var c = getCrypto() || getMsCrypto();
2614
+ if (c && c.getRandomValues) {
2615
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2616
+ }
2617
+ if (value === 0 && isIE()) {
2618
+ if (!_mwcSeeded) {
2619
+ _autoSeedMwc();
2620
+ }
2621
+ value = mwcRandom32() & MaxUInt32;
2622
+ }
2623
+ if (value === 0) {
2624
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
2625
+ }
2626
+ if (!signed) {
2627
+ value >>>= 0;
2628
+ }
2629
+ return value;
2630
+ }
2631
+ function mwcRandomSeed(value) {
2632
+ if (!value) {
2633
+ _autoSeedMwc();
2634
+ }
2635
+ else {
2636
+ _mwcSeed(value);
2637
+ }
2638
+ }
2639
+ function mwcRandom32(signed) {
2640
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2641
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2642
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2643
+ if (!signed) {
2644
+ value >>>= 0;
2645
+ }
2646
+ return value;
2647
+ }
2648
+ function newId(maxLength) {
2649
+ if (maxLength === void 0) { maxLength = 22; }
2650
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2651
+ var number = random32() >>> 0;
2652
+ var chars = 0;
2653
+ var result = STR_EMPTY$1;
2654
+ while (result[_DYN_LENGTH ] < maxLength) {
2655
+ chars++;
2656
+ result += base64chars.charAt(number & 0x3F);
2657
+ number >>>= 6;
2658
+ if (chars === 5) {
2659
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2660
+ chars = 0;
2661
+ }
2662
+ }
2663
+ return result;
2664
+ }
2665
+
2666
+ var version = "3.0.5";
2667
+ var instanceName = "." + newId(6);
2668
+ var _dataUid = 0;
2669
+ function _canAcceptData(target) {
2670
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2671
+ }
2672
+ function _getCache(data, target) {
2673
+ var theCache = target[data.id];
2674
+ if (!theCache) {
2675
+ theCache = {};
2676
+ try {
2677
+ if (_canAcceptData(target)) {
2678
+ objDefine(target, data.id, {
2679
+ e: false,
2680
+ v: theCache
2681
+ });
2682
+ }
2683
+ }
2684
+ catch (e) {
2685
+ }
2686
+ }
2687
+ return theCache;
2688
+ }
2689
+ function createUniqueNamespace(name, includeVersion) {
2690
+ if (includeVersion === void 0) { includeVersion = false; }
2691
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2692
+ }
2693
+ function createElmNodeData(name) {
2694
+ var data = {
2695
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2696
+ accept: function (target) {
2697
+ return _canAcceptData(target);
2698
+ },
2699
+ get: function (target, name, defValue, addDefault) {
2700
+ var theCache = target[data.id];
2701
+ if (!theCache) {
2702
+ if (addDefault) {
2703
+ theCache = _getCache(data, target);
2704
+ theCache[normalizeJsName(name)] = defValue;
2705
+ }
2706
+ return defValue;
2707
+ }
2708
+ return theCache[normalizeJsName(name)];
2709
+ },
2710
+ kill: function (target, name) {
2711
+ if (target && target[name]) {
2712
+ try {
2713
+ delete target[name];
2714
+ }
2715
+ catch (e) {
2716
+ }
2717
+ }
2718
+ }
2719
+ };
2720
+ return data;
2721
+ }
2722
+
2723
+ function _isConfigDefaults(value) {
2724
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
2725
+ }
2726
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
2727
+ var defValue;
2728
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
2729
+ if (theConfig && cfgDefaults.fb) {
2730
+ var fallbacks = cfgDefaults.fb;
2731
+ if (!isArray(fallbacks)) {
2732
+ fallbacks = [fallbacks];
2733
+ }
2734
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH ]; lp++) {
2735
+ var fallback = fallbacks[lp];
2736
+ var fbValue = theConfig[fallback];
2737
+ if (isDefaultValid(fbValue)) {
2738
+ defValue = fbValue;
2739
+ }
2740
+ else if (dynamicHandler) {
2741
+ fbValue = dynamicHandler.cfg[fallback];
2742
+ if (isDefaultValid(fbValue)) {
2743
+ defValue = fbValue;
2744
+ }
2745
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
2746
+ }
2747
+ if (isDefaultValid(defValue)) {
2748
+ break;
2749
+ }
2750
+ }
2751
+ }
2752
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
2753
+ defValue = cfgDefaults.v;
2754
+ }
2755
+ return defValue;
2756
+ }
2757
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
2758
+ var theValue = cfgDefaults;
2759
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
2760
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2761
+ }
2762
+ if (theValue) {
2763
+ if (_isConfigDefaults(theValue)) {
2764
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
2765
+ }
2766
+ var newValue_1;
2767
+ if (isArray(theValue)) {
2768
+ newValue_1 = [];
2769
+ newValue_1[_DYN_LENGTH ] = theValue[_DYN_LENGTH ];
2770
+ }
2771
+ else if (isPlainObject(theValue)) {
2772
+ newValue_1 = {};
2773
+ }
2774
+ if (newValue_1) {
2775
+ objForEachKey(theValue, function (key, value) {
2776
+ if (value && _isConfigDefaults(value)) {
2777
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
2778
+ }
2779
+ newValue_1[key] = value;
2780
+ });
2781
+ theValue = newValue_1;
2782
+ }
2783
+ }
2784
+ return theValue;
2785
+ }
2786
+ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2787
+ var isValid;
2788
+ var setFn;
2789
+ var defValue;
2790
+ var cfgDefaults = defaultValue;
2791
+ var mergeDf;
2792
+ var reference;
2793
+ var readOnly;
2794
+ var blkDynamicValue;
2795
+ if (_isConfigDefaults(cfgDefaults)) {
2796
+ isValid = cfgDefaults.isVal;
2797
+ setFn = cfgDefaults.set;
2798
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
2799
+ blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2800
+ mergeDf = cfgDefaults.mrg;
2801
+ reference = cfgDefaults.ref;
2802
+ if (!reference && isUndefined(reference)) {
2803
+ reference = !!mergeDf;
2804
+ }
2805
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2806
+ }
2807
+ else {
2808
+ defValue = defaultValue;
2809
+ }
2810
+ if (blkDynamicValue) {
2450
2811
  dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2451
2812
  }
2452
2813
  var theValue;
@@ -2944,348 +3305,122 @@ function _createDynamicHandler(logger, target, inPlace) {
2944
3305
  _a.ref = _ref,
2945
3306
  _a[_DYN_RD_ONLY ] = _rdOnly,
2946
3307
  _a[_DYN_BLK_VAL ] = _blkPropValue,
2947
- _a._block = _block,
2948
- _a);
2949
- objDefine(cfgHandler, "uid", {
2950
- c: false,
2951
- e: false,
2952
- w: false,
2953
- v: uid
2954
- });
2955
- theState = _createState(cfgHandler);
2956
- _makeDynamicObject(theState, newTarget, "config", "Creating");
2957
- return cfgHandler;
2958
- }
2959
- function _logInvalidAccess(logger, message) {
2960
- if (logger) {
2961
- logger[_DYN_WARN_TO_CONSOLE ](message);
2962
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2963
- }
2964
- else {
2965
- throwInvalidAccess(message);
2966
- }
2967
- }
2968
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
2969
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
2970
- if (defaultConfig) {
2971
- dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
2972
- }
2973
- return dynamicHandler;
2974
- }
2975
- function onConfigChange(config, configHandler, logger) {
2976
- var handler = config[CFG_HANDLER_LINK] || config;
2977
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2978
- return handler[_DYN_WATCH ](configHandler);
2979
- }
2980
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2981
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2982
- }
2983
-
2984
- function runTargetUnload(target, isAsync) {
2985
- if (target && target[_DYN_UNLOAD ]) {
2986
- return target[_DYN_UNLOAD ](isAsync);
2987
- }
2988
- }
2989
- function doUnloadAll(targets, isAsync, done) {
2990
- var result;
2991
- if (!done) {
2992
- result = createPromise(function (resolved) {
2993
- done = resolved;
2994
- });
2995
- }
2996
- if (targets && getLength(targets) > 0) {
2997
- doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
2998
- doUnloadAll(arrSlice(targets, 1), isAsync, done);
2999
- });
3000
- }
3001
- else {
3002
- done();
3003
- }
3004
- return result;
3005
- }
3006
-
3007
- var ChannelControllerPriority = 500;
3008
-
3009
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3010
- if (!theValue && isNullOrUndefined(theValue)) {
3011
- return defaultValue;
3012
- }
3013
- if (isBoolean(theValue)) {
3014
- return theValue;
3015
- }
3016
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3017
- }
3018
- function cfgDfMerge(defaultValue) {
3019
- return {
3020
- mrg: true,
3021
- v: defaultValue
3022
- };
3023
- }
3024
- function cfgDfSet(setter, defaultValue) {
3025
- return {
3026
- set: setter,
3027
- v: defaultValue
3028
- };
3029
- }
3030
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3031
- return {
3032
- fb: fallBackName,
3033
- isVal: validator,
3034
- v: defaultValue
3035
- };
3036
- }
3037
- function cfgDfBoolean(defaultValue, fallBackName) {
3038
- return {
3039
- fb: fallBackName,
3040
- set: _stringToBoolOrDefault,
3041
- v: !!defaultValue
3042
- };
3043
- }
3044
- function cfgDfFunc(defaultValue) {
3045
- return {
3046
- isVal: isFunction,
3047
- v: defaultValue || null
3048
- };
3049
- }
3050
- function cfgDfString(defaultValue) {
3051
- return {
3052
- isVal: isString,
3053
- v: asString(defaultValue || STR_EMPTY)
3054
- };
3055
- }
3056
- function cfgDfBlockPropValue(defaultValue) {
3057
- var _a;
3058
- return _a = {},
3059
- _a[_DYN_BLK_VAL ] = true,
3060
- _a.v = defaultValue,
3061
- _a;
3062
- }
3063
-
3064
- var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3065
- var _aiNamespace = null;
3066
- var _debugListener;
3067
- function _listenerProxyFunc(name, config) {
3068
- return function () {
3069
- var args = arguments;
3070
- var dbgExt = getDebugExt(config);
3071
- if (dbgExt) {
3072
- var listener = dbgExt.listener;
3073
- if (listener && listener[name]) {
3074
- listener[name][_DYN_APPLY ](listener, args);
3075
- }
3076
- }
3077
- };
3078
- }
3079
- function _getExtensionNamespace() {
3080
- var target = getInst("Microsoft");
3081
- if (target) {
3082
- _aiNamespace = target["ApplicationInsights"];
3083
- }
3084
- return _aiNamespace;
3085
- }
3086
- function getDebugExt(config) {
3087
- var ns = _aiNamespace;
3088
- if (!ns && config.disableDbgExt !== true) {
3089
- ns = _aiNamespace || _getExtensionNamespace();
3090
- }
3091
- return ns ? ns["ChromeDbgExt"] : null;
3092
- }
3093
- function getDebugListener(config) {
3094
- if (!_debugListener) {
3095
- _debugListener = {};
3096
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH ]; lp++) {
3097
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
3098
- }
3099
- }
3100
- return _debugListener;
3101
- }
3102
-
3103
- var _a$3;
3104
- var STR_WARN_TO_CONSOLE = "warnToConsole";
3105
- var AiNonUserActionablePrefix = "AI (Internal): ";
3106
- var AiUserActionablePrefix = "AI: ";
3107
- var AIInternalMessagePrefix = "AITR_";
3108
- var defaultValues$2 = {
3109
- loggingLevelConsole: 0,
3110
- loggingLevelTelemetry: 1,
3111
- maxMessageLimit: 25,
3112
- enableDebug: false
3113
- };
3114
- var _logFuncs = (_a$3 = {},
3115
- _a$3[0 ] = null,
3116
- _a$3[1 ] = "errorToConsole",
3117
- _a$3[2 ] = STR_WARN_TO_CONSOLE,
3118
- _a$3[3 ] = "debugToConsole",
3119
- _a$3);
3120
- function _sanitizeDiagnosticText(text) {
3121
- if (text) {
3122
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
3123
- }
3124
- return STR_EMPTY;
3125
- }
3126
- function _logToConsole(func, message) {
3127
- var theConsole = getConsole();
3128
- if (!!theConsole) {
3129
- var logFunc = "log";
3130
- if (theConsole[func]) {
3131
- logFunc = func;
3132
- }
3133
- if (isFunction(theConsole[logFunc])) {
3134
- theConsole[logFunc](message);
3135
- }
3136
- }
3137
- }
3138
- var _InternalLogMessage = /** @class */ (function () {
3139
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
3140
- if (isUserAct === void 0) { isUserAct = false; }
3141
- var _self = this;
3142
- _self[_DYN_MESSAGE_ID ] = msgId;
3143
- _self[_DYN_MESSAGE ] =
3144
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
3145
- msgId;
3146
- var strProps = STR_EMPTY;
3147
- if (hasJSON()) {
3148
- strProps = getJSON().stringify(properties);
3149
- }
3150
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
3151
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
3152
- _self[_DYN_MESSAGE ] += diagnosticText;
3153
- }
3154
- _InternalLogMessage.dataType = "MessageData";
3155
- return _InternalLogMessage;
3156
- }());
3157
- function safeGetLogger(core, config) {
3158
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
3159
- }
3160
- var DiagnosticLogger = /** @class */ (function () {
3161
- function DiagnosticLogger(config) {
3162
- this.identifier = "DiagnosticLogger";
3163
- this.queue = [];
3164
- var _messageCount = 0;
3165
- var _messageLogged = {};
3166
- var _loggingLevelConsole;
3167
- var _loggingLevelTelemetry;
3168
- var _maxInternalMessageLimit;
3169
- var _enableDebug;
3170
- var _unloadHandler;
3171
- dynamicProto(DiagnosticLogger, this, function (_self) {
3172
- _unloadHandler = _setDefaultsFromConfig(config || {});
3173
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
3174
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
3175
- if (isUserAct === void 0) { isUserAct = false; }
3176
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
3177
- if (_enableDebug) {
3178
- throw dumpObj(message);
3179
- }
3180
- else {
3181
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
3182
- if (!isUndefined(message[_DYN_MESSAGE ])) {
3183
- if (isUserAct) {
3184
- var messageKey = +message[_DYN_MESSAGE_ID ];
3185
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
3186
- _self[logFunc](message[_DYN_MESSAGE ]);
3187
- _messageLogged[messageKey] = true;
3188
- }
3189
- }
3190
- else {
3191
- if (_loggingLevelConsole >= severity) {
3192
- _self[logFunc](message[_DYN_MESSAGE ]);
3193
- }
3194
- }
3195
- _logInternalMessage(severity, message);
3196
- }
3197
- else {
3198
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
3199
- }
3200
- }
3201
- };
3202
- _self.debugToConsole = function (message) {
3203
- _logToConsole("debug", message);
3204
- _debugExtMsg("warning", message);
3205
- };
3206
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
3207
- _logToConsole("warn", message);
3208
- _debugExtMsg("warning", message);
3209
- };
3210
- _self.errorToConsole = function (message) {
3211
- _logToConsole("error", message);
3212
- _debugExtMsg("error", message);
3213
- };
3214
- _self.resetInternalMessageCount = function () {
3215
- _messageCount = 0;
3216
- _messageLogged = {};
3217
- };
3218
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
3219
- _self[_DYN_UNLOAD ] = function (isAsync) {
3220
- _unloadHandler && _unloadHandler.rm();
3221
- _unloadHandler = null;
3222
- };
3223
- function _logInternalMessage(severity, message) {
3224
- if (_areInternalMessagesThrottled()) {
3225
- return;
3226
- }
3227
- var logMessage = true;
3228
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
3229
- if (_messageLogged[messageKey]) {
3230
- logMessage = false;
3231
- }
3232
- else {
3233
- _messageLogged[messageKey] = true;
3234
- }
3235
- if (logMessage) {
3236
- if (severity <= _loggingLevelTelemetry) {
3237
- _self.queue[_DYN_PUSH ](message);
3238
- _messageCount++;
3239
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
3240
- }
3241
- if (_messageCount === _maxInternalMessageLimit) {
3242
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
3243
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
3244
- _self.queue[_DYN_PUSH ](throttleMessage);
3245
- if (severity === 1 ) {
3246
- _self.errorToConsole(throttleLimitMessage);
3247
- }
3248
- else {
3249
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
3250
- }
3251
- }
3252
- }
3253
- }
3254
- function _setDefaultsFromConfig(config) {
3255
- return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
3256
- var config = details.cfg;
3257
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
3258
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
3259
- _maxInternalMessageLimit = config.maxMessageLimit;
3260
- _enableDebug = config.enableDebug;
3261
- });
3262
- }
3263
- function _areInternalMessagesThrottled() {
3264
- return _messageCount >= _maxInternalMessageLimit;
3265
- }
3266
- function _debugExtMsg(name, data) {
3267
- var dbgExt = getDebugExt(config || {});
3268
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
3269
- dbgExt[_DYN_DIAG_LOG ](name, data);
3270
- }
3271
- }
3308
+ _a._block = _block,
3309
+ _a);
3310
+ objDefine(cfgHandler, "uid", {
3311
+ c: false,
3312
+ e: false,
3313
+ w: false,
3314
+ v: uid
3315
+ });
3316
+ theState = _createState(cfgHandler);
3317
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
3318
+ return cfgHandler;
3319
+ }
3320
+ function _logInvalidAccess(logger, message) {
3321
+ if (logger) {
3322
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3323
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3324
+ }
3325
+ else {
3326
+ throwInvalidAccess(message);
3327
+ }
3328
+ }
3329
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3330
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3331
+ if (defaultConfig) {
3332
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3333
+ }
3334
+ return dynamicHandler;
3335
+ }
3336
+ function onConfigChange(config, configHandler, logger) {
3337
+ var handler = config[CFG_HANDLER_LINK] || config;
3338
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3339
+ return handler[_DYN_WATCH ](configHandler);
3340
+ }
3341
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3342
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3343
+ }
3344
+
3345
+ function runTargetUnload(target, isAsync) {
3346
+ if (target && target[_DYN_UNLOAD ]) {
3347
+ return target[_DYN_UNLOAD ](isAsync);
3348
+ }
3349
+ }
3350
+ function doUnloadAll(targets, isAsync, done) {
3351
+ var result;
3352
+ if (!done) {
3353
+ result = createPromise(function (resolved) {
3354
+ done = resolved;
3272
3355
  });
3273
3356
  }
3274
- DiagnosticLogger.__ieDyn=1;
3275
- return DiagnosticLogger;
3276
- }());
3277
- function _getLogger(logger) {
3278
- return (logger || new DiagnosticLogger());
3357
+ if (targets && getLength(targets) > 0) {
3358
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3359
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
3360
+ });
3361
+ }
3362
+ else {
3363
+ done();
3364
+ }
3365
+ return result;
3279
3366
  }
3280
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
3281
- if (isUserAct === void 0) { isUserAct = false; }
3282
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
3367
+
3368
+ var ChannelControllerPriority = 500;
3369
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3370
+
3371
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3372
+ if (!theValue && isNullOrUndefined(theValue)) {
3373
+ return defaultValue;
3374
+ }
3375
+ if (isBoolean(theValue)) {
3376
+ return theValue;
3377
+ }
3378
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3283
3379
  }
3284
- function _warnToConsole(logger, message) {
3285
- _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
3380
+ function cfgDfMerge(defaultValue) {
3381
+ return {
3382
+ mrg: true,
3383
+ v: defaultValue
3384
+ };
3286
3385
  }
3287
- function _logInternalMessage(logger, severity, message) {
3288
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
3386
+ function cfgDfSet(setter, defaultValue) {
3387
+ return {
3388
+ set: setter,
3389
+ v: defaultValue
3390
+ };
3391
+ }
3392
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
3393
+ return {
3394
+ fb: fallBackName,
3395
+ isVal: validator,
3396
+ v: defaultValue
3397
+ };
3398
+ }
3399
+ function cfgDfBoolean(defaultValue, fallBackName) {
3400
+ return {
3401
+ fb: fallBackName,
3402
+ set: _stringToBoolOrDefault,
3403
+ v: !!defaultValue
3404
+ };
3405
+ }
3406
+ function cfgDfFunc(defaultValue) {
3407
+ return {
3408
+ isVal: isFunction,
3409
+ v: defaultValue || null
3410
+ };
3411
+ }
3412
+ function cfgDfString(defaultValue) {
3413
+ return {
3414
+ isVal: isString,
3415
+ v: asString(defaultValue || STR_EMPTY$1)
3416
+ };
3417
+ }
3418
+ function cfgDfBlockPropValue(defaultValue) {
3419
+ var _a;
3420
+ return _a = {},
3421
+ _a[_DYN_BLK_VAL ] = true,
3422
+ _a.v = defaultValue,
3423
+ _a;
3289
3424
  }
3290
3425
 
3291
3426
  var _a$2, _b;
@@ -3417,7 +3552,7 @@ function createCookieMgr(rootConfig, logger) {
3417
3552
  var result = false;
3418
3553
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3419
3554
  var values = {};
3420
- var theValue = strTrim(value || STR_EMPTY);
3555
+ var theValue = strTrim(value || STR_EMPTY$1);
3421
3556
  var idx = strIndexOf(theValue, ";");
3422
3557
  if (idx !== -1) {
3423
3558
  theValue = strTrim(strLeft(value, idx));
@@ -3432,15 +3567,15 @@ function createCookieMgr(rootConfig, logger) {
3432
3567
  if (expireMs > 0) {
3433
3568
  var expiry = new Date();
3434
3569
  expiry.setTime(expireMs);
3435
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
3570
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
3436
3571
  }
3437
3572
  }
3438
3573
  if (!_isIE) {
3439
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3574
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3440
3575
  }
3441
3576
  }
3442
3577
  var location_1 = getLocation();
3443
- if (location_1 && location_1.protocol === "https:") {
3578
+ if (location_1 && location_1[_DYN_PROTOCOL ] === "https:") {
3444
3579
  setValue(values, "secure", null, null, isUndefined);
3445
3580
  if (_allowUaSameSite === null) {
3446
3581
  _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
@@ -3456,7 +3591,7 @@ function createCookieMgr(rootConfig, logger) {
3456
3591
  return result;
3457
3592
  },
3458
3593
  get: function (name) {
3459
- var value = STR_EMPTY;
3594
+ var value = STR_EMPTY$1;
3460
3595
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3461
3596
  value = _getCookieFn(name);
3462
3597
  }
@@ -3480,7 +3615,7 @@ function createCookieMgr(rootConfig, logger) {
3480
3615
  if (!isIE()) {
3481
3616
  values["max-age"] = "0";
3482
3617
  }
3483
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3618
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3484
3619
  result = true;
3485
3620
  }
3486
3621
  return result;
@@ -3513,7 +3648,7 @@ function _extractParts(theValue) {
3513
3648
  if (theValue && theValue[_DYN_LENGTH ]) {
3514
3649
  var parts = strTrim(theValue)[_DYN_SPLIT ](";");
3515
3650
  arrForEach(parts, function (thePart) {
3516
- thePart = strTrim(thePart || STR_EMPTY);
3651
+ thePart = strTrim(thePart || STR_EMPTY$1);
3517
3652
  if (thePart) {
3518
3653
  var idx = strIndexOf(thePart, "=");
3519
3654
  if (idx === -1) {
@@ -3534,22 +3669,22 @@ function _formatDate(theDate, func) {
3534
3669
  return null;
3535
3670
  }
3536
3671
  function _formatCookieValue(value, values) {
3537
- var cookieValue = value || STR_EMPTY;
3672
+ var cookieValue = value || STR_EMPTY$1;
3538
3673
  objForEachKey(values, function (name, theValue) {
3539
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
3674
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3540
3675
  });
3541
3676
  return cookieValue;
3542
3677
  }
3543
3678
  function _getCookieValue(name) {
3544
- var cookieValue = STR_EMPTY;
3679
+ var cookieValue = STR_EMPTY$1;
3545
3680
  !_doc && _getDoc();
3546
3681
  if (_doc.v) {
3547
- var theCookie = _doc.v[strCookie] || STR_EMPTY;
3682
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3548
3683
  if (_parsedCookieValue !== theCookie) {
3549
3684
  _cookieCache = _extractParts(theCookie);
3550
3685
  _parsedCookieValue = theCookie;
3551
3686
  }
3552
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
3687
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3553
3688
  }
3554
3689
  return cookieValue;
3555
3690
  }
@@ -3664,7 +3799,7 @@ var NotificationManager = /** @class */ (function () {
3664
3799
  }
3665
3800
  };
3666
3801
  _self[STR_OFFLINE_SENT ] = function (batch) {
3667
- if (batch && batch.data) {
3802
+ if (batch && batch[_DYN_DATA ]) {
3668
3803
  _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3669
3804
  listener[STR_OFFLINE_SENT ](batch);
3670
3805
  });
@@ -3867,7 +4002,7 @@ function newGuid() {
3867
4002
  }
3868
4003
  function generateW3CId() {
3869
4004
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3870
- var oct = STR_EMPTY, tmp;
4005
+ var oct = STR_EMPTY$1, tmp;
3871
4006
  for (var a = 0; a < 4; a++) {
3872
4007
  tmp = random32();
3873
4008
  oct +=
@@ -3944,9 +4079,9 @@ function parseTraceParent(value, selectIdx) {
3944
4079
  return null;
3945
4080
  }
3946
4081
  return _a = {
3947
- version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3948
- traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE ](),
3949
- spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE ]()
4082
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4083
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
4084
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]()
3950
4085
  },
3951
4086
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
3952
4087
  _a;
@@ -4386,7 +4521,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
4386
4521
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
4387
4522
  hasRunContext[chainId] = true;
4388
4523
  try {
4389
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
4524
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
4390
4525
  if (nextId) {
4391
4526
  hasRunContext[nextId] = false;
4392
4527
  }
@@ -5246,7 +5381,7 @@ var AppInsightsCore = /** @class */ (function () {
5246
5381
  }
5247
5382
  _pluginVersionString = _pluginVersionStringArr.join(";");
5248
5383
  }
5249
- return _pluginVersionString || STR_EMPTY;
5384
+ return _pluginVersionString || STR_EMPTY$1;
5250
5385
  }
5251
5386
  });
5252
5387
  objDefine(_self, "logger", {
@@ -5544,6 +5679,437 @@ var AppInsightsCore = /** @class */ (function () {
5544
5679
  return AppInsightsCore;
5545
5680
  }());
5546
5681
 
5682
+ var STR_EMPTY = "";
5683
+ var STR_NO_RESPONSE_BODY = "NoResponseBody";
5684
+ var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
5685
+ var STR_POST_METHOD = "POST";
5686
+ var SenderPostManager = /** @class */ (function () {
5687
+ function SenderPostManager() {
5688
+ var _syncFetchPayload = 0;
5689
+ var _enableSendPromise;
5690
+ var _isInitialized;
5691
+ var _diagLog;
5692
+ var _isOneDs;
5693
+ var _onCompleteFuncs;
5694
+ var _disableCredentials;
5695
+ var _fallbackInst;
5696
+ var _disableXhr;
5697
+ var _disableBeacon;
5698
+ var _disableBeaconSync;
5699
+ var _disableFetchKeepAlive;
5700
+ var _addNoResponse;
5701
+ var _timeoutWrapper;
5702
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
5703
+ var _sendCredentials = true;
5704
+ _initDefaults();
5705
+ _self[_DYN_INITIALIZE ] = function (config, diagLog) {
5706
+ _diagLog = diagLog;
5707
+ if (_isInitialized) {
5708
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
5709
+ }
5710
+ _self.SetConfig(config);
5711
+ _isInitialized = true;
5712
+ };
5713
+ _self["_getDbgPlgTargets"] = function () {
5714
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
5715
+ };
5716
+ _self.SetConfig = function (config) {
5717
+ try {
5718
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
5719
+ _disableCredentials = !!config.disableCredentials;
5720
+ _isOneDs = !!config.isOneDs;
5721
+ _enableSendPromise = !!config.enableSendPromise;
5722
+ _disableXhr = !!config.disableXhr;
5723
+ _disableBeacon = !!config.disableBeacon;
5724
+ _disableBeaconSync = !!config.disableBeaconSync;
5725
+ _timeoutWrapper = config.timeWrapper;
5726
+ _addNoResponse = !!config.addNoResponse;
5727
+ _disableFetchKeepAlive = !!config.disableFetchKeepAlive;
5728
+ _fallbackInst = { sendPOST: _xhrSender };
5729
+ if (!_isOneDs) {
5730
+ _sendCredentials = false;
5731
+ }
5732
+ if (_disableCredentials) {
5733
+ var location_1 = getLocation();
5734
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
5735
+ _sendCredentials = false;
5736
+ }
5737
+ }
5738
+ return true;
5739
+ }
5740
+ catch (e) {
5741
+ }
5742
+ return false;
5743
+ };
5744
+ _self.getSyncFetchPayload = function () {
5745
+ return _syncFetchPayload;
5746
+ };
5747
+ _self.getSenderInst = function (transports, sync) {
5748
+ if (transports && transports[_DYN_LENGTH ]) {
5749
+ return _getSenderInterface(transports, sync);
5750
+ }
5751
+ return null;
5752
+ };
5753
+ _self.getFallbackInst = function () {
5754
+ return _fallbackInst;
5755
+ };
5756
+ _self[_DYN__DO_TEARDOWN ] = function (unloadCtx, unloadState) {
5757
+ _initDefaults();
5758
+ };
5759
+ function _onSuccess(res, onComplete) {
5760
+ _doOnComplete(onComplete, 200, {}, res);
5761
+ }
5762
+ function _onError(message, onComplete) {
5763
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
5764
+ _doOnComplete(onComplete, 400, {});
5765
+ }
5766
+ function _onNoPayloadUrl(onComplete) {
5767
+ _onError("No endpoint url is provided for the batch", onComplete);
5768
+ }
5769
+ function _getSenderInterface(transports, syncSupport) {
5770
+ var _a;
5771
+ var transportType = 0 ;
5772
+ var sendPostFunc = null;
5773
+ var lp = 0;
5774
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
5775
+ transportType = transports[lp];
5776
+ if (!_disableXhr && transportType === 1 ) {
5777
+ if (useXDomainRequest()) {
5778
+ sendPostFunc = _xdrSender;
5779
+ }
5780
+ else if (isXhrSupported()) {
5781
+ sendPostFunc = _xhrSender;
5782
+ }
5783
+ }
5784
+ else if (transportType === 2 && isFetchSupported(syncSupport) && (!syncSupport || !_disableFetchKeepAlive)) {
5785
+ sendPostFunc = _doFetchSender;
5786
+ }
5787
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
5788
+ sendPostFunc = _beaconSender;
5789
+ }
5790
+ lp++;
5791
+ }
5792
+ if (sendPostFunc) {
5793
+ return _a = {
5794
+ _transport: transportType,
5795
+ _isSync: syncSupport
5796
+ },
5797
+ _a[_DYN_SEND_POST ] = sendPostFunc,
5798
+ _a;
5799
+ }
5800
+ return null;
5801
+ }
5802
+ function _doOnComplete(oncomplete, status, headers, response) {
5803
+ try {
5804
+ oncomplete && oncomplete(status, headers, response);
5805
+ }
5806
+ catch (e) {
5807
+ }
5808
+ }
5809
+ function _doBeaconSend(payload, oncomplete) {
5810
+ var nav = getNavigator();
5811
+ var url = payload[_DYN_URL_STRING ];
5812
+ if (!url) {
5813
+ _onNoPayloadUrl(oncomplete);
5814
+ return true;
5815
+ }
5816
+ url = payload[_DYN_URL_STRING ] + (_addNoResponse ? _noResponseQs : STR_EMPTY);
5817
+ var data = payload[_DYN_DATA ];
5818
+ var plainTextBatch = _isOneDs ? data : new Blob([data], { type: "text/plain;charset=UTF-8" });
5819
+ var queued = nav.sendBeacon(url, plainTextBatch);
5820
+ return queued;
5821
+ }
5822
+ function _beaconSender(payload, oncomplete, sync) {
5823
+ var data = payload[_DYN_DATA ];
5824
+ try {
5825
+ if (data) {
5826
+ if (!_doBeaconSend(payload, oncomplete)) {
5827
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
5828
+ if (onRetry && isFunction(onRetry)) {
5829
+ onRetry(payload, oncomplete, _doBeaconSend);
5830
+ }
5831
+ else {
5832
+ _fallbackInst && _fallbackInst[_DYN_SEND_POST ](payload, oncomplete, true);
5833
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
5834
+ }
5835
+ }
5836
+ else {
5837
+ _onSuccess(STR_EMPTY, oncomplete);
5838
+ }
5839
+ }
5840
+ }
5841
+ catch (e) {
5842
+ _isOneDs && _warnToConsole(_diagLog, "Failed to send telemetry using sendBeacon API. Ex:" + dumpObj(e));
5843
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, STR_EMPTY);
5844
+ }
5845
+ return;
5846
+ }
5847
+ function _xhrSender(payload, oncomplete, sync) {
5848
+ var thePromise;
5849
+ var resolveFunc;
5850
+ var rejectFunc;
5851
+ var headers = payload[_DYN_HEADERS ] || {};
5852
+ if (!sync && _enableSendPromise) {
5853
+ thePromise = createPromise(function (resolve, reject) {
5854
+ resolveFunc = resolve;
5855
+ rejectFunc = reject;
5856
+ });
5857
+ }
5858
+ if (_isOneDs && sync && payload.disableXhrSync) {
5859
+ sync = false;
5860
+ }
5861
+ var endPointUrl = payload[_DYN_URL_STRING ];
5862
+ if (!endPointUrl) {
5863
+ _onNoPayloadUrl(oncomplete);
5864
+ resolveFunc && resolveFunc(false);
5865
+ return;
5866
+ }
5867
+ var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
5868
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5869
+ arrForEach(objKeys(headers), function (headerName) {
5870
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
5871
+ });
5872
+ xhr.onreadystatechange = function () {
5873
+ if (!_isOneDs) {
5874
+ _doOnReadyFunc(xhr);
5875
+ if (xhr.readyState === 4) {
5876
+ resolveFunc && resolveFunc(true);
5877
+ }
5878
+ }
5879
+ };
5880
+ xhr.onload = function () {
5881
+ if (_isOneDs) {
5882
+ _doOnReadyFunc(xhr);
5883
+ }
5884
+ };
5885
+ function _doOnReadyFunc(xhr) {
5886
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
5887
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
5888
+ if (onReadyFuncExist) {
5889
+ onReadyFunc(xhr, oncomplete, payload);
5890
+ }
5891
+ else {
5892
+ var response = getResponseText(xhr);
5893
+ _doOnComplete(oncomplete, xhr[_DYN_STATUS ], _getAllResponseHeaders(xhr, _isOneDs), response);
5894
+ }
5895
+ }
5896
+ xhr.onerror = function (event) {
5897
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 400, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));
5898
+ rejectFunc && rejectFunc(event);
5899
+ };
5900
+ xhr.ontimeout = function () {
5901
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 500, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));
5902
+ resolveFunc && resolveFunc(false);
5903
+ };
5904
+ xhr.send(payload[_DYN_DATA ]);
5905
+ return thePromise;
5906
+ }
5907
+ function _doFetchSender(payload, oncomplete, sync) {
5908
+ var _a;
5909
+ var endPointUrl = payload[_DYN_URL_STRING ];
5910
+ var batch = payload[_DYN_DATA ];
5911
+ var plainTextBatch = _isOneDs ? batch : new Blob([batch], { type: "application/json" });
5912
+ var thePromise;
5913
+ var resolveFunc;
5914
+ var rejectFunc;
5915
+ var requestHeaders = new Headers();
5916
+ var batchLength = batch[_DYN_LENGTH ];
5917
+ var ignoreResponse = false;
5918
+ var responseHandled = false;
5919
+ var headers = payload[_DYN_HEADERS ] || {};
5920
+ var init = (_a = {
5921
+ method: STR_POST_METHOD,
5922
+ body: plainTextBatch
5923
+ },
5924
+ _a[DisabledPropertyName] = true
5925
+ ,
5926
+ _a);
5927
+ if (payload.headers && objKeys(payload.headers)[_DYN_LENGTH ] > 0) {
5928
+ arrForEach(objKeys(headers), function (headerName) {
5929
+ requestHeaders.append(headerName, headers[headerName]);
5930
+ });
5931
+ init[_DYN_HEADERS ] = requestHeaders;
5932
+ }
5933
+ if (_sendCredentials && _isOneDs) {
5934
+ init.credentials = "include";
5935
+ }
5936
+ if (sync) {
5937
+ init.keepalive = true;
5938
+ _syncFetchPayload += batchLength;
5939
+ if (_isOneDs) {
5940
+ if (payload["_sendReason"] === 2 ) {
5941
+ ignoreResponse = true;
5942
+ if (_addNoResponse) {
5943
+ endPointUrl += _noResponseQs;
5944
+ }
5945
+ }
5946
+ }
5947
+ else {
5948
+ ignoreResponse = true;
5949
+ }
5950
+ }
5951
+ var request = new Request(endPointUrl, init);
5952
+ try {
5953
+ request[DisabledPropertyName] = true;
5954
+ }
5955
+ catch (e) {
5956
+ }
5957
+ if (!sync && _enableSendPromise) {
5958
+ thePromise = createPromise(function (resolve, reject) {
5959
+ resolveFunc = resolve;
5960
+ rejectFunc = reject;
5961
+ });
5962
+ }
5963
+ if (!endPointUrl) {
5964
+ _onNoPayloadUrl(oncomplete);
5965
+ resolveFunc && resolveFunc(false);
5966
+ return;
5967
+ }
5968
+ function _handleError(res) {
5969
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
5970
+ }
5971
+ function _onFetchComplete(response, payload, value) {
5972
+ var status = response[_DYN_STATUS ];
5973
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5974
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5975
+ onCompleteFunc(response, oncomplete, value || STR_EMPTY, payload);
5976
+ }
5977
+ else {
5978
+ _doOnComplete(oncomplete, status, {}, value || STR_EMPTY);
5979
+ }
5980
+ }
5981
+ try {
5982
+ doAwaitResponse(fetch(_isOneDs ? endPointUrl : request, _isOneDs ? init : null), function (result) {
5983
+ if (sync) {
5984
+ _syncFetchPayload -= batchLength;
5985
+ batchLength = 0;
5986
+ }
5987
+ if (!responseHandled) {
5988
+ responseHandled = true;
5989
+ if (!result.rejected) {
5990
+ var response_1 = result.value;
5991
+ try {
5992
+ if (!_isOneDs && !response_1.ok) {
5993
+ _handleError(response_1.statusText);
5994
+ resolveFunc && resolveFunc(false);
5995
+ }
5996
+ else {
5997
+ if (_isOneDs && !response_1.body) {
5998
+ _onFetchComplete(response_1, null, STR_EMPTY);
5999
+ resolveFunc && resolveFunc(true);
6000
+ }
6001
+ else {
6002
+ doAwaitResponse(response_1.text(), function (resp) {
6003
+ _onFetchComplete(response_1, payload, resp.value);
6004
+ resolveFunc && resolveFunc(true);
6005
+ });
6006
+ }
6007
+ }
6008
+ }
6009
+ catch (e) {
6010
+ _handleError(dumpObj(e));
6011
+ rejectFunc && rejectFunc(e);
6012
+ }
6013
+ }
6014
+ else {
6015
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
6016
+ rejectFunc && rejectFunc(result.reason);
6017
+ }
6018
+ }
6019
+ });
6020
+ }
6021
+ catch (e) {
6022
+ if (!responseHandled) {
6023
+ _handleError(dumpObj(e));
6024
+ rejectFunc && rejectFunc(e);
6025
+ }
6026
+ }
6027
+ if (ignoreResponse && !responseHandled) {
6028
+ responseHandled = true;
6029
+ _doOnComplete(oncomplete, 200, {});
6030
+ resolveFunc && resolveFunc(true);
6031
+ }
6032
+ if (_isOneDs && !responseHandled && payload[_DYN_TIMEOUT ] > 0) {
6033
+ _timeoutWrapper && _timeoutWrapper.set(function () {
6034
+ if (!responseHandled) {
6035
+ responseHandled = true;
6036
+ _doOnComplete(oncomplete, 500, {});
6037
+ resolveFunc && resolveFunc(true);
6038
+ }
6039
+ }, payload[_DYN_TIMEOUT ]);
6040
+ }
6041
+ return thePromise;
6042
+ }
6043
+ function _xdrSender(payload, oncomplete, sync) {
6044
+ var _window = getWindow();
6045
+ var xdr = new XDomainRequest();
6046
+ var data = payload[_DYN_DATA ];
6047
+ xdr.onload = function () {
6048
+ var response = getResponseText(xdr);
6049
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
6050
+ if (onloadFunc && isFunction(onloadFunc)) {
6051
+ onloadFunc(xdr, oncomplete, payload);
6052
+ }
6053
+ else {
6054
+ _doOnComplete(oncomplete, 200, {}, response);
6055
+ }
6056
+ };
6057
+ xdr.onerror = function () {
6058
+ _doOnComplete(oncomplete, 400, {}, _isOneDs ? STR_EMPTY : formatErrorMessageXdr(xdr));
6059
+ };
6060
+ xdr.ontimeout = function () {
6061
+ _doOnComplete(oncomplete, 500, {});
6062
+ };
6063
+ xdr.onprogress = function () { };
6064
+ var hostingProtocol = _window && _window.location && _window.location[_DYN_PROTOCOL ] || "";
6065
+ var endpoint = payload[_DYN_URL_STRING ];
6066
+ if (!endpoint) {
6067
+ _onNoPayloadUrl(oncomplete);
6068
+ return;
6069
+ }
6070
+ if (!_isOneDs && endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
6071
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
6072
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
6073
+ _onError(msg, oncomplete);
6074
+ return;
6075
+ }
6076
+ var endpointUrl = _isOneDs ? endpoint : endpoint[_DYN_REPLACE ](/^(https?:)/, "");
6077
+ xdr.open(STR_POST_METHOD, endpointUrl);
6078
+ if (payload[_DYN_TIMEOUT ]) {
6079
+ xdr[_DYN_TIMEOUT ] = payload[_DYN_TIMEOUT ];
6080
+ }
6081
+ xdr.send(data);
6082
+ if (_isOneDs && sync) {
6083
+ _timeoutWrapper && _timeoutWrapper.set(function () {
6084
+ xdr.send(data);
6085
+ }, 0);
6086
+ }
6087
+ else {
6088
+ xdr.send(data);
6089
+ }
6090
+ }
6091
+ function _initDefaults() {
6092
+ _syncFetchPayload = 0;
6093
+ _isInitialized = false;
6094
+ _enableSendPromise = false;
6095
+ _diagLog = null;
6096
+ _isOneDs = null;
6097
+ _onCompleteFuncs = null;
6098
+ _disableCredentials = null;
6099
+ _fallbackInst = null;
6100
+ _disableXhr = false;
6101
+ _disableBeacon = false;
6102
+ _disableBeaconSync = false;
6103
+ _disableFetchKeepAlive = false;
6104
+ _addNoResponse = false;
6105
+ _timeoutWrapper = null;
6106
+ }
6107
+ });
6108
+ }
6109
+ SenderPostManager.__ieDyn=1;
6110
+ return SenderPostManager;
6111
+ }());
6112
+
5547
6113
  var strOnPrefix = "on";
5548
6114
  var strAttachEvent = "attachEvent";
5549
6115
  var strAddEventHelper = "addEventListener";
@@ -5564,16 +6130,16 @@ var elmNodeData = createElmNodeData("events");
5564
6130
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5565
6131
  function _normalizeNamespace(name) {
5566
6132
  if (name && name[_DYN_REPLACE ]) {
5567
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
6133
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5568
6134
  }
5569
6135
  return name;
5570
6136
  }
5571
6137
  function _getEvtNamespace(eventName, evtNamespace) {
5572
6138
  var _a;
5573
6139
  if (evtNamespace) {
5574
- var theNamespace_1 = STR_EMPTY;
6140
+ var theNamespace_1 = STR_EMPTY$1;
5575
6141
  if (isArray(evtNamespace)) {
5576
- theNamespace_1 = STR_EMPTY;
6142
+ theNamespace_1 = STR_EMPTY$1;
5577
6143
  arrForEach(evtNamespace, function (name) {
5578
6144
  name = _normalizeNamespace(name);
5579
6145
  if (name) {
@@ -5591,13 +6157,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5591
6157
  if (theNamespace_1[0] !== ".") {
5592
6158
  theNamespace_1 = "." + theNamespace_1;
5593
6159
  }
5594
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
6160
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5595
6161
  }
5596
6162
  }
5597
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
6163
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5598
6164
  return _a = {},
5599
6165
  _a[_DYN_TYPE ] = parsedEvent[1],
5600
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT ](".").sort()).join("."),
6166
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT ](".").sort()).join("."),
5601
6167
  _a;
5602
6168
  }
5603
6169
  function __getRegisteredEvents(target, eventName, evtNamespace) {
@@ -5610,7 +6176,7 @@ function __getRegisteredEvents(target, eventName, evtNamespace) {
5610
6176
  if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
5611
6177
  if (!evtName.ns || evtName.ns === evtName.ns) {
5612
6178
  theEvents[_DYN_PUSH ]((_a = {},
5613
- _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY),
6179
+ _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$1),
5614
6180
  _a.handler = value[_DYN_HANDLER ],
5615
6181
  _a));
5616
6182
  }
@@ -6055,9 +6621,12 @@ exports.NotificationManager = NotificationManager;
6055
6621
  exports.PerfEvent = PerfEvent;
6056
6622
  exports.PerfManager = PerfManager;
6057
6623
  exports.ProcessTelemetryContext = ProcessTelemetryContext;
6624
+ exports.SenderPostManager = SenderPostManager;
6058
6625
  exports.Undefined = Undefined;
6059
6626
  exports._InternalLogMessage = _InternalLogMessage;
6060
6627
  exports.__getRegisteredEvents = __getRegisteredEvents;
6628
+ exports._appendHeader = _appendHeader;
6629
+ exports._getAllResponseHeaders = _getAllResponseHeaders;
6061
6630
  exports._logInternalMessage = _logInternalMessage;
6062
6631
  exports._throwInternal = _throwInternal;
6063
6632
  exports._warnToConsole = _warnToConsole;
@@ -6081,6 +6650,7 @@ exports.cfgDfMerge = cfgDfMerge;
6081
6650
  exports.cfgDfSet = cfgDfSet;
6082
6651
  exports.cfgDfString = cfgDfString;
6083
6652
  exports.cfgDfValidate = cfgDfValidate;
6653
+ exports.convertAllHeadersToMap = convertAllHeadersToMap;
6084
6654
  exports.createClassFromInterface = createClassFromInterface;
6085
6655
  exports.createCookieMgr = createCookieMgr;
6086
6656
  exports.createCustomDomEvent = createCustomDomEvent;
@@ -6105,6 +6675,8 @@ exports.findMetaTag = findMetaTag;
6105
6675
  exports.findNamedServerTiming = findNamedServerTiming;
6106
6676
  exports.findW3cTraceParent = findW3cTraceParent;
6107
6677
  exports.forceDynamicConversion = forceDynamicConversion;
6678
+ exports.formatErrorMessageXdr = formatErrorMessageXdr;
6679
+ exports.formatErrorMessageXhr = formatErrorMessageXhr;
6108
6680
  exports.formatTraceParent = formatTraceParent;
6109
6681
  exports.generateW3CId = generateW3CId;
6110
6682
  exports.getConsole = getConsole;
@@ -6124,6 +6696,7 @@ exports.getLocation = getLocation;
6124
6696
  exports.getMsCrypto = getMsCrypto;
6125
6697
  exports.getNavigator = getNavigator;
6126
6698
  exports.getPerformance = getPerformance;
6699
+ exports.getResponseText = getResponseText;
6127
6700
  exports.getSetValue = getSetValue;
6128
6701
  exports.getWindow = getWindow;
6129
6702
  exports.hasDocument = hasDocument;
@@ -6174,9 +6747,12 @@ exports.objKeys = objKeys;
6174
6747
  exports.objSeal = objSeal;
6175
6748
  exports.objToString = objToString;
6176
6749
  exports.onConfigChange = onConfigChange;
6750
+ exports.openXhr = openXhr;
6177
6751
  exports.optimizeObject = optimizeObject;
6752
+ exports.parseResponse = parseResponse;
6178
6753
  exports.parseTraceParent = parseTraceParent;
6179
6754
  exports.perfNow = perfNow;
6755
+ exports.prependTransports = prependTransports;
6180
6756
  exports.proxyAssign = proxyAssign;
6181
6757
  exports.proxyFunctionAs = proxyFunctionAs;
6182
6758
  exports.proxyFunctions = proxyFunctions;