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