@microsoft/applicationinsights-offlinechannel-js 0.1.1-nightly3.2403-03 → 0.1.1-nightly3.2403-04

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Offline Channel, 0.1.1-nightly3.2403-03
2
+ * Application Insights JavaScript SDK - Offline Channel, 0.1.1-nightly3.2403-04
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -167,19 +167,6 @@
167
167
  function createEnumKeyMap(values) {
168
168
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
169
169
  }
170
- /*#__NO_SIDE_EFFECTS__*/
171
- function createSimpleMap(values) {
172
- var mapClass = {};
173
- objForEachKey(values, function (key, value) {
174
- mapClass[key] = value[1];
175
- mapClass[value[0]] = value[1];
176
- });
177
- return objDeepFreeze(mapClass);
178
- }
179
- /*#__NO_SIDE_EFFECTS__*/
180
- function createTypeMap(values) {
181
- return createSimpleMap(values);
182
- }
183
170
 
184
171
  var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
185
172
  asyncIterator: 0 ,
@@ -665,6 +652,22 @@
665
652
  return new Date().getTime();
666
653
  }
667
654
 
655
+ /*#__NO_SIDE_EFFECTS__*/
656
+ function _createTrimFn(exp) {
657
+ return function _doTrim(value) {
658
+ if (isNullOrUndefined(value)) {
659
+ throwTypeError("strTrim called [" + dumpObj(value) + "]");
660
+ }
661
+ if (value && value.replace) {
662
+ value = value.replace(exp, EMPTY);
663
+ }
664
+ return value;
665
+ };
666
+ }
667
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
668
+
669
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
670
+
668
671
  var _fnToString;
669
672
  var _objCtrFnString;
670
673
  var _gblWindow;
@@ -1042,7 +1045,6 @@
1042
1045
  dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1043
1046
 
1044
1047
  var createEnumStyle = createEnum;
1045
- var createValueMap = createTypeMap;
1046
1048
 
1047
1049
  var EventsDiscardedReason = createEnumStyle({
1048
1050
  Unknown: 0 ,
@@ -1053,9 +1055,9 @@
1053
1055
  QueueFull: 5
1054
1056
  });
1055
1057
 
1056
- var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
1058
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
1057
1059
  var _DYN_BLK_VAL = "blkVal";
1058
- var _DYN_LENGTH$2 = "length";
1060
+ var _DYN_LENGTH$1 = "length";
1059
1061
  var _DYN_RD_ONLY = "rdOnly";
1060
1062
  var _DYN_NOTIFY = "notify";
1061
1063
  var _DYN_WARN_TO_CONSOLE = "warnToConsole";
@@ -1081,13 +1083,14 @@
1081
1083
  var _DYN_CREATE_NEW = "createNew";
1082
1084
  var _DYN_TEARDOWN$1 = "teardown";
1083
1085
  var _DYN_MESSAGE_ID = "messageId";
1084
- var _DYN_MESSAGE$1 = "message";
1086
+ var _DYN_MESSAGE = "message";
1085
1087
  var _DYN_IS_ASYNC = "isAsync";
1086
1088
  var _DYN_DIAG_LOG$1 = "diagLog";
1087
1089
  var _DYN__DO_TEARDOWN = "_doTeardown";
1088
1090
  var _DYN_UPDATE = "update";
1089
1091
  var _DYN_GET_NEXT = "getNext";
1090
1092
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1093
+ var _DYN_PROTOCOL = "protocol";
1091
1094
  var _DYN_USER_AGENT = "userAgent";
1092
1095
  var _DYN_SPLIT$1 = "split";
1093
1096
  var _DYN_NODE_TYPE = "nodeType";
@@ -1095,16 +1098,26 @@
1095
1098
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1096
1099
  var _DYN_TYPE = "type";
1097
1100
  var _DYN_HANDLER = "handler";
1101
+ var _DYN_STATUS = "status";
1102
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1103
+ var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1104
+ var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1098
1105
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1106
+ var _DYN_DATA$1 = "data";
1099
1107
  var _DYN_GET_CTX = "getCtx";
1100
1108
  var _DYN_SET_CTX = "setCtx";
1101
1109
  var _DYN_COMPLETE = "complete";
1110
+ var _DYN_URL_STRING = "urlString";
1111
+ var _DYN_SEND_POST$1 = "sendPOST";
1112
+ var _DYN_HEADERS = "headers";
1113
+ var _DYN_TIMEOUT = "timeout";
1114
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
1102
1115
 
1103
1116
  var aggregationErrorType;
1104
1117
  function throwAggregationError(message, sourceErrors) {
1105
1118
  if (!aggregationErrorType) {
1106
1119
  aggregationErrorType = createCustomError("AggregationError", function (self, args) {
1107
- if (args[_DYN_LENGTH$2 ] > 1) {
1120
+ if (args[_DYN_LENGTH$1 ] > 1) {
1108
1121
  self.errors = args[1];
1109
1122
  }
1110
1123
  });
@@ -1682,62 +1695,20 @@
1682
1695
  var STR_GET_PERF_MGR = "getPerfMgr";
1683
1696
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1684
1697
 
1685
- var rCamelCase = /-([a-z])/g;
1686
- var rNormalizeInvalid = /([^\w\d_$])/g;
1687
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
1688
- function isNotNullOrUndefined(value) {
1689
- return !isNullOrUndefined(value);
1690
- }
1691
- function normalizeJsName(name) {
1692
- var value = name;
1693
- if (value && isString(value)) {
1694
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1695
- return letter.toUpperCase();
1696
- });
1697
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1698
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1699
- return "_" + match;
1700
- });
1701
- }
1702
- return value;
1703
- }
1704
- function strContains(value, search) {
1705
- if (value && search) {
1706
- return strIndexOf(value, search) !== -1;
1707
- }
1708
- return false;
1709
- }
1710
- function getExceptionName(object) {
1711
- if (isError(object)) {
1712
- return object[_DYN_NAME$1 ];
1713
- }
1714
- return STR_EMPTY$1;
1715
- }
1716
- function _createProxyFunction(source, funcName) {
1717
- var srcFunc = null;
1718
- var src = null;
1719
- if (isFunction(source)) {
1720
- srcFunc = source;
1721
- }
1722
- else {
1723
- src = source;
1698
+ var _aiNamespace = null;
1699
+ function _getExtensionNamespace() {
1700
+ var target = getInst("Microsoft");
1701
+ if (target) {
1702
+ _aiNamespace = target["ApplicationInsights"];
1724
1703
  }
1725
- return function () {
1726
- var originalArguments = arguments;
1727
- if (srcFunc) {
1728
- src = srcFunc();
1729
- }
1730
- if (src) {
1731
- return src[funcName][_DYN_APPLY ](src, originalArguments);
1732
- }
1733
- };
1704
+ return _aiNamespace;
1734
1705
  }
1735
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1736
- if (target && name && source) {
1737
- if (overwriteTarget !== false || isUndefined(target[name])) {
1738
- target[name] = _createProxyFunction(source, theFunc);
1739
- }
1706
+ function getDebugExt(config) {
1707
+ var ns = _aiNamespace;
1708
+ if (!ns && config.disableDbgExt !== true) {
1709
+ ns = _aiNamespace || _getExtensionNamespace();
1740
1710
  }
1711
+ return ns ? ns["ChromeDbgExt"] : null;
1741
1712
  }
1742
1713
 
1743
1714
  var strLocation = "location";
@@ -1815,7 +1786,7 @@
1815
1786
  var nav = getNavigator();
1816
1787
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1817
1788
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1818
- var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1789
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1819
1790
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1820
1791
  }
1821
1792
  return _isTrident;
@@ -1859,123 +1830,489 @@
1859
1830
  return isSupported;
1860
1831
  }
1861
1832
 
1862
- var UInt32Mask = 0x100000000;
1863
- var MaxUInt32 = 0xffffffff;
1864
- var SEED1 = 123456789;
1865
- var SEED2 = 987654321;
1866
- var _mwcSeeded = false;
1867
- var _mwcW = SEED1;
1868
- var _mwcZ = SEED2;
1869
- function _mwcSeed(seedValue) {
1870
- if (seedValue < 0) {
1871
- seedValue >>>= 0;
1872
- }
1873
- _mwcW = (SEED1 + seedValue) & MaxUInt32;
1874
- _mwcZ = (SEED2 - seedValue) & MaxUInt32;
1875
- _mwcSeeded = true;
1876
- }
1877
- function _autoSeedMwc() {
1878
- try {
1879
- var now = utcNow() & 0x7fffffff;
1880
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
1881
- }
1882
- catch (e) {
1833
+ var _a$1;
1834
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
1835
+ var AiNonUserActionablePrefix = "AI (Internal): ";
1836
+ var AiUserActionablePrefix = "AI: ";
1837
+ var AIInternalMessagePrefix = "AITR_";
1838
+ var defaultValues$1 = {
1839
+ loggingLevelConsole: 0,
1840
+ loggingLevelTelemetry: 1,
1841
+ maxMessageLimit: 25,
1842
+ enableDebug: false
1843
+ };
1844
+ var _logFuncs = (_a$1 = {},
1845
+ _a$1[0 ] = null,
1846
+ _a$1[1 ] = "errorToConsole",
1847
+ _a$1[2 ] = STR_WARN_TO_CONSOLE,
1848
+ _a$1[3 ] = "debugToConsole",
1849
+ _a$1);
1850
+ function _sanitizeDiagnosticText(text) {
1851
+ if (text) {
1852
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
1883
1853
  }
1854
+ return STR_EMPTY$1;
1884
1855
  }
1885
- function random32(signed) {
1886
- var value = 0;
1887
- var c = getCrypto() || getMsCrypto();
1888
- if (c && c.getRandomValues) {
1889
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
1890
- }
1891
- if (value === 0 && isIE()) {
1892
- if (!_mwcSeeded) {
1893
- _autoSeedMwc();
1856
+ function _logToConsole(func, message) {
1857
+ var theConsole = getConsole();
1858
+ if (!!theConsole) {
1859
+ var logFunc = "log";
1860
+ if (theConsole[func]) {
1861
+ logFunc = func;
1894
1862
  }
1895
- value = mwcRandom32() & MaxUInt32;
1896
- }
1897
- if (value === 0) {
1898
- value = Math.floor((UInt32Mask * Math.random()) | 0);
1899
- }
1900
- if (!signed) {
1901
- value >>>= 0;
1902
- }
1903
- return value;
1904
- }
1905
- function mwcRandom32(signed) {
1906
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
1907
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
1908
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
1909
- if (!signed) {
1910
- value >>>= 0;
1911
- }
1912
- return value;
1913
- }
1914
- function newId(maxLength) {
1915
- if (maxLength === void 0) { maxLength = 22; }
1916
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1917
- var number = random32() >>> 0;
1918
- var chars = 0;
1919
- var result = STR_EMPTY$1;
1920
- while (result[_DYN_LENGTH$2 ] < maxLength) {
1921
- chars++;
1922
- result += base64chars.charAt(number & 0x3F);
1923
- number >>>= 6;
1924
- if (chars === 5) {
1925
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
1926
- chars = 0;
1863
+ if (isFunction(theConsole[logFunc])) {
1864
+ theConsole[logFunc](message);
1927
1865
  }
1928
1866
  }
1929
- return result;
1930
1867
  }
1931
-
1932
- var version$1 = "3.0.5";
1933
- var instanceName = "." + newId(6);
1934
- var _dataUid = 0;
1935
- function _canAcceptData(target) {
1936
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
1937
- }
1938
- function _getCache(data, target) {
1939
- var theCache = target[data.id];
1940
- if (!theCache) {
1941
- theCache = {};
1942
- try {
1943
- if (_canAcceptData(target)) {
1944
- objDefine(target, data.id, {
1945
- e: false,
1946
- v: theCache
1947
- });
1948
- }
1949
- }
1950
- catch (e) {
1868
+ var _InternalLogMessage = /** @class */ (function () {
1869
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1870
+ if (isUserAct === void 0) { isUserAct = false; }
1871
+ var _self = this;
1872
+ _self[_DYN_MESSAGE_ID ] = msgId;
1873
+ _self[_DYN_MESSAGE ] =
1874
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1875
+ msgId;
1876
+ var strProps = STR_EMPTY$1;
1877
+ if (hasJSON()) {
1878
+ strProps = getJSON().stringify(properties);
1951
1879
  }
1880
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
1881
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
1882
+ _self[_DYN_MESSAGE ] += diagnosticText;
1952
1883
  }
1953
- return theCache;
1954
- }
1955
- function createUniqueNamespace(name, includeVersion) {
1956
- if (includeVersion === void 0) { includeVersion = false; }
1957
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version$1 : STR_EMPTY$1) + instanceName);
1884
+ _InternalLogMessage.dataType = "MessageData";
1885
+ return _InternalLogMessage;
1886
+ }());
1887
+ function safeGetLogger(core, config) {
1888
+ return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
1958
1889
  }
1959
- function createElmNodeData(name) {
1960
- var data = {
1961
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version$1),
1962
- accept: function (target) {
1963
- return _canAcceptData(target);
1964
- },
1965
- get: function (target, name, defValue, addDefault) {
1966
- var theCache = target[data.id];
1967
- if (!theCache) {
1968
- if (addDefault) {
1969
- theCache = _getCache(data, target);
1970
- theCache[normalizeJsName(name)] = defValue;
1890
+ var DiagnosticLogger = /** @class */ (function () {
1891
+ function DiagnosticLogger(config) {
1892
+ this.identifier = "DiagnosticLogger";
1893
+ this.queue = [];
1894
+ var _messageCount = 0;
1895
+ var _messageLogged = {};
1896
+ var _loggingLevelConsole;
1897
+ var _loggingLevelTelemetry;
1898
+ var _maxInternalMessageLimit;
1899
+ var _enableDebug;
1900
+ var _unloadHandler;
1901
+ dynamicProto(DiagnosticLogger, this, function (_self) {
1902
+ _unloadHandler = _setDefaultsFromConfig(config || {});
1903
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
1904
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
1905
+ if (isUserAct === void 0) { isUserAct = false; }
1906
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
1907
+ if (_enableDebug) {
1908
+ throw dumpObj(message);
1971
1909
  }
1972
- return defValue;
1973
- }
1974
- return theCache[normalizeJsName(name)];
1975
- },
1976
- kill: function (target, name) {
1977
- if (target && target[name]) {
1978
- try {
1910
+ else {
1911
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
1912
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
1913
+ if (isUserAct) {
1914
+ var messageKey = +message[_DYN_MESSAGE_ID ];
1915
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
1916
+ _self[logFunc](message[_DYN_MESSAGE ]);
1917
+ _messageLogged[messageKey] = true;
1918
+ }
1919
+ }
1920
+ else {
1921
+ if (_loggingLevelConsole >= severity) {
1922
+ _self[logFunc](message[_DYN_MESSAGE ]);
1923
+ }
1924
+ }
1925
+ _logInternalMessage(severity, message);
1926
+ }
1927
+ else {
1928
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
1929
+ }
1930
+ }
1931
+ };
1932
+ _self.debugToConsole = function (message) {
1933
+ _logToConsole("debug", message);
1934
+ _debugExtMsg("warning", message);
1935
+ };
1936
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
1937
+ _logToConsole("warn", message);
1938
+ _debugExtMsg("warning", message);
1939
+ };
1940
+ _self.errorToConsole = function (message) {
1941
+ _logToConsole("error", message);
1942
+ _debugExtMsg("error", message);
1943
+ };
1944
+ _self.resetInternalMessageCount = function () {
1945
+ _messageCount = 0;
1946
+ _messageLogged = {};
1947
+ };
1948
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
1949
+ _self[_DYN_UNLOAD ] = function (isAsync) {
1950
+ _unloadHandler && _unloadHandler.rm();
1951
+ _unloadHandler = null;
1952
+ };
1953
+ function _logInternalMessage(severity, message) {
1954
+ if (_areInternalMessagesThrottled()) {
1955
+ return;
1956
+ }
1957
+ var logMessage = true;
1958
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
1959
+ if (_messageLogged[messageKey]) {
1960
+ logMessage = false;
1961
+ }
1962
+ else {
1963
+ _messageLogged[messageKey] = true;
1964
+ }
1965
+ if (logMessage) {
1966
+ if (severity <= _loggingLevelTelemetry) {
1967
+ _self.queue[_DYN_PUSH$2 ](message);
1968
+ _messageCount++;
1969
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
1970
+ }
1971
+ if (_messageCount === _maxInternalMessageLimit) {
1972
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1973
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
1974
+ _self.queue[_DYN_PUSH$2 ](throttleMessage);
1975
+ if (severity === 1 ) {
1976
+ _self.errorToConsole(throttleLimitMessage);
1977
+ }
1978
+ else {
1979
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
1980
+ }
1981
+ }
1982
+ }
1983
+ }
1984
+ function _setDefaultsFromConfig(config) {
1985
+ return onConfigChange(createDynamicConfig(config, defaultValues$1, _self).cfg, function (details) {
1986
+ var config = details.cfg;
1987
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
1988
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
1989
+ _maxInternalMessageLimit = config.maxMessageLimit;
1990
+ _enableDebug = config.enableDebug;
1991
+ });
1992
+ }
1993
+ function _areInternalMessagesThrottled() {
1994
+ return _messageCount >= _maxInternalMessageLimit;
1995
+ }
1996
+ function _debugExtMsg(name, data) {
1997
+ var dbgExt = getDebugExt(config || {});
1998
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG$1 ]) {
1999
+ dbgExt[_DYN_DIAG_LOG$1 ](name, data);
2000
+ }
2001
+ }
2002
+ });
2003
+ }
2004
+ DiagnosticLogger.__ieDyn=1;
2005
+ return DiagnosticLogger;
2006
+ }());
2007
+ function _getLogger(logger) {
2008
+ return (logger || new DiagnosticLogger());
2009
+ }
2010
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2011
+ if (isUserAct === void 0) { isUserAct = false; }
2012
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2013
+ }
2014
+ function _warnToConsole(logger, message) {
2015
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2016
+ }
2017
+
2018
+ var rCamelCase = /-([a-z])/g;
2019
+ var rNormalizeInvalid = /([^\w\d_$])/g;
2020
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
2021
+ function isNotNullOrUndefined(value) {
2022
+ return !isNullOrUndefined(value);
2023
+ }
2024
+ function normalizeJsName(name) {
2025
+ var value = name;
2026
+ if (value && isString(value)) {
2027
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2028
+ return letter.toUpperCase();
2029
+ });
2030
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2031
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2032
+ return "_" + match;
2033
+ });
2034
+ }
2035
+ return value;
2036
+ }
2037
+ function strContains(value, search) {
2038
+ if (value && search) {
2039
+ return strIndexOf(value, search) !== -1;
2040
+ }
2041
+ return false;
2042
+ }
2043
+ function getExceptionName(object) {
2044
+ if (isError(object)) {
2045
+ return object[_DYN_NAME$1 ];
2046
+ }
2047
+ return STR_EMPTY$1;
2048
+ }
2049
+ function _createProxyFunction(source, funcName) {
2050
+ var srcFunc = null;
2051
+ var src = null;
2052
+ if (isFunction(source)) {
2053
+ srcFunc = source;
2054
+ }
2055
+ else {
2056
+ src = source;
2057
+ }
2058
+ return function () {
2059
+ var originalArguments = arguments;
2060
+ if (srcFunc) {
2061
+ src = srcFunc();
2062
+ }
2063
+ if (src) {
2064
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
2065
+ }
2066
+ };
2067
+ }
2068
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2069
+ if (target && name && source) {
2070
+ if (overwriteTarget !== false || isUndefined(target[name])) {
2071
+ target[name] = _createProxyFunction(source, theFunc);
2072
+ }
2073
+ }
2074
+ }
2075
+ function getResponseText(xhr) {
2076
+ try {
2077
+ return xhr.responseText;
2078
+ }
2079
+ catch (e) {
2080
+ }
2081
+ return null;
2082
+ }
2083
+ function formatErrorMessageXdr(xdr, message) {
2084
+ if (xdr) {
2085
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2086
+ }
2087
+ return message;
2088
+ }
2089
+ function formatErrorMessageXhr(xhr, message) {
2090
+ if (xhr) {
2091
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2092
+ }
2093
+ return message;
2094
+ }
2095
+ function prependTransports(theTransports, newTransports) {
2096
+ if (newTransports) {
2097
+ if (isNumber(newTransports)) {
2098
+ theTransports = [newTransports].concat(theTransports);
2099
+ }
2100
+ else if (isArray(newTransports)) {
2101
+ theTransports = newTransports.concat(theTransports);
2102
+ }
2103
+ }
2104
+ return theTransports;
2105
+ }
2106
+ function parseResponse(response, diagLog) {
2107
+ try {
2108
+ if (response && response !== "") {
2109
+ var result = getJSON().parse(response);
2110
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2111
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
2112
+ return result;
2113
+ }
2114
+ }
2115
+ }
2116
+ catch (e) {
2117
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2118
+ response: response
2119
+ });
2120
+ }
2121
+ return null;
2122
+ }
2123
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2124
+ var strWithCredentials = "withCredentials";
2125
+ var strTimeout = "timeout";
2126
+ function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
2127
+ if (disabled === void 0) { disabled = false; }
2128
+ if (isSync === void 0) { isSync = false; }
2129
+ function _wrapSetXhrProp(xhr, prop, value) {
2130
+ try {
2131
+ xhr[prop] = value;
2132
+ }
2133
+ catch (e) {
2134
+ }
2135
+ }
2136
+ var xhr = new XMLHttpRequest();
2137
+ if (disabled) {
2138
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2139
+ }
2140
+ if (withCredentials) {
2141
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2142
+ }
2143
+ xhr.open(method, urlString, !isSync);
2144
+ if (withCredentials) {
2145
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2146
+ }
2147
+ if (!isSync && timeout) {
2148
+ _wrapSetXhrProp(xhr, strTimeout, timeout);
2149
+ }
2150
+ return xhr;
2151
+ }
2152
+ function convertAllHeadersToMap(headersString) {
2153
+ var headers = {};
2154
+ if (isString(headersString)) {
2155
+ var headersArray = strTrim(headersString)[_DYN_SPLIT$1 ](/[\r\n]+/);
2156
+ arrForEach(headersArray, function (headerEntry) {
2157
+ if (headerEntry) {
2158
+ var idx = headerEntry.indexOf(": ");
2159
+ if (idx !== -1) {
2160
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2161
+ var value = strTrim(headerEntry.substring(idx + 1));
2162
+ headers[header] = value;
2163
+ }
2164
+ else {
2165
+ headers[strTrim(headerEntry)] = 1;
2166
+ }
2167
+ }
2168
+ });
2169
+ }
2170
+ return headers;
2171
+ }
2172
+ function _appendHeader(theHeaders, xhr, name) {
2173
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2174
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2175
+ if (value) {
2176
+ theHeaders[name] = strTrim(value);
2177
+ }
2178
+ }
2179
+ return theHeaders;
2180
+ }
2181
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2182
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2183
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2184
+ function _getAllResponseHeaders(xhr, isOneDs) {
2185
+ var theHeaders = {};
2186
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2187
+ if (!!isOneDs) {
2188
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2189
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2190
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2191
+ }
2192
+ }
2193
+ else {
2194
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2195
+ }
2196
+ return theHeaders;
2197
+ }
2198
+
2199
+ var UInt32Mask = 0x100000000;
2200
+ var MaxUInt32 = 0xffffffff;
2201
+ var SEED1 = 123456789;
2202
+ var SEED2 = 987654321;
2203
+ var _mwcSeeded = false;
2204
+ var _mwcW = SEED1;
2205
+ var _mwcZ = SEED2;
2206
+ function _mwcSeed(seedValue) {
2207
+ if (seedValue < 0) {
2208
+ seedValue >>>= 0;
2209
+ }
2210
+ _mwcW = (SEED1 + seedValue) & MaxUInt32;
2211
+ _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2212
+ _mwcSeeded = true;
2213
+ }
2214
+ function _autoSeedMwc() {
2215
+ try {
2216
+ var now = utcNow() & 0x7fffffff;
2217
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2218
+ }
2219
+ catch (e) {
2220
+ }
2221
+ }
2222
+ function random32(signed) {
2223
+ var value = 0;
2224
+ var c = getCrypto() || getMsCrypto();
2225
+ if (c && c.getRandomValues) {
2226
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2227
+ }
2228
+ if (value === 0 && isIE()) {
2229
+ if (!_mwcSeeded) {
2230
+ _autoSeedMwc();
2231
+ }
2232
+ value = mwcRandom32() & MaxUInt32;
2233
+ }
2234
+ if (value === 0) {
2235
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
2236
+ }
2237
+ if (!signed) {
2238
+ value >>>= 0;
2239
+ }
2240
+ return value;
2241
+ }
2242
+ function mwcRandom32(signed) {
2243
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2244
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2245
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2246
+ if (!signed) {
2247
+ value >>>= 0;
2248
+ }
2249
+ return value;
2250
+ }
2251
+ function newId(maxLength) {
2252
+ if (maxLength === void 0) { maxLength = 22; }
2253
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2254
+ var number = random32() >>> 0;
2255
+ var chars = 0;
2256
+ var result = STR_EMPTY$1;
2257
+ while (result[_DYN_LENGTH$1 ] < maxLength) {
2258
+ chars++;
2259
+ result += base64chars.charAt(number & 0x3F);
2260
+ number >>>= 6;
2261
+ if (chars === 5) {
2262
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2263
+ chars = 0;
2264
+ }
2265
+ }
2266
+ return result;
2267
+ }
2268
+
2269
+ var version$1 = "3.0.5";
2270
+ var instanceName = "." + newId(6);
2271
+ var _dataUid = 0;
2272
+ function _canAcceptData(target) {
2273
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2274
+ }
2275
+ function _getCache(data, target) {
2276
+ var theCache = target[data.id];
2277
+ if (!theCache) {
2278
+ theCache = {};
2279
+ try {
2280
+ if (_canAcceptData(target)) {
2281
+ objDefine(target, data.id, {
2282
+ e: false,
2283
+ v: theCache
2284
+ });
2285
+ }
2286
+ }
2287
+ catch (e) {
2288
+ }
2289
+ }
2290
+ return theCache;
2291
+ }
2292
+ function createUniqueNamespace(name, includeVersion) {
2293
+ if (includeVersion === void 0) { includeVersion = false; }
2294
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version$1 : STR_EMPTY$1) + instanceName);
2295
+ }
2296
+ function createElmNodeData(name) {
2297
+ var data = {
2298
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version$1),
2299
+ accept: function (target) {
2300
+ return _canAcceptData(target);
2301
+ },
2302
+ get: function (target, name, defValue, addDefault) {
2303
+ var theCache = target[data.id];
2304
+ if (!theCache) {
2305
+ if (addDefault) {
2306
+ theCache = _getCache(data, target);
2307
+ theCache[normalizeJsName(name)] = defValue;
2308
+ }
2309
+ return defValue;
2310
+ }
2311
+ return theCache[normalizeJsName(name)];
2312
+ },
2313
+ kill: function (target, name) {
2314
+ if (target && target[name]) {
2315
+ try {
1979
2316
  delete target[name];
1980
2317
  }
1981
2318
  catch (e) {
@@ -1997,7 +2334,7 @@
1997
2334
  if (!isArray(fallbacks)) {
1998
2335
  fallbacks = [fallbacks];
1999
2336
  }
2000
- for (var lp = 0; lp < fallbacks[_DYN_LENGTH$2 ]; lp++) {
2337
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH$1 ]; lp++) {
2001
2338
  var fallback = fallbacks[lp];
2002
2339
  var fbValue = theConfig[fallback];
2003
2340
  if (isDefaultValid(fbValue)) {
@@ -2032,7 +2369,7 @@
2032
2369
  var newValue_1;
2033
2370
  if (isArray(theValue)) {
2034
2371
  newValue_1 = [];
2035
- newValue_1[_DYN_LENGTH$2 ] = theValue[_DYN_LENGTH$2 ];
2372
+ newValue_1[_DYN_LENGTH$1 ] = theValue[_DYN_LENGTH$1 ];
2036
2373
  }
2037
2374
  else if (isPlainObject(theValue)) {
2038
2375
  newValue_1 = {};
@@ -2123,7 +2460,7 @@
2123
2460
  var target_1;
2124
2461
  if (isArray(source)) {
2125
2462
  target_1 = [];
2126
- target_1[_DYN_LENGTH$2 ] = source[_DYN_LENGTH$2 ];
2463
+ target_1[_DYN_LENGTH$1 ] = source[_DYN_LENGTH$1 ];
2127
2464
  }
2128
2465
  else if (isPlainObject(source)) {
2129
2466
  target_1 = {};
@@ -2432,13 +2769,13 @@
2432
2769
  watcherFailures_1[_DYN_PUSH$2 ](e);
2433
2770
  }
2434
2771
  }
2435
- if (watcherFailures_1[_DYN_LENGTH$2 ] > 0) {
2772
+ if (watcherFailures_1[_DYN_LENGTH$1 ] > 0) {
2436
2773
  throwAggregationError("Watcher error(s): ", watcherFailures_1);
2437
2774
  }
2438
2775
  }
2439
2776
  }
2440
2777
  function _addWatcher(detail) {
2441
- if (detail && detail.h[_DYN_LENGTH$2 ] > 0) {
2778
+ if (detail && detail.h[_DYN_LENGTH$1 ] > 0) {
2442
2779
  if (!_waitingHandlers) {
2443
2780
  _waitingHandlers = [];
2444
2781
  }
@@ -2448,7 +2785,7 @@
2448
2785
  _notifyWatchers();
2449
2786
  }, 0);
2450
2787
  }
2451
- for (var idx = 0; idx < detail.h[_DYN_LENGTH$2 ]; idx++) {
2788
+ for (var idx = 0; idx < detail.h[_DYN_LENGTH$1 ]; idx++) {
2452
2789
  var handler = detail.h[idx];
2453
2790
  if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
2454
2791
  _waitingHandlers[_DYN_PUSH$2 ](handler);
@@ -2590,218 +2927,22 @@
2590
2927
  return dynamicHandler;
2591
2928
  }
2592
2929
  function onConfigChange(config, configHandler, logger) {
2593
- var handler = config[CFG_HANDLER_LINK] || config;
2594
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2595
- return handler[_DYN_WATCH ](configHandler);
2596
- }
2597
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2598
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2599
- }
2600
-
2601
- function runTargetUnload(target, isAsync) {
2602
- if (target && target[_DYN_UNLOAD ]) {
2603
- return target[_DYN_UNLOAD ](isAsync);
2604
- }
2605
- }
2606
-
2607
- var _aiNamespace = null;
2608
- function _getExtensionNamespace() {
2609
- var target = getInst("Microsoft");
2610
- if (target) {
2611
- _aiNamespace = target["ApplicationInsights"];
2612
- }
2613
- return _aiNamespace;
2614
- }
2615
- function getDebugExt(config) {
2616
- var ns = _aiNamespace;
2617
- if (!ns && config.disableDbgExt !== true) {
2618
- ns = _aiNamespace || _getExtensionNamespace();
2619
- }
2620
- return ns ? ns["ChromeDbgExt"] : null;
2621
- }
2622
-
2623
- var _a$1;
2624
- var STR_WARN_TO_CONSOLE = "warnToConsole";
2625
- var AiNonUserActionablePrefix = "AI (Internal): ";
2626
- var AiUserActionablePrefix = "AI: ";
2627
- var AIInternalMessagePrefix = "AITR_";
2628
- var defaultValues$1 = {
2629
- loggingLevelConsole: 0,
2630
- loggingLevelTelemetry: 1,
2631
- maxMessageLimit: 25,
2632
- enableDebug: false
2633
- };
2634
- var _logFuncs = (_a$1 = {},
2635
- _a$1[0 ] = null,
2636
- _a$1[1 ] = "errorToConsole",
2637
- _a$1[2 ] = STR_WARN_TO_CONSOLE,
2638
- _a$1[3 ] = "debugToConsole",
2639
- _a$1);
2640
- function _sanitizeDiagnosticText(text) {
2641
- if (text) {
2642
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2643
- }
2644
- return STR_EMPTY$1;
2645
- }
2646
- function _logToConsole(func, message) {
2647
- var theConsole = getConsole();
2648
- if (!!theConsole) {
2649
- var logFunc = "log";
2650
- if (theConsole[func]) {
2651
- logFunc = func;
2652
- }
2653
- if (isFunction(theConsole[logFunc])) {
2654
- theConsole[logFunc](message);
2655
- }
2656
- }
2657
- }
2658
- var _InternalLogMessage = /** @class */ (function () {
2659
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2660
- if (isUserAct === void 0) { isUserAct = false; }
2661
- var _self = this;
2662
- _self[_DYN_MESSAGE_ID ] = msgId;
2663
- _self[_DYN_MESSAGE$1 ] =
2664
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2665
- msgId;
2666
- var strProps = STR_EMPTY$1;
2667
- if (hasJSON()) {
2668
- strProps = getJSON().stringify(properties);
2669
- }
2670
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2671
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2672
- _self[_DYN_MESSAGE$1 ] += diagnosticText;
2673
- }
2674
- _InternalLogMessage.dataType = "MessageData";
2675
- return _InternalLogMessage;
2676
- }());
2677
- function safeGetLogger(core, config) {
2678
- return (core || {})[_DYN_LOGGER ] || new DiagnosticLogger(config);
2679
- }
2680
- var DiagnosticLogger = /** @class */ (function () {
2681
- function DiagnosticLogger(config) {
2682
- this.identifier = "DiagnosticLogger";
2683
- this.queue = [];
2684
- var _messageCount = 0;
2685
- var _messageLogged = {};
2686
- var _loggingLevelConsole;
2687
- var _loggingLevelTelemetry;
2688
- var _maxInternalMessageLimit;
2689
- var _enableDebug;
2690
- var _unloadHandler;
2691
- dynamicProto(DiagnosticLogger, this, function (_self) {
2692
- _unloadHandler = _setDefaultsFromConfig(config || {});
2693
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2694
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2695
- if (isUserAct === void 0) { isUserAct = false; }
2696
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2697
- if (_enableDebug) {
2698
- throw dumpObj(message);
2699
- }
2700
- else {
2701
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2702
- if (!isUndefined(message[_DYN_MESSAGE$1 ])) {
2703
- if (isUserAct) {
2704
- var messageKey = +message[_DYN_MESSAGE_ID ];
2705
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2706
- _self[logFunc](message[_DYN_MESSAGE$1 ]);
2707
- _messageLogged[messageKey] = true;
2708
- }
2709
- }
2710
- else {
2711
- if (_loggingLevelConsole >= severity) {
2712
- _self[logFunc](message[_DYN_MESSAGE$1 ]);
2713
- }
2714
- }
2715
- _logInternalMessage(severity, message);
2716
- }
2717
- else {
2718
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2719
- }
2720
- }
2721
- };
2722
- _self.debugToConsole = function (message) {
2723
- _logToConsole("debug", message);
2724
- _debugExtMsg("warning", message);
2725
- };
2726
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2727
- _logToConsole("warn", message);
2728
- _debugExtMsg("warning", message);
2729
- };
2730
- _self.errorToConsole = function (message) {
2731
- _logToConsole("error", message);
2732
- _debugExtMsg("error", message);
2733
- };
2734
- _self.resetInternalMessageCount = function () {
2735
- _messageCount = 0;
2736
- _messageLogged = {};
2737
- };
2738
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2739
- _self[_DYN_UNLOAD ] = function (isAsync) {
2740
- _unloadHandler && _unloadHandler.rm();
2741
- _unloadHandler = null;
2742
- };
2743
- function _logInternalMessage(severity, message) {
2744
- if (_areInternalMessagesThrottled()) {
2745
- return;
2746
- }
2747
- var logMessage = true;
2748
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2749
- if (_messageLogged[messageKey]) {
2750
- logMessage = false;
2751
- }
2752
- else {
2753
- _messageLogged[messageKey] = true;
2754
- }
2755
- if (logMessage) {
2756
- if (severity <= _loggingLevelTelemetry) {
2757
- _self.queue[_DYN_PUSH$2 ](message);
2758
- _messageCount++;
2759
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2760
- }
2761
- if (_messageCount === _maxInternalMessageLimit) {
2762
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2763
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2764
- _self.queue[_DYN_PUSH$2 ](throttleMessage);
2765
- if (severity === 1 ) {
2766
- _self.errorToConsole(throttleLimitMessage);
2767
- }
2768
- else {
2769
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2770
- }
2771
- }
2772
- }
2773
- }
2774
- function _setDefaultsFromConfig(config) {
2775
- return onConfigChange(createDynamicConfig(config, defaultValues$1, _self).cfg, function (details) {
2776
- var config = details.cfg;
2777
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2778
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
2779
- _maxInternalMessageLimit = config.maxMessageLimit;
2780
- _enableDebug = config.enableDebug;
2781
- });
2782
- }
2783
- function _areInternalMessagesThrottled() {
2784
- return _messageCount >= _maxInternalMessageLimit;
2785
- }
2786
- function _debugExtMsg(name, data) {
2787
- var dbgExt = getDebugExt(config || {});
2788
- if (dbgExt && dbgExt[_DYN_DIAG_LOG$1 ]) {
2789
- dbgExt[_DYN_DIAG_LOG$1 ](name, data);
2790
- }
2791
- }
2792
- });
2793
- }
2794
- DiagnosticLogger.__ieDyn=1;
2795
- return DiagnosticLogger;
2796
- }());
2797
- function _getLogger(logger) {
2798
- return (logger || new DiagnosticLogger());
2930
+ var handler = config[CFG_HANDLER_LINK] || config;
2931
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2932
+ return handler[_DYN_WATCH ](configHandler);
2933
+ }
2934
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2935
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2799
2936
  }
2800
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2801
- if (isUserAct === void 0) { isUserAct = false; }
2802
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2937
+
2938
+ function runTargetUnload(target, isAsync) {
2939
+ if (target && target[_DYN_UNLOAD ]) {
2940
+ return target[_DYN_UNLOAD ](isAsync);
2941
+ }
2803
2942
  }
2804
2943
 
2944
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2945
+
2805
2946
  var strExecutionContextKey = "ctx";
2806
2947
  var strParentContextKey = "ParentContextKey";
2807
2948
  var strChildrenContextKey = "ChildrenContextKey";
@@ -2854,7 +2995,7 @@
2854
2995
  var childTime = 0;
2855
2996
  var childEvts = _self[_DYN_GET_CTX ](PerfEvent[strChildrenContextKey]);
2856
2997
  if (isArray(childEvts)) {
2857
- for (var lp = 0; lp < childEvts[_DYN_LENGTH$2 ]; lp++) {
2998
+ for (var lp = 0; lp < childEvts[_DYN_LENGTH$1 ]; lp++) {
2858
2999
  var childEvt = childEvts[lp];
2859
3000
  if (childEvt) {
2860
3001
  childTime += childEvt[_DYN_TIME ];
@@ -3009,7 +3150,7 @@
3009
3150
  _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT ]() : null;
3010
3151
  if (!nextProxy) {
3011
3152
  var onComplete = _onComplete;
3012
- if (onComplete && onComplete[_DYN_LENGTH$2 ] > 0) {
3153
+ if (onComplete && onComplete[_DYN_LENGTH$1 ] > 0) {
3013
3154
  arrForEach(onComplete, function (completeDetails) {
3014
3155
  try {
3015
3156
  completeDetails.func.call(completeDetails.self, completeDetails.args);
@@ -3150,7 +3291,7 @@
3150
3291
  function createTelemetryProxyChain(plugins, config, core, startAt) {
3151
3292
  var firstProxy = null;
3152
3293
  var add = startAt ? false : true;
3153
- if (isArray(plugins) && plugins[_DYN_LENGTH$2 ] > 0) {
3294
+ if (isArray(plugins) && plugins[_DYN_LENGTH$1 ] > 0) {
3154
3295
  var lastProxy_1 = null;
3155
3296
  arrForEach(plugins, function (thePlugin) {
3156
3297
  if (!add && startAt === thePlugin) {
@@ -3483,279 +3624,19 @@
3483
3624
  _isinitialized = false;
3484
3625
  _self[STR_CORE ] = null;
3485
3626
  _rootCtx = null;
3486
- _nextPlugin = null;
3487
- _hookContainer = createUnloadHookContainer();
3488
- _unloadHandlerContainer = createUnloadHandlerContainer();
3489
- }
3490
- }
3491
- BaseTelemetryPlugin.__ieDyn=1;
3492
- return BaseTelemetryPlugin;
3493
- }());
3494
-
3495
- var strOnPrefix = "on";
3496
- var strAttachEvent = "attachEvent";
3497
- var strAddEventHelper = "addEventListener";
3498
- var strDetachEvent = "detachEvent";
3499
- var strRemoveEventListener = "removeEventListener";
3500
- var strEvents = "events";
3501
- createUniqueNamespace("aiEvtPageHide");
3502
- createUniqueNamespace("aiEvtPageShow");
3503
- var rRemoveEmptyNs = /\.[\.]+/g;
3504
- var rRemoveTrailingEmptyNs = /[\.]+$/;
3505
- var _guid = 1;
3506
- var elmNodeData = createElmNodeData("events");
3507
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3508
- function _normalizeNamespace(name) {
3509
- if (name && name[_DYN_REPLACE ]) {
3510
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
3511
- }
3512
- return name;
3513
- }
3514
- function _getEvtNamespace(eventName, evtNamespace) {
3515
- var _a;
3516
- if (evtNamespace) {
3517
- var theNamespace_1 = STR_EMPTY$1;
3518
- if (isArray(evtNamespace)) {
3519
- theNamespace_1 = STR_EMPTY$1;
3520
- arrForEach(evtNamespace, function (name) {
3521
- name = _normalizeNamespace(name);
3522
- if (name) {
3523
- if (name[0] !== ".") {
3524
- name = "." + name;
3525
- }
3526
- theNamespace_1 += name;
3527
- }
3528
- });
3529
- }
3530
- else {
3531
- theNamespace_1 = _normalizeNamespace(evtNamespace);
3532
- }
3533
- if (theNamespace_1) {
3534
- if (theNamespace_1[0] !== ".") {
3535
- theNamespace_1 = "." + theNamespace_1;
3536
- }
3537
- eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
3538
- }
3539
- }
3540
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
3541
- return _a = {},
3542
- _a[_DYN_TYPE ] = parsedEvent[1],
3543
- _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
3544
- _a;
3545
- }
3546
- function _getRegisteredEvents(target, evtName, addDefault) {
3547
- if (addDefault === void 0) { addDefault = true; }
3548
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
3549
- var registeredEvents = aiEvts[evtName];
3550
- if (!registeredEvents) {
3551
- registeredEvents = aiEvts[evtName] = [];
3552
- }
3553
- return registeredEvents;
3554
- }
3555
- function _doDetach(obj, evtName, handlerRef, useCapture) {
3556
- if (obj && evtName && evtName[_DYN_TYPE ]) {
3557
- if (obj[strRemoveEventListener]) {
3558
- obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
3559
- }
3560
- else if (obj[strDetachEvent]) {
3561
- obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
3562
- }
3563
- }
3564
- }
3565
- function _doAttach(obj, evtName, handlerRef, useCapture) {
3566
- var result = false;
3567
- if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
3568
- if (obj[strAddEventHelper]) {
3569
- obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
3570
- result = true;
3571
- }
3572
- else if (obj[strAttachEvent]) {
3573
- obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
3574
- result = true;
3575
- }
3576
- }
3577
- return result;
3578
- }
3579
- function _doUnregister(target, events, evtName, unRegFn) {
3580
- var idx = events[_DYN_LENGTH$2 ];
3581
- while (idx--) {
3582
- var theEvent = events[idx];
3583
- if (theEvent) {
3584
- if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
3585
- if (!unRegFn || unRegFn(theEvent)) {
3586
- _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
3587
- events[_DYN_SPLICE$1 ](idx, 1);
3588
- }
3589
- }
3590
- }
3591
- }
3592
- }
3593
- function _unregisterEvents(target, evtName, unRegFn) {
3594
- if (evtName[_DYN_TYPE ]) {
3595
- _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
3596
- }
3597
- else {
3598
- var eventCache = elmNodeData.get(target, strEvents, {});
3599
- objForEachKey(eventCache, function (evtType, events) {
3600
- _doUnregister(target, events, evtName, unRegFn);
3601
- });
3602
- if (objKeys(eventCache)[_DYN_LENGTH$2 ] === 0) {
3603
- elmNodeData.kill(target, strEvents);
3604
- }
3605
- }
3606
- }
3607
- function mergeEvtNamespace(theNamespace, namespaces) {
3608
- var newNamespaces;
3609
- if (namespaces) {
3610
- if (isArray(namespaces)) {
3611
- newNamespaces = [theNamespace].concat(namespaces);
3612
- }
3613
- else {
3614
- newNamespaces = [theNamespace, namespaces];
3615
- }
3616
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
3617
- }
3618
- else {
3619
- newNamespaces = theNamespace;
3620
- }
3621
- return newNamespaces;
3622
- }
3623
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
3624
- var _a;
3625
- if (useCapture === void 0) { useCapture = false; }
3626
- var result = false;
3627
- if (target) {
3628
- try {
3629
- var evtName = _getEvtNamespace(eventName, evtNamespace);
3630
- result = _doAttach(target, evtName, handlerRef, useCapture);
3631
- if (result && elmNodeData.accept(target)) {
3632
- var registeredEvent = (_a = {
3633
- guid: _guid++,
3634
- evtName: evtName
3635
- },
3636
- _a[_DYN_HANDLER ] = handlerRef,
3637
- _a.capture = useCapture,
3638
- _a);
3639
- _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$2 ](registeredEvent);
3640
- }
3641
- }
3642
- catch (e) {
3643
- }
3644
- }
3645
- return result;
3646
- }
3647
- function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
3648
- if (useCapture === void 0) { useCapture = false; }
3649
- if (target) {
3650
- try {
3651
- var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
3652
- var found_1 = false;
3653
- _unregisterEvents(target, evtName_1, function (regEvent) {
3654
- if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
3655
- found_1 = true;
3656
- return true;
3657
- }
3658
- return false;
3659
- });
3660
- if (!found_1) {
3661
- _doDetach(target, evtName_1, handlerRef, useCapture);
3662
- }
3663
- }
3664
- catch (e) {
3665
- }
3666
- }
3667
- }
3668
-
3669
- var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3670
- var DEFAULT_BREEZE_ENDPOINT = "https://dc.services.visualstudio.com";
3671
- var DEFAULT_BREEZE_PATH = "/v2/track";
3672
-
3673
- var RequestHeaders = createValueMap({
3674
- requestContextHeader: [0 , "Request-Context"],
3675
- requestContextTargetKey: [1 , "appId"],
3676
- requestContextAppIdFormat: [2 , "appId=cid-v1:"],
3677
- requestIdHeader: [3 , "Request-Id"],
3678
- traceParentHeader: [4 , "traceparent"],
3679
- traceStateHeader: [5 , "tracestate"],
3680
- sdkContextHeader: [6 , "Sdk-Context"],
3681
- sdkContextHeaderAppIdRequest: [7 , "appId"],
3682
- requestContextHeaderLowerCase: [8 , "request-context"]
3683
- });
3684
-
3685
- var _DYN_LENGTH$1 = "length";
3686
- var _DYN_TO_LOWER_CASE = "toLowerCase";
3687
- var _DYN_LOCATION = "location";
3688
- var _DYN_PUSH$1 = "push";
3689
- var _DYN_URL_STRING = "urlString";
3690
- var _DYN_DATA$1 = "data";
3691
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
3692
- var _DYN_REASON = "reason";
3693
- var _DYN_MESSAGE = "message";
3694
- var _DYN_ITEMS_RECEIVED = "itemsReceived";
3695
-
3696
- var _internalEndpoints = [
3697
- DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,
3698
- "https://breeze.aimon.applicationinsights.io" + DEFAULT_BREEZE_PATH,
3699
- "https://dc-int.services.visualstudio.com" + DEFAULT_BREEZE_PATH
3700
- ];
3701
- function isInternalApplicationInsightsEndpoint(endpointUrl) {
3702
- return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE ]()) !== -1;
3703
- }
3704
- function getResponseText(xhr) {
3705
- try {
3706
- return xhr.responseText;
3707
- }
3708
- catch (e) {
3709
- }
3710
- return null;
3711
- }
3712
- function formatErrorMessageXdr(xdr, message) {
3713
- if (xdr) {
3714
- return "XDomainRequest,Response:" + getResponseText(xdr) || "";
3715
- }
3716
- return message;
3717
- }
3718
- function formatErrorMessageXhr(xhr, message) {
3719
- if (xhr) {
3720
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
3721
- }
3722
- return message;
3723
- }
3724
- function prependTransports(theTransports, newTransports) {
3725
- if (newTransports) {
3726
- if (isNumber(newTransports)) {
3727
- theTransports = [newTransports].concat(theTransports);
3728
- }
3729
- else if (isArray(newTransports)) {
3730
- theTransports = newTransports.concat(theTransports);
3731
- }
3732
- }
3733
- return theTransports;
3734
- }
3735
- function parseResponse(response, diagLog) {
3736
- try {
3737
- if (response && response !== "") {
3738
- var result = getJSON().parse(response);
3739
- if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
3740
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
3741
- return result;
3742
- }
3743
- }
3744
- }
3745
- catch (e) {
3746
- _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
3747
- response: response
3748
- });
3627
+ _nextPlugin = null;
3628
+ _hookContainer = createUnloadHookContainer();
3629
+ _unloadHandlerContainer = createUnloadHandlerContainer();
3630
+ }
3749
3631
  }
3750
- return null;
3751
- }
3752
-
3753
- var EventPersistence = createEnumStyle({
3754
- Normal: 1 ,
3755
- Critical: 2
3756
- });
3632
+ BaseTelemetryPlugin.__ieDyn=1;
3633
+ return BaseTelemetryPlugin;
3634
+ }());
3757
3635
 
3758
3636
  var STR_EMPTY = "";
3637
+ var STR_NO_RESPONSE_BODY = "NoResponseBody";
3638
+ var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
3639
+ var STR_POST_METHOD = "POST";
3759
3640
  var SenderPostManager = /** @class */ (function () {
3760
3641
  function SenderPostManager() {
3761
3642
  var _syncFetchPayload = 0;
@@ -3769,10 +3650,13 @@
3769
3650
  var _disableXhr;
3770
3651
  var _disableBeacon;
3771
3652
  var _disableBeaconSync;
3653
+ var _disableFetchKeepAlive;
3654
+ var _addNoResponse;
3655
+ var _timeoutWrapper;
3772
3656
  dynamicProto(SenderPostManager, this, function (_self, _base) {
3773
3657
  var _sendCredentials = true;
3774
3658
  _initDefaults();
3775
- _self.initialize = function (config, diagLog) {
3659
+ _self[_DYN_INITIALIZE$1 ] = function (config, diagLog) {
3776
3660
  _diagLog = diagLog;
3777
3661
  if (_isInitialized) {
3778
3662
  _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
@@ -3792,7 +3676,13 @@
3792
3676
  _disableXhr = !!config.disableXhr;
3793
3677
  _disableBeacon = !!config.disableBeacon;
3794
3678
  _disableBeaconSync = !!config.disableBeaconSync;
3679
+ _timeoutWrapper = config.timeWrapper;
3680
+ _addNoResponse = !!config.addNoResponse;
3681
+ _disableFetchKeepAlive = !!config.disableFetchKeepAlive;
3795
3682
  _fallbackInst = { sendPOST: _xhrSender };
3683
+ if (!_isOneDs) {
3684
+ _sendCredentials = false;
3685
+ }
3796
3686
  if (_disableCredentials) {
3797
3687
  var location_1 = getLocation();
3798
3688
  if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
@@ -3808,7 +3698,7 @@
3808
3698
  _self.getSyncFetchPayload = function () {
3809
3699
  return _syncFetchPayload;
3810
3700
  };
3811
- _self.getXhrInst = function (transports, sync) {
3701
+ _self.getSenderInst = function (transports, sync) {
3812
3702
  if (transports && transports[_DYN_LENGTH$1 ]) {
3813
3703
  return _getSenderInterface(transports, sync);
3814
3704
  }
@@ -3817,7 +3707,7 @@
3817
3707
  _self.getFallbackInst = function () {
3818
3708
  return _fallbackInst;
3819
3709
  };
3820
- _self._doTeardown = function (unloadCtx, unloadState) {
3710
+ _self[_DYN__DO_TEARDOWN ] = function (unloadCtx, unloadState) {
3821
3711
  _initDefaults();
3822
3712
  };
3823
3713
  function _onSuccess(res, onComplete) {
@@ -3831,7 +3721,8 @@
3831
3721
  _onError("No endpoint url is provided for the batch", onComplete);
3832
3722
  }
3833
3723
  function _getSenderInterface(transports, syncSupport) {
3834
- var transportType = null;
3724
+ var _a;
3725
+ var transportType = 0 ;
3835
3726
  var sendPostFunc = null;
3836
3727
  var lp = 0;
3837
3728
  while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
@@ -3844,7 +3735,7 @@
3844
3735
  sendPostFunc = _xhrSender;
3845
3736
  }
3846
3737
  }
3847
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
3738
+ else if (transportType === 2 && isFetchSupported(syncSupport) && (!syncSupport || !_disableFetchKeepAlive)) {
3848
3739
  sendPostFunc = _doFetchSender;
3849
3740
  }
3850
3741
  else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
@@ -3853,9 +3744,12 @@
3853
3744
  lp++;
3854
3745
  }
3855
3746
  if (sendPostFunc) {
3856
- return {
3857
- sendPOST: sendPostFunc
3858
- };
3747
+ return _a = {
3748
+ _transport: transportType,
3749
+ _isSync: syncSupport
3750
+ },
3751
+ _a[_DYN_SEND_POST$1 ] = sendPostFunc,
3752
+ _a;
3859
3753
  }
3860
3754
  return null;
3861
3755
  }
@@ -3873,27 +3767,34 @@
3873
3767
  _onNoPayloadUrl(oncomplete);
3874
3768
  return true;
3875
3769
  }
3770
+ url = payload[_DYN_URL_STRING ] + (_addNoResponse ? _noResponseQs : STR_EMPTY);
3876
3771
  var data = payload[_DYN_DATA$1 ];
3877
- var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
3772
+ var plainTextBatch = _isOneDs ? data : new Blob([data], { type: "text/plain;charset=UTF-8" });
3878
3773
  var queued = nav.sendBeacon(url, plainTextBatch);
3879
3774
  return queued;
3880
3775
  }
3881
3776
  function _beaconSender(payload, oncomplete, sync) {
3882
3777
  var data = payload[_DYN_DATA$1 ];
3883
- if (data) {
3884
- if (!_doBeaconSend(payload, oncomplete)) {
3885
- var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
3886
- if (onRetry && isFunction(onRetry)) {
3887
- onRetry(payload, oncomplete, _doBeaconSend);
3778
+ try {
3779
+ if (data) {
3780
+ if (!_doBeaconSend(payload, oncomplete)) {
3781
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
3782
+ if (onRetry && isFunction(onRetry)) {
3783
+ onRetry(payload, oncomplete, _doBeaconSend);
3784
+ }
3785
+ else {
3786
+ _fallbackInst && _fallbackInst[_DYN_SEND_POST$1 ](payload, oncomplete, true);
3787
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
3788
+ }
3888
3789
  }
3889
3790
  else {
3890
- _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
3891
- _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
3791
+ _onSuccess(STR_EMPTY, oncomplete);
3892
3792
  }
3893
3793
  }
3894
- else {
3895
- _onSuccess(null, oncomplete);
3896
- }
3794
+ }
3795
+ catch (e) {
3796
+ _isOneDs && _warnToConsole(_diagLog, "Failed to send telemetry using sendBeacon API. Ex:" + dumpObj(e));
3797
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, STR_EMPTY);
3897
3798
  }
3898
3799
  return;
3899
3800
  }
@@ -3901,53 +3802,57 @@
3901
3802
  var thePromise;
3902
3803
  var resolveFunc;
3903
3804
  var rejectFunc;
3904
- var headers = payload.headers || {};
3805
+ var headers = payload[_DYN_HEADERS ] || {};
3905
3806
  if (!sync && _enableSendPromise) {
3906
3807
  thePromise = createPromise(function (resolve, reject) {
3907
3808
  resolveFunc = resolve;
3908
3809
  rejectFunc = reject;
3909
3810
  });
3910
3811
  }
3911
- var xhr = new XMLHttpRequest();
3812
+ if (_isOneDs && sync && payload.disableXhrSync) {
3813
+ sync = false;
3814
+ }
3912
3815
  var endPointUrl = payload[_DYN_URL_STRING ];
3913
3816
  if (!endPointUrl) {
3914
3817
  _onNoPayloadUrl(oncomplete);
3915
3818
  resolveFunc && resolveFunc(false);
3916
3819
  return;
3917
3820
  }
3918
- try {
3919
- xhr[DisabledPropertyName] = true;
3920
- }
3921
- catch (e) {
3922
- }
3923
- xhr.open("POST", endPointUrl, !sync);
3821
+ var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
3924
3822
  xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
3925
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
3926
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
3927
- }
3928
3823
  arrForEach(objKeys(headers), function (headerName) {
3929
3824
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
3930
3825
  });
3931
3826
  xhr.onreadystatechange = function () {
3932
- var response = getResponseText(xhr);
3827
+ if (!_isOneDs) {
3828
+ _doOnReadyFunc(xhr);
3829
+ if (xhr.readyState === 4) {
3830
+ resolveFunc && resolveFunc(true);
3831
+ }
3832
+ }
3833
+ };
3834
+ xhr.onload = function () {
3835
+ if (_isOneDs) {
3836
+ _doOnReadyFunc(xhr);
3837
+ }
3838
+ };
3839
+ function _doOnReadyFunc(xhr) {
3933
3840
  var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
3934
3841
  var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
3935
3842
  if (onReadyFuncExist) {
3936
3843
  onReadyFunc(xhr, oncomplete, payload);
3937
3844
  }
3938
- if (xhr.readyState === 4) {
3939
- if (!onReadyFuncExist) {
3940
- _doOnComplete(oncomplete, xhr.status, {}, response);
3941
- }
3942
- resolveFunc && resolveFunc(true);
3845
+ else {
3846
+ var response = getResponseText(xhr);
3847
+ _doOnComplete(oncomplete, xhr[_DYN_STATUS ], _getAllResponseHeaders(xhr, _isOneDs), response);
3943
3848
  }
3944
- };
3849
+ }
3945
3850
  xhr.onerror = function (event) {
3946
- _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
3851
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 400, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));
3947
3852
  rejectFunc && rejectFunc(event);
3948
3853
  };
3949
3854
  xhr.ontimeout = function () {
3950
- _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
3855
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 500, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));
3951
3856
  resolveFunc && resolveFunc(false);
3952
3857
  };
3953
3858
  xhr.send(payload[_DYN_DATA$1 ]);
@@ -3957,7 +3862,7 @@
3957
3862
  var _a;
3958
3863
  var endPointUrl = payload[_DYN_URL_STRING ];
3959
3864
  var batch = payload[_DYN_DATA$1 ];
3960
- var plainTextBatch = new Blob([batch], { type: "application/json" });
3865
+ var plainTextBatch = _isOneDs ? batch : new Blob([batch], { type: "application/json" });
3961
3866
  var thePromise;
3962
3867
  var resolveFunc;
3963
3868
  var rejectFunc;
@@ -3965,28 +3870,37 @@
3965
3870
  var batchLength = batch[_DYN_LENGTH$1 ];
3966
3871
  var ignoreResponse = false;
3967
3872
  var responseHandled = false;
3968
- var headers = payload.headers || {};
3969
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
3970
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
3971
- }
3972
- arrForEach(objKeys(headers), function (headerName) {
3973
- requestHeaders.append(headerName, headers[headerName]);
3974
- });
3873
+ var headers = payload[_DYN_HEADERS ] || {};
3975
3874
  var init = (_a = {
3976
- method: "POST",
3977
- headers: requestHeaders,
3875
+ method: STR_POST_METHOD,
3978
3876
  body: plainTextBatch
3979
3877
  },
3980
3878
  _a[DisabledPropertyName] = true
3981
3879
  ,
3982
3880
  _a);
3881
+ if (payload.headers && objKeys(payload.headers)[_DYN_LENGTH$1 ] > 0) {
3882
+ arrForEach(objKeys(headers), function (headerName) {
3883
+ requestHeaders.append(headerName, headers[headerName]);
3884
+ });
3885
+ init[_DYN_HEADERS ] = requestHeaders;
3886
+ }
3983
3887
  if (_sendCredentials && _isOneDs) {
3984
3888
  init.credentials = "include";
3985
3889
  }
3986
3890
  if (sync) {
3987
3891
  init.keepalive = true;
3988
- ignoreResponse = true;
3989
3892
  _syncFetchPayload += batchLength;
3893
+ if (_isOneDs) {
3894
+ if (payload["_sendReason"] === 2 ) {
3895
+ ignoreResponse = true;
3896
+ if (_addNoResponse) {
3897
+ endPointUrl += _noResponseQs;
3898
+ }
3899
+ }
3900
+ }
3901
+ else {
3902
+ ignoreResponse = true;
3903
+ }
3990
3904
  }
3991
3905
  var request = new Request(endPointUrl, init);
3992
3906
  try {
@@ -4005,8 +3919,21 @@
4005
3919
  resolveFunc && resolveFunc(false);
4006
3920
  return;
4007
3921
  }
3922
+ function _handleError(res) {
3923
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
3924
+ }
3925
+ function _onFetchComplete(response, payload, value) {
3926
+ var status = response[_DYN_STATUS ];
3927
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
3928
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
3929
+ onCompleteFunc(response, oncomplete, value || STR_EMPTY, payload);
3930
+ }
3931
+ else {
3932
+ _doOnComplete(oncomplete, status, {}, value || STR_EMPTY);
3933
+ }
3934
+ }
4008
3935
  try {
4009
- doAwaitResponse(fetch(request), function (result) {
3936
+ doAwaitResponse(fetch(_isOneDs ? endPointUrl : request, _isOneDs ? init : null), function (result) {
4010
3937
  if (sync) {
4011
3938
  _syncFetchPayload -= batchLength;
4012
3939
  batchLength = 0;
@@ -4015,34 +3942,39 @@
4015
3942
  responseHandled = true;
4016
3943
  if (!result.rejected) {
4017
3944
  var response_1 = result.value;
4018
- if (!response_1.ok) {
4019
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
4020
- resolveFunc && resolveFunc(false);
4021
- }
4022
- else {
4023
- doAwaitResponse(response_1.text(), function (resp) {
4024
- var status = response_1.status;
4025
- var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
4026
- if (onCompleteFunc && isFunction(onCompleteFunc)) {
4027
- onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
3945
+ try {
3946
+ if (!_isOneDs && !response_1.ok) {
3947
+ _handleError(response_1.statusText);
3948
+ resolveFunc && resolveFunc(false);
3949
+ }
3950
+ else {
3951
+ if (_isOneDs && !response_1.body) {
3952
+ _onFetchComplete(response_1, null, STR_EMPTY);
3953
+ resolveFunc && resolveFunc(true);
4028
3954
  }
4029
3955
  else {
4030
- _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
3956
+ doAwaitResponse(response_1.text(), function (resp) {
3957
+ _onFetchComplete(response_1, payload, resp.value);
3958
+ resolveFunc && resolveFunc(true);
3959
+ });
4031
3960
  }
4032
- resolveFunc && resolveFunc(true);
4033
- });
3961
+ }
3962
+ }
3963
+ catch (e) {
3964
+ _handleError(dumpObj(e));
3965
+ rejectFunc && rejectFunc(e);
4034
3966
  }
4035
3967
  }
4036
3968
  else {
4037
- _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
4038
- rejectFunc && rejectFunc(result[_DYN_REASON ]);
3969
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
3970
+ rejectFunc && rejectFunc(result.reason);
4039
3971
  }
4040
3972
  }
4041
3973
  });
4042
3974
  }
4043
3975
  catch (e) {
4044
3976
  if (!responseHandled) {
4045
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
3977
+ _handleError(dumpObj(e));
4046
3978
  rejectFunc && rejectFunc(e);
4047
3979
  }
4048
3980
  }
@@ -4051,6 +3983,15 @@
4051
3983
  _doOnComplete(oncomplete, 200, {});
4052
3984
  resolveFunc && resolveFunc(true);
4053
3985
  }
3986
+ if (_isOneDs && !responseHandled && payload[_DYN_TIMEOUT ] > 0) {
3987
+ _timeoutWrapper && _timeoutWrapper.set(function () {
3988
+ if (!responseHandled) {
3989
+ responseHandled = true;
3990
+ _doOnComplete(oncomplete, 500, {});
3991
+ resolveFunc && resolveFunc(true);
3992
+ }
3993
+ }, payload[_DYN_TIMEOUT ]);
3994
+ }
4054
3995
  return thePromise;
4055
3996
  }
4056
3997
  function _xdrSender(payload, oncomplete, sync) {
@@ -4068,27 +4009,38 @@
4068
4009
  }
4069
4010
  };
4070
4011
  xdr.onerror = function () {
4071
- _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
4012
+ _doOnComplete(oncomplete, 400, {}, _isOneDs ? STR_EMPTY : formatErrorMessageXdr(xdr));
4072
4013
  };
4073
4014
  xdr.ontimeout = function () {
4074
4015
  _doOnComplete(oncomplete, 500, {});
4075
4016
  };
4076
4017
  xdr.onprogress = function () { };
4077
- var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
4018
+ var hostingProtocol = _window && _window.location && _window.location[_DYN_PROTOCOL ] || "";
4078
4019
  var endpoint = payload[_DYN_URL_STRING ];
4079
4020
  if (!endpoint) {
4080
4021
  _onNoPayloadUrl(oncomplete);
4081
4022
  return;
4082
4023
  }
4083
- if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
4024
+ if (!_isOneDs && endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
4084
4025
  var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
4085
4026
  _throwInternal(_diagLog, 2 , 40 , ". " + msg);
4086
4027
  _onError(msg, oncomplete);
4087
4028
  return;
4088
4029
  }
4089
- var endpointUrl = endpoint.replace(/^(https?:)/, "");
4090
- xdr.open("POST", endpointUrl);
4030
+ var endpointUrl = _isOneDs ? endpoint : endpoint[_DYN_REPLACE ](/^(https?:)/, "");
4031
+ xdr.open(STR_POST_METHOD, endpointUrl);
4032
+ if (payload[_DYN_TIMEOUT ]) {
4033
+ xdr[_DYN_TIMEOUT ] = payload[_DYN_TIMEOUT ];
4034
+ }
4091
4035
  xdr.send(data);
4036
+ if (_isOneDs && sync) {
4037
+ _timeoutWrapper && _timeoutWrapper.set(function () {
4038
+ xdr.send(data);
4039
+ }, 0);
4040
+ }
4041
+ else {
4042
+ xdr.send(data);
4043
+ }
4092
4044
  }
4093
4045
  function _initDefaults() {
4094
4046
  _syncFetchPayload = 0;
@@ -4102,6 +4054,9 @@
4102
4054
  _disableXhr = false;
4103
4055
  _disableBeacon = false;
4104
4056
  _disableBeaconSync = false;
4057
+ _disableFetchKeepAlive = false;
4058
+ _addNoResponse = false;
4059
+ _timeoutWrapper = null;
4105
4060
  }
4106
4061
  });
4107
4062
  }
@@ -4109,6 +4064,187 @@
4109
4064
  return SenderPostManager;
4110
4065
  }());
4111
4066
 
4067
+ var strOnPrefix = "on";
4068
+ var strAttachEvent = "attachEvent";
4069
+ var strAddEventHelper = "addEventListener";
4070
+ var strDetachEvent = "detachEvent";
4071
+ var strRemoveEventListener = "removeEventListener";
4072
+ var strEvents = "events";
4073
+ createUniqueNamespace("aiEvtPageHide");
4074
+ createUniqueNamespace("aiEvtPageShow");
4075
+ var rRemoveEmptyNs = /\.[\.]+/g;
4076
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
4077
+ var _guid = 1;
4078
+ var elmNodeData = createElmNodeData("events");
4079
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
4080
+ function _normalizeNamespace(name) {
4081
+ if (name && name[_DYN_REPLACE ]) {
4082
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
4083
+ }
4084
+ return name;
4085
+ }
4086
+ function _getEvtNamespace(eventName, evtNamespace) {
4087
+ var _a;
4088
+ if (evtNamespace) {
4089
+ var theNamespace_1 = STR_EMPTY$1;
4090
+ if (isArray(evtNamespace)) {
4091
+ theNamespace_1 = STR_EMPTY$1;
4092
+ arrForEach(evtNamespace, function (name) {
4093
+ name = _normalizeNamespace(name);
4094
+ if (name) {
4095
+ if (name[0] !== ".") {
4096
+ name = "." + name;
4097
+ }
4098
+ theNamespace_1 += name;
4099
+ }
4100
+ });
4101
+ }
4102
+ else {
4103
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
4104
+ }
4105
+ if (theNamespace_1) {
4106
+ if (theNamespace_1[0] !== ".") {
4107
+ theNamespace_1 = "." + theNamespace_1;
4108
+ }
4109
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
4110
+ }
4111
+ }
4112
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
4113
+ return _a = {},
4114
+ _a[_DYN_TYPE ] = parsedEvent[1],
4115
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
4116
+ _a;
4117
+ }
4118
+ function _getRegisteredEvents(target, evtName, addDefault) {
4119
+ if (addDefault === void 0) { addDefault = true; }
4120
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
4121
+ var registeredEvents = aiEvts[evtName];
4122
+ if (!registeredEvents) {
4123
+ registeredEvents = aiEvts[evtName] = [];
4124
+ }
4125
+ return registeredEvents;
4126
+ }
4127
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
4128
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
4129
+ if (obj[strRemoveEventListener]) {
4130
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
4131
+ }
4132
+ else if (obj[strDetachEvent]) {
4133
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
4134
+ }
4135
+ }
4136
+ }
4137
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
4138
+ var result = false;
4139
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
4140
+ if (obj[strAddEventHelper]) {
4141
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
4142
+ result = true;
4143
+ }
4144
+ else if (obj[strAttachEvent]) {
4145
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
4146
+ result = true;
4147
+ }
4148
+ }
4149
+ return result;
4150
+ }
4151
+ function _doUnregister(target, events, evtName, unRegFn) {
4152
+ var idx = events[_DYN_LENGTH$1 ];
4153
+ while (idx--) {
4154
+ var theEvent = events[idx];
4155
+ if (theEvent) {
4156
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
4157
+ if (!unRegFn || unRegFn(theEvent)) {
4158
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
4159
+ events[_DYN_SPLICE$1 ](idx, 1);
4160
+ }
4161
+ }
4162
+ }
4163
+ }
4164
+ }
4165
+ function _unregisterEvents(target, evtName, unRegFn) {
4166
+ if (evtName[_DYN_TYPE ]) {
4167
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
4168
+ }
4169
+ else {
4170
+ var eventCache = elmNodeData.get(target, strEvents, {});
4171
+ objForEachKey(eventCache, function (evtType, events) {
4172
+ _doUnregister(target, events, evtName, unRegFn);
4173
+ });
4174
+ if (objKeys(eventCache)[_DYN_LENGTH$1 ] === 0) {
4175
+ elmNodeData.kill(target, strEvents);
4176
+ }
4177
+ }
4178
+ }
4179
+ function mergeEvtNamespace(theNamespace, namespaces) {
4180
+ var newNamespaces;
4181
+ if (namespaces) {
4182
+ if (isArray(namespaces)) {
4183
+ newNamespaces = [theNamespace].concat(namespaces);
4184
+ }
4185
+ else {
4186
+ newNamespaces = [theNamespace, namespaces];
4187
+ }
4188
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
4189
+ }
4190
+ else {
4191
+ newNamespaces = theNamespace;
4192
+ }
4193
+ return newNamespaces;
4194
+ }
4195
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
4196
+ var _a;
4197
+ if (useCapture === void 0) { useCapture = false; }
4198
+ var result = false;
4199
+ if (target) {
4200
+ try {
4201
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
4202
+ result = _doAttach(target, evtName, handlerRef, useCapture);
4203
+ if (result && elmNodeData.accept(target)) {
4204
+ var registeredEvent = (_a = {
4205
+ guid: _guid++,
4206
+ evtName: evtName
4207
+ },
4208
+ _a[_DYN_HANDLER ] = handlerRef,
4209
+ _a.capture = useCapture,
4210
+ _a);
4211
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$2 ](registeredEvent);
4212
+ }
4213
+ }
4214
+ catch (e) {
4215
+ }
4216
+ }
4217
+ return result;
4218
+ }
4219
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
4220
+ if (useCapture === void 0) { useCapture = false; }
4221
+ if (target) {
4222
+ try {
4223
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
4224
+ var found_1 = false;
4225
+ _unregisterEvents(target, evtName_1, function (regEvent) {
4226
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
4227
+ found_1 = true;
4228
+ return true;
4229
+ }
4230
+ return false;
4231
+ });
4232
+ if (!found_1) {
4233
+ _doDetach(target, evtName_1, handlerRef, useCapture);
4234
+ }
4235
+ }
4236
+ catch (e) {
4237
+ }
4238
+ }
4239
+ }
4240
+
4241
+ var _DYN_PUSH$1 = "push";
4242
+
4243
+ var EventPersistence = createEnumStyle({
4244
+ Normal: 1 ,
4245
+ Critical: 2
4246
+ });
4247
+
4112
4248
  function _disableEvents(target, evtNamespace) {
4113
4249
  eventOff(target, null, null, evtNamespace);
4114
4250
  }
@@ -4251,7 +4387,6 @@
4251
4387
  var _DYN_TEARDOWN = "teardown";
4252
4388
  var _DYN_IS_ARR = "isArr";
4253
4389
  var _DYN_INDEX_OF = "indexOf";
4254
- var _DYN_GET_XHR_INST = "getXhrInst";
4255
4390
  var _DYN_IS_ONLINE = "isOnline";
4256
4391
  var _DYN_CANCEL = "cancel";
4257
4392
  var _DYN_PROCESS_NEXT = "processNext";
@@ -6092,7 +6227,7 @@
6092
6227
  _paused = false;
6093
6228
  }
6094
6229
  };
6095
- _self[_DYN_GET_XHR_INST ] = function (sync) {
6230
+ _self.getXhrInst = function (sync) {
6096
6231
  return _httpInterface;
6097
6232
  };
6098
6233
  _self[_DYN_INITIALIZE ] = function (config, core, cxt, diagLog, channelId, unloadHookContainer) {
@@ -6127,7 +6262,7 @@
6127
6262
  var httpInterface = null;
6128
6263
  var customTransPorts = offlineSenderCfg.transports || senderConfig.transports || [];
6129
6264
  var theTransports = prependTransports([1 , 2 , 3 ], customTransPorts);
6130
- httpInterface = _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
6265
+ httpInterface = _sendPostMgr.getSenderInst(theTransports, false);
6131
6266
  var xhrInterface = _sendPostMgr.getFallbackInst();
6132
6267
  httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
6133
6268
  _httpInterface = httpInterface || xhrInterface;
@@ -6234,7 +6369,7 @@
6234
6369
  return Sender;
6235
6370
  }());
6236
6371
 
6237
- var version = '0.1.1-nightly3.2403-03';
6372
+ var version = '0.1.1-nightly3.2403-04';
6238
6373
  var DefaultOfflineIdentifier = "OfflineChannel";
6239
6374
  var DefaultBatchInterval = 15000;
6240
6375
  var DefaultInMemoMaxTime = 15000;
@@ -6303,7 +6438,7 @@
6303
6438
  var ctx = _getCoreItemCtx(coreConfig, core, extensions, pluginChain);
6304
6439
  _sender[_DYN_INITIALIZE ](coreConfig, core, ctx, _diagLogger, _primaryChannelId, _self._unloadHooks);
6305
6440
  if (_sender) {
6306
- _senderInst = _sender[_DYN_GET_XHR_INST ]();
6441
+ _senderInst = _sender.getXhrInst();
6307
6442
  _offlineListener.addListener(function (val) {
6308
6443
  if (!val[_DYN_IS_ONLINE ]) {
6309
6444
  _sendNextBatchTimer && _sendNextBatchTimer[_DYN_CANCEL ]();
@@ -6632,7 +6767,7 @@
6632
6767
  _primaryChannelId = id;
6633
6768
  if (isFunction(channel[_DYN_GET_OFFLINE_SUPPORT ])) {
6634
6769
  _offineSupport = channel[_DYN_GET_OFFLINE_SUPPORT ]();
6635
- onlineUrl = isFunction(_offineSupport.getUrl) && _offineSupport.getUrl();
6770
+ onlineUrl = isFunction(_offineSupport && _offineSupport.getUrl) && _offineSupport.getUrl();
6636
6771
  }
6637
6772
  return;
6638
6773
  }