@microsoft/1ds-core-js 4.1.1-nightly3.2403-02 → 4.1.1-nightly3.2403-04

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/bundle/es5/{ms.core-4.1.1-nightly3.2403-02.gbl.js → ms.core-4.1.1-nightly3.2403-04.gbl.js} +1600 -1025
  2. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.gbl.js.map +1 -0
  3. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.gbl.min.js +7 -0
  4. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.gbl.min.js.map +1 -0
  5. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.integrity.json +46 -0
  6. package/bundle/es5/{ms.core-4.1.1-nightly3.2403-02.js → ms.core-4.1.1-nightly3.2403-04.js} +1600 -1025
  7. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.js.map +1 -0
  8. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.min.js +7 -0
  9. package/bundle/es5/ms.core-4.1.1-nightly3.2403-04.min.js.map +1 -0
  10. package/bundle/es5/ms.core.gbl.js +1599 -1024
  11. package/bundle/es5/ms.core.gbl.js.map +1 -1
  12. package/bundle/es5/ms.core.gbl.min.js +2 -2
  13. package/bundle/es5/ms.core.gbl.min.js.map +1 -1
  14. package/bundle/es5/ms.core.integrity.json +17 -17
  15. package/bundle/es5/ms.core.js +1599 -1024
  16. package/bundle/es5/ms.core.js.map +1 -1
  17. package/bundle/es5/ms.core.min.js +2 -2
  18. package/bundle/es5/ms.core.min.js.map +1 -1
  19. package/dist/es5/ms.core.js +1597 -1022
  20. package/dist/es5/ms.core.js.map +1 -1
  21. package/dist/es5/ms.core.min.js +2 -2
  22. package/dist/es5/ms.core.min.js.map +1 -1
  23. package/dist-es5/AppInsightsCore.js +1 -1
  24. package/dist-es5/BaseCore.js +1 -1
  25. package/dist-es5/DataModels.js +1 -1
  26. package/dist-es5/Enums.js +1 -1
  27. package/dist-es5/Index.js +2 -2
  28. package/dist-es5/Index.js.map +1 -1
  29. package/dist-es5/InternalConstants.js +1 -1
  30. package/dist-es5/Utils.js +2 -2
  31. package/dist-es5/Utils.js.map +1 -1
  32. package/dist-es5/ValueSanitizer.js +1 -1
  33. package/dist-es5/__DynamicConstants.js +1 -1
  34. package/package.json +2 -2
  35. package/types/1ds-core-js.d.ts +49 -25
  36. package/types/1ds-core-js.namespaced.d.ts +230 -7
  37. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.gbl.js.map +0 -1
  38. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.gbl.min.js +0 -7
  39. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.gbl.min.js.map +0 -1
  40. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.integrity.json +0 -46
  41. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.js.map +0 -1
  42. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.min.js +0 -7
  43. package/bundle/es5/ms.core-4.1.1-nightly3.2403-02.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 4.1.1-nightly3.2403-02
2
+ * 1DS JS SDK Core, 4.1.1-nightly3.2403-04
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -1401,6 +1401,7 @@
1401
1401
  var _DYN_UPDATE = "update";
1402
1402
  var _DYN_GET_NEXT = "getNext";
1403
1403
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1404
+ var _DYN_PROTOCOL = "protocol";
1404
1405
  var _DYN_USER_AGENT = "userAgent";
1405
1406
  var _DYN_SPLIT = "split";
1406
1407
  var _DYN_NODE_TYPE = "nodeType";
@@ -1408,10 +1409,20 @@
1408
1409
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1409
1410
  var _DYN_TYPE = "type";
1410
1411
  var _DYN_HANDLER = "handler";
1412
+ var _DYN_STATUS = "status";
1413
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1414
+ var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1415
+ var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1411
1416
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1417
+ var _DYN_DATA = "data";
1412
1418
  var _DYN_GET_CTX = "getCtx";
1413
1419
  var _DYN_SET_CTX = "setCtx";
1414
1420
  var _DYN_COMPLETE = "complete";
1421
+ var _DYN_URL_STRING = "urlString";
1422
+ var _DYN_SEND_POST = "sendPOST";
1423
+ var _DYN_HEADERS = "headers";
1424
+ var _DYN_TIMEOUT = "timeout";
1425
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
1415
1426
  var _DYN_TRACE_ID = "traceId";
1416
1427
  var _DYN_SPAN_ID = "spanId";
1417
1428
  var _DYN_TRACE_FLAGS = "traceFlags";
@@ -1763,7 +1774,7 @@
1763
1774
  var createAllPromise = _createAllPromise(createPromise);
1764
1775
 
1765
1776
  var UNDEFINED_VALUE = undefined;
1766
- var STR_EMPTY$1 = "";
1777
+ var STR_EMPTY$2 = "";
1767
1778
  var STR_CHANNELS = "channels";
1768
1779
  var STR_CORE = "core";
1769
1780
  var STR_CREATE_PERF_MGR = "createPerfMgr";
@@ -1784,137 +1795,43 @@
1784
1795
  var STR_PATH = "path";
1785
1796
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1786
1797
 
1787
- var rCamelCase = /-([a-z])/g;
1788
- var rNormalizeInvalid = /([^\w\d_$])/g;
1789
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
1790
- function isNotNullOrUndefined(value) {
1791
- return !isNullOrUndefined(value);
1792
- }
1793
- function normalizeJsName(name) {
1794
- var value = name;
1795
- if (value && isString(value)) {
1796
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1797
- return letter.toUpperCase();
1798
- });
1799
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1800
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1801
- return "_" + match;
1802
- });
1803
- }
1804
- return value;
1805
- }
1806
- function strContains(value, search) {
1807
- if (value && search) {
1808
- return strIndexOf(value, search) !== -1;
1809
- }
1810
- return false;
1811
- }
1812
- function toISOString(date) {
1813
- return date && date.toISOString() || "";
1814
- }
1815
- function getExceptionName(object) {
1816
- if (isError(object)) {
1817
- return object[_DYN_NAME ];
1818
- }
1819
- return STR_EMPTY$1;
1820
- }
1821
- function setValue(target, field, value, valChk, srcChk) {
1822
- var theValue = value;
1823
- if (target) {
1824
- theValue = target[field];
1825
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1826
- theValue = value;
1827
- target[field] = theValue;
1828
- }
1829
- }
1830
- return theValue;
1831
- }
1832
- function getSetValue(target, field, defValue) {
1833
- var theValue;
1834
- if (target) {
1835
- theValue = target[field];
1836
- if (!theValue && isNullOrUndefined(theValue)) {
1837
- theValue = !isUndefined(defValue) ? defValue : {};
1838
- target[field] = theValue;
1839
- }
1840
- }
1841
- else {
1842
- theValue = !isUndefined(defValue) ? defValue : {};
1843
- }
1844
- return theValue;
1845
- }
1846
- function _createProxyFunction(source, funcName) {
1847
- var srcFunc = null;
1848
- var src = null;
1849
- if (isFunction(source)) {
1850
- srcFunc = source;
1851
- }
1852
- else {
1853
- src = source;
1854
- }
1798
+ var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
1799
+ var _aiNamespace = null;
1800
+ var _debugListener;
1801
+ function _listenerProxyFunc(name, config) {
1855
1802
  return function () {
1856
- var originalArguments = arguments;
1857
- if (srcFunc) {
1858
- src = srcFunc();
1859
- }
1860
- if (src) {
1861
- return src[funcName][_DYN_APPLY ](src, originalArguments);
1862
- }
1863
- };
1864
- }
1865
- function proxyAssign(target, source, chkSet) {
1866
- if (target && source && isObject(target) && isObject(source)) {
1867
- var _loop_1 = function (field) {
1868
- if (isString(field)) {
1869
- var value = source[field];
1870
- if (isFunction(value)) {
1871
- if (!chkSet || chkSet(field, true, source, target)) {
1872
- target[field] = _createProxyFunction(source, field);
1873
- }
1874
- }
1875
- else if (!chkSet || chkSet(field, false, source, target)) {
1876
- if (objHasOwn(target, field)) {
1877
- delete target[field];
1878
- }
1879
- objDefine(target, field, {
1880
- g: function () {
1881
- return source[field];
1882
- },
1883
- s: function (theValue) {
1884
- source[field] = theValue;
1885
- }
1886
- });
1887
- }
1803
+ var args = arguments;
1804
+ var dbgExt = getDebugExt(config);
1805
+ if (dbgExt) {
1806
+ var listener = dbgExt.listener;
1807
+ if (listener && listener[name]) {
1808
+ listener[name][_DYN_APPLY ](listener, args);
1888
1809
  }
1889
- };
1890
- for (var field in source) {
1891
- _loop_1(field);
1892
1810
  }
1893
- }
1894
- return target;
1811
+ };
1895
1812
  }
1896
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1897
- if (target && name && source) {
1898
- if (overwriteTarget !== false || isUndefined(target[name])) {
1899
- target[name] = _createProxyFunction(source, theFunc);
1900
- }
1813
+ function _getExtensionNamespace() {
1814
+ var target = getInst("Microsoft");
1815
+ if (target) {
1816
+ _aiNamespace = target["ApplicationInsights"];
1901
1817
  }
1818
+ return _aiNamespace;
1902
1819
  }
1903
- function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
1904
- if (target && source && isObject(target) && isArray(functionsToProxy)) {
1905
- arrForEach(functionsToProxy, function (theFuncName) {
1906
- if (isString(theFuncName)) {
1907
- proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
1908
- }
1909
- });
1820
+ function getDebugExt(config) {
1821
+ var ns = _aiNamespace;
1822
+ if (!ns && config.disableDbgExt !== true) {
1823
+ ns = _aiNamespace || _getExtensionNamespace();
1910
1824
  }
1911
- return target;
1825
+ return ns ? ns["ChromeDbgExt"] : null;
1912
1826
  }
1913
- function optimizeObject(theObject) {
1914
- if (theObject && objAssign) {
1915
- theObject = ObjClass$1(objAssign({}, theObject));
1827
+ function getDebugListener(config) {
1828
+ if (!_debugListener) {
1829
+ _debugListener = {};
1830
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH$1 ]; lp++) {
1831
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1832
+ }
1916
1833
  }
1917
- return theObject;
1834
+ return _debugListener;
1918
1835
  }
1919
1836
 
1920
1837
  var strDocumentMode = "documentMode";
@@ -2004,7 +1921,7 @@
2004
1921
  var nav = getNavigator();
2005
1922
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
2006
1923
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
2007
- var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1924
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]();
2008
1925
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
2009
1926
  }
2010
1927
  return _isTrident;
@@ -2013,9 +1930,9 @@
2013
1930
  if (userAgentStr === void 0) { userAgentStr = null; }
2014
1931
  if (!userAgentStr) {
2015
1932
  var navigator_1 = getNavigator() || {};
2016
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1933
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$2;
2017
1934
  }
2018
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1935
+ var ua = (userAgentStr || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]();
2019
1936
  if (strContains(ua, strMsie)) {
2020
1937
  var doc = getDocument() || {};
2021
1938
  return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2096,1018 +2013,1236 @@
2096
2013
  return value;
2097
2014
  }
2098
2015
 
2099
- var UInt32Mask = 0x100000000;
2100
- var MaxUInt32 = 0xffffffff;
2101
- var SEED1 = 123456789;
2102
- var SEED2 = 987654321;
2103
- var _mwcSeeded = false;
2104
- var _mwcW = SEED1;
2105
- var _mwcZ = SEED2;
2106
- function _mwcSeed(seedValue) {
2107
- if (seedValue < 0) {
2108
- seedValue >>>= 0;
2109
- }
2110
- _mwcW = (SEED1 + seedValue) & MaxUInt32;
2111
- _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2112
- _mwcSeeded = true;
2113
- }
2114
- function _autoSeedMwc() {
2115
- try {
2116
- var now = utcNow() & 0x7fffffff;
2117
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2118
- }
2119
- catch (e) {
2120
- }
2121
- }
2122
- function randomValue(maxValue) {
2123
- if (maxValue > 0) {
2124
- return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
2016
+ var _a$4;
2017
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2018
+ var AiNonUserActionablePrefix = "AI (Internal): ";
2019
+ var AiUserActionablePrefix = "AI: ";
2020
+ var AIInternalMessagePrefix = "AITR_";
2021
+ var defaultValues$2 = {
2022
+ loggingLevelConsole: 0,
2023
+ loggingLevelTelemetry: 1,
2024
+ maxMessageLimit: 25,
2025
+ enableDebug: false
2026
+ };
2027
+ var _logFuncs = (_a$4 = {},
2028
+ _a$4[0 ] = null,
2029
+ _a$4[1 ] = "errorToConsole",
2030
+ _a$4[2 ] = STR_WARN_TO_CONSOLE,
2031
+ _a$4[3 ] = "debugToConsole",
2032
+ _a$4);
2033
+ function _sanitizeDiagnosticText(text) {
2034
+ if (text) {
2035
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$2) + "\"";
2125
2036
  }
2126
- return 0;
2037
+ return STR_EMPTY$2;
2127
2038
  }
2128
- function random32(signed) {
2129
- var value = 0;
2130
- var c = getCrypto() || getMsCrypto();
2131
- if (c && c.getRandomValues) {
2132
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2133
- }
2134
- if (value === 0 && isIE()) {
2135
- if (!_mwcSeeded) {
2136
- _autoSeedMwc();
2039
+ function _logToConsole(func, message) {
2040
+ var theConsole = getConsole();
2041
+ if (!!theConsole) {
2042
+ var logFunc = "log";
2043
+ if (theConsole[func]) {
2044
+ logFunc = func;
2045
+ }
2046
+ if (isFunction(theConsole[logFunc])) {
2047
+ theConsole[logFunc](message);
2137
2048
  }
2138
- value = mwcRandom32() & MaxUInt32;
2139
- }
2140
- if (value === 0) {
2141
- value = Math.floor((UInt32Mask * Math.random()) | 0);
2142
- }
2143
- if (!signed) {
2144
- value >>>= 0;
2145
- }
2146
- return value;
2147
- }
2148
- function mwcRandom32(signed) {
2149
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2150
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2151
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2152
- if (!signed) {
2153
- value >>>= 0;
2154
2049
  }
2155
- return value;
2156
2050
  }
2157
- function newId(maxLength) {
2158
- if (maxLength === void 0) { maxLength = 22; }
2159
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2160
- var number = random32() >>> 0;
2161
- var chars = 0;
2162
- var result = STR_EMPTY$1;
2163
- while (result[_DYN_LENGTH$1 ] < maxLength) {
2164
- chars++;
2165
- result += base64chars.charAt(number & 0x3F);
2166
- number >>>= 6;
2167
- if (chars === 5) {
2168
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2169
- chars = 0;
2051
+ var _InternalLogMessage = /** @class */ (function () {
2052
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2053
+ if (isUserAct === void 0) { isUserAct = false; }
2054
+ var _self = this;
2055
+ _self[_DYN_MESSAGE_ID ] = msgId;
2056
+ _self[_DYN_MESSAGE ] =
2057
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2058
+ msgId;
2059
+ var strProps = STR_EMPTY$2;
2060
+ if (hasJSON()) {
2061
+ strProps = getJSON().stringify(properties);
2170
2062
  }
2063
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$2) +
2064
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$2);
2065
+ _self[_DYN_MESSAGE ] += diagnosticText;
2171
2066
  }
2172
- return result;
2173
- }
2174
-
2175
- var version = "3.0.5";
2176
- var instanceName = "." + newId(6);
2177
- var _dataUid = 0;
2178
- function _canAcceptData(target) {
2179
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2067
+ _InternalLogMessage.dataType = "MessageData";
2068
+ return _InternalLogMessage;
2069
+ }());
2070
+ function safeGetLogger(core, config) {
2071
+ return (core || {})[_DYN_LOGGER$1 ] || new DiagnosticLogger(config);
2180
2072
  }
2181
- function _getCache(data, target) {
2182
- var theCache = target[data.id];
2183
- if (!theCache) {
2184
- theCache = {};
2185
- try {
2186
- if (_canAcceptData(target)) {
2187
- objDefine(target, data.id, {
2188
- e: false,
2189
- v: theCache
2073
+ var DiagnosticLogger = /** @class */ (function () {
2074
+ function DiagnosticLogger(config) {
2075
+ this.identifier = "DiagnosticLogger";
2076
+ this.queue = [];
2077
+ var _messageCount = 0;
2078
+ var _messageLogged = {};
2079
+ var _loggingLevelConsole;
2080
+ var _loggingLevelTelemetry;
2081
+ var _maxInternalMessageLimit;
2082
+ var _enableDebug;
2083
+ var _unloadHandler;
2084
+ dynamicProto(DiagnosticLogger, this, function (_self) {
2085
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2086
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2087
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2088
+ if (isUserAct === void 0) { isUserAct = false; }
2089
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2090
+ if (_enableDebug) {
2091
+ throw dumpObj(message);
2092
+ }
2093
+ else {
2094
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2095
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
2096
+ if (isUserAct) {
2097
+ var messageKey = +message[_DYN_MESSAGE_ID ];
2098
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2099
+ _self[logFunc](message[_DYN_MESSAGE ]);
2100
+ _messageLogged[messageKey] = true;
2101
+ }
2102
+ }
2103
+ else {
2104
+ if (_loggingLevelConsole >= severity) {
2105
+ _self[logFunc](message[_DYN_MESSAGE ]);
2106
+ }
2107
+ }
2108
+ _logInternalMessage(severity, message);
2109
+ }
2110
+ else {
2111
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2112
+ }
2113
+ }
2114
+ };
2115
+ _self.debugToConsole = function (message) {
2116
+ _logToConsole("debug", message);
2117
+ _debugExtMsg("warning", message);
2118
+ };
2119
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2120
+ _logToConsole("warn", message);
2121
+ _debugExtMsg("warning", message);
2122
+ };
2123
+ _self.errorToConsole = function (message) {
2124
+ _logToConsole("error", message);
2125
+ _debugExtMsg("error", message);
2126
+ };
2127
+ _self.resetInternalMessageCount = function () {
2128
+ _messageCount = 0;
2129
+ _messageLogged = {};
2130
+ };
2131
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2132
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2133
+ _unloadHandler && _unloadHandler.rm();
2134
+ _unloadHandler = null;
2135
+ };
2136
+ function _logInternalMessage(severity, message) {
2137
+ if (_areInternalMessagesThrottled()) {
2138
+ return;
2139
+ }
2140
+ var logMessage = true;
2141
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2142
+ if (_messageLogged[messageKey]) {
2143
+ logMessage = false;
2144
+ }
2145
+ else {
2146
+ _messageLogged[messageKey] = true;
2147
+ }
2148
+ if (logMessage) {
2149
+ if (severity <= _loggingLevelTelemetry) {
2150
+ _self.queue[_DYN_PUSH ](message);
2151
+ _messageCount++;
2152
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2153
+ }
2154
+ if (_messageCount === _maxInternalMessageLimit) {
2155
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2156
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2157
+ _self.queue[_DYN_PUSH ](throttleMessage);
2158
+ if (severity === 1 ) {
2159
+ _self.errorToConsole(throttleLimitMessage);
2160
+ }
2161
+ else {
2162
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2163
+ }
2164
+ }
2165
+ }
2166
+ }
2167
+ function _setDefaultsFromConfig(config) {
2168
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2169
+ var config = details.cfg;
2170
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2171
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
2172
+ _maxInternalMessageLimit = config.maxMessageLimit;
2173
+ _enableDebug = config.enableDebug;
2190
2174
  });
2191
2175
  }
2192
- }
2193
- catch (e) {
2194
- }
2195
- }
2196
- return theCache;
2197
- }
2198
- function createUniqueNamespace(name, includeVersion) {
2199
- if (includeVersion === void 0) { includeVersion = false; }
2200
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2201
- }
2202
- function createElmNodeData(name) {
2203
- var data = {
2204
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2205
- accept: function (target) {
2206
- return _canAcceptData(target);
2207
- },
2208
- get: function (target, name, defValue, addDefault) {
2209
- var theCache = target[data.id];
2210
- if (!theCache) {
2211
- if (addDefault) {
2212
- theCache = _getCache(data, target);
2213
- theCache[normalizeJsName(name)] = defValue;
2214
- }
2215
- return defValue;
2176
+ function _areInternalMessagesThrottled() {
2177
+ return _messageCount >= _maxInternalMessageLimit;
2216
2178
  }
2217
- return theCache[normalizeJsName(name)];
2218
- },
2219
- kill: function (target, name) {
2220
- if (target && target[name]) {
2221
- try {
2222
- delete target[name];
2223
- }
2224
- catch (e) {
2179
+ function _debugExtMsg(name, data) {
2180
+ var dbgExt = getDebugExt(config || {});
2181
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2182
+ dbgExt[_DYN_DIAG_LOG ](name, data);
2225
2183
  }
2226
2184
  }
2227
- }
2228
- };
2229
- return data;
2185
+ });
2186
+ }
2187
+ DiagnosticLogger.__ieDyn=1;
2188
+ return DiagnosticLogger;
2189
+ }());
2190
+ function _getLogger(logger) {
2191
+ return (logger || new DiagnosticLogger());
2192
+ }
2193
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2194
+ if (isUserAct === void 0) { isUserAct = false; }
2195
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2196
+ }
2197
+ function _warnToConsole(logger, message) {
2198
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2199
+ }
2200
+ function _logInternalMessage(logger, severity, message) {
2201
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
2230
2202
  }
2231
2203
 
2232
- function _isConfigDefaults(value) {
2233
- return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
2204
+ var rCamelCase = /-([a-z])/g;
2205
+ var rNormalizeInvalid = /([^\w\d_$])/g;
2206
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
2207
+ function isNotNullOrUndefined(value) {
2208
+ return !isNullOrUndefined(value);
2234
2209
  }
2235
- function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
2236
- var defValue;
2237
- var isDefaultValid = cfgDefaults.dfVal || isDefined;
2238
- if (theConfig && cfgDefaults.fb) {
2239
- var fallbacks = cfgDefaults.fb;
2240
- if (!isArray(fallbacks)) {
2241
- fallbacks = [fallbacks];
2242
- }
2243
- for (var lp = 0; lp < fallbacks[_DYN_LENGTH$1 ]; lp++) {
2244
- var fallback = fallbacks[lp];
2245
- var fbValue = theConfig[fallback];
2246
- if (isDefaultValid(fbValue)) {
2247
- defValue = fbValue;
2248
- }
2249
- else if (dynamicHandler) {
2250
- fbValue = dynamicHandler.cfg[fallback];
2251
- if (isDefaultValid(fbValue)) {
2252
- defValue = fbValue;
2253
- }
2254
- dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
2255
- }
2256
- if (isDefaultValid(defValue)) {
2257
- break;
2258
- }
2259
- }
2210
+ function normalizeJsName(name) {
2211
+ var value = name;
2212
+ if (value && isString(value)) {
2213
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2214
+ return letter.toUpperCase();
2215
+ });
2216
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2217
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2218
+ return "_" + match;
2219
+ });
2260
2220
  }
2261
- if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
2262
- defValue = cfgDefaults.v;
2221
+ return value;
2222
+ }
2223
+ function strContains(value, search) {
2224
+ if (value && search) {
2225
+ return strIndexOf(value, search) !== -1;
2263
2226
  }
2264
- return defValue;
2227
+ return false;
2265
2228
  }
2266
- function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
2267
- var theValue = cfgDefaults;
2268
- if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
2269
- theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2229
+ function toISOString(date) {
2230
+ return date && date.toISOString() || "";
2231
+ }
2232
+ function getExceptionName(object) {
2233
+ if (isError(object)) {
2234
+ return object[_DYN_NAME ];
2270
2235
  }
2271
- if (theValue) {
2272
- if (_isConfigDefaults(theValue)) {
2273
- theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
2274
- }
2275
- var newValue_1;
2276
- if (isArray(theValue)) {
2277
- newValue_1 = [];
2278
- newValue_1[_DYN_LENGTH$1 ] = theValue[_DYN_LENGTH$1 ];
2279
- }
2280
- else if (isPlainObject(theValue)) {
2281
- newValue_1 = {};
2282
- }
2283
- if (newValue_1) {
2284
- objForEachKey(theValue, function (key, value) {
2285
- if (value && _isConfigDefaults(value)) {
2286
- value = _resolveDefaultValue(dynamicHandler, theConfig, value);
2287
- }
2288
- newValue_1[key] = value;
2289
- });
2290
- theValue = newValue_1;
2236
+ return STR_EMPTY$2;
2237
+ }
2238
+ function setValue(target, field, value, valChk, srcChk) {
2239
+ var theValue = value;
2240
+ if (target) {
2241
+ theValue = target[field];
2242
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
2243
+ theValue = value;
2244
+ target[field] = theValue;
2291
2245
  }
2292
2246
  }
2293
2247
  return theValue;
2294
2248
  }
2295
- function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2296
- var isValid;
2297
- var setFn;
2298
- var defValue;
2299
- var cfgDefaults = defaultValue;
2300
- var mergeDf;
2301
- var reference;
2302
- var readOnly;
2303
- var blkDynamicValue;
2304
- if (_isConfigDefaults(cfgDefaults)) {
2305
- isValid = cfgDefaults.isVal;
2306
- setFn = cfgDefaults.set;
2307
- readOnly = cfgDefaults[_DYN_RD_ONLY ];
2308
- blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2309
- mergeDf = cfgDefaults.mrg;
2310
- reference = cfgDefaults.ref;
2311
- if (!reference && isUndefined(reference)) {
2312
- reference = !!mergeDf;
2249
+ function getSetValue(target, field, defValue) {
2250
+ var theValue;
2251
+ if (target) {
2252
+ theValue = target[field];
2253
+ if (!theValue && isNullOrUndefined(theValue)) {
2254
+ theValue = !isUndefined(defValue) ? defValue : {};
2255
+ target[field] = theValue;
2313
2256
  }
2314
- defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2315
2257
  }
2316
2258
  else {
2317
- defValue = defaultValue;
2259
+ theValue = !isUndefined(defValue) ? defValue : {};
2318
2260
  }
2319
- if (blkDynamicValue) {
2320
- dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2261
+ return theValue;
2262
+ }
2263
+ function _createProxyFunction(source, funcName) {
2264
+ var srcFunc = null;
2265
+ var src = null;
2266
+ if (isFunction(source)) {
2267
+ srcFunc = source;
2321
2268
  }
2322
- var theValue;
2323
- var usingDefault = true;
2324
- var cfgValue = theConfig[name];
2325
- if (cfgValue || !isNullOrUndefined(cfgValue)) {
2326
- theValue = cfgValue;
2327
- usingDefault = false;
2328
- if (isValid && theValue !== defValue && !isValid(theValue)) {
2329
- theValue = defValue;
2330
- usingDefault = true;
2269
+ else {
2270
+ src = source;
2271
+ }
2272
+ return function () {
2273
+ var originalArguments = arguments;
2274
+ if (srcFunc) {
2275
+ src = srcFunc();
2331
2276
  }
2332
- if (setFn) {
2333
- theValue = setFn(theValue, defValue, theConfig);
2334
- usingDefault = theValue === defValue;
2277
+ if (src) {
2278
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
2335
2279
  }
2336
- }
2337
- if (!usingDefault) {
2338
- if (isPlainObject(theValue) || isArray(defValue)) {
2339
- if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
2340
- objForEachKey(defValue, function (dfName, dfValue) {
2341
- _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
2342
- });
2280
+ };
2281
+ }
2282
+ function proxyAssign(target, source, chkSet) {
2283
+ if (target && source && isObject(target) && isObject(source)) {
2284
+ var _loop_1 = function (field) {
2285
+ if (isString(field)) {
2286
+ var value = source[field];
2287
+ if (isFunction(value)) {
2288
+ if (!chkSet || chkSet(field, true, source, target)) {
2289
+ target[field] = _createProxyFunction(source, field);
2290
+ }
2291
+ }
2292
+ else if (!chkSet || chkSet(field, false, source, target)) {
2293
+ if (objHasOwn(target, field)) {
2294
+ delete target[field];
2295
+ }
2296
+ objDefine(target, field, {
2297
+ g: function () {
2298
+ return source[field];
2299
+ },
2300
+ s: function (theValue) {
2301
+ source[field] = theValue;
2302
+ }
2303
+ });
2304
+ }
2343
2305
  }
2306
+ };
2307
+ for (var field in source) {
2308
+ _loop_1(field);
2344
2309
  }
2345
2310
  }
2346
- else if (defValue) {
2347
- theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
2311
+ return target;
2312
+ }
2313
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2314
+ if (target && name && source) {
2315
+ if (overwriteTarget !== false || isUndefined(target[name])) {
2316
+ target[name] = _createProxyFunction(source, theFunc);
2317
+ }
2348
2318
  }
2349
- else {
2350
- theValue = defValue;
2319
+ }
2320
+ function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
2321
+ if (target && source && isObject(target) && isArray(functionsToProxy)) {
2322
+ arrForEach(functionsToProxy, function (theFuncName) {
2323
+ if (isString(theFuncName)) {
2324
+ proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
2325
+ }
2326
+ });
2351
2327
  }
2352
- dynamicHandler.set(theConfig, name, theValue);
2353
- if (reference) {
2354
- dynamicHandler.ref(theConfig, name);
2328
+ return target;
2329
+ }
2330
+ function optimizeObject(theObject) {
2331
+ if (theObject && objAssign) {
2332
+ theObject = ObjClass$1(objAssign({}, theObject));
2355
2333
  }
2356
- if (readOnly) {
2357
- dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
2334
+ return theObject;
2335
+ }
2336
+ function getResponseText(xhr) {
2337
+ try {
2338
+ return xhr.responseText;
2339
+ }
2340
+ catch (e) {
2358
2341
  }
2342
+ return null;
2359
2343
  }
2360
-
2361
- var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
2362
- var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
2363
- var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
2364
- function _cfgDeepCopy(source) {
2365
- if (source) {
2366
- var target_1;
2367
- if (isArray(source)) {
2368
- target_1 = [];
2369
- target_1[_DYN_LENGTH$1 ] = source[_DYN_LENGTH$1 ];
2370
- }
2371
- else if (isPlainObject(source)) {
2372
- target_1 = {};
2344
+ function formatErrorMessageXdr(xdr, message) {
2345
+ if (xdr) {
2346
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2347
+ }
2348
+ return message;
2349
+ }
2350
+ function formatErrorMessageXhr(xhr, message) {
2351
+ if (xhr) {
2352
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2353
+ }
2354
+ return message;
2355
+ }
2356
+ function prependTransports(theTransports, newTransports) {
2357
+ if (newTransports) {
2358
+ if (isNumber(newTransports)) {
2359
+ theTransports = [newTransports].concat(theTransports);
2373
2360
  }
2374
- if (target_1) {
2375
- objForEachKey(source, function (key, value) {
2376
- target_1[key] = _cfgDeepCopy(value);
2377
- });
2378
- return target_1;
2361
+ else if (isArray(newTransports)) {
2362
+ theTransports = newTransports.concat(theTransports);
2379
2363
  }
2380
2364
  }
2381
- return source;
2365
+ return theTransports;
2382
2366
  }
2383
- function getDynamicConfigHandler(value) {
2384
- if (value) {
2385
- var handler = value[CFG_HANDLER_LINK] || value;
2386
- if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2387
- return handler;
2367
+ function parseResponse(response, diagLog) {
2368
+ try {
2369
+ if (response && response !== "") {
2370
+ var result = getJSON().parse(response);
2371
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2372
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
2373
+ return result;
2374
+ }
2388
2375
  }
2389
2376
  }
2377
+ catch (e) {
2378
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2379
+ response: response
2380
+ });
2381
+ }
2390
2382
  return null;
2391
2383
  }
2392
- function blockDynamicConversion(value) {
2393
- if (value && (isPlainObject(value) || isArray(value))) {
2384
+ var strDisabledPropertyName$1 = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2385
+ var strWithCredentials$1 = "withCredentials";
2386
+ var strTimeout$1 = "timeout";
2387
+ function openXhr$1(method, urlString, withCredentials, disabled, isSync, timeout) {
2388
+ if (disabled === void 0) { disabled = false; }
2389
+ if (isSync === void 0) { isSync = false; }
2390
+ function _wrapSetXhrProp(xhr, prop, value) {
2394
2391
  try {
2395
- value[BLOCK_DYNAMIC] = true;
2392
+ xhr[prop] = value;
2396
2393
  }
2397
2394
  catch (e) {
2398
2395
  }
2399
2396
  }
2400
- return value;
2397
+ var xhr = new XMLHttpRequest();
2398
+ if (disabled) {
2399
+ _wrapSetXhrProp(xhr, strDisabledPropertyName$1, disabled);
2400
+ }
2401
+ if (withCredentials) {
2402
+ _wrapSetXhrProp(xhr, strWithCredentials$1, withCredentials);
2403
+ }
2404
+ xhr.open(method, urlString, !isSync);
2405
+ if (withCredentials) {
2406
+ _wrapSetXhrProp(xhr, strWithCredentials$1, withCredentials);
2407
+ }
2408
+ if (!isSync && timeout) {
2409
+ _wrapSetXhrProp(xhr, strTimeout$1, timeout);
2410
+ }
2411
+ return xhr;
2401
2412
  }
2402
- function forceDynamicConversion(value) {
2403
- if (value) {
2404
- try {
2405
- value[FORCE_DYNAMIC] = true;
2406
- }
2407
- catch (e) {
2408
- }
2413
+ function convertAllHeadersToMap(headersString) {
2414
+ var headers = {};
2415
+ if (isString(headersString)) {
2416
+ var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2417
+ arrForEach(headersArray, function (headerEntry) {
2418
+ if (headerEntry) {
2419
+ var idx = headerEntry.indexOf(": ");
2420
+ if (idx !== -1) {
2421
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2422
+ var value = strTrim(headerEntry.substring(idx + 1));
2423
+ headers[header] = value;
2424
+ }
2425
+ else {
2426
+ headers[strTrim(headerEntry)] = 1;
2427
+ }
2428
+ }
2429
+ });
2409
2430
  }
2410
- return value;
2431
+ return headers;
2411
2432
  }
2412
- function _canMakeDynamic(getFunc, state, value) {
2413
- var result = false;
2414
- if (value && !getFunc[state.blkVal]) {
2415
- result = value[FORCE_DYNAMIC];
2416
- if (!result && !value[BLOCK_DYNAMIC]) {
2417
- result = isPlainObject(value) || isArray(value);
2433
+ function _appendHeader(theHeaders, xhr, name) {
2434
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2435
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2436
+ if (value) {
2437
+ theHeaders[name] = strTrim(value);
2418
2438
  }
2419
2439
  }
2420
- return result;
2440
+ return theHeaders;
2421
2441
  }
2422
- function throwInvalidAccess(message) {
2423
- throwTypeError("InvalidAccess:" + message);
2442
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2443
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2444
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2445
+ function _getAllResponseHeaders(xhr, isOneDs) {
2446
+ var theHeaders = {};
2447
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2448
+ if (!!isOneDs) {
2449
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2450
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2451
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2452
+ }
2453
+ }
2454
+ else {
2455
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2456
+ }
2457
+ return theHeaders;
2424
2458
  }
2425
2459
 
2426
- var arrayMethodsToPatch = [
2427
- "push",
2428
- "pop",
2429
- "shift",
2430
- "unshift",
2431
- "splice"
2432
- ];
2433
- var _throwDynamicError = function (logger, name, desc, e) {
2434
- logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
2435
- };
2436
- function _patchArray(state, target, name) {
2437
- if (isArray(target)) {
2438
- arrForEach(arrayMethodsToPatch, function (method) {
2439
- var orgMethod = target[method];
2440
- target[method] = function () {
2441
- var args = [];
2442
- for (var _i = 0; _i < arguments.length; _i++) {
2443
- args[_i] = arguments[_i];
2444
- }
2445
- var result = orgMethod[_DYN_APPLY ](this, args);
2446
- _makeDynamicObject(state, target, name, "Patching");
2447
- return result;
2448
- };
2449
- });
2460
+ var UInt32Mask = 0x100000000;
2461
+ var MaxUInt32 = 0xffffffff;
2462
+ var SEED1 = 123456789;
2463
+ var SEED2 = 987654321;
2464
+ var _mwcSeeded = false;
2465
+ var _mwcW = SEED1;
2466
+ var _mwcZ = SEED2;
2467
+ function _mwcSeed(seedValue) {
2468
+ if (seedValue < 0) {
2469
+ seedValue >>>= 0;
2450
2470
  }
2471
+ _mwcW = (SEED1 + seedValue) & MaxUInt32;
2472
+ _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2473
+ _mwcSeeded = true;
2451
2474
  }
2452
- function _getOwnPropGetter(target, name) {
2453
- var propDesc = objGetOwnPropertyDescriptor(target, name);
2454
- return propDesc && propDesc.get;
2475
+ function _autoSeedMwc() {
2476
+ try {
2477
+ var now = utcNow() & 0x7fffffff;
2478
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2479
+ }
2480
+ catch (e) {
2481
+ }
2455
2482
  }
2456
- function _createDynamicProperty(state, theConfig, name, value) {
2457
- var detail = {
2458
- n: name,
2459
- h: [],
2460
- trk: function (handler) {
2461
- if (handler && handler.fn) {
2462
- if (arrIndexOf(detail.h, handler) === -1) {
2463
- detail.h[_DYN_PUSH ](handler);
2464
- }
2465
- state.trk(handler, detail);
2466
- }
2467
- },
2468
- clr: function (handler) {
2469
- var idx = arrIndexOf(detail.h, handler);
2470
- if (idx !== -1) {
2471
- detail.h[_DYN_SPLICE ](idx, 1);
2472
- }
2473
- }
2474
- };
2475
- var checkDynamic = true;
2476
- var isObjectOrArray = false;
2477
- function _getProperty() {
2478
- if (checkDynamic) {
2479
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2480
- if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
2481
- value = _makeDynamicObject(state, value, name, "Converting");
2482
- }
2483
- checkDynamic = false;
2484
- }
2485
- var activeHandler = state.act;
2486
- if (activeHandler) {
2487
- detail.trk(activeHandler);
2488
- }
2489
- return value;
2483
+ function randomValue(maxValue) {
2484
+ if (maxValue > 0) {
2485
+ return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
2490
2486
  }
2491
- _getProperty[state.prop] = {
2492
- chng: function () {
2493
- state.add(detail);
2487
+ return 0;
2488
+ }
2489
+ function random32(signed) {
2490
+ var value = 0;
2491
+ var c = getCrypto() || getMsCrypto();
2492
+ if (c && c.getRandomValues) {
2493
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2494
+ }
2495
+ if (value === 0 && isIE()) {
2496
+ if (!_mwcSeeded) {
2497
+ _autoSeedMwc();
2494
2498
  }
2495
- };
2496
- function _setProperty(newValue) {
2497
- if (value !== newValue) {
2498
- if (!!_getProperty[state.ro] && !state.upd) {
2499
- throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
2500
- }
2501
- if (checkDynamic) {
2502
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2503
- checkDynamic = false;
2504
- }
2505
- var isReferenced = isObjectOrArray && _getProperty[state.rf];
2506
- if (isObjectOrArray) {
2507
- if (isReferenced) {
2508
- objForEachKey(value, function (key) {
2509
- value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
2510
- });
2511
- try {
2512
- objForEachKey(newValue, function (key, theValue) {
2513
- _setDynamicProperty(state, value, key, theValue);
2514
- });
2515
- newValue = value;
2516
- }
2517
- catch (e) {
2518
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Assigning", e);
2519
- isObjectOrArray = false;
2520
- }
2521
- }
2522
- else if (value && value[CFG_HANDLER_LINK]) {
2523
- objForEachKey(value, function (key) {
2524
- var getter = _getOwnPropGetter(value, key);
2525
- if (getter) {
2526
- var valueState = getter[state.prop];
2527
- valueState && valueState.chng();
2528
- }
2529
- });
2530
- }
2531
- }
2532
- if (newValue !== value) {
2533
- var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
2534
- if (!isReferenced && newIsObjectOrArray) {
2535
- newValue = _makeDynamicObject(state, newValue, name, "Converting");
2536
- }
2537
- value = newValue;
2538
- isObjectOrArray = newIsObjectOrArray;
2539
- }
2540
- state.add(detail);
2499
+ value = mwcRandom32() & MaxUInt32;
2500
+ }
2501
+ if (value === 0) {
2502
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
2503
+ }
2504
+ if (!signed) {
2505
+ value >>>= 0;
2506
+ }
2507
+ return value;
2508
+ }
2509
+ function mwcRandom32(signed) {
2510
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2511
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2512
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2513
+ if (!signed) {
2514
+ value >>>= 0;
2515
+ }
2516
+ return value;
2517
+ }
2518
+ function newId(maxLength) {
2519
+ if (maxLength === void 0) { maxLength = 22; }
2520
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2521
+ var number = random32() >>> 0;
2522
+ var chars = 0;
2523
+ var result = STR_EMPTY$2;
2524
+ while (result[_DYN_LENGTH$1 ] < maxLength) {
2525
+ chars++;
2526
+ result += base64chars.charAt(number & 0x3F);
2527
+ number >>>= 6;
2528
+ if (chars === 5) {
2529
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2530
+ chars = 0;
2541
2531
  }
2542
2532
  }
2543
- objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2533
+ return result;
2544
2534
  }
2545
- function _setDynamicProperty(state, target, name, value) {
2546
- if (target) {
2547
- var getter = _getOwnPropGetter(target, name);
2548
- var isDynamic = getter && !!getter[state.prop];
2549
- if (!isDynamic) {
2550
- _createDynamicProperty(state, target, name, value);
2535
+
2536
+ var version = "3.0.5";
2537
+ var instanceName = "." + newId(6);
2538
+ var _dataUid = 0;
2539
+ function _canAcceptData(target) {
2540
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2541
+ }
2542
+ function _getCache(data, target) {
2543
+ var theCache = target[data.id];
2544
+ if (!theCache) {
2545
+ theCache = {};
2546
+ try {
2547
+ if (_canAcceptData(target)) {
2548
+ objDefine(target, data.id, {
2549
+ e: false,
2550
+ v: theCache
2551
+ });
2552
+ }
2551
2553
  }
2552
- else {
2553
- target[name] = value;
2554
+ catch (e) {
2554
2555
  }
2555
2556
  }
2556
- return target;
2557
+ return theCache;
2557
2558
  }
2558
- function _setDynamicPropertyState(state, target, name, flags) {
2559
- if (target) {
2560
- var getter = _getOwnPropGetter(target, name);
2561
- var isDynamic = getter && !!getter[state.prop];
2562
- var inPlace = flags && flags[0 ];
2563
- var rdOnly = flags && flags[1 ];
2564
- var blkProp = flags && flags[2 ];
2565
- if (!isDynamic) {
2566
- if (blkProp) {
2559
+ function createUniqueNamespace(name, includeVersion) {
2560
+ if (includeVersion === void 0) { includeVersion = false; }
2561
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$2) + instanceName);
2562
+ }
2563
+ function createElmNodeData(name) {
2564
+ var data = {
2565
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$2) + "." + version),
2566
+ accept: function (target) {
2567
+ return _canAcceptData(target);
2568
+ },
2569
+ get: function (target, name, defValue, addDefault) {
2570
+ var theCache = target[data.id];
2571
+ if (!theCache) {
2572
+ if (addDefault) {
2573
+ theCache = _getCache(data, target);
2574
+ theCache[normalizeJsName(name)] = defValue;
2575
+ }
2576
+ return defValue;
2577
+ }
2578
+ return theCache[normalizeJsName(name)];
2579
+ },
2580
+ kill: function (target, name) {
2581
+ if (target && target[name]) {
2567
2582
  try {
2568
- blockDynamicConversion(target);
2583
+ delete target[name];
2569
2584
  }
2570
2585
  catch (e) {
2571
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Blocking", e);
2572
2586
  }
2573
2587
  }
2574
- try {
2575
- _setDynamicProperty(state, target, name, target[name]);
2576
- getter = _getOwnPropGetter(target, name);
2577
- }
2578
- catch (e) {
2579
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "State", e);
2580
- }
2581
2588
  }
2582
- if (inPlace) {
2583
- getter[state.rf] = inPlace;
2584
- }
2585
- if (rdOnly) {
2586
- getter[state.ro] = rdOnly;
2589
+ };
2590
+ return data;
2591
+ }
2592
+
2593
+ function _isConfigDefaults(value) {
2594
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
2595
+ }
2596
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
2597
+ var defValue;
2598
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
2599
+ if (theConfig && cfgDefaults.fb) {
2600
+ var fallbacks = cfgDefaults.fb;
2601
+ if (!isArray(fallbacks)) {
2602
+ fallbacks = [fallbacks];
2587
2603
  }
2588
- if (blkProp) {
2589
- getter[state.blkVal] = true;
2604
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH$1 ]; lp++) {
2605
+ var fallback = fallbacks[lp];
2606
+ var fbValue = theConfig[fallback];
2607
+ if (isDefaultValid(fbValue)) {
2608
+ defValue = fbValue;
2609
+ }
2610
+ else if (dynamicHandler) {
2611
+ fbValue = dynamicHandler.cfg[fallback];
2612
+ if (isDefaultValid(fbValue)) {
2613
+ defValue = fbValue;
2614
+ }
2615
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
2616
+ }
2617
+ if (isDefaultValid(defValue)) {
2618
+ break;
2619
+ }
2590
2620
  }
2591
2621
  }
2592
- return target;
2622
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
2623
+ defValue = cfgDefaults.v;
2624
+ }
2625
+ return defValue;
2593
2626
  }
2594
- function _makeDynamicObject(state, target, name, desc) {
2595
- try {
2596
- objForEachKey(target, function (key, value) {
2597
- _setDynamicProperty(state, target, key, value);
2598
- });
2599
- if (!target[CFG_HANDLER_LINK]) {
2600
- objDefineProp(target, CFG_HANDLER_LINK, {
2601
- get: function () {
2602
- return state[_DYN_HDLR ];
2627
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
2628
+ var theValue = cfgDefaults;
2629
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
2630
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2631
+ }
2632
+ if (theValue) {
2633
+ if (_isConfigDefaults(theValue)) {
2634
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
2635
+ }
2636
+ var newValue_1;
2637
+ if (isArray(theValue)) {
2638
+ newValue_1 = [];
2639
+ newValue_1[_DYN_LENGTH$1 ] = theValue[_DYN_LENGTH$1 ];
2640
+ }
2641
+ else if (isPlainObject(theValue)) {
2642
+ newValue_1 = {};
2643
+ }
2644
+ if (newValue_1) {
2645
+ objForEachKey(theValue, function (key, value) {
2646
+ if (value && _isConfigDefaults(value)) {
2647
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
2603
2648
  }
2649
+ newValue_1[key] = value;
2604
2650
  });
2605
- _patchArray(state, target, name);
2651
+ theValue = newValue_1;
2606
2652
  }
2607
2653
  }
2608
- catch (e) {
2609
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, desc, e);
2610
- }
2611
- return target;
2654
+ return theValue;
2612
2655
  }
2613
-
2614
- var symPrefix = "[[ai_";
2615
- var symPostfix = "]]";
2616
- function _createState(cfgHandler) {
2617
- var _a;
2618
- var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
2619
- var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
2620
- var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
2621
- var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
2622
- var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
2623
- var _waitingHandlers = null;
2624
- var _watcherTimer = null;
2625
- var theState;
2626
- function _useHandler(activeHandler, callback) {
2627
- var prevWatcher = theState.act;
2628
- try {
2629
- theState.act = activeHandler;
2630
- if (activeHandler && activeHandler[dynamicPropertyDetail]) {
2631
- arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
2632
- detail.clr(activeHandler);
2633
- });
2634
- activeHandler[dynamicPropertyDetail] = [];
2635
- }
2636
- callback({
2637
- cfg: cfgHandler.cfg,
2638
- set: cfgHandler.set.bind(cfgHandler),
2639
- setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
2640
- ref: cfgHandler.ref.bind(cfgHandler),
2641
- rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
2642
- });
2656
+ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2657
+ var isValid;
2658
+ var setFn;
2659
+ var defValue;
2660
+ var cfgDefaults = defaultValue;
2661
+ var mergeDf;
2662
+ var reference;
2663
+ var readOnly;
2664
+ var blkDynamicValue;
2665
+ if (_isConfigDefaults(cfgDefaults)) {
2666
+ isValid = cfgDefaults.isVal;
2667
+ setFn = cfgDefaults.set;
2668
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
2669
+ blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2670
+ mergeDf = cfgDefaults.mrg;
2671
+ reference = cfgDefaults.ref;
2672
+ if (!reference && isUndefined(reference)) {
2673
+ reference = !!mergeDf;
2643
2674
  }
2644
- catch (e) {
2645
- var logger = cfgHandler[_DYN_LOGGER$1 ];
2646
- if (logger) {
2647
- logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
2648
- }
2649
- throw e;
2675
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2676
+ }
2677
+ else {
2678
+ defValue = defaultValue;
2679
+ }
2680
+ if (blkDynamicValue) {
2681
+ dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2682
+ }
2683
+ var theValue;
2684
+ var usingDefault = true;
2685
+ var cfgValue = theConfig[name];
2686
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
2687
+ theValue = cfgValue;
2688
+ usingDefault = false;
2689
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
2690
+ theValue = defValue;
2691
+ usingDefault = true;
2650
2692
  }
2651
- finally {
2652
- theState.act = prevWatcher || null;
2693
+ if (setFn) {
2694
+ theValue = setFn(theValue, defValue, theConfig);
2695
+ usingDefault = theValue === defValue;
2653
2696
  }
2654
2697
  }
2655
- function _notifyWatchers() {
2656
- if (_waitingHandlers) {
2657
- var notifyHandlers = _waitingHandlers;
2658
- _waitingHandlers = null;
2659
- _watcherTimer && _watcherTimer[_DYN_CANCEL ]();
2660
- _watcherTimer = null;
2661
- var watcherFailures_1 = [];
2662
- arrForEach(notifyHandlers, function (handler) {
2663
- if (handler) {
2664
- if (handler[dynamicPropertyDetail]) {
2665
- arrForEach(handler[dynamicPropertyDetail], function (detail) {
2666
- detail.clr(handler);
2667
- });
2668
- handler[dynamicPropertyDetail] = null;
2669
- }
2670
- if (handler.fn) {
2671
- try {
2672
- _useHandler(handler, handler.fn);
2673
- }
2674
- catch (e) {
2675
- watcherFailures_1[_DYN_PUSH ](e);
2676
- }
2677
- }
2678
- }
2679
- });
2680
- if (_waitingHandlers) {
2681
- try {
2682
- _notifyWatchers();
2683
- }
2684
- catch (e) {
2685
- watcherFailures_1[_DYN_PUSH ](e);
2686
- }
2687
- }
2688
- if (watcherFailures_1[_DYN_LENGTH$1 ] > 0) {
2689
- throwAggregationError("Watcher error(s): ", watcherFailures_1);
2698
+ if (!usingDefault) {
2699
+ if (isPlainObject(theValue) || isArray(defValue)) {
2700
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
2701
+ objForEachKey(defValue, function (dfName, dfValue) {
2702
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
2703
+ });
2690
2704
  }
2691
2705
  }
2692
2706
  }
2693
- function _addWatcher(detail) {
2694
- if (detail && detail.h[_DYN_LENGTH$1 ] > 0) {
2695
- if (!_waitingHandlers) {
2696
- _waitingHandlers = [];
2697
- }
2698
- if (!_watcherTimer) {
2699
- _watcherTimer = scheduleTimeout(function () {
2700
- _watcherTimer = null;
2701
- _notifyWatchers();
2702
- }, 0);
2703
- }
2704
- for (var idx = 0; idx < detail.h[_DYN_LENGTH$1 ]; idx++) {
2705
- var handler = detail.h[idx];
2706
- if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
2707
- _waitingHandlers[_DYN_PUSH ](handler);
2708
- }
2709
- }
2710
- }
2707
+ else if (defValue) {
2708
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
2711
2709
  }
2712
- function _trackHandler(handler, detail) {
2713
- if (handler) {
2714
- var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
2715
- if (arrIndexOf(details, detail) === -1) {
2716
- details[_DYN_PUSH ](detail);
2717
- }
2718
- }
2710
+ else {
2711
+ theValue = defValue;
2712
+ }
2713
+ dynamicHandler.set(theConfig, name, theValue);
2714
+ if (reference) {
2715
+ dynamicHandler.ref(theConfig, name);
2716
+ }
2717
+ if (readOnly) {
2718
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
2719
2719
  }
2720
- theState = (_a = {
2721
- prop: dynamicPropertySymbol,
2722
- ro: dynamicPropertyReadOnly,
2723
- rf: dynamicPropertyReferenced
2724
- },
2725
- _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
2726
- _a[_DYN_HDLR ] = cfgHandler,
2727
- _a.add = _addWatcher,
2728
- _a[_DYN_NOTIFY ] = _notifyWatchers,
2729
- _a.use = _useHandler,
2730
- _a.trk = _trackHandler,
2731
- _a);
2732
- return theState;
2733
2720
  }
2734
2721
 
2735
- function _createAndUseHandler(state, configHandler) {
2736
- var handler = {
2737
- fn: configHandler,
2738
- rm: function () {
2739
- handler.fn = null;
2740
- state = null;
2741
- configHandler = null;
2722
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
2723
+ var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
2724
+ var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
2725
+ function _cfgDeepCopy(source) {
2726
+ if (source) {
2727
+ var target_1;
2728
+ if (isArray(source)) {
2729
+ target_1 = [];
2730
+ target_1[_DYN_LENGTH$1 ] = source[_DYN_LENGTH$1 ];
2731
+ }
2732
+ else if (isPlainObject(source)) {
2733
+ target_1 = {};
2734
+ }
2735
+ if (target_1) {
2736
+ objForEachKey(source, function (key, value) {
2737
+ target_1[key] = _cfgDeepCopy(value);
2738
+ });
2739
+ return target_1;
2742
2740
  }
2743
- };
2744
- state.use(handler, configHandler);
2745
- return handler;
2746
- }
2747
- function _createDynamicHandler(logger, target, inPlace) {
2748
- var _a;
2749
- var dynamicHandler = getDynamicConfigHandler(target);
2750
- if (dynamicHandler) {
2751
- return dynamicHandler;
2752
2741
  }
2753
- var uid = createUniqueNamespace("dyncfg", true);
2754
- var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
2755
- var theState;
2756
- function _notifyWatchers() {
2757
- theState[_DYN_NOTIFY ]();
2742
+ return source;
2743
+ }
2744
+ function getDynamicConfigHandler(value) {
2745
+ if (value) {
2746
+ var handler = value[CFG_HANDLER_LINK] || value;
2747
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2748
+ return handler;
2749
+ }
2758
2750
  }
2759
- function _setValue(target, name, value) {
2751
+ return null;
2752
+ }
2753
+ function blockDynamicConversion(value) {
2754
+ if (value && (isPlainObject(value) || isArray(value))) {
2760
2755
  try {
2761
- target = _setDynamicProperty(theState, target, name, value);
2756
+ value[BLOCK_DYNAMIC] = true;
2762
2757
  }
2763
2758
  catch (e) {
2764
- _throwDynamicError(logger, name, "Setting value", e);
2765
2759
  }
2766
- return target[name];
2767
2760
  }
2768
- function _watch(configHandler) {
2769
- return _createAndUseHandler(theState, configHandler);
2770
- }
2771
- function _block(configHandler, allowUpdate) {
2772
- theState.use(null, function (details) {
2773
- var prevUpd = theState.upd;
2774
- try {
2775
- if (!isUndefined(allowUpdate)) {
2776
- theState.upd = allowUpdate;
2777
- }
2778
- configHandler(details);
2779
- }
2780
- finally {
2781
- theState.upd = prevUpd;
2782
- }
2783
- });
2784
- }
2785
- function _ref(target, name) {
2786
- var _a;
2787
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
2788
- }
2789
- function _rdOnly(target, name) {
2790
- var _a;
2791
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
2792
- }
2793
- function _blkPropValue(target, name) {
2794
- var _a;
2795
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
2796
- }
2797
- function _applyDefaults(theConfig, defaultValues) {
2798
- if (defaultValues) {
2799
- objForEachKey(defaultValues, function (name, value) {
2800
- _applyDefaultValue(cfgHandler, theConfig, name, value);
2801
- });
2802
- }
2803
- return theConfig;
2804
- }
2805
- var cfgHandler = (_a = {
2806
- uid: null,
2807
- cfg: newTarget
2808
- },
2809
- _a[_DYN_LOGGER$1 ] = logger,
2810
- _a[_DYN_NOTIFY ] = _notifyWatchers,
2811
- _a.set = _setValue,
2812
- _a[_DYN_SET_DF ] = _applyDefaults,
2813
- _a[_DYN_WATCH ] = _watch,
2814
- _a.ref = _ref,
2815
- _a[_DYN_RD_ONLY ] = _rdOnly,
2816
- _a[_DYN_BLK_VAL ] = _blkPropValue,
2817
- _a._block = _block,
2818
- _a);
2819
- objDefine(cfgHandler, "uid", {
2820
- c: false,
2821
- e: false,
2822
- w: false,
2823
- v: uid
2824
- });
2825
- theState = _createState(cfgHandler);
2826
- _makeDynamicObject(theState, newTarget, "config", "Creating");
2827
- return cfgHandler;
2761
+ return value;
2828
2762
  }
2829
- function _logInvalidAccess(logger, message) {
2830
- if (logger) {
2831
- logger[_DYN_WARN_TO_CONSOLE ](message);
2832
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2833
- }
2834
- else {
2835
- throwInvalidAccess(message);
2763
+ function forceDynamicConversion(value) {
2764
+ if (value) {
2765
+ try {
2766
+ value[FORCE_DYNAMIC] = true;
2767
+ }
2768
+ catch (e) {
2769
+ }
2836
2770
  }
2771
+ return value;
2837
2772
  }
2838
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
2839
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
2840
- if (defaultConfig) {
2841
- dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
2773
+ function _canMakeDynamic(getFunc, state, value) {
2774
+ var result = false;
2775
+ if (value && !getFunc[state.blkVal]) {
2776
+ result = value[FORCE_DYNAMIC];
2777
+ if (!result && !value[BLOCK_DYNAMIC]) {
2778
+ result = isPlainObject(value) || isArray(value);
2779
+ }
2842
2780
  }
2843
- return dynamicHandler;
2781
+ return result;
2844
2782
  }
2845
- function onConfigChange(config, configHandler, logger) {
2846
- var handler = config[CFG_HANDLER_LINK] || config;
2847
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2848
- return handler[_DYN_WATCH ](configHandler);
2849
- }
2850
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2851
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2783
+ function throwInvalidAccess(message) {
2784
+ throwTypeError("InvalidAccess:" + message);
2852
2785
  }
2853
2786
 
2854
- function runTargetUnload(target, isAsync) {
2855
- if (target && target[_DYN_UNLOAD ]) {
2856
- return target[_DYN_UNLOAD ](isAsync);
2857
- }
2858
- }
2859
- function doUnloadAll(targets, isAsync, done) {
2860
- var result;
2861
- if (!done) {
2862
- result = createPromise(function (resolved) {
2863
- done = resolved;
2864
- });
2865
- }
2866
- if (targets && getLength(targets) > 0) {
2867
- doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
2868
- doUnloadAll(arrSlice(targets, 1), isAsync, done);
2787
+ var arrayMethodsToPatch = [
2788
+ "push",
2789
+ "pop",
2790
+ "shift",
2791
+ "unshift",
2792
+ "splice"
2793
+ ];
2794
+ var _throwDynamicError = function (logger, name, desc, e) {
2795
+ logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
2796
+ };
2797
+ function _patchArray(state, target, name) {
2798
+ if (isArray(target)) {
2799
+ arrForEach(arrayMethodsToPatch, function (method) {
2800
+ var orgMethod = target[method];
2801
+ target[method] = function () {
2802
+ var args = [];
2803
+ for (var _i = 0; _i < arguments.length; _i++) {
2804
+ args[_i] = arguments[_i];
2805
+ }
2806
+ var result = orgMethod[_DYN_APPLY ](this, args);
2807
+ _makeDynamicObject(state, target, name, "Patching");
2808
+ return result;
2809
+ };
2869
2810
  });
2870
2811
  }
2871
- else {
2872
- done();
2873
- }
2874
- return result;
2875
2812
  }
2876
-
2877
- var ChannelControllerPriority = 500;
2878
-
2879
- function cfgDfMerge(defaultValue) {
2880
- return {
2881
- mrg: true,
2882
- v: defaultValue
2883
- };
2813
+ function _getOwnPropGetter(target, name) {
2814
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
2815
+ return propDesc && propDesc.get;
2884
2816
  }
2885
-
2886
- var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
2887
- var _aiNamespace = null;
2888
- var _debugListener;
2889
- function _listenerProxyFunc(name, config) {
2890
- return function () {
2891
- var args = arguments;
2892
- var dbgExt = getDebugExt(config);
2893
- if (dbgExt) {
2894
- var listener = dbgExt.listener;
2895
- if (listener && listener[name]) {
2896
- listener[name][_DYN_APPLY ](listener, args);
2817
+ function _createDynamicProperty(state, theConfig, name, value) {
2818
+ var detail = {
2819
+ n: name,
2820
+ h: [],
2821
+ trk: function (handler) {
2822
+ if (handler && handler.fn) {
2823
+ if (arrIndexOf(detail.h, handler) === -1) {
2824
+ detail.h[_DYN_PUSH ](handler);
2825
+ }
2826
+ state.trk(handler, detail);
2827
+ }
2828
+ },
2829
+ clr: function (handler) {
2830
+ var idx = arrIndexOf(detail.h, handler);
2831
+ if (idx !== -1) {
2832
+ detail.h[_DYN_SPLICE ](idx, 1);
2897
2833
  }
2898
2834
  }
2899
2835
  };
2900
- }
2901
- function _getExtensionNamespace() {
2902
- var target = getInst("Microsoft");
2903
- if (target) {
2904
- _aiNamespace = target["ApplicationInsights"];
2905
- }
2906
- return _aiNamespace;
2907
- }
2908
- function getDebugExt(config) {
2909
- var ns = _aiNamespace;
2910
- if (!ns && config.disableDbgExt !== true) {
2911
- ns = _aiNamespace || _getExtensionNamespace();
2912
- }
2913
- return ns ? ns["ChromeDbgExt"] : null;
2914
- }
2915
- function getDebugListener(config) {
2916
- if (!_debugListener) {
2917
- _debugListener = {};
2918
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH$1 ]; lp++) {
2919
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
2920
- }
2921
- }
2922
- return _debugListener;
2923
- }
2924
-
2925
- var _a$4;
2926
- var STR_WARN_TO_CONSOLE = "warnToConsole";
2927
- var AiNonUserActionablePrefix = "AI (Internal): ";
2928
- var AiUserActionablePrefix = "AI: ";
2929
- var AIInternalMessagePrefix = "AITR_";
2930
- var defaultValues$2 = {
2931
- loggingLevelConsole: 0,
2932
- loggingLevelTelemetry: 1,
2933
- maxMessageLimit: 25,
2934
- enableDebug: false
2935
- };
2936
- var _logFuncs = (_a$4 = {},
2937
- _a$4[0 ] = null,
2938
- _a$4[1 ] = "errorToConsole",
2939
- _a$4[2 ] = STR_WARN_TO_CONSOLE,
2940
- _a$4[3 ] = "debugToConsole",
2941
- _a$4);
2942
- function _sanitizeDiagnosticText(text) {
2943
- if (text) {
2944
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2945
- }
2946
- return STR_EMPTY$1;
2947
- }
2948
- function _logToConsole(func, message) {
2949
- var theConsole = getConsole();
2950
- if (!!theConsole) {
2951
- var logFunc = "log";
2952
- if (theConsole[func]) {
2953
- logFunc = func;
2836
+ var checkDynamic = true;
2837
+ var isObjectOrArray = false;
2838
+ function _getProperty() {
2839
+ if (checkDynamic) {
2840
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2841
+ if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
2842
+ value = _makeDynamicObject(state, value, name, "Converting");
2843
+ }
2844
+ checkDynamic = false;
2954
2845
  }
2955
- if (isFunction(theConsole[logFunc])) {
2956
- theConsole[logFunc](message);
2846
+ var activeHandler = state.act;
2847
+ if (activeHandler) {
2848
+ detail.trk(activeHandler);
2957
2849
  }
2850
+ return value;
2958
2851
  }
2959
- }
2960
- var _InternalLogMessage = /** @class */ (function () {
2961
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2962
- if (isUserAct === void 0) { isUserAct = false; }
2963
- var _self = this;
2964
- _self[_DYN_MESSAGE_ID ] = msgId;
2965
- _self[_DYN_MESSAGE ] =
2966
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2967
- msgId;
2968
- var strProps = STR_EMPTY$1;
2969
- if (hasJSON()) {
2970
- strProps = getJSON().stringify(properties);
2971
- }
2972
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2973
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2974
- _self[_DYN_MESSAGE ] += diagnosticText;
2975
- }
2976
- _InternalLogMessage.dataType = "MessageData";
2977
- return _InternalLogMessage;
2978
- }());
2979
- function safeGetLogger(core, config) {
2980
- return (core || {})[_DYN_LOGGER$1 ] || new DiagnosticLogger(config);
2981
- }
2982
- var DiagnosticLogger = /** @class */ (function () {
2983
- function DiagnosticLogger(config) {
2984
- this.identifier = "DiagnosticLogger";
2985
- this.queue = [];
2986
- var _messageCount = 0;
2987
- var _messageLogged = {};
2988
- var _loggingLevelConsole;
2989
- var _loggingLevelTelemetry;
2990
- var _maxInternalMessageLimit;
2991
- var _enableDebug;
2992
- var _unloadHandler;
2993
- dynamicProto(DiagnosticLogger, this, function (_self) {
2994
- _unloadHandler = _setDefaultsFromConfig(config || {});
2995
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2996
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2997
- if (isUserAct === void 0) { isUserAct = false; }
2998
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2999
- if (_enableDebug) {
3000
- throw dumpObj(message);
3001
- }
3002
- else {
3003
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
3004
- if (!isUndefined(message[_DYN_MESSAGE ])) {
3005
- if (isUserAct) {
3006
- var messageKey = +message[_DYN_MESSAGE_ID ];
3007
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
3008
- _self[logFunc](message[_DYN_MESSAGE ]);
3009
- _messageLogged[messageKey] = true;
3010
- }
3011
- }
3012
- else {
3013
- if (_loggingLevelConsole >= severity) {
3014
- _self[logFunc](message[_DYN_MESSAGE ]);
3015
- }
3016
- }
3017
- _logInternalMessage(severity, message);
2852
+ _getProperty[state.prop] = {
2853
+ chng: function () {
2854
+ state.add(detail);
2855
+ }
2856
+ };
2857
+ function _setProperty(newValue) {
2858
+ if (value !== newValue) {
2859
+ if (!!_getProperty[state.ro] && !state.upd) {
2860
+ throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
2861
+ }
2862
+ if (checkDynamic) {
2863
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2864
+ checkDynamic = false;
2865
+ }
2866
+ var isReferenced = isObjectOrArray && _getProperty[state.rf];
2867
+ if (isObjectOrArray) {
2868
+ if (isReferenced) {
2869
+ objForEachKey(value, function (key) {
2870
+ value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
2871
+ });
2872
+ try {
2873
+ objForEachKey(newValue, function (key, theValue) {
2874
+ _setDynamicProperty(state, value, key, theValue);
2875
+ });
2876
+ newValue = value;
3018
2877
  }
3019
- else {
3020
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2878
+ catch (e) {
2879
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Assigning", e);
2880
+ isObjectOrArray = false;
3021
2881
  }
3022
2882
  }
3023
- };
3024
- _self.debugToConsole = function (message) {
3025
- _logToConsole("debug", message);
3026
- _debugExtMsg("warning", message);
3027
- };
3028
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
3029
- _logToConsole("warn", message);
3030
- _debugExtMsg("warning", message);
3031
- };
3032
- _self.errorToConsole = function (message) {
3033
- _logToConsole("error", message);
3034
- _debugExtMsg("error", message);
3035
- };
3036
- _self.resetInternalMessageCount = function () {
3037
- _messageCount = 0;
3038
- _messageLogged = {};
3039
- };
3040
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
3041
- _self[_DYN_UNLOAD ] = function (isAsync) {
3042
- _unloadHandler && _unloadHandler.rm();
3043
- _unloadHandler = null;
3044
- };
3045
- function _logInternalMessage(severity, message) {
3046
- if (_areInternalMessagesThrottled()) {
3047
- return;
2883
+ else if (value && value[CFG_HANDLER_LINK]) {
2884
+ objForEachKey(value, function (key) {
2885
+ var getter = _getOwnPropGetter(value, key);
2886
+ if (getter) {
2887
+ var valueState = getter[state.prop];
2888
+ valueState && valueState.chng();
2889
+ }
2890
+ });
3048
2891
  }
3049
- var logMessage = true;
3050
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
3051
- if (_messageLogged[messageKey]) {
3052
- logMessage = false;
2892
+ }
2893
+ if (newValue !== value) {
2894
+ var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
2895
+ if (!isReferenced && newIsObjectOrArray) {
2896
+ newValue = _makeDynamicObject(state, newValue, name, "Converting");
3053
2897
  }
3054
- else {
3055
- _messageLogged[messageKey] = true;
2898
+ value = newValue;
2899
+ isObjectOrArray = newIsObjectOrArray;
2900
+ }
2901
+ state.add(detail);
2902
+ }
2903
+ }
2904
+ objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2905
+ }
2906
+ function _setDynamicProperty(state, target, name, value) {
2907
+ if (target) {
2908
+ var getter = _getOwnPropGetter(target, name);
2909
+ var isDynamic = getter && !!getter[state.prop];
2910
+ if (!isDynamic) {
2911
+ _createDynamicProperty(state, target, name, value);
2912
+ }
2913
+ else {
2914
+ target[name] = value;
2915
+ }
2916
+ }
2917
+ return target;
2918
+ }
2919
+ function _setDynamicPropertyState(state, target, name, flags) {
2920
+ if (target) {
2921
+ var getter = _getOwnPropGetter(target, name);
2922
+ var isDynamic = getter && !!getter[state.prop];
2923
+ var inPlace = flags && flags[0 ];
2924
+ var rdOnly = flags && flags[1 ];
2925
+ var blkProp = flags && flags[2 ];
2926
+ if (!isDynamic) {
2927
+ if (blkProp) {
2928
+ try {
2929
+ blockDynamicConversion(target);
3056
2930
  }
3057
- if (logMessage) {
3058
- if (severity <= _loggingLevelTelemetry) {
3059
- _self.queue[_DYN_PUSH ](message);
3060
- _messageCount++;
3061
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2931
+ catch (e) {
2932
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Blocking", e);
2933
+ }
2934
+ }
2935
+ try {
2936
+ _setDynamicProperty(state, target, name, target[name]);
2937
+ getter = _getOwnPropGetter(target, name);
2938
+ }
2939
+ catch (e) {
2940
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "State", e);
2941
+ }
2942
+ }
2943
+ if (inPlace) {
2944
+ getter[state.rf] = inPlace;
2945
+ }
2946
+ if (rdOnly) {
2947
+ getter[state.ro] = rdOnly;
2948
+ }
2949
+ if (blkProp) {
2950
+ getter[state.blkVal] = true;
2951
+ }
2952
+ }
2953
+ return target;
2954
+ }
2955
+ function _makeDynamicObject(state, target, name, desc) {
2956
+ try {
2957
+ objForEachKey(target, function (key, value) {
2958
+ _setDynamicProperty(state, target, key, value);
2959
+ });
2960
+ if (!target[CFG_HANDLER_LINK]) {
2961
+ objDefineProp(target, CFG_HANDLER_LINK, {
2962
+ get: function () {
2963
+ return state[_DYN_HDLR ];
2964
+ }
2965
+ });
2966
+ _patchArray(state, target, name);
2967
+ }
2968
+ }
2969
+ catch (e) {
2970
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, desc, e);
2971
+ }
2972
+ return target;
2973
+ }
2974
+
2975
+ var symPrefix = "[[ai_";
2976
+ var symPostfix = "]]";
2977
+ function _createState(cfgHandler) {
2978
+ var _a;
2979
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
2980
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
2981
+ var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
2982
+ var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
2983
+ var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
2984
+ var _waitingHandlers = null;
2985
+ var _watcherTimer = null;
2986
+ var theState;
2987
+ function _useHandler(activeHandler, callback) {
2988
+ var prevWatcher = theState.act;
2989
+ try {
2990
+ theState.act = activeHandler;
2991
+ if (activeHandler && activeHandler[dynamicPropertyDetail]) {
2992
+ arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
2993
+ detail.clr(activeHandler);
2994
+ });
2995
+ activeHandler[dynamicPropertyDetail] = [];
2996
+ }
2997
+ callback({
2998
+ cfg: cfgHandler.cfg,
2999
+ set: cfgHandler.set.bind(cfgHandler),
3000
+ setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
3001
+ ref: cfgHandler.ref.bind(cfgHandler),
3002
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
3003
+ });
3004
+ }
3005
+ catch (e) {
3006
+ var logger = cfgHandler[_DYN_LOGGER$1 ];
3007
+ if (logger) {
3008
+ logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
3009
+ }
3010
+ throw e;
3011
+ }
3012
+ finally {
3013
+ theState.act = prevWatcher || null;
3014
+ }
3015
+ }
3016
+ function _notifyWatchers() {
3017
+ if (_waitingHandlers) {
3018
+ var notifyHandlers = _waitingHandlers;
3019
+ _waitingHandlers = null;
3020
+ _watcherTimer && _watcherTimer[_DYN_CANCEL ]();
3021
+ _watcherTimer = null;
3022
+ var watcherFailures_1 = [];
3023
+ arrForEach(notifyHandlers, function (handler) {
3024
+ if (handler) {
3025
+ if (handler[dynamicPropertyDetail]) {
3026
+ arrForEach(handler[dynamicPropertyDetail], function (detail) {
3027
+ detail.clr(handler);
3028
+ });
3029
+ handler[dynamicPropertyDetail] = null;
3062
3030
  }
3063
- if (_messageCount === _maxInternalMessageLimit) {
3064
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
3065
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
3066
- _self.queue[_DYN_PUSH ](throttleMessage);
3067
- if (severity === 1 ) {
3068
- _self.errorToConsole(throttleLimitMessage);
3031
+ if (handler.fn) {
3032
+ try {
3033
+ _useHandler(handler, handler.fn);
3069
3034
  }
3070
- else {
3071
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
3035
+ catch (e) {
3036
+ watcherFailures_1[_DYN_PUSH ](e);
3072
3037
  }
3073
3038
  }
3074
3039
  }
3040
+ });
3041
+ if (_waitingHandlers) {
3042
+ try {
3043
+ _notifyWatchers();
3044
+ }
3045
+ catch (e) {
3046
+ watcherFailures_1[_DYN_PUSH ](e);
3047
+ }
3075
3048
  }
3076
- function _setDefaultsFromConfig(config) {
3077
- return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
3078
- var config = details.cfg;
3079
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
3080
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
3081
- _maxInternalMessageLimit = config.maxMessageLimit;
3082
- _enableDebug = config.enableDebug;
3083
- });
3049
+ if (watcherFailures_1[_DYN_LENGTH$1 ] > 0) {
3050
+ throwAggregationError("Watcher error(s): ", watcherFailures_1);
3084
3051
  }
3085
- function _areInternalMessagesThrottled() {
3086
- return _messageCount >= _maxInternalMessageLimit;
3052
+ }
3053
+ }
3054
+ function _addWatcher(detail) {
3055
+ if (detail && detail.h[_DYN_LENGTH$1 ] > 0) {
3056
+ if (!_waitingHandlers) {
3057
+ _waitingHandlers = [];
3087
3058
  }
3088
- function _debugExtMsg(name, data) {
3089
- var dbgExt = getDebugExt(config || {});
3090
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
3091
- dbgExt[_DYN_DIAG_LOG ](name, data);
3059
+ if (!_watcherTimer) {
3060
+ _watcherTimer = scheduleTimeout(function () {
3061
+ _watcherTimer = null;
3062
+ _notifyWatchers();
3063
+ }, 0);
3064
+ }
3065
+ for (var idx = 0; idx < detail.h[_DYN_LENGTH$1 ]; idx++) {
3066
+ var handler = detail.h[idx];
3067
+ if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
3068
+ _waitingHandlers[_DYN_PUSH ](handler);
3069
+ }
3070
+ }
3071
+ }
3072
+ }
3073
+ function _trackHandler(handler, detail) {
3074
+ if (handler) {
3075
+ var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
3076
+ if (arrIndexOf(details, detail) === -1) {
3077
+ details[_DYN_PUSH ](detail);
3078
+ }
3079
+ }
3080
+ }
3081
+ theState = (_a = {
3082
+ prop: dynamicPropertySymbol,
3083
+ ro: dynamicPropertyReadOnly,
3084
+ rf: dynamicPropertyReferenced
3085
+ },
3086
+ _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
3087
+ _a[_DYN_HDLR ] = cfgHandler,
3088
+ _a.add = _addWatcher,
3089
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3090
+ _a.use = _useHandler,
3091
+ _a.trk = _trackHandler,
3092
+ _a);
3093
+ return theState;
3094
+ }
3095
+
3096
+ function _createAndUseHandler(state, configHandler) {
3097
+ var handler = {
3098
+ fn: configHandler,
3099
+ rm: function () {
3100
+ handler.fn = null;
3101
+ state = null;
3102
+ configHandler = null;
3103
+ }
3104
+ };
3105
+ state.use(handler, configHandler);
3106
+ return handler;
3107
+ }
3108
+ function _createDynamicHandler(logger, target, inPlace) {
3109
+ var _a;
3110
+ var dynamicHandler = getDynamicConfigHandler(target);
3111
+ if (dynamicHandler) {
3112
+ return dynamicHandler;
3113
+ }
3114
+ var uid = createUniqueNamespace("dyncfg", true);
3115
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
3116
+ var theState;
3117
+ function _notifyWatchers() {
3118
+ theState[_DYN_NOTIFY ]();
3119
+ }
3120
+ function _setValue(target, name, value) {
3121
+ try {
3122
+ target = _setDynamicProperty(theState, target, name, value);
3123
+ }
3124
+ catch (e) {
3125
+ _throwDynamicError(logger, name, "Setting value", e);
3126
+ }
3127
+ return target[name];
3128
+ }
3129
+ function _watch(configHandler) {
3130
+ return _createAndUseHandler(theState, configHandler);
3131
+ }
3132
+ function _block(configHandler, allowUpdate) {
3133
+ theState.use(null, function (details) {
3134
+ var prevUpd = theState.upd;
3135
+ try {
3136
+ if (!isUndefined(allowUpdate)) {
3137
+ theState.upd = allowUpdate;
3092
3138
  }
3139
+ configHandler(details);
3140
+ }
3141
+ finally {
3142
+ theState.upd = prevUpd;
3093
3143
  }
3094
3144
  });
3095
3145
  }
3096
- DiagnosticLogger.__ieDyn=1;
3097
- return DiagnosticLogger;
3098
- }());
3099
- function _getLogger(logger) {
3100
- return (logger || new DiagnosticLogger());
3146
+ function _ref(target, name) {
3147
+ var _a;
3148
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3149
+ }
3150
+ function _rdOnly(target, name) {
3151
+ var _a;
3152
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3153
+ }
3154
+ function _blkPropValue(target, name) {
3155
+ var _a;
3156
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3157
+ }
3158
+ function _applyDefaults(theConfig, defaultValues) {
3159
+ if (defaultValues) {
3160
+ objForEachKey(defaultValues, function (name, value) {
3161
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
3162
+ });
3163
+ }
3164
+ return theConfig;
3165
+ }
3166
+ var cfgHandler = (_a = {
3167
+ uid: null,
3168
+ cfg: newTarget
3169
+ },
3170
+ _a[_DYN_LOGGER$1 ] = logger,
3171
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3172
+ _a.set = _setValue,
3173
+ _a[_DYN_SET_DF ] = _applyDefaults,
3174
+ _a[_DYN_WATCH ] = _watch,
3175
+ _a.ref = _ref,
3176
+ _a[_DYN_RD_ONLY ] = _rdOnly,
3177
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
3178
+ _a._block = _block,
3179
+ _a);
3180
+ objDefine(cfgHandler, "uid", {
3181
+ c: false,
3182
+ e: false,
3183
+ w: false,
3184
+ v: uid
3185
+ });
3186
+ theState = _createState(cfgHandler);
3187
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
3188
+ return cfgHandler;
3101
3189
  }
3102
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
3103
- if (isUserAct === void 0) { isUserAct = false; }
3104
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
3190
+ function _logInvalidAccess(logger, message) {
3191
+ if (logger) {
3192
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3193
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3194
+ }
3195
+ else {
3196
+ throwInvalidAccess(message);
3197
+ }
3105
3198
  }
3106
- function _warnToConsole(logger, message) {
3107
- _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
3199
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3200
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3201
+ if (defaultConfig) {
3202
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3203
+ }
3204
+ return dynamicHandler;
3108
3205
  }
3109
- function _logInternalMessage(logger, severity, message) {
3110
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
3206
+ function onConfigChange(config, configHandler, logger) {
3207
+ var handler = config[CFG_HANDLER_LINK] || config;
3208
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3209
+ return handler[_DYN_WATCH ](configHandler);
3210
+ }
3211
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3212
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3213
+ }
3214
+
3215
+ function runTargetUnload(target, isAsync) {
3216
+ if (target && target[_DYN_UNLOAD ]) {
3217
+ return target[_DYN_UNLOAD ](isAsync);
3218
+ }
3219
+ }
3220
+ function doUnloadAll(targets, isAsync, done) {
3221
+ var result;
3222
+ if (!done) {
3223
+ result = createPromise(function (resolved) {
3224
+ done = resolved;
3225
+ });
3226
+ }
3227
+ if (targets && getLength(targets) > 0) {
3228
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3229
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
3230
+ });
3231
+ }
3232
+ else {
3233
+ done();
3234
+ }
3235
+ return result;
3236
+ }
3237
+
3238
+ var ChannelControllerPriority = 500;
3239
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3240
+
3241
+ function cfgDfMerge(defaultValue) {
3242
+ return {
3243
+ mrg: true,
3244
+ v: defaultValue
3245
+ };
3111
3246
  }
3112
3247
 
3113
3248
  var _a$3, _b;
@@ -3239,7 +3374,7 @@
3239
3374
  var result = false;
3240
3375
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3241
3376
  var values = {};
3242
- var theValue = strTrim(value || STR_EMPTY$1);
3377
+ var theValue = strTrim(value || STR_EMPTY$2);
3243
3378
  var idx = strIndexOf(theValue, ";");
3244
3379
  if (idx !== -1) {
3245
3380
  theValue = strTrim(strLeft(value, idx));
@@ -3254,15 +3389,15 @@
3254
3389
  if (expireMs > 0) {
3255
3390
  var expiry = new Date();
3256
3391
  expiry.setTime(expireMs);
3257
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
3392
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$2, isTruthy);
3258
3393
  }
3259
3394
  }
3260
3395
  if (!_isIE) {
3261
- setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3396
+ setValue(values, "max-age", STR_EMPTY$2 + maxAgeSec, null, isUndefined);
3262
3397
  }
3263
3398
  }
3264
3399
  var location_1 = getLocation();
3265
- if (location_1 && location_1.protocol === "https:") {
3400
+ if (location_1 && location_1[_DYN_PROTOCOL ] === "https:") {
3266
3401
  setValue(values, "secure", null, null, isUndefined);
3267
3402
  if (_allowUaSameSite === null) {
3268
3403
  _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
@@ -3278,7 +3413,7 @@
3278
3413
  return result;
3279
3414
  },
3280
3415
  get: function (name) {
3281
- var value = STR_EMPTY$1;
3416
+ var value = STR_EMPTY$2;
3282
3417
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3283
3418
  value = _getCookieFn(name);
3284
3419
  }
@@ -3302,7 +3437,7 @@
3302
3437
  if (!isIE()) {
3303
3438
  values["max-age"] = "0";
3304
3439
  }
3305
- _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3440
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$2, values));
3306
3441
  result = true;
3307
3442
  }
3308
3443
  return result;
@@ -3335,7 +3470,7 @@
3335
3470
  if (theValue && theValue[_DYN_LENGTH$1 ]) {
3336
3471
  var parts = strTrim(theValue)[_DYN_SPLIT ](";");
3337
3472
  arrForEach(parts, function (thePart) {
3338
- thePart = strTrim(thePart || STR_EMPTY$1);
3473
+ thePart = strTrim(thePart || STR_EMPTY$2);
3339
3474
  if (thePart) {
3340
3475
  var idx = strIndexOf(thePart, "=");
3341
3476
  if (idx === -1) {
@@ -3356,22 +3491,22 @@
3356
3491
  return null;
3357
3492
  }
3358
3493
  function _formatCookieValue(value, values) {
3359
- var cookieValue = value || STR_EMPTY$1;
3494
+ var cookieValue = value || STR_EMPTY$2;
3360
3495
  objForEachKey(values, function (name, theValue) {
3361
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3496
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$2);
3362
3497
  });
3363
3498
  return cookieValue;
3364
3499
  }
3365
3500
  function _getCookieValue(name) {
3366
- var cookieValue = STR_EMPTY$1;
3501
+ var cookieValue = STR_EMPTY$2;
3367
3502
  !_doc && _getDoc();
3368
3503
  if (_doc.v) {
3369
- var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3504
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$2;
3370
3505
  if (_parsedCookieValue !== theCookie) {
3371
3506
  _cookieCache = _extractParts(theCookie);
3372
3507
  _parsedCookieValue = theCookie;
3373
3508
  }
3374
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3509
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$2);
3375
3510
  }
3376
3511
  return cookieValue;
3377
3512
  }
@@ -3486,7 +3621,7 @@
3486
3621
  }
3487
3622
  };
3488
3623
  _self[STR_OFFLINE_SENT ] = function (batch) {
3489
- if (batch && batch.data) {
3624
+ if (batch && batch[_DYN_DATA ]) {
3490
3625
  _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3491
3626
  listener[STR_OFFLINE_SENT ](batch);
3492
3627
  });
@@ -3685,7 +3820,7 @@
3685
3820
  }
3686
3821
  function generateW3CId() {
3687
3822
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3688
- var oct = STR_EMPTY$1, tmp;
3823
+ var oct = STR_EMPTY$2, tmp;
3689
3824
  for (var a = 0; a < 4; a++) {
3690
3825
  tmp = random32();
3691
3826
  oct +=
@@ -3762,9 +3897,9 @@
3762
3897
  return null;
3763
3898
  }
3764
3899
  return _a = {
3765
- version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3766
- traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3767
- spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]()
3900
+ version: (match[1] || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ](),
3901
+ traceId: (match[2] || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ](),
3902
+ spanId: (match[3] || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]()
3768
3903
  },
3769
3904
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
3770
3905
  _a;
@@ -4187,7 +4322,7 @@
4187
4322
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
4188
4323
  hasRunContext[chainId] = true;
4189
4324
  try {
4190
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
4325
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$2;
4191
4326
  if (nextId) {
4192
4327
  hasRunContext[nextId] = false;
4193
4328
  }
@@ -5047,7 +5182,7 @@
5047
5182
  }
5048
5183
  _pluginVersionString = _pluginVersionStringArr.join(";");
5049
5184
  }
5050
- return _pluginVersionString || STR_EMPTY$1;
5185
+ return _pluginVersionString || STR_EMPTY$2;
5051
5186
  }
5052
5187
  });
5053
5188
  objDefine(_self, "logger", {
@@ -5345,6 +5480,437 @@
5345
5480
  return AppInsightsCore;
5346
5481
  }());
5347
5482
 
5483
+ var STR_EMPTY$1 = "";
5484
+ var STR_NO_RESPONSE_BODY = "NoResponseBody";
5485
+ var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
5486
+ var STR_POST_METHOD = "POST";
5487
+ var SenderPostManager = /** @class */ (function () {
5488
+ function SenderPostManager() {
5489
+ var _syncFetchPayload = 0;
5490
+ var _enableSendPromise;
5491
+ var _isInitialized;
5492
+ var _diagLog;
5493
+ var _isOneDs;
5494
+ var _onCompleteFuncs;
5495
+ var _disableCredentials;
5496
+ var _fallbackInst;
5497
+ var _disableXhr;
5498
+ var _disableBeacon;
5499
+ var _disableBeaconSync;
5500
+ var _disableFetchKeepAlive;
5501
+ var _addNoResponse;
5502
+ var _timeoutWrapper;
5503
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
5504
+ var _sendCredentials = true;
5505
+ _initDefaults();
5506
+ _self[_DYN_INITIALIZE$1 ] = function (config, diagLog) {
5507
+ _diagLog = diagLog;
5508
+ if (_isInitialized) {
5509
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
5510
+ }
5511
+ _self.SetConfig(config);
5512
+ _isInitialized = true;
5513
+ };
5514
+ _self["_getDbgPlgTargets"] = function () {
5515
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
5516
+ };
5517
+ _self.SetConfig = function (config) {
5518
+ try {
5519
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
5520
+ _disableCredentials = !!config.disableCredentials;
5521
+ _isOneDs = !!config.isOneDs;
5522
+ _enableSendPromise = !!config.enableSendPromise;
5523
+ _disableXhr = !!config.disableXhr;
5524
+ _disableBeacon = !!config.disableBeacon;
5525
+ _disableBeaconSync = !!config.disableBeaconSync;
5526
+ _timeoutWrapper = config.timeWrapper;
5527
+ _addNoResponse = !!config.addNoResponse;
5528
+ _disableFetchKeepAlive = !!config.disableFetchKeepAlive;
5529
+ _fallbackInst = { sendPOST: _xhrSender };
5530
+ if (!_isOneDs) {
5531
+ _sendCredentials = false;
5532
+ }
5533
+ if (_disableCredentials) {
5534
+ var location_1 = getLocation();
5535
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
5536
+ _sendCredentials = false;
5537
+ }
5538
+ }
5539
+ return true;
5540
+ }
5541
+ catch (e) {
5542
+ }
5543
+ return false;
5544
+ };
5545
+ _self.getSyncFetchPayload = function () {
5546
+ return _syncFetchPayload;
5547
+ };
5548
+ _self.getSenderInst = function (transports, sync) {
5549
+ if (transports && transports[_DYN_LENGTH$1 ]) {
5550
+ return _getSenderInterface(transports, sync);
5551
+ }
5552
+ return null;
5553
+ };
5554
+ _self.getFallbackInst = function () {
5555
+ return _fallbackInst;
5556
+ };
5557
+ _self[_DYN__DO_TEARDOWN ] = function (unloadCtx, unloadState) {
5558
+ _initDefaults();
5559
+ };
5560
+ function _onSuccess(res, onComplete) {
5561
+ _doOnComplete(onComplete, 200, {}, res);
5562
+ }
5563
+ function _onError(message, onComplete) {
5564
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
5565
+ _doOnComplete(onComplete, 400, {});
5566
+ }
5567
+ function _onNoPayloadUrl(onComplete) {
5568
+ _onError("No endpoint url is provided for the batch", onComplete);
5569
+ }
5570
+ function _getSenderInterface(transports, syncSupport) {
5571
+ var _a;
5572
+ var transportType = 0 ;
5573
+ var sendPostFunc = null;
5574
+ var lp = 0;
5575
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
5576
+ transportType = transports[lp];
5577
+ if (!_disableXhr && transportType === 1 ) {
5578
+ if (useXDomainRequest()) {
5579
+ sendPostFunc = _xdrSender;
5580
+ }
5581
+ else if (isXhrSupported()) {
5582
+ sendPostFunc = _xhrSender;
5583
+ }
5584
+ }
5585
+ else if (transportType === 2 && isFetchSupported(syncSupport) && (!syncSupport || !_disableFetchKeepAlive)) {
5586
+ sendPostFunc = _doFetchSender;
5587
+ }
5588
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
5589
+ sendPostFunc = _beaconSender;
5590
+ }
5591
+ lp++;
5592
+ }
5593
+ if (sendPostFunc) {
5594
+ return _a = {
5595
+ _transport: transportType,
5596
+ _isSync: syncSupport
5597
+ },
5598
+ _a[_DYN_SEND_POST ] = sendPostFunc,
5599
+ _a;
5600
+ }
5601
+ return null;
5602
+ }
5603
+ function _doOnComplete(oncomplete, status, headers, response) {
5604
+ try {
5605
+ oncomplete && oncomplete(status, headers, response);
5606
+ }
5607
+ catch (e) {
5608
+ }
5609
+ }
5610
+ function _doBeaconSend(payload, oncomplete) {
5611
+ var nav = getNavigator();
5612
+ var url = payload[_DYN_URL_STRING ];
5613
+ if (!url) {
5614
+ _onNoPayloadUrl(oncomplete);
5615
+ return true;
5616
+ }
5617
+ url = payload[_DYN_URL_STRING ] + (_addNoResponse ? _noResponseQs : STR_EMPTY$1);
5618
+ var data = payload[_DYN_DATA ];
5619
+ var plainTextBatch = _isOneDs ? data : new Blob([data], { type: "text/plain;charset=UTF-8" });
5620
+ var queued = nav.sendBeacon(url, plainTextBatch);
5621
+ return queued;
5622
+ }
5623
+ function _beaconSender(payload, oncomplete, sync) {
5624
+ var data = payload[_DYN_DATA ];
5625
+ try {
5626
+ if (data) {
5627
+ if (!_doBeaconSend(payload, oncomplete)) {
5628
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
5629
+ if (onRetry && isFunction(onRetry)) {
5630
+ onRetry(payload, oncomplete, _doBeaconSend);
5631
+ }
5632
+ else {
5633
+ _fallbackInst && _fallbackInst[_DYN_SEND_POST ](payload, oncomplete, true);
5634
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
5635
+ }
5636
+ }
5637
+ else {
5638
+ _onSuccess(STR_EMPTY$1, oncomplete);
5639
+ }
5640
+ }
5641
+ }
5642
+ catch (e) {
5643
+ _isOneDs && _warnToConsole(_diagLog, "Failed to send telemetry using sendBeacon API. Ex:" + dumpObj(e));
5644
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, STR_EMPTY$1);
5645
+ }
5646
+ return;
5647
+ }
5648
+ function _xhrSender(payload, oncomplete, sync) {
5649
+ var thePromise;
5650
+ var resolveFunc;
5651
+ var rejectFunc;
5652
+ var headers = payload[_DYN_HEADERS ] || {};
5653
+ if (!sync && _enableSendPromise) {
5654
+ thePromise = createPromise(function (resolve, reject) {
5655
+ resolveFunc = resolve;
5656
+ rejectFunc = reject;
5657
+ });
5658
+ }
5659
+ if (_isOneDs && sync && payload.disableXhrSync) {
5660
+ sync = false;
5661
+ }
5662
+ var endPointUrl = payload[_DYN_URL_STRING ];
5663
+ if (!endPointUrl) {
5664
+ _onNoPayloadUrl(oncomplete);
5665
+ resolveFunc && resolveFunc(false);
5666
+ return;
5667
+ }
5668
+ var xhr = openXhr$1(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
5669
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5670
+ arrForEach(objKeys(headers), function (headerName) {
5671
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
5672
+ });
5673
+ xhr.onreadystatechange = function () {
5674
+ if (!_isOneDs) {
5675
+ _doOnReadyFunc(xhr);
5676
+ if (xhr.readyState === 4) {
5677
+ resolveFunc && resolveFunc(true);
5678
+ }
5679
+ }
5680
+ };
5681
+ xhr.onload = function () {
5682
+ if (_isOneDs) {
5683
+ _doOnReadyFunc(xhr);
5684
+ }
5685
+ };
5686
+ function _doOnReadyFunc(xhr) {
5687
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
5688
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
5689
+ if (onReadyFuncExist) {
5690
+ onReadyFunc(xhr, oncomplete, payload);
5691
+ }
5692
+ else {
5693
+ var response = getResponseText(xhr);
5694
+ _doOnComplete(oncomplete, xhr[_DYN_STATUS ], _getAllResponseHeaders(xhr, _isOneDs), response);
5695
+ }
5696
+ }
5697
+ xhr.onerror = function (event) {
5698
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 400, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY$1 : formatErrorMessageXhr(xhr));
5699
+ rejectFunc && rejectFunc(event);
5700
+ };
5701
+ xhr.ontimeout = function () {
5702
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 500, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY$1 : formatErrorMessageXhr(xhr));
5703
+ resolveFunc && resolveFunc(false);
5704
+ };
5705
+ xhr.send(payload[_DYN_DATA ]);
5706
+ return thePromise;
5707
+ }
5708
+ function _doFetchSender(payload, oncomplete, sync) {
5709
+ var _a;
5710
+ var endPointUrl = payload[_DYN_URL_STRING ];
5711
+ var batch = payload[_DYN_DATA ];
5712
+ var plainTextBatch = _isOneDs ? batch : new Blob([batch], { type: "application/json" });
5713
+ var thePromise;
5714
+ var resolveFunc;
5715
+ var rejectFunc;
5716
+ var requestHeaders = new Headers();
5717
+ var batchLength = batch[_DYN_LENGTH$1 ];
5718
+ var ignoreResponse = false;
5719
+ var responseHandled = false;
5720
+ var headers = payload[_DYN_HEADERS ] || {};
5721
+ var init = (_a = {
5722
+ method: STR_POST_METHOD,
5723
+ body: plainTextBatch
5724
+ },
5725
+ _a[DisabledPropertyName] = true
5726
+ ,
5727
+ _a);
5728
+ if (payload.headers && objKeys(payload.headers)[_DYN_LENGTH$1 ] > 0) {
5729
+ arrForEach(objKeys(headers), function (headerName) {
5730
+ requestHeaders.append(headerName, headers[headerName]);
5731
+ });
5732
+ init[_DYN_HEADERS ] = requestHeaders;
5733
+ }
5734
+ if (_sendCredentials && _isOneDs) {
5735
+ init.credentials = "include";
5736
+ }
5737
+ if (sync) {
5738
+ init.keepalive = true;
5739
+ _syncFetchPayload += batchLength;
5740
+ if (_isOneDs) {
5741
+ if (payload["_sendReason"] === 2 ) {
5742
+ ignoreResponse = true;
5743
+ if (_addNoResponse) {
5744
+ endPointUrl += _noResponseQs;
5745
+ }
5746
+ }
5747
+ }
5748
+ else {
5749
+ ignoreResponse = true;
5750
+ }
5751
+ }
5752
+ var request = new Request(endPointUrl, init);
5753
+ try {
5754
+ request[DisabledPropertyName] = true;
5755
+ }
5756
+ catch (e) {
5757
+ }
5758
+ if (!sync && _enableSendPromise) {
5759
+ thePromise = createPromise(function (resolve, reject) {
5760
+ resolveFunc = resolve;
5761
+ rejectFunc = reject;
5762
+ });
5763
+ }
5764
+ if (!endPointUrl) {
5765
+ _onNoPayloadUrl(oncomplete);
5766
+ resolveFunc && resolveFunc(false);
5767
+ return;
5768
+ }
5769
+ function _handleError(res) {
5770
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY$1 : res);
5771
+ }
5772
+ function _onFetchComplete(response, payload, value) {
5773
+ var status = response[_DYN_STATUS ];
5774
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5775
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5776
+ onCompleteFunc(response, oncomplete, value || STR_EMPTY$1, payload);
5777
+ }
5778
+ else {
5779
+ _doOnComplete(oncomplete, status, {}, value || STR_EMPTY$1);
5780
+ }
5781
+ }
5782
+ try {
5783
+ doAwaitResponse(fetch(_isOneDs ? endPointUrl : request, _isOneDs ? init : null), function (result) {
5784
+ if (sync) {
5785
+ _syncFetchPayload -= batchLength;
5786
+ batchLength = 0;
5787
+ }
5788
+ if (!responseHandled) {
5789
+ responseHandled = true;
5790
+ if (!result.rejected) {
5791
+ var response_1 = result.value;
5792
+ try {
5793
+ if (!_isOneDs && !response_1.ok) {
5794
+ _handleError(response_1.statusText);
5795
+ resolveFunc && resolveFunc(false);
5796
+ }
5797
+ else {
5798
+ if (_isOneDs && !response_1.body) {
5799
+ _onFetchComplete(response_1, null, STR_EMPTY$1);
5800
+ resolveFunc && resolveFunc(true);
5801
+ }
5802
+ else {
5803
+ doAwaitResponse(response_1.text(), function (resp) {
5804
+ _onFetchComplete(response_1, payload, resp.value);
5805
+ resolveFunc && resolveFunc(true);
5806
+ });
5807
+ }
5808
+ }
5809
+ }
5810
+ catch (e) {
5811
+ _handleError(dumpObj(e));
5812
+ rejectFunc && rejectFunc(e);
5813
+ }
5814
+ }
5815
+ else {
5816
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
5817
+ rejectFunc && rejectFunc(result.reason);
5818
+ }
5819
+ }
5820
+ });
5821
+ }
5822
+ catch (e) {
5823
+ if (!responseHandled) {
5824
+ _handleError(dumpObj(e));
5825
+ rejectFunc && rejectFunc(e);
5826
+ }
5827
+ }
5828
+ if (ignoreResponse && !responseHandled) {
5829
+ responseHandled = true;
5830
+ _doOnComplete(oncomplete, 200, {});
5831
+ resolveFunc && resolveFunc(true);
5832
+ }
5833
+ if (_isOneDs && !responseHandled && payload[_DYN_TIMEOUT ] > 0) {
5834
+ _timeoutWrapper && _timeoutWrapper.set(function () {
5835
+ if (!responseHandled) {
5836
+ responseHandled = true;
5837
+ _doOnComplete(oncomplete, 500, {});
5838
+ resolveFunc && resolveFunc(true);
5839
+ }
5840
+ }, payload[_DYN_TIMEOUT ]);
5841
+ }
5842
+ return thePromise;
5843
+ }
5844
+ function _xdrSender(payload, oncomplete, sync) {
5845
+ var _window = getWindow();
5846
+ var xdr = new XDomainRequest();
5847
+ var data = payload[_DYN_DATA ];
5848
+ xdr.onload = function () {
5849
+ var response = getResponseText(xdr);
5850
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5851
+ if (onloadFunc && isFunction(onloadFunc)) {
5852
+ onloadFunc(xdr, oncomplete, payload);
5853
+ }
5854
+ else {
5855
+ _doOnComplete(oncomplete, 200, {}, response);
5856
+ }
5857
+ };
5858
+ xdr.onerror = function () {
5859
+ _doOnComplete(oncomplete, 400, {}, _isOneDs ? STR_EMPTY$1 : formatErrorMessageXdr(xdr));
5860
+ };
5861
+ xdr.ontimeout = function () {
5862
+ _doOnComplete(oncomplete, 500, {});
5863
+ };
5864
+ xdr.onprogress = function () { };
5865
+ var hostingProtocol = _window && _window.location && _window.location[_DYN_PROTOCOL ] || "";
5866
+ var endpoint = payload[_DYN_URL_STRING ];
5867
+ if (!endpoint) {
5868
+ _onNoPayloadUrl(oncomplete);
5869
+ return;
5870
+ }
5871
+ if (!_isOneDs && endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5872
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5873
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5874
+ _onError(msg, oncomplete);
5875
+ return;
5876
+ }
5877
+ var endpointUrl = _isOneDs ? endpoint : endpoint[_DYN_REPLACE ](/^(https?:)/, "");
5878
+ xdr.open(STR_POST_METHOD, endpointUrl);
5879
+ if (payload[_DYN_TIMEOUT ]) {
5880
+ xdr[_DYN_TIMEOUT ] = payload[_DYN_TIMEOUT ];
5881
+ }
5882
+ xdr.send(data);
5883
+ if (_isOneDs && sync) {
5884
+ _timeoutWrapper && _timeoutWrapper.set(function () {
5885
+ xdr.send(data);
5886
+ }, 0);
5887
+ }
5888
+ else {
5889
+ xdr.send(data);
5890
+ }
5891
+ }
5892
+ function _initDefaults() {
5893
+ _syncFetchPayload = 0;
5894
+ _isInitialized = false;
5895
+ _enableSendPromise = false;
5896
+ _diagLog = null;
5897
+ _isOneDs = null;
5898
+ _onCompleteFuncs = null;
5899
+ _disableCredentials = null;
5900
+ _fallbackInst = null;
5901
+ _disableXhr = false;
5902
+ _disableBeacon = false;
5903
+ _disableBeaconSync = false;
5904
+ _disableFetchKeepAlive = false;
5905
+ _addNoResponse = false;
5906
+ _timeoutWrapper = null;
5907
+ }
5908
+ });
5909
+ }
5910
+ SenderPostManager.__ieDyn=1;
5911
+ return SenderPostManager;
5912
+ }());
5913
+
5348
5914
  var strOnPrefix = "on";
5349
5915
  var strAttachEvent = "attachEvent";
5350
5916
  var strAddEventHelper = "addEventListener";
@@ -5365,16 +5931,16 @@
5365
5931
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5366
5932
  function _normalizeNamespace(name) {
5367
5933
  if (name && name[_DYN_REPLACE ]) {
5368
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5934
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$2);
5369
5935
  }
5370
5936
  return name;
5371
5937
  }
5372
5938
  function _getEvtNamespace(eventName, evtNamespace) {
5373
5939
  var _a;
5374
5940
  if (evtNamespace) {
5375
- var theNamespace_1 = STR_EMPTY$1;
5941
+ var theNamespace_1 = STR_EMPTY$2;
5376
5942
  if (isArray(evtNamespace)) {
5377
- theNamespace_1 = STR_EMPTY$1;
5943
+ theNamespace_1 = STR_EMPTY$2;
5378
5944
  arrForEach(evtNamespace, function (name) {
5379
5945
  name = _normalizeNamespace(name);
5380
5946
  if (name) {
@@ -5392,13 +5958,13 @@
5392
5958
  if (theNamespace_1[0] !== ".") {
5393
5959
  theNamespace_1 = "." + theNamespace_1;
5394
5960
  }
5395
- eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5961
+ eventName = (eventName || STR_EMPTY$2) + theNamespace_1;
5396
5962
  }
5397
5963
  }
5398
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5964
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$2) || []);
5399
5965
  return _a = {},
5400
5966
  _a[_DYN_TYPE ] = parsedEvent[1],
5401
- _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT ](".").sort()).join("."),
5967
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$2).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$2)[_DYN_SPLIT ](".").sort()).join("."),
5402
5968
  _a;
5403
5969
  }
5404
5970
  function __getRegisteredEvents(target, eventName, evtNamespace) {
@@ -5411,7 +5977,7 @@
5411
5977
  if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
5412
5978
  if (!evtName.ns || evtName.ns === evtName.ns) {
5413
5979
  theEvents[_DYN_PUSH ]((_a = {},
5414
- _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$1),
5980
+ _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$2),
5415
5981
  _a.handler = value[_DYN_HANDLER ],
5416
5982
  _a));
5417
5983
  }
@@ -5682,7 +6248,7 @@
5682
6248
  var _DYN_CAN_HANDLE = "canHandle";
5683
6249
 
5684
6250
  var _a;
5685
- var Version = '4.1.1-nightly3.2403-02';
6251
+ var Version = '4.1.1-nightly3.2403-04';
5686
6252
  var FullVersionString = "1DS-Web-JS-" + Version;
5687
6253
  var ObjHasOwnProperty = ObjProto$1.hasOwnProperty;
5688
6254
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
@@ -6273,6 +6839,7 @@
6273
6839
  exports.PerfEvent = PerfEvent;
6274
6840
  exports.PerfManager = PerfManager;
6275
6841
  exports.ProcessTelemetryContext = ProcessTelemetryContext;
6842
+ exports.SenderPostManager = SenderPostManager;
6276
6843
  exports.TraceLevel = TraceLevel;
6277
6844
  exports.Undefined = strShimUndefined;
6278
6845
  exports.ValueKind = ValueKind;
@@ -6280,6 +6847,8 @@
6280
6847
  exports.Version = Version;
6281
6848
  exports._InternalLogMessage = _InternalLogMessage;
6282
6849
  exports.__getRegisteredEvents = __getRegisteredEvents;
6850
+ exports._appendHeader = _appendHeader;
6851
+ exports._getAllResponseHeaders = _getAllResponseHeaders;
6283
6852
  exports._logInternalMessage = _logInternalMessage;
6284
6853
  exports._throwInternal = _throwInternal;
6285
6854
  exports._warnToConsole = _warnToConsole;
@@ -6295,6 +6864,7 @@
6295
6864
  exports.arrReduce = arrReduce;
6296
6865
  exports.attachEvent = attachEvent;
6297
6866
  exports.blockDynamicConversion = blockDynamicConversion;
6867
+ exports.convertAllHeadersToMap = convertAllHeadersToMap;
6298
6868
  exports.cookieAvailable = areCookiesSupported;
6299
6869
  exports.createCookieMgr = createCookieMgr;
6300
6870
  exports.createDynamicConfig = createDynamicConfig;
@@ -6314,6 +6884,8 @@
6314
6884
  exports.extend = extend;
6315
6885
  exports.findW3cTraceParent = findW3cTraceParent;
6316
6886
  exports.forceDynamicConversion = forceDynamicConversion;
6887
+ exports.formatErrorMessageXdr = formatErrorMessageXdr;
6888
+ exports.formatErrorMessageXhr = formatErrorMessageXhr;
6317
6889
  exports.formatTraceParent = formatTraceParent;
6318
6890
  exports.generateW3CId = generateW3CId;
6319
6891
  exports.getCommonSchemaMetaData = getCommonSchemaMetaData;
@@ -6334,6 +6906,7 @@
6334
6906
  exports.getMsCrypto = getMsCrypto;
6335
6907
  exports.getNavigator = getNavigator;
6336
6908
  exports.getPerformance = getPerformance;
6909
+ exports.getResponseText = getResponseText;
6337
6910
  exports.getSetValue = getSetValue;
6338
6911
  exports.getTenantId = getTenantId;
6339
6912
  exports.getTime = getTime;
@@ -6387,8 +6960,10 @@
6387
6960
  exports.onConfigChange = onConfigChange;
6388
6961
  exports.openXhr = openXhr;
6389
6962
  exports.optimizeObject = optimizeObject;
6963
+ exports.parseResponse = parseResponse;
6390
6964
  exports.parseTraceParent = parseTraceParent;
6391
6965
  exports.perfNow = perfNow;
6966
+ exports.prependTransports = prependTransports;
6392
6967
  exports.proxyAssign = proxyAssign;
6393
6968
  exports.proxyFunctionAs = proxyFunctionAs;
6394
6969
  exports.proxyFunctions = proxyFunctions;