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

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