@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
  */
@@ -8,8 +8,8 @@
8
8
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
9
9
  typeof define === "function" && define.amd ? define(["exports"], factory) :
10
10
  (function(global){
11
- var nsKey, key, nm, theExports = {}, modName = "es5_ms_core_4_1_1_nightly3_2403_02", msMod="__ms$mod__";
12
- var mods={}, modDetail=mods[modName]={}, ver="4.1.1-nightly3.2403-02";
11
+ var nsKey, key, nm, theExports = {}, modName = "es5_ms_core_4_1_1_nightly3_2403_04", msMod="__ms$mod__";
12
+ var mods={}, modDetail=mods[modName]={}, ver="4.1.1-nightly3.2403-04";
13
13
  // Versioned namespace "oneDS4"
14
14
  var exportNs=global, nsKey="oneDS4", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
15
15
  // Global namespace "oneDS"
@@ -1422,6 +1422,7 @@ var _DYN__DO_TEARDOWN = "_doTeardown";
1422
1422
  var _DYN_UPDATE = "update";
1423
1423
  var _DYN_GET_NEXT = "getNext";
1424
1424
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1425
+ var _DYN_PROTOCOL = "protocol";
1425
1426
  var _DYN_USER_AGENT = "userAgent";
1426
1427
  var _DYN_SPLIT = "split";
1427
1428
  var _DYN_NODE_TYPE = "nodeType";
@@ -1429,10 +1430,20 @@ var _DYN_REPLACE = "replace";
1429
1430
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1430
1431
  var _DYN_TYPE = "type";
1431
1432
  var _DYN_HANDLER = "handler";
1433
+ var _DYN_STATUS = "status";
1434
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
1435
+ var _DYN_GET_RESPONSE_HEADER = "getResponseHeader";
1436
+ var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1432
1437
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1438
+ var _DYN_DATA = "data";
1433
1439
  var _DYN_GET_CTX = "getCtx";
1434
1440
  var _DYN_SET_CTX = "setCtx";
1435
1441
  var _DYN_COMPLETE = "complete";
1442
+ var _DYN_URL_STRING = "urlString";
1443
+ var _DYN_SEND_POST = "sendPOST";
1444
+ var _DYN_HEADERS = "headers";
1445
+ var _DYN_TIMEOUT = "timeout";
1446
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
1436
1447
  var _DYN_TRACE_ID = "traceId";
1437
1448
  var _DYN_SPAN_ID = "spanId";
1438
1449
  var _DYN_TRACE_FLAGS = "traceFlags";
@@ -1784,7 +1795,7 @@ function createPromise(executor, timeout) {
1784
1795
  var createAllPromise = _createAllPromise(createPromise);
1785
1796
 
1786
1797
  var UNDEFINED_VALUE = undefined;
1787
- var STR_EMPTY$1 = "";
1798
+ var STR_EMPTY$2 = "";
1788
1799
  var STR_CHANNELS = "channels";
1789
1800
  var STR_CORE = "core";
1790
1801
  var STR_CREATE_PERF_MGR = "createPerfMgr";
@@ -1805,137 +1816,43 @@ var STR_DOMAIN = "domain";
1805
1816
  var STR_PATH = "path";
1806
1817
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1807
1818
 
1808
- var rCamelCase = /-([a-z])/g;
1809
- var rNormalizeInvalid = /([^\w\d_$])/g;
1810
- var rLeadingNumeric = /^(\d+[\w\d_$])/;
1811
- function isNotNullOrUndefined(value) {
1812
- return !isNullOrUndefined(value);
1813
- }
1814
- function normalizeJsName(name) {
1815
- var value = name;
1816
- if (value && isString(value)) {
1817
- value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
1818
- return letter.toUpperCase();
1819
- });
1820
- value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
1821
- value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
1822
- return "_" + match;
1823
- });
1824
- }
1825
- return value;
1826
- }
1827
- function strContains(value, search) {
1828
- if (value && search) {
1829
- return strIndexOf(value, search) !== -1;
1830
- }
1831
- return false;
1832
- }
1833
- function toISOString(date) {
1834
- return date && date.toISOString() || "";
1835
- }
1836
- function getExceptionName(object) {
1837
- if (isError(object)) {
1838
- return object[_DYN_NAME ];
1839
- }
1840
- return STR_EMPTY$1;
1841
- }
1842
- function setValue(target, field, value, valChk, srcChk) {
1843
- var theValue = value;
1844
- if (target) {
1845
- theValue = target[field];
1846
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
1847
- theValue = value;
1848
- target[field] = theValue;
1849
- }
1850
- }
1851
- return theValue;
1852
- }
1853
- function getSetValue(target, field, defValue) {
1854
- var theValue;
1855
- if (target) {
1856
- theValue = target[field];
1857
- if (!theValue && isNullOrUndefined(theValue)) {
1858
- theValue = !isUndefined(defValue) ? defValue : {};
1859
- target[field] = theValue;
1860
- }
1861
- }
1862
- else {
1863
- theValue = !isUndefined(defValue) ? defValue : {};
1864
- }
1865
- return theValue;
1866
- }
1867
- function _createProxyFunction(source, funcName) {
1868
- var srcFunc = null;
1869
- var src = null;
1870
- if (isFunction(source)) {
1871
- srcFunc = source;
1872
- }
1873
- else {
1874
- src = source;
1875
- }
1819
+ var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
1820
+ var _aiNamespace = null;
1821
+ var _debugListener;
1822
+ function _listenerProxyFunc(name, config) {
1876
1823
  return function () {
1877
- var originalArguments = arguments;
1878
- if (srcFunc) {
1879
- src = srcFunc();
1880
- }
1881
- if (src) {
1882
- return src[funcName][_DYN_APPLY ](src, originalArguments);
1883
- }
1884
- };
1885
- }
1886
- function proxyAssign(target, source, chkSet) {
1887
- if (target && source && isObject(target) && isObject(source)) {
1888
- var _loop_1 = function (field) {
1889
- if (isString(field)) {
1890
- var value = source[field];
1891
- if (isFunction(value)) {
1892
- if (!chkSet || chkSet(field, true, source, target)) {
1893
- target[field] = _createProxyFunction(source, field);
1894
- }
1895
- }
1896
- else if (!chkSet || chkSet(field, false, source, target)) {
1897
- if (objHasOwn(target, field)) {
1898
- delete target[field];
1899
- }
1900
- objDefine(target, field, {
1901
- g: function () {
1902
- return source[field];
1903
- },
1904
- s: function (theValue) {
1905
- source[field] = theValue;
1906
- }
1907
- });
1908
- }
1824
+ var args = arguments;
1825
+ var dbgExt = getDebugExt(config);
1826
+ if (dbgExt) {
1827
+ var listener = dbgExt.listener;
1828
+ if (listener && listener[name]) {
1829
+ listener[name][_DYN_APPLY ](listener, args);
1909
1830
  }
1910
- };
1911
- for (var field in source) {
1912
- _loop_1(field);
1913
1831
  }
1914
- }
1915
- return target;
1832
+ };
1916
1833
  }
1917
- function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1918
- if (target && name && source) {
1919
- if (overwriteTarget !== false || isUndefined(target[name])) {
1920
- target[name] = _createProxyFunction(source, theFunc);
1921
- }
1834
+ function _getExtensionNamespace() {
1835
+ var target = getInst("Microsoft");
1836
+ if (target) {
1837
+ _aiNamespace = target["ApplicationInsights"];
1922
1838
  }
1839
+ return _aiNamespace;
1923
1840
  }
1924
- function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
1925
- if (target && source && isObject(target) && isArray(functionsToProxy)) {
1926
- arrForEach(functionsToProxy, function (theFuncName) {
1927
- if (isString(theFuncName)) {
1928
- proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
1929
- }
1930
- });
1841
+ function getDebugExt(config) {
1842
+ var ns = _aiNamespace;
1843
+ if (!ns && config.disableDbgExt !== true) {
1844
+ ns = _aiNamespace || _getExtensionNamespace();
1931
1845
  }
1932
- return target;
1846
+ return ns ? ns["ChromeDbgExt"] : null;
1933
1847
  }
1934
- function optimizeObject(theObject) {
1935
- if (theObject && objAssign) {
1936
- theObject = ObjClass$1(objAssign({}, theObject));
1848
+ function getDebugListener(config) {
1849
+ if (!_debugListener) {
1850
+ _debugListener = {};
1851
+ for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH$1 ]; lp++) {
1852
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1853
+ }
1937
1854
  }
1938
- return theObject;
1855
+ return _debugListener;
1939
1856
  }
1940
1857
 
1941
1858
  var strDocumentMode = "documentMode";
@@ -2025,7 +1942,7 @@ function isIE() {
2025
1942
  var nav = getNavigator();
2026
1943
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
2027
1944
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
2028
- var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1945
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]();
2029
1946
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
2030
1947
  }
2031
1948
  return _isTrident;
@@ -2034,9 +1951,9 @@ function getIEVersion(userAgentStr) {
2034
1951
  if (userAgentStr === void 0) { userAgentStr = null; }
2035
1952
  if (!userAgentStr) {
2036
1953
  var navigator_1 = getNavigator() || {};
2037
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$1;
1954
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]() : STR_EMPTY$2;
2038
1955
  }
2039
- var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]();
1956
+ var ua = (userAgentStr || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]();
2040
1957
  if (strContains(ua, strMsie)) {
2041
1958
  var doc = getDocument() || {};
2042
1959
  return Math.max(parseInt(ua[_DYN_SPLIT ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2117,1018 +2034,1236 @@ function findNamedServerTiming(name) {
2117
2034
  return value;
2118
2035
  }
2119
2036
 
2120
- var UInt32Mask = 0x100000000;
2121
- var MaxUInt32 = 0xffffffff;
2122
- var SEED1 = 123456789;
2123
- var SEED2 = 987654321;
2124
- var _mwcSeeded = false;
2125
- var _mwcW = SEED1;
2126
- var _mwcZ = SEED2;
2127
- function _mwcSeed(seedValue) {
2128
- if (seedValue < 0) {
2129
- seedValue >>>= 0;
2130
- }
2131
- _mwcW = (SEED1 + seedValue) & MaxUInt32;
2132
- _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2133
- _mwcSeeded = true;
2134
- }
2135
- function _autoSeedMwc() {
2136
- try {
2137
- var now = utcNow() & 0x7fffffff;
2138
- _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2139
- }
2140
- catch (e) {
2141
- }
2142
- }
2143
- function randomValue(maxValue) {
2144
- if (maxValue > 0) {
2145
- return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
2037
+ var _a$4;
2038
+ var STR_WARN_TO_CONSOLE = "warnToConsole";
2039
+ var AiNonUserActionablePrefix = "AI (Internal): ";
2040
+ var AiUserActionablePrefix = "AI: ";
2041
+ var AIInternalMessagePrefix = "AITR_";
2042
+ var defaultValues$2 = {
2043
+ loggingLevelConsole: 0,
2044
+ loggingLevelTelemetry: 1,
2045
+ maxMessageLimit: 25,
2046
+ enableDebug: false
2047
+ };
2048
+ var _logFuncs = (_a$4 = {},
2049
+ _a$4[0 ] = null,
2050
+ _a$4[1 ] = "errorToConsole",
2051
+ _a$4[2 ] = STR_WARN_TO_CONSOLE,
2052
+ _a$4[3 ] = "debugToConsole",
2053
+ _a$4);
2054
+ function _sanitizeDiagnosticText(text) {
2055
+ if (text) {
2056
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$2) + "\"";
2146
2057
  }
2147
- return 0;
2058
+ return STR_EMPTY$2;
2148
2059
  }
2149
- function random32(signed) {
2150
- var value = 0;
2151
- var c = getCrypto() || getMsCrypto();
2152
- if (c && c.getRandomValues) {
2153
- value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2154
- }
2155
- if (value === 0 && isIE()) {
2156
- if (!_mwcSeeded) {
2157
- _autoSeedMwc();
2060
+ function _logToConsole(func, message) {
2061
+ var theConsole = getConsole();
2062
+ if (!!theConsole) {
2063
+ var logFunc = "log";
2064
+ if (theConsole[func]) {
2065
+ logFunc = func;
2066
+ }
2067
+ if (isFunction(theConsole[logFunc])) {
2068
+ theConsole[logFunc](message);
2158
2069
  }
2159
- value = mwcRandom32() & MaxUInt32;
2160
- }
2161
- if (value === 0) {
2162
- value = Math.floor((UInt32Mask * Math.random()) | 0);
2163
- }
2164
- if (!signed) {
2165
- value >>>= 0;
2166
- }
2167
- return value;
2168
- }
2169
- function mwcRandom32(signed) {
2170
- _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2171
- _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2172
- var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2173
- if (!signed) {
2174
- value >>>= 0;
2175
2070
  }
2176
- return value;
2177
2071
  }
2178
- function newId(maxLength) {
2179
- if (maxLength === void 0) { maxLength = 22; }
2180
- var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2181
- var number = random32() >>> 0;
2182
- var chars = 0;
2183
- var result = STR_EMPTY$1;
2184
- while (result[_DYN_LENGTH$1 ] < maxLength) {
2185
- chars++;
2186
- result += base64chars.charAt(number & 0x3F);
2187
- number >>>= 6;
2188
- if (chars === 5) {
2189
- number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2190
- chars = 0;
2072
+ var _InternalLogMessage = /** @class */ (function () {
2073
+ function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2074
+ if (isUserAct === void 0) { isUserAct = false; }
2075
+ var _self = this;
2076
+ _self[_DYN_MESSAGE_ID ] = msgId;
2077
+ _self[_DYN_MESSAGE ] =
2078
+ (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2079
+ msgId;
2080
+ var strProps = STR_EMPTY$2;
2081
+ if (hasJSON()) {
2082
+ strProps = getJSON().stringify(properties);
2191
2083
  }
2084
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$2) +
2085
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$2);
2086
+ _self[_DYN_MESSAGE ] += diagnosticText;
2192
2087
  }
2193
- return result;
2194
- }
2195
-
2196
- var version = "3.0.5";
2197
- var instanceName = "." + newId(6);
2198
- var _dataUid = 0;
2199
- function _canAcceptData(target) {
2200
- return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2088
+ _InternalLogMessage.dataType = "MessageData";
2089
+ return _InternalLogMessage;
2090
+ }());
2091
+ function safeGetLogger(core, config) {
2092
+ return (core || {})[_DYN_LOGGER$1 ] || new DiagnosticLogger(config);
2201
2093
  }
2202
- function _getCache(data, target) {
2203
- var theCache = target[data.id];
2204
- if (!theCache) {
2205
- theCache = {};
2206
- try {
2207
- if (_canAcceptData(target)) {
2208
- objDefine(target, data.id, {
2209
- e: false,
2210
- v: theCache
2094
+ var DiagnosticLogger = /** @class */ (function () {
2095
+ function DiagnosticLogger(config) {
2096
+ this.identifier = "DiagnosticLogger";
2097
+ this.queue = [];
2098
+ var _messageCount = 0;
2099
+ var _messageLogged = {};
2100
+ var _loggingLevelConsole;
2101
+ var _loggingLevelTelemetry;
2102
+ var _maxInternalMessageLimit;
2103
+ var _enableDebug;
2104
+ var _unloadHandler;
2105
+ dynamicProto(DiagnosticLogger, this, function (_self) {
2106
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2107
+ _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2108
+ _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2109
+ if (isUserAct === void 0) { isUserAct = false; }
2110
+ var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
2111
+ if (_enableDebug) {
2112
+ throw dumpObj(message);
2113
+ }
2114
+ else {
2115
+ var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
2116
+ if (!isUndefined(message[_DYN_MESSAGE ])) {
2117
+ if (isUserAct) {
2118
+ var messageKey = +message[_DYN_MESSAGE_ID ];
2119
+ if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
2120
+ _self[logFunc](message[_DYN_MESSAGE ]);
2121
+ _messageLogged[messageKey] = true;
2122
+ }
2123
+ }
2124
+ else {
2125
+ if (_loggingLevelConsole >= severity) {
2126
+ _self[logFunc](message[_DYN_MESSAGE ]);
2127
+ }
2128
+ }
2129
+ _logInternalMessage(severity, message);
2130
+ }
2131
+ else {
2132
+ _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2133
+ }
2134
+ }
2135
+ };
2136
+ _self.debugToConsole = function (message) {
2137
+ _logToConsole("debug", message);
2138
+ _debugExtMsg("warning", message);
2139
+ };
2140
+ _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
2141
+ _logToConsole("warn", message);
2142
+ _debugExtMsg("warning", message);
2143
+ };
2144
+ _self.errorToConsole = function (message) {
2145
+ _logToConsole("error", message);
2146
+ _debugExtMsg("error", message);
2147
+ };
2148
+ _self.resetInternalMessageCount = function () {
2149
+ _messageCount = 0;
2150
+ _messageLogged = {};
2151
+ };
2152
+ _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2153
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2154
+ _unloadHandler && _unloadHandler.rm();
2155
+ _unloadHandler = null;
2156
+ };
2157
+ function _logInternalMessage(severity, message) {
2158
+ if (_areInternalMessagesThrottled()) {
2159
+ return;
2160
+ }
2161
+ var logMessage = true;
2162
+ var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
2163
+ if (_messageLogged[messageKey]) {
2164
+ logMessage = false;
2165
+ }
2166
+ else {
2167
+ _messageLogged[messageKey] = true;
2168
+ }
2169
+ if (logMessage) {
2170
+ if (severity <= _loggingLevelTelemetry) {
2171
+ _self.queue[_DYN_PUSH ](message);
2172
+ _messageCount++;
2173
+ _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2174
+ }
2175
+ if (_messageCount === _maxInternalMessageLimit) {
2176
+ var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2177
+ var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2178
+ _self.queue[_DYN_PUSH ](throttleMessage);
2179
+ if (severity === 1 ) {
2180
+ _self.errorToConsole(throttleLimitMessage);
2181
+ }
2182
+ else {
2183
+ _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
2184
+ }
2185
+ }
2186
+ }
2187
+ }
2188
+ function _setDefaultsFromConfig(config) {
2189
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2190
+ var config = details.cfg;
2191
+ _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2192
+ _loggingLevelTelemetry = config.loggingLevelTelemetry;
2193
+ _maxInternalMessageLimit = config.maxMessageLimit;
2194
+ _enableDebug = config.enableDebug;
2211
2195
  });
2212
2196
  }
2213
- }
2214
- catch (e) {
2215
- }
2216
- }
2217
- return theCache;
2218
- }
2219
- function createUniqueNamespace(name, includeVersion) {
2220
- if (includeVersion === void 0) { includeVersion = false; }
2221
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2222
- }
2223
- function createElmNodeData(name) {
2224
- var data = {
2225
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2226
- accept: function (target) {
2227
- return _canAcceptData(target);
2228
- },
2229
- get: function (target, name, defValue, addDefault) {
2230
- var theCache = target[data.id];
2231
- if (!theCache) {
2232
- if (addDefault) {
2233
- theCache = _getCache(data, target);
2234
- theCache[normalizeJsName(name)] = defValue;
2235
- }
2236
- return defValue;
2197
+ function _areInternalMessagesThrottled() {
2198
+ return _messageCount >= _maxInternalMessageLimit;
2237
2199
  }
2238
- return theCache[normalizeJsName(name)];
2239
- },
2240
- kill: function (target, name) {
2241
- if (target && target[name]) {
2242
- try {
2243
- delete target[name];
2244
- }
2245
- catch (e) {
2200
+ function _debugExtMsg(name, data) {
2201
+ var dbgExt = getDebugExt(config || {});
2202
+ if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
2203
+ dbgExt[_DYN_DIAG_LOG ](name, data);
2246
2204
  }
2247
2205
  }
2248
- }
2249
- };
2250
- return data;
2206
+ });
2207
+ }
2208
+ DiagnosticLogger.__ieDyn=1;
2209
+ return DiagnosticLogger;
2210
+ }());
2211
+ function _getLogger(logger) {
2212
+ return (logger || new DiagnosticLogger());
2213
+ }
2214
+ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2215
+ if (isUserAct === void 0) { isUserAct = false; }
2216
+ _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
2217
+ }
2218
+ function _warnToConsole(logger, message) {
2219
+ _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
2220
+ }
2221
+ function _logInternalMessage(logger, severity, message) {
2222
+ _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
2251
2223
  }
2252
2224
 
2253
- function _isConfigDefaults(value) {
2254
- return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
2225
+ var rCamelCase = /-([a-z])/g;
2226
+ var rNormalizeInvalid = /([^\w\d_$])/g;
2227
+ var rLeadingNumeric = /^(\d+[\w\d_$])/;
2228
+ function isNotNullOrUndefined(value) {
2229
+ return !isNullOrUndefined(value);
2255
2230
  }
2256
- function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
2257
- var defValue;
2258
- var isDefaultValid = cfgDefaults.dfVal || isDefined;
2259
- if (theConfig && cfgDefaults.fb) {
2260
- var fallbacks = cfgDefaults.fb;
2261
- if (!isArray(fallbacks)) {
2262
- fallbacks = [fallbacks];
2263
- }
2264
- for (var lp = 0; lp < fallbacks[_DYN_LENGTH$1 ]; lp++) {
2265
- var fallback = fallbacks[lp];
2266
- var fbValue = theConfig[fallback];
2267
- if (isDefaultValid(fbValue)) {
2268
- defValue = fbValue;
2269
- }
2270
- else if (dynamicHandler) {
2271
- fbValue = dynamicHandler.cfg[fallback];
2272
- if (isDefaultValid(fbValue)) {
2273
- defValue = fbValue;
2274
- }
2275
- dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
2276
- }
2277
- if (isDefaultValid(defValue)) {
2278
- break;
2279
- }
2280
- }
2231
+ function normalizeJsName(name) {
2232
+ var value = name;
2233
+ if (value && isString(value)) {
2234
+ value = value[_DYN_REPLACE ](rCamelCase, function (_all, letter) {
2235
+ return letter.toUpperCase();
2236
+ });
2237
+ value = value[_DYN_REPLACE ](rNormalizeInvalid, "_");
2238
+ value = value[_DYN_REPLACE ](rLeadingNumeric, function (_all, match) {
2239
+ return "_" + match;
2240
+ });
2281
2241
  }
2282
- if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
2283
- defValue = cfgDefaults.v;
2242
+ return value;
2243
+ }
2244
+ function strContains(value, search) {
2245
+ if (value && search) {
2246
+ return strIndexOf(value, search) !== -1;
2284
2247
  }
2285
- return defValue;
2248
+ return false;
2286
2249
  }
2287
- function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
2288
- var theValue = cfgDefaults;
2289
- if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
2290
- theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2250
+ function toISOString(date) {
2251
+ return date && date.toISOString() || "";
2252
+ }
2253
+ function getExceptionName(object) {
2254
+ if (isError(object)) {
2255
+ return object[_DYN_NAME ];
2291
2256
  }
2292
- if (theValue) {
2293
- if (_isConfigDefaults(theValue)) {
2294
- theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
2295
- }
2296
- var newValue_1;
2297
- if (isArray(theValue)) {
2298
- newValue_1 = [];
2299
- newValue_1[_DYN_LENGTH$1 ] = theValue[_DYN_LENGTH$1 ];
2300
- }
2301
- else if (isPlainObject(theValue)) {
2302
- newValue_1 = {};
2303
- }
2304
- if (newValue_1) {
2305
- objForEachKey(theValue, function (key, value) {
2306
- if (value && _isConfigDefaults(value)) {
2307
- value = _resolveDefaultValue(dynamicHandler, theConfig, value);
2308
- }
2309
- newValue_1[key] = value;
2310
- });
2311
- theValue = newValue_1;
2257
+ return STR_EMPTY$2;
2258
+ }
2259
+ function setValue(target, field, value, valChk, srcChk) {
2260
+ var theValue = value;
2261
+ if (target) {
2262
+ theValue = target[field];
2263
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
2264
+ theValue = value;
2265
+ target[field] = theValue;
2312
2266
  }
2313
2267
  }
2314
2268
  return theValue;
2315
2269
  }
2316
- function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2317
- var isValid;
2318
- var setFn;
2319
- var defValue;
2320
- var cfgDefaults = defaultValue;
2321
- var mergeDf;
2322
- var reference;
2323
- var readOnly;
2324
- var blkDynamicValue;
2325
- if (_isConfigDefaults(cfgDefaults)) {
2326
- isValid = cfgDefaults.isVal;
2327
- setFn = cfgDefaults.set;
2328
- readOnly = cfgDefaults[_DYN_RD_ONLY ];
2329
- blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2330
- mergeDf = cfgDefaults.mrg;
2331
- reference = cfgDefaults.ref;
2332
- if (!reference && isUndefined(reference)) {
2333
- reference = !!mergeDf;
2270
+ function getSetValue(target, field, defValue) {
2271
+ var theValue;
2272
+ if (target) {
2273
+ theValue = target[field];
2274
+ if (!theValue && isNullOrUndefined(theValue)) {
2275
+ theValue = !isUndefined(defValue) ? defValue : {};
2276
+ target[field] = theValue;
2334
2277
  }
2335
- defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2336
2278
  }
2337
2279
  else {
2338
- defValue = defaultValue;
2280
+ theValue = !isUndefined(defValue) ? defValue : {};
2339
2281
  }
2340
- if (blkDynamicValue) {
2341
- dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2282
+ return theValue;
2283
+ }
2284
+ function _createProxyFunction(source, funcName) {
2285
+ var srcFunc = null;
2286
+ var src = null;
2287
+ if (isFunction(source)) {
2288
+ srcFunc = source;
2342
2289
  }
2343
- var theValue;
2344
- var usingDefault = true;
2345
- var cfgValue = theConfig[name];
2346
- if (cfgValue || !isNullOrUndefined(cfgValue)) {
2347
- theValue = cfgValue;
2348
- usingDefault = false;
2349
- if (isValid && theValue !== defValue && !isValid(theValue)) {
2350
- theValue = defValue;
2351
- usingDefault = true;
2290
+ else {
2291
+ src = source;
2292
+ }
2293
+ return function () {
2294
+ var originalArguments = arguments;
2295
+ if (srcFunc) {
2296
+ src = srcFunc();
2352
2297
  }
2353
- if (setFn) {
2354
- theValue = setFn(theValue, defValue, theConfig);
2355
- usingDefault = theValue === defValue;
2298
+ if (src) {
2299
+ return src[funcName][_DYN_APPLY ](src, originalArguments);
2356
2300
  }
2357
- }
2358
- if (!usingDefault) {
2359
- if (isPlainObject(theValue) || isArray(defValue)) {
2360
- if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
2361
- objForEachKey(defValue, function (dfName, dfValue) {
2362
- _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
2363
- });
2301
+ };
2302
+ }
2303
+ function proxyAssign(target, source, chkSet) {
2304
+ if (target && source && isObject(target) && isObject(source)) {
2305
+ var _loop_1 = function (field) {
2306
+ if (isString(field)) {
2307
+ var value = source[field];
2308
+ if (isFunction(value)) {
2309
+ if (!chkSet || chkSet(field, true, source, target)) {
2310
+ target[field] = _createProxyFunction(source, field);
2311
+ }
2312
+ }
2313
+ else if (!chkSet || chkSet(field, false, source, target)) {
2314
+ if (objHasOwn(target, field)) {
2315
+ delete target[field];
2316
+ }
2317
+ objDefine(target, field, {
2318
+ g: function () {
2319
+ return source[field];
2320
+ },
2321
+ s: function (theValue) {
2322
+ source[field] = theValue;
2323
+ }
2324
+ });
2325
+ }
2364
2326
  }
2327
+ };
2328
+ for (var field in source) {
2329
+ _loop_1(field);
2365
2330
  }
2366
2331
  }
2367
- else if (defValue) {
2368
- theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
2332
+ return target;
2333
+ }
2334
+ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
2335
+ if (target && name && source) {
2336
+ if (overwriteTarget !== false || isUndefined(target[name])) {
2337
+ target[name] = _createProxyFunction(source, theFunc);
2338
+ }
2369
2339
  }
2370
- else {
2371
- theValue = defValue;
2340
+ }
2341
+ function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {
2342
+ if (target && source && isObject(target) && isArray(functionsToProxy)) {
2343
+ arrForEach(functionsToProxy, function (theFuncName) {
2344
+ if (isString(theFuncName)) {
2345
+ proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);
2346
+ }
2347
+ });
2372
2348
  }
2373
- dynamicHandler.set(theConfig, name, theValue);
2374
- if (reference) {
2375
- dynamicHandler.ref(theConfig, name);
2349
+ return target;
2350
+ }
2351
+ function optimizeObject(theObject) {
2352
+ if (theObject && objAssign) {
2353
+ theObject = ObjClass$1(objAssign({}, theObject));
2376
2354
  }
2377
- if (readOnly) {
2378
- dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
2355
+ return theObject;
2356
+ }
2357
+ function getResponseText(xhr) {
2358
+ try {
2359
+ return xhr.responseText;
2360
+ }
2361
+ catch (e) {
2379
2362
  }
2363
+ return null;
2380
2364
  }
2381
-
2382
- var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
2383
- var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
2384
- var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
2385
- function _cfgDeepCopy(source) {
2386
- if (source) {
2387
- var target_1;
2388
- if (isArray(source)) {
2389
- target_1 = [];
2390
- target_1[_DYN_LENGTH$1 ] = source[_DYN_LENGTH$1 ];
2391
- }
2392
- else if (isPlainObject(source)) {
2393
- target_1 = {};
2365
+ function formatErrorMessageXdr(xdr, message) {
2366
+ if (xdr) {
2367
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
2368
+ }
2369
+ return message;
2370
+ }
2371
+ function formatErrorMessageXhr(xhr, message) {
2372
+ if (xhr) {
2373
+ return "XMLHttpRequest,Status:" + xhr[_DYN_STATUS ] + ",Response:" + getResponseText(xhr) || xhr.response || "";
2374
+ }
2375
+ return message;
2376
+ }
2377
+ function prependTransports(theTransports, newTransports) {
2378
+ if (newTransports) {
2379
+ if (isNumber(newTransports)) {
2380
+ theTransports = [newTransports].concat(theTransports);
2394
2381
  }
2395
- if (target_1) {
2396
- objForEachKey(source, function (key, value) {
2397
- target_1[key] = _cfgDeepCopy(value);
2398
- });
2399
- return target_1;
2382
+ else if (isArray(newTransports)) {
2383
+ theTransports = newTransports.concat(theTransports);
2400
2384
  }
2401
2385
  }
2402
- return source;
2386
+ return theTransports;
2403
2387
  }
2404
- function getDynamicConfigHandler(value) {
2405
- if (value) {
2406
- var handler = value[CFG_HANDLER_LINK] || value;
2407
- if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2408
- return handler;
2388
+ function parseResponse(response, diagLog) {
2389
+ try {
2390
+ if (response && response !== "") {
2391
+ var result = getJSON().parse(response);
2392
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
2393
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
2394
+ return result;
2395
+ }
2409
2396
  }
2410
2397
  }
2398
+ catch (e) {
2399
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
2400
+ response: response
2401
+ });
2402
+ }
2411
2403
  return null;
2412
2404
  }
2413
- function blockDynamicConversion(value) {
2414
- if (value && (isPlainObject(value) || isArray(value))) {
2405
+ var strDisabledPropertyName$1 = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2406
+ var strWithCredentials$1 = "withCredentials";
2407
+ var strTimeout$1 = "timeout";
2408
+ function openXhr$1(method, urlString, withCredentials, disabled, isSync, timeout) {
2409
+ if (disabled === void 0) { disabled = false; }
2410
+ if (isSync === void 0) { isSync = false; }
2411
+ function _wrapSetXhrProp(xhr, prop, value) {
2415
2412
  try {
2416
- value[BLOCK_DYNAMIC] = true;
2413
+ xhr[prop] = value;
2417
2414
  }
2418
2415
  catch (e) {
2419
2416
  }
2420
2417
  }
2421
- return value;
2418
+ var xhr = new XMLHttpRequest();
2419
+ if (disabled) {
2420
+ _wrapSetXhrProp(xhr, strDisabledPropertyName$1, disabled);
2421
+ }
2422
+ if (withCredentials) {
2423
+ _wrapSetXhrProp(xhr, strWithCredentials$1, withCredentials);
2424
+ }
2425
+ xhr.open(method, urlString, !isSync);
2426
+ if (withCredentials) {
2427
+ _wrapSetXhrProp(xhr, strWithCredentials$1, withCredentials);
2428
+ }
2429
+ if (!isSync && timeout) {
2430
+ _wrapSetXhrProp(xhr, strTimeout$1, timeout);
2431
+ }
2432
+ return xhr;
2422
2433
  }
2423
- function forceDynamicConversion(value) {
2424
- if (value) {
2425
- try {
2426
- value[FORCE_DYNAMIC] = true;
2427
- }
2428
- catch (e) {
2429
- }
2434
+ function convertAllHeadersToMap(headersString) {
2435
+ var headers = {};
2436
+ if (isString(headersString)) {
2437
+ var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2438
+ arrForEach(headersArray, function (headerEntry) {
2439
+ if (headerEntry) {
2440
+ var idx = headerEntry.indexOf(": ");
2441
+ if (idx !== -1) {
2442
+ var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2443
+ var value = strTrim(headerEntry.substring(idx + 1));
2444
+ headers[header] = value;
2445
+ }
2446
+ else {
2447
+ headers[strTrim(headerEntry)] = 1;
2448
+ }
2449
+ }
2450
+ });
2430
2451
  }
2431
- return value;
2452
+ return headers;
2432
2453
  }
2433
- function _canMakeDynamic(getFunc, state, value) {
2434
- var result = false;
2435
- if (value && !getFunc[state.blkVal]) {
2436
- result = value[FORCE_DYNAMIC];
2437
- if (!result && !value[BLOCK_DYNAMIC]) {
2438
- result = isPlainObject(value) || isArray(value);
2454
+ function _appendHeader(theHeaders, xhr, name) {
2455
+ if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER ]) {
2456
+ var value = xhr[_DYN_GET_RESPONSE_HEADER ](name);
2457
+ if (value) {
2458
+ theHeaders[name] = strTrim(value);
2439
2459
  }
2440
2460
  }
2441
- return result;
2461
+ return theHeaders;
2442
2462
  }
2443
- function throwInvalidAccess(message) {
2444
- throwTypeError("InvalidAccess:" + message);
2463
+ var STR_KILL_DURATION_HEADER = "kill-duration";
2464
+ var STR_KILL_DURATION_SECONDS_HEADER = "kill-duration-seconds";
2465
+ var STR_TIME_DELTA_HEADER = "time-delta-millis";
2466
+ function _getAllResponseHeaders(xhr, isOneDs) {
2467
+ var theHeaders = {};
2468
+ if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]) {
2469
+ if (!!isOneDs) {
2470
+ theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);
2471
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);
2472
+ theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);
2473
+ }
2474
+ }
2475
+ else {
2476
+ theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 ]());
2477
+ }
2478
+ return theHeaders;
2445
2479
  }
2446
2480
 
2447
- var arrayMethodsToPatch = [
2448
- "push",
2449
- "pop",
2450
- "shift",
2451
- "unshift",
2452
- "splice"
2453
- ];
2454
- var _throwDynamicError = function (logger, name, desc, e) {
2455
- logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
2456
- };
2457
- function _patchArray(state, target, name) {
2458
- if (isArray(target)) {
2459
- arrForEach(arrayMethodsToPatch, function (method) {
2460
- var orgMethod = target[method];
2461
- target[method] = function () {
2462
- var args = [];
2463
- for (var _i = 0; _i < arguments.length; _i++) {
2464
- args[_i] = arguments[_i];
2465
- }
2466
- var result = orgMethod[_DYN_APPLY ](this, args);
2467
- _makeDynamicObject(state, target, name, "Patching");
2468
- return result;
2469
- };
2470
- });
2481
+ var UInt32Mask = 0x100000000;
2482
+ var MaxUInt32 = 0xffffffff;
2483
+ var SEED1 = 123456789;
2484
+ var SEED2 = 987654321;
2485
+ var _mwcSeeded = false;
2486
+ var _mwcW = SEED1;
2487
+ var _mwcZ = SEED2;
2488
+ function _mwcSeed(seedValue) {
2489
+ if (seedValue < 0) {
2490
+ seedValue >>>= 0;
2471
2491
  }
2492
+ _mwcW = (SEED1 + seedValue) & MaxUInt32;
2493
+ _mwcZ = (SEED2 - seedValue) & MaxUInt32;
2494
+ _mwcSeeded = true;
2472
2495
  }
2473
- function _getOwnPropGetter(target, name) {
2474
- var propDesc = objGetOwnPropertyDescriptor(target, name);
2475
- return propDesc && propDesc.get;
2496
+ function _autoSeedMwc() {
2497
+ try {
2498
+ var now = utcNow() & 0x7fffffff;
2499
+ _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);
2500
+ }
2501
+ catch (e) {
2502
+ }
2476
2503
  }
2477
- function _createDynamicProperty(state, theConfig, name, value) {
2478
- var detail = {
2479
- n: name,
2480
- h: [],
2481
- trk: function (handler) {
2482
- if (handler && handler.fn) {
2483
- if (arrIndexOf(detail.h, handler) === -1) {
2484
- detail.h[_DYN_PUSH ](handler);
2485
- }
2486
- state.trk(handler, detail);
2487
- }
2488
- },
2489
- clr: function (handler) {
2490
- var idx = arrIndexOf(detail.h, handler);
2491
- if (idx !== -1) {
2492
- detail.h[_DYN_SPLICE ](idx, 1);
2493
- }
2494
- }
2495
- };
2496
- var checkDynamic = true;
2497
- var isObjectOrArray = false;
2498
- function _getProperty() {
2499
- if (checkDynamic) {
2500
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2501
- if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
2502
- value = _makeDynamicObject(state, value, name, "Converting");
2503
- }
2504
- checkDynamic = false;
2505
- }
2506
- var activeHandler = state.act;
2507
- if (activeHandler) {
2508
- detail.trk(activeHandler);
2509
- }
2510
- return value;
2504
+ function randomValue(maxValue) {
2505
+ if (maxValue > 0) {
2506
+ return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;
2511
2507
  }
2512
- _getProperty[state.prop] = {
2513
- chng: function () {
2514
- state.add(detail);
2508
+ return 0;
2509
+ }
2510
+ function random32(signed) {
2511
+ var value = 0;
2512
+ var c = getCrypto() || getMsCrypto();
2513
+ if (c && c.getRandomValues) {
2514
+ value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;
2515
+ }
2516
+ if (value === 0 && isIE()) {
2517
+ if (!_mwcSeeded) {
2518
+ _autoSeedMwc();
2515
2519
  }
2516
- };
2517
- function _setProperty(newValue) {
2518
- if (value !== newValue) {
2519
- if (!!_getProperty[state.ro] && !state.upd) {
2520
- throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
2521
- }
2522
- if (checkDynamic) {
2523
- isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2524
- checkDynamic = false;
2525
- }
2526
- var isReferenced = isObjectOrArray && _getProperty[state.rf];
2527
- if (isObjectOrArray) {
2528
- if (isReferenced) {
2529
- objForEachKey(value, function (key) {
2530
- value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
2531
- });
2532
- try {
2533
- objForEachKey(newValue, function (key, theValue) {
2534
- _setDynamicProperty(state, value, key, theValue);
2535
- });
2536
- newValue = value;
2537
- }
2538
- catch (e) {
2539
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Assigning", e);
2540
- isObjectOrArray = false;
2541
- }
2542
- }
2543
- else if (value && value[CFG_HANDLER_LINK]) {
2544
- objForEachKey(value, function (key) {
2545
- var getter = _getOwnPropGetter(value, key);
2546
- if (getter) {
2547
- var valueState = getter[state.prop];
2548
- valueState && valueState.chng();
2549
- }
2550
- });
2551
- }
2552
- }
2553
- if (newValue !== value) {
2554
- var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
2555
- if (!isReferenced && newIsObjectOrArray) {
2556
- newValue = _makeDynamicObject(state, newValue, name, "Converting");
2557
- }
2558
- value = newValue;
2559
- isObjectOrArray = newIsObjectOrArray;
2560
- }
2561
- state.add(detail);
2520
+ value = mwcRandom32() & MaxUInt32;
2521
+ }
2522
+ if (value === 0) {
2523
+ value = Math.floor((UInt32Mask * Math.random()) | 0);
2524
+ }
2525
+ if (!signed) {
2526
+ value >>>= 0;
2527
+ }
2528
+ return value;
2529
+ }
2530
+ function mwcRandom32(signed) {
2531
+ _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;
2532
+ _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;
2533
+ var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;
2534
+ if (!signed) {
2535
+ value >>>= 0;
2536
+ }
2537
+ return value;
2538
+ }
2539
+ function newId(maxLength) {
2540
+ if (maxLength === void 0) { maxLength = 22; }
2541
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2542
+ var number = random32() >>> 0;
2543
+ var chars = 0;
2544
+ var result = STR_EMPTY$2;
2545
+ while (result[_DYN_LENGTH$1 ] < maxLength) {
2546
+ chars++;
2547
+ result += base64chars.charAt(number & 0x3F);
2548
+ number >>>= 6;
2549
+ if (chars === 5) {
2550
+ number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;
2551
+ chars = 0;
2562
2552
  }
2563
2553
  }
2564
- objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2554
+ return result;
2565
2555
  }
2566
- function _setDynamicProperty(state, target, name, value) {
2567
- if (target) {
2568
- var getter = _getOwnPropGetter(target, name);
2569
- var isDynamic = getter && !!getter[state.prop];
2570
- if (!isDynamic) {
2571
- _createDynamicProperty(state, target, name, value);
2556
+
2557
+ var version = "3.0.5";
2558
+ var instanceName = "." + newId(6);
2559
+ var _dataUid = 0;
2560
+ function _canAcceptData(target) {
2561
+ return target[_DYN_NODE_TYPE ] === 1 || target[_DYN_NODE_TYPE ] === 9 || !(+target[_DYN_NODE_TYPE ]);
2562
+ }
2563
+ function _getCache(data, target) {
2564
+ var theCache = target[data.id];
2565
+ if (!theCache) {
2566
+ theCache = {};
2567
+ try {
2568
+ if (_canAcceptData(target)) {
2569
+ objDefine(target, data.id, {
2570
+ e: false,
2571
+ v: theCache
2572
+ });
2573
+ }
2572
2574
  }
2573
- else {
2574
- target[name] = value;
2575
+ catch (e) {
2575
2576
  }
2576
2577
  }
2577
- return target;
2578
+ return theCache;
2578
2579
  }
2579
- function _setDynamicPropertyState(state, target, name, flags) {
2580
- if (target) {
2581
- var getter = _getOwnPropGetter(target, name);
2582
- var isDynamic = getter && !!getter[state.prop];
2583
- var inPlace = flags && flags[0 ];
2584
- var rdOnly = flags && flags[1 ];
2585
- var blkProp = flags && flags[2 ];
2586
- if (!isDynamic) {
2587
- if (blkProp) {
2580
+ function createUniqueNamespace(name, includeVersion) {
2581
+ if (includeVersion === void 0) { includeVersion = false; }
2582
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$2) + instanceName);
2583
+ }
2584
+ function createElmNodeData(name) {
2585
+ var data = {
2586
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$2) + "." + version),
2587
+ accept: function (target) {
2588
+ return _canAcceptData(target);
2589
+ },
2590
+ get: function (target, name, defValue, addDefault) {
2591
+ var theCache = target[data.id];
2592
+ if (!theCache) {
2593
+ if (addDefault) {
2594
+ theCache = _getCache(data, target);
2595
+ theCache[normalizeJsName(name)] = defValue;
2596
+ }
2597
+ return defValue;
2598
+ }
2599
+ return theCache[normalizeJsName(name)];
2600
+ },
2601
+ kill: function (target, name) {
2602
+ if (target && target[name]) {
2588
2603
  try {
2589
- blockDynamicConversion(target);
2604
+ delete target[name];
2590
2605
  }
2591
2606
  catch (e) {
2592
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Blocking", e);
2593
2607
  }
2594
2608
  }
2595
- try {
2596
- _setDynamicProperty(state, target, name, target[name]);
2597
- getter = _getOwnPropGetter(target, name);
2598
- }
2599
- catch (e) {
2600
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "State", e);
2601
- }
2602
2609
  }
2603
- if (inPlace) {
2604
- getter[state.rf] = inPlace;
2605
- }
2606
- if (rdOnly) {
2607
- getter[state.ro] = rdOnly;
2610
+ };
2611
+ return data;
2612
+ }
2613
+
2614
+ function _isConfigDefaults(value) {
2615
+ return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, "v") || objHasOwn(value, "mrg") || objHasOwn(value, "ref") || value.set));
2616
+ }
2617
+ function _getDefault(dynamicHandler, theConfig, cfgDefaults) {
2618
+ var defValue;
2619
+ var isDefaultValid = cfgDefaults.dfVal || isDefined;
2620
+ if (theConfig && cfgDefaults.fb) {
2621
+ var fallbacks = cfgDefaults.fb;
2622
+ if (!isArray(fallbacks)) {
2623
+ fallbacks = [fallbacks];
2608
2624
  }
2609
- if (blkProp) {
2610
- getter[state.blkVal] = true;
2625
+ for (var lp = 0; lp < fallbacks[_DYN_LENGTH$1 ]; lp++) {
2626
+ var fallback = fallbacks[lp];
2627
+ var fbValue = theConfig[fallback];
2628
+ if (isDefaultValid(fbValue)) {
2629
+ defValue = fbValue;
2630
+ }
2631
+ else if (dynamicHandler) {
2632
+ fbValue = dynamicHandler.cfg[fallback];
2633
+ if (isDefaultValid(fbValue)) {
2634
+ defValue = fbValue;
2635
+ }
2636
+ dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);
2637
+ }
2638
+ if (isDefaultValid(defValue)) {
2639
+ break;
2640
+ }
2611
2641
  }
2612
2642
  }
2613
- return target;
2643
+ if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {
2644
+ defValue = cfgDefaults.v;
2645
+ }
2646
+ return defValue;
2614
2647
  }
2615
- function _makeDynamicObject(state, target, name, desc) {
2616
- try {
2617
- objForEachKey(target, function (key, value) {
2618
- _setDynamicProperty(state, target, key, value);
2619
- });
2620
- if (!target[CFG_HANDLER_LINK]) {
2621
- objDefineProp(target, CFG_HANDLER_LINK, {
2622
- get: function () {
2623
- return state[_DYN_HDLR ];
2648
+ function _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {
2649
+ var theValue = cfgDefaults;
2650
+ if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {
2651
+ theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2652
+ }
2653
+ if (theValue) {
2654
+ if (_isConfigDefaults(theValue)) {
2655
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);
2656
+ }
2657
+ var newValue_1;
2658
+ if (isArray(theValue)) {
2659
+ newValue_1 = [];
2660
+ newValue_1[_DYN_LENGTH$1 ] = theValue[_DYN_LENGTH$1 ];
2661
+ }
2662
+ else if (isPlainObject(theValue)) {
2663
+ newValue_1 = {};
2664
+ }
2665
+ if (newValue_1) {
2666
+ objForEachKey(theValue, function (key, value) {
2667
+ if (value && _isConfigDefaults(value)) {
2668
+ value = _resolveDefaultValue(dynamicHandler, theConfig, value);
2624
2669
  }
2670
+ newValue_1[key] = value;
2625
2671
  });
2626
- _patchArray(state, target, name);
2672
+ theValue = newValue_1;
2627
2673
  }
2628
2674
  }
2629
- catch (e) {
2630
- _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, desc, e);
2631
- }
2632
- return target;
2675
+ return theValue;
2633
2676
  }
2634
-
2635
- var symPrefix = "[[ai_";
2636
- var symPostfix = "]]";
2637
- function _createState(cfgHandler) {
2638
- var _a;
2639
- var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
2640
- var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
2641
- var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
2642
- var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
2643
- var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
2644
- var _waitingHandlers = null;
2645
- var _watcherTimer = null;
2646
- var theState;
2647
- function _useHandler(activeHandler, callback) {
2648
- var prevWatcher = theState.act;
2649
- try {
2650
- theState.act = activeHandler;
2651
- if (activeHandler && activeHandler[dynamicPropertyDetail]) {
2652
- arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
2653
- detail.clr(activeHandler);
2654
- });
2655
- activeHandler[dynamicPropertyDetail] = [];
2656
- }
2657
- callback({
2658
- cfg: cfgHandler.cfg,
2659
- set: cfgHandler.set.bind(cfgHandler),
2660
- setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
2661
- ref: cfgHandler.ref.bind(cfgHandler),
2662
- rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
2663
- });
2677
+ function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {
2678
+ var isValid;
2679
+ var setFn;
2680
+ var defValue;
2681
+ var cfgDefaults = defaultValue;
2682
+ var mergeDf;
2683
+ var reference;
2684
+ var readOnly;
2685
+ var blkDynamicValue;
2686
+ if (_isConfigDefaults(cfgDefaults)) {
2687
+ isValid = cfgDefaults.isVal;
2688
+ setFn = cfgDefaults.set;
2689
+ readOnly = cfgDefaults[_DYN_RD_ONLY ];
2690
+ blkDynamicValue = cfgDefaults[_DYN_BLK_VAL ];
2691
+ mergeDf = cfgDefaults.mrg;
2692
+ reference = cfgDefaults.ref;
2693
+ if (!reference && isUndefined(reference)) {
2694
+ reference = !!mergeDf;
2664
2695
  }
2665
- catch (e) {
2666
- var logger = cfgHandler[_DYN_LOGGER$1 ];
2667
- if (logger) {
2668
- logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
2669
- }
2670
- throw e;
2696
+ defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);
2697
+ }
2698
+ else {
2699
+ defValue = defaultValue;
2700
+ }
2701
+ if (blkDynamicValue) {
2702
+ dynamicHandler[_DYN_BLK_VAL ](theConfig, name);
2703
+ }
2704
+ var theValue;
2705
+ var usingDefault = true;
2706
+ var cfgValue = theConfig[name];
2707
+ if (cfgValue || !isNullOrUndefined(cfgValue)) {
2708
+ theValue = cfgValue;
2709
+ usingDefault = false;
2710
+ if (isValid && theValue !== defValue && !isValid(theValue)) {
2711
+ theValue = defValue;
2712
+ usingDefault = true;
2671
2713
  }
2672
- finally {
2673
- theState.act = prevWatcher || null;
2714
+ if (setFn) {
2715
+ theValue = setFn(theValue, defValue, theConfig);
2716
+ usingDefault = theValue === defValue;
2674
2717
  }
2675
2718
  }
2676
- function _notifyWatchers() {
2677
- if (_waitingHandlers) {
2678
- var notifyHandlers = _waitingHandlers;
2679
- _waitingHandlers = null;
2680
- _watcherTimer && _watcherTimer[_DYN_CANCEL ]();
2681
- _watcherTimer = null;
2682
- var watcherFailures_1 = [];
2683
- arrForEach(notifyHandlers, function (handler) {
2684
- if (handler) {
2685
- if (handler[dynamicPropertyDetail]) {
2686
- arrForEach(handler[dynamicPropertyDetail], function (detail) {
2687
- detail.clr(handler);
2688
- });
2689
- handler[dynamicPropertyDetail] = null;
2690
- }
2691
- if (handler.fn) {
2692
- try {
2693
- _useHandler(handler, handler.fn);
2694
- }
2695
- catch (e) {
2696
- watcherFailures_1[_DYN_PUSH ](e);
2697
- }
2698
- }
2699
- }
2700
- });
2701
- if (_waitingHandlers) {
2702
- try {
2703
- _notifyWatchers();
2704
- }
2705
- catch (e) {
2706
- watcherFailures_1[_DYN_PUSH ](e);
2707
- }
2708
- }
2709
- if (watcherFailures_1[_DYN_LENGTH$1 ] > 0) {
2710
- throwAggregationError("Watcher error(s): ", watcherFailures_1);
2719
+ if (!usingDefault) {
2720
+ if (isPlainObject(theValue) || isArray(defValue)) {
2721
+ if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {
2722
+ objForEachKey(defValue, function (dfName, dfValue) {
2723
+ _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);
2724
+ });
2711
2725
  }
2712
2726
  }
2713
2727
  }
2714
- function _addWatcher(detail) {
2715
- if (detail && detail.h[_DYN_LENGTH$1 ] > 0) {
2716
- if (!_waitingHandlers) {
2717
- _waitingHandlers = [];
2718
- }
2719
- if (!_watcherTimer) {
2720
- _watcherTimer = scheduleTimeout(function () {
2721
- _watcherTimer = null;
2722
- _notifyWatchers();
2723
- }, 0);
2724
- }
2725
- for (var idx = 0; idx < detail.h[_DYN_LENGTH$1 ]; idx++) {
2726
- var handler = detail.h[idx];
2727
- if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
2728
- _waitingHandlers[_DYN_PUSH ](handler);
2729
- }
2730
- }
2731
- }
2728
+ else if (defValue) {
2729
+ theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);
2732
2730
  }
2733
- function _trackHandler(handler, detail) {
2734
- if (handler) {
2735
- var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
2736
- if (arrIndexOf(details, detail) === -1) {
2737
- details[_DYN_PUSH ](detail);
2738
- }
2739
- }
2731
+ else {
2732
+ theValue = defValue;
2733
+ }
2734
+ dynamicHandler.set(theConfig, name, theValue);
2735
+ if (reference) {
2736
+ dynamicHandler.ref(theConfig, name);
2737
+ }
2738
+ if (readOnly) {
2739
+ dynamicHandler[_DYN_RD_ONLY ](theConfig, name);
2740
2740
  }
2741
- theState = (_a = {
2742
- prop: dynamicPropertySymbol,
2743
- ro: dynamicPropertyReadOnly,
2744
- rf: dynamicPropertyReferenced
2745
- },
2746
- _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
2747
- _a[_DYN_HDLR ] = cfgHandler,
2748
- _a.add = _addWatcher,
2749
- _a[_DYN_NOTIFY ] = _notifyWatchers,
2750
- _a.use = _useHandler,
2751
- _a.trk = _trackHandler,
2752
- _a);
2753
- return theState;
2754
2741
  }
2755
2742
 
2756
- function _createAndUseHandler(state, configHandler) {
2757
- var handler = {
2758
- fn: configHandler,
2759
- rm: function () {
2760
- handler.fn = null;
2761
- state = null;
2762
- configHandler = null;
2743
+ var CFG_HANDLER_LINK = symbolFor("[[ai_dynCfg_1]]");
2744
+ var BLOCK_DYNAMIC = symbolFor("[[ai_blkDynCfg_1]]");
2745
+ var FORCE_DYNAMIC = symbolFor("[[ai_frcDynCfg_1]]");
2746
+ function _cfgDeepCopy(source) {
2747
+ if (source) {
2748
+ var target_1;
2749
+ if (isArray(source)) {
2750
+ target_1 = [];
2751
+ target_1[_DYN_LENGTH$1 ] = source[_DYN_LENGTH$1 ];
2752
+ }
2753
+ else if (isPlainObject(source)) {
2754
+ target_1 = {};
2755
+ }
2756
+ if (target_1) {
2757
+ objForEachKey(source, function (key, value) {
2758
+ target_1[key] = _cfgDeepCopy(value);
2759
+ });
2760
+ return target_1;
2763
2761
  }
2764
- };
2765
- state.use(handler, configHandler);
2766
- return handler;
2767
- }
2768
- function _createDynamicHandler(logger, target, inPlace) {
2769
- var _a;
2770
- var dynamicHandler = getDynamicConfigHandler(target);
2771
- if (dynamicHandler) {
2772
- return dynamicHandler;
2773
2762
  }
2774
- var uid = createUniqueNamespace("dyncfg", true);
2775
- var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
2776
- var theState;
2777
- function _notifyWatchers() {
2778
- theState[_DYN_NOTIFY ]();
2763
+ return source;
2764
+ }
2765
+ function getDynamicConfigHandler(value) {
2766
+ if (value) {
2767
+ var handler = value[CFG_HANDLER_LINK] || value;
2768
+ if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2769
+ return handler;
2770
+ }
2779
2771
  }
2780
- function _setValue(target, name, value) {
2772
+ return null;
2773
+ }
2774
+ function blockDynamicConversion(value) {
2775
+ if (value && (isPlainObject(value) || isArray(value))) {
2781
2776
  try {
2782
- target = _setDynamicProperty(theState, target, name, value);
2777
+ value[BLOCK_DYNAMIC] = true;
2783
2778
  }
2784
2779
  catch (e) {
2785
- _throwDynamicError(logger, name, "Setting value", e);
2786
2780
  }
2787
- return target[name];
2788
2781
  }
2789
- function _watch(configHandler) {
2790
- return _createAndUseHandler(theState, configHandler);
2791
- }
2792
- function _block(configHandler, allowUpdate) {
2793
- theState.use(null, function (details) {
2794
- var prevUpd = theState.upd;
2795
- try {
2796
- if (!isUndefined(allowUpdate)) {
2797
- theState.upd = allowUpdate;
2798
- }
2799
- configHandler(details);
2800
- }
2801
- finally {
2802
- theState.upd = prevUpd;
2803
- }
2804
- });
2805
- }
2806
- function _ref(target, name) {
2807
- var _a;
2808
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
2809
- }
2810
- function _rdOnly(target, name) {
2811
- var _a;
2812
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
2813
- }
2814
- function _blkPropValue(target, name) {
2815
- var _a;
2816
- return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
2817
- }
2818
- function _applyDefaults(theConfig, defaultValues) {
2819
- if (defaultValues) {
2820
- objForEachKey(defaultValues, function (name, value) {
2821
- _applyDefaultValue(cfgHandler, theConfig, name, value);
2822
- });
2823
- }
2824
- return theConfig;
2825
- }
2826
- var cfgHandler = (_a = {
2827
- uid: null,
2828
- cfg: newTarget
2829
- },
2830
- _a[_DYN_LOGGER$1 ] = logger,
2831
- _a[_DYN_NOTIFY ] = _notifyWatchers,
2832
- _a.set = _setValue,
2833
- _a[_DYN_SET_DF ] = _applyDefaults,
2834
- _a[_DYN_WATCH ] = _watch,
2835
- _a.ref = _ref,
2836
- _a[_DYN_RD_ONLY ] = _rdOnly,
2837
- _a[_DYN_BLK_VAL ] = _blkPropValue,
2838
- _a._block = _block,
2839
- _a);
2840
- objDefine(cfgHandler, "uid", {
2841
- c: false,
2842
- e: false,
2843
- w: false,
2844
- v: uid
2845
- });
2846
- theState = _createState(cfgHandler);
2847
- _makeDynamicObject(theState, newTarget, "config", "Creating");
2848
- return cfgHandler;
2782
+ return value;
2849
2783
  }
2850
- function _logInvalidAccess(logger, message) {
2851
- if (logger) {
2852
- logger[_DYN_WARN_TO_CONSOLE ](message);
2853
- logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
2854
- }
2855
- else {
2856
- throwInvalidAccess(message);
2784
+ function forceDynamicConversion(value) {
2785
+ if (value) {
2786
+ try {
2787
+ value[FORCE_DYNAMIC] = true;
2788
+ }
2789
+ catch (e) {
2790
+ }
2857
2791
  }
2792
+ return value;
2858
2793
  }
2859
- function createDynamicConfig(config, defaultConfig, logger, inPlace) {
2860
- var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
2861
- if (defaultConfig) {
2862
- dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
2794
+ function _canMakeDynamic(getFunc, state, value) {
2795
+ var result = false;
2796
+ if (value && !getFunc[state.blkVal]) {
2797
+ result = value[FORCE_DYNAMIC];
2798
+ if (!result && !value[BLOCK_DYNAMIC]) {
2799
+ result = isPlainObject(value) || isArray(value);
2800
+ }
2863
2801
  }
2864
- return dynamicHandler;
2802
+ return result;
2865
2803
  }
2866
- function onConfigChange(config, configHandler, logger) {
2867
- var handler = config[CFG_HANDLER_LINK] || config;
2868
- if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
2869
- return handler[_DYN_WATCH ](configHandler);
2870
- }
2871
- _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2872
- return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2804
+ function throwInvalidAccess(message) {
2805
+ throwTypeError("InvalidAccess:" + message);
2873
2806
  }
2874
2807
 
2875
- function runTargetUnload(target, isAsync) {
2876
- if (target && target[_DYN_UNLOAD ]) {
2877
- return target[_DYN_UNLOAD ](isAsync);
2878
- }
2879
- }
2880
- function doUnloadAll(targets, isAsync, done) {
2881
- var result;
2882
- if (!done) {
2883
- result = createPromise(function (resolved) {
2884
- done = resolved;
2885
- });
2886
- }
2887
- if (targets && getLength(targets) > 0) {
2888
- doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
2889
- doUnloadAll(arrSlice(targets, 1), isAsync, done);
2808
+ var arrayMethodsToPatch = [
2809
+ "push",
2810
+ "pop",
2811
+ "shift",
2812
+ "unshift",
2813
+ "splice"
2814
+ ];
2815
+ var _throwDynamicError = function (logger, name, desc, e) {
2816
+ logger && logger[_DYN_THROW_INTERNAL ](3 , 108 , "".concat(desc, " [").concat(name, "] failed - ") + dumpObj(e));
2817
+ };
2818
+ function _patchArray(state, target, name) {
2819
+ if (isArray(target)) {
2820
+ arrForEach(arrayMethodsToPatch, function (method) {
2821
+ var orgMethod = target[method];
2822
+ target[method] = function () {
2823
+ var args = [];
2824
+ for (var _i = 0; _i < arguments.length; _i++) {
2825
+ args[_i] = arguments[_i];
2826
+ }
2827
+ var result = orgMethod[_DYN_APPLY ](this, args);
2828
+ _makeDynamicObject(state, target, name, "Patching");
2829
+ return result;
2830
+ };
2890
2831
  });
2891
2832
  }
2892
- else {
2893
- done();
2894
- }
2895
- return result;
2896
2833
  }
2897
-
2898
- var ChannelControllerPriority = 500;
2899
-
2900
- function cfgDfMerge(defaultValue) {
2901
- return {
2902
- mrg: true,
2903
- v: defaultValue
2904
- };
2834
+ function _getOwnPropGetter(target, name) {
2835
+ var propDesc = objGetOwnPropertyDescriptor(target, name);
2836
+ return propDesc && propDesc.get;
2905
2837
  }
2906
-
2907
- var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
2908
- var _aiNamespace = null;
2909
- var _debugListener;
2910
- function _listenerProxyFunc(name, config) {
2911
- return function () {
2912
- var args = arguments;
2913
- var dbgExt = getDebugExt(config);
2914
- if (dbgExt) {
2915
- var listener = dbgExt.listener;
2916
- if (listener && listener[name]) {
2917
- listener[name][_DYN_APPLY ](listener, args);
2838
+ function _createDynamicProperty(state, theConfig, name, value) {
2839
+ var detail = {
2840
+ n: name,
2841
+ h: [],
2842
+ trk: function (handler) {
2843
+ if (handler && handler.fn) {
2844
+ if (arrIndexOf(detail.h, handler) === -1) {
2845
+ detail.h[_DYN_PUSH ](handler);
2846
+ }
2847
+ state.trk(handler, detail);
2848
+ }
2849
+ },
2850
+ clr: function (handler) {
2851
+ var idx = arrIndexOf(detail.h, handler);
2852
+ if (idx !== -1) {
2853
+ detail.h[_DYN_SPLICE ](idx, 1);
2918
2854
  }
2919
2855
  }
2920
2856
  };
2921
- }
2922
- function _getExtensionNamespace() {
2923
- var target = getInst("Microsoft");
2924
- if (target) {
2925
- _aiNamespace = target["ApplicationInsights"];
2926
- }
2927
- return _aiNamespace;
2928
- }
2929
- function getDebugExt(config) {
2930
- var ns = _aiNamespace;
2931
- if (!ns && config.disableDbgExt !== true) {
2932
- ns = _aiNamespace || _getExtensionNamespace();
2933
- }
2934
- return ns ? ns["ChromeDbgExt"] : null;
2935
- }
2936
- function getDebugListener(config) {
2937
- if (!_debugListener) {
2938
- _debugListener = {};
2939
- for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH$1 ]; lp++) {
2940
- _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
2941
- }
2942
- }
2943
- return _debugListener;
2944
- }
2945
-
2946
- var _a$4;
2947
- var STR_WARN_TO_CONSOLE = "warnToConsole";
2948
- var AiNonUserActionablePrefix = "AI (Internal): ";
2949
- var AiUserActionablePrefix = "AI: ";
2950
- var AIInternalMessagePrefix = "AITR_";
2951
- var defaultValues$2 = {
2952
- loggingLevelConsole: 0,
2953
- loggingLevelTelemetry: 1,
2954
- maxMessageLimit: 25,
2955
- enableDebug: false
2956
- };
2957
- var _logFuncs = (_a$4 = {},
2958
- _a$4[0 ] = null,
2959
- _a$4[1 ] = "errorToConsole",
2960
- _a$4[2 ] = STR_WARN_TO_CONSOLE,
2961
- _a$4[3 ] = "debugToConsole",
2962
- _a$4);
2963
- function _sanitizeDiagnosticText(text) {
2964
- if (text) {
2965
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2966
- }
2967
- return STR_EMPTY$1;
2968
- }
2969
- function _logToConsole(func, message) {
2970
- var theConsole = getConsole();
2971
- if (!!theConsole) {
2972
- var logFunc = "log";
2973
- if (theConsole[func]) {
2974
- logFunc = func;
2857
+ var checkDynamic = true;
2858
+ var isObjectOrArray = false;
2859
+ function _getProperty() {
2860
+ if (checkDynamic) {
2861
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2862
+ if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {
2863
+ value = _makeDynamicObject(state, value, name, "Converting");
2864
+ }
2865
+ checkDynamic = false;
2975
2866
  }
2976
- if (isFunction(theConsole[logFunc])) {
2977
- theConsole[logFunc](message);
2867
+ var activeHandler = state.act;
2868
+ if (activeHandler) {
2869
+ detail.trk(activeHandler);
2978
2870
  }
2871
+ return value;
2979
2872
  }
2980
- }
2981
- var _InternalLogMessage = /** @class */ (function () {
2982
- function _InternalLogMessage(msgId, msg, isUserAct, properties) {
2983
- if (isUserAct === void 0) { isUserAct = false; }
2984
- var _self = this;
2985
- _self[_DYN_MESSAGE_ID ] = msgId;
2986
- _self[_DYN_MESSAGE ] =
2987
- (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2988
- msgId;
2989
- var strProps = STR_EMPTY$1;
2990
- if (hasJSON()) {
2991
- strProps = getJSON().stringify(properties);
2992
- }
2993
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2994
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2995
- _self[_DYN_MESSAGE ] += diagnosticText;
2996
- }
2997
- _InternalLogMessage.dataType = "MessageData";
2998
- return _InternalLogMessage;
2999
- }());
3000
- function safeGetLogger(core, config) {
3001
- return (core || {})[_DYN_LOGGER$1 ] || new DiagnosticLogger(config);
3002
- }
3003
- var DiagnosticLogger = /** @class */ (function () {
3004
- function DiagnosticLogger(config) {
3005
- this.identifier = "DiagnosticLogger";
3006
- this.queue = [];
3007
- var _messageCount = 0;
3008
- var _messageLogged = {};
3009
- var _loggingLevelConsole;
3010
- var _loggingLevelTelemetry;
3011
- var _maxInternalMessageLimit;
3012
- var _enableDebug;
3013
- var _unloadHandler;
3014
- dynamicProto(DiagnosticLogger, this, function (_self) {
3015
- _unloadHandler = _setDefaultsFromConfig(config || {});
3016
- _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
3017
- _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
3018
- if (isUserAct === void 0) { isUserAct = false; }
3019
- var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
3020
- if (_enableDebug) {
3021
- throw dumpObj(message);
3022
- }
3023
- else {
3024
- var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;
3025
- if (!isUndefined(message[_DYN_MESSAGE ])) {
3026
- if (isUserAct) {
3027
- var messageKey = +message[_DYN_MESSAGE_ID ];
3028
- if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {
3029
- _self[logFunc](message[_DYN_MESSAGE ]);
3030
- _messageLogged[messageKey] = true;
3031
- }
3032
- }
3033
- else {
3034
- if (_loggingLevelConsole >= severity) {
3035
- _self[logFunc](message[_DYN_MESSAGE ]);
3036
- }
3037
- }
3038
- _logInternalMessage(severity, message);
2873
+ _getProperty[state.prop] = {
2874
+ chng: function () {
2875
+ state.add(detail);
2876
+ }
2877
+ };
2878
+ function _setProperty(newValue) {
2879
+ if (value !== newValue) {
2880
+ if (!!_getProperty[state.ro] && !state.upd) {
2881
+ throwInvalidAccess("[" + name + "] is read-only:" + dumpObj(theConfig));
2882
+ }
2883
+ if (checkDynamic) {
2884
+ isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);
2885
+ checkDynamic = false;
2886
+ }
2887
+ var isReferenced = isObjectOrArray && _getProperty[state.rf];
2888
+ if (isObjectOrArray) {
2889
+ if (isReferenced) {
2890
+ objForEachKey(value, function (key) {
2891
+ value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;
2892
+ });
2893
+ try {
2894
+ objForEachKey(newValue, function (key, theValue) {
2895
+ _setDynamicProperty(state, value, key, theValue);
2896
+ });
2897
+ newValue = value;
3039
2898
  }
3040
- else {
3041
- _debugExtMsg("throw" + (severity === 1 ? "Critical" : "Warning"), message);
2899
+ catch (e) {
2900
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Assigning", e);
2901
+ isObjectOrArray = false;
3042
2902
  }
3043
2903
  }
3044
- };
3045
- _self.debugToConsole = function (message) {
3046
- _logToConsole("debug", message);
3047
- _debugExtMsg("warning", message);
3048
- };
3049
- _self[_DYN_WARN_TO_CONSOLE ] = function (message) {
3050
- _logToConsole("warn", message);
3051
- _debugExtMsg("warning", message);
3052
- };
3053
- _self.errorToConsole = function (message) {
3054
- _logToConsole("error", message);
3055
- _debugExtMsg("error", message);
3056
- };
3057
- _self.resetInternalMessageCount = function () {
3058
- _messageCount = 0;
3059
- _messageLogged = {};
3060
- };
3061
- _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
3062
- _self[_DYN_UNLOAD ] = function (isAsync) {
3063
- _unloadHandler && _unloadHandler.rm();
3064
- _unloadHandler = null;
3065
- };
3066
- function _logInternalMessage(severity, message) {
3067
- if (_areInternalMessagesThrottled()) {
3068
- return;
2904
+ else if (value && value[CFG_HANDLER_LINK]) {
2905
+ objForEachKey(value, function (key) {
2906
+ var getter = _getOwnPropGetter(value, key);
2907
+ if (getter) {
2908
+ var valueState = getter[state.prop];
2909
+ valueState && valueState.chng();
2910
+ }
2911
+ });
3069
2912
  }
3070
- var logMessage = true;
3071
- var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID ];
3072
- if (_messageLogged[messageKey]) {
3073
- logMessage = false;
2913
+ }
2914
+ if (newValue !== value) {
2915
+ var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);
2916
+ if (!isReferenced && newIsObjectOrArray) {
2917
+ newValue = _makeDynamicObject(state, newValue, name, "Converting");
3074
2918
  }
3075
- else {
3076
- _messageLogged[messageKey] = true;
2919
+ value = newValue;
2920
+ isObjectOrArray = newIsObjectOrArray;
2921
+ }
2922
+ state.add(detail);
2923
+ }
2924
+ }
2925
+ objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });
2926
+ }
2927
+ function _setDynamicProperty(state, target, name, value) {
2928
+ if (target) {
2929
+ var getter = _getOwnPropGetter(target, name);
2930
+ var isDynamic = getter && !!getter[state.prop];
2931
+ if (!isDynamic) {
2932
+ _createDynamicProperty(state, target, name, value);
2933
+ }
2934
+ else {
2935
+ target[name] = value;
2936
+ }
2937
+ }
2938
+ return target;
2939
+ }
2940
+ function _setDynamicPropertyState(state, target, name, flags) {
2941
+ if (target) {
2942
+ var getter = _getOwnPropGetter(target, name);
2943
+ var isDynamic = getter && !!getter[state.prop];
2944
+ var inPlace = flags && flags[0 ];
2945
+ var rdOnly = flags && flags[1 ];
2946
+ var blkProp = flags && flags[2 ];
2947
+ if (!isDynamic) {
2948
+ if (blkProp) {
2949
+ try {
2950
+ blockDynamicConversion(target);
3077
2951
  }
3078
- if (logMessage) {
3079
- if (severity <= _loggingLevelTelemetry) {
3080
- _self.queue[_DYN_PUSH ](message);
3081
- _messageCount++;
3082
- _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2952
+ catch (e) {
2953
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "Blocking", e);
2954
+ }
2955
+ }
2956
+ try {
2957
+ _setDynamicProperty(state, target, name, target[name]);
2958
+ getter = _getOwnPropGetter(target, name);
2959
+ }
2960
+ catch (e) {
2961
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, "State", e);
2962
+ }
2963
+ }
2964
+ if (inPlace) {
2965
+ getter[state.rf] = inPlace;
2966
+ }
2967
+ if (rdOnly) {
2968
+ getter[state.ro] = rdOnly;
2969
+ }
2970
+ if (blkProp) {
2971
+ getter[state.blkVal] = true;
2972
+ }
2973
+ }
2974
+ return target;
2975
+ }
2976
+ function _makeDynamicObject(state, target, name, desc) {
2977
+ try {
2978
+ objForEachKey(target, function (key, value) {
2979
+ _setDynamicProperty(state, target, key, value);
2980
+ });
2981
+ if (!target[CFG_HANDLER_LINK]) {
2982
+ objDefineProp(target, CFG_HANDLER_LINK, {
2983
+ get: function () {
2984
+ return state[_DYN_HDLR ];
2985
+ }
2986
+ });
2987
+ _patchArray(state, target, name);
2988
+ }
2989
+ }
2990
+ catch (e) {
2991
+ _throwDynamicError((state.hdlr || {})[_DYN_LOGGER$1 ], name, desc, e);
2992
+ }
2993
+ return target;
2994
+ }
2995
+
2996
+ var symPrefix = "[[ai_";
2997
+ var symPostfix = "]]";
2998
+ function _createState(cfgHandler) {
2999
+ var _a;
3000
+ var dynamicPropertySymbol = newSymbol(symPrefix + "get" + cfgHandler.uid + symPostfix);
3001
+ var dynamicPropertyReadOnly = newSymbol(symPrefix + "ro" + cfgHandler.uid + symPostfix);
3002
+ var dynamicPropertyReferenced = newSymbol(symPrefix + "rf" + cfgHandler.uid + symPostfix);
3003
+ var dynamicPropertyBlockValue = newSymbol(symPrefix + "blkVal" + cfgHandler.uid + symPostfix);
3004
+ var dynamicPropertyDetail = newSymbol(symPrefix + "dtl" + cfgHandler.uid + symPostfix);
3005
+ var _waitingHandlers = null;
3006
+ var _watcherTimer = null;
3007
+ var theState;
3008
+ function _useHandler(activeHandler, callback) {
3009
+ var prevWatcher = theState.act;
3010
+ try {
3011
+ theState.act = activeHandler;
3012
+ if (activeHandler && activeHandler[dynamicPropertyDetail]) {
3013
+ arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {
3014
+ detail.clr(activeHandler);
3015
+ });
3016
+ activeHandler[dynamicPropertyDetail] = [];
3017
+ }
3018
+ callback({
3019
+ cfg: cfgHandler.cfg,
3020
+ set: cfgHandler.set.bind(cfgHandler),
3021
+ setDf: cfgHandler[_DYN_SET_DF ].bind(cfgHandler),
3022
+ ref: cfgHandler.ref.bind(cfgHandler),
3023
+ rdOnly: cfgHandler[_DYN_RD_ONLY ].bind(cfgHandler)
3024
+ });
3025
+ }
3026
+ catch (e) {
3027
+ var logger = cfgHandler[_DYN_LOGGER$1 ];
3028
+ if (logger) {
3029
+ logger[_DYN_THROW_INTERNAL ](1 , 107 , dumpObj(e));
3030
+ }
3031
+ throw e;
3032
+ }
3033
+ finally {
3034
+ theState.act = prevWatcher || null;
3035
+ }
3036
+ }
3037
+ function _notifyWatchers() {
3038
+ if (_waitingHandlers) {
3039
+ var notifyHandlers = _waitingHandlers;
3040
+ _waitingHandlers = null;
3041
+ _watcherTimer && _watcherTimer[_DYN_CANCEL ]();
3042
+ _watcherTimer = null;
3043
+ var watcherFailures_1 = [];
3044
+ arrForEach(notifyHandlers, function (handler) {
3045
+ if (handler) {
3046
+ if (handler[dynamicPropertyDetail]) {
3047
+ arrForEach(handler[dynamicPropertyDetail], function (detail) {
3048
+ detail.clr(handler);
3049
+ });
3050
+ handler[dynamicPropertyDetail] = null;
3083
3051
  }
3084
- if (_messageCount === _maxInternalMessageLimit) {
3085
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
3086
- var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
3087
- _self.queue[_DYN_PUSH ](throttleMessage);
3088
- if (severity === 1 ) {
3089
- _self.errorToConsole(throttleLimitMessage);
3052
+ if (handler.fn) {
3053
+ try {
3054
+ _useHandler(handler, handler.fn);
3090
3055
  }
3091
- else {
3092
- _self[_DYN_WARN_TO_CONSOLE ](throttleLimitMessage);
3056
+ catch (e) {
3057
+ watcherFailures_1[_DYN_PUSH ](e);
3093
3058
  }
3094
3059
  }
3095
3060
  }
3061
+ });
3062
+ if (_waitingHandlers) {
3063
+ try {
3064
+ _notifyWatchers();
3065
+ }
3066
+ catch (e) {
3067
+ watcherFailures_1[_DYN_PUSH ](e);
3068
+ }
3096
3069
  }
3097
- function _setDefaultsFromConfig(config) {
3098
- return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
3099
- var config = details.cfg;
3100
- _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
3101
- _loggingLevelTelemetry = config.loggingLevelTelemetry;
3102
- _maxInternalMessageLimit = config.maxMessageLimit;
3103
- _enableDebug = config.enableDebug;
3104
- });
3070
+ if (watcherFailures_1[_DYN_LENGTH$1 ] > 0) {
3071
+ throwAggregationError("Watcher error(s): ", watcherFailures_1);
3105
3072
  }
3106
- function _areInternalMessagesThrottled() {
3107
- return _messageCount >= _maxInternalMessageLimit;
3073
+ }
3074
+ }
3075
+ function _addWatcher(detail) {
3076
+ if (detail && detail.h[_DYN_LENGTH$1 ] > 0) {
3077
+ if (!_waitingHandlers) {
3078
+ _waitingHandlers = [];
3108
3079
  }
3109
- function _debugExtMsg(name, data) {
3110
- var dbgExt = getDebugExt(config || {});
3111
- if (dbgExt && dbgExt[_DYN_DIAG_LOG ]) {
3112
- dbgExt[_DYN_DIAG_LOG ](name, data);
3080
+ if (!_watcherTimer) {
3081
+ _watcherTimer = scheduleTimeout(function () {
3082
+ _watcherTimer = null;
3083
+ _notifyWatchers();
3084
+ }, 0);
3085
+ }
3086
+ for (var idx = 0; idx < detail.h[_DYN_LENGTH$1 ]; idx++) {
3087
+ var handler = detail.h[idx];
3088
+ if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
3089
+ _waitingHandlers[_DYN_PUSH ](handler);
3090
+ }
3091
+ }
3092
+ }
3093
+ }
3094
+ function _trackHandler(handler, detail) {
3095
+ if (handler) {
3096
+ var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
3097
+ if (arrIndexOf(details, detail) === -1) {
3098
+ details[_DYN_PUSH ](detail);
3099
+ }
3100
+ }
3101
+ }
3102
+ theState = (_a = {
3103
+ prop: dynamicPropertySymbol,
3104
+ ro: dynamicPropertyReadOnly,
3105
+ rf: dynamicPropertyReferenced
3106
+ },
3107
+ _a[_DYN_BLK_VAL ] = dynamicPropertyBlockValue,
3108
+ _a[_DYN_HDLR ] = cfgHandler,
3109
+ _a.add = _addWatcher,
3110
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3111
+ _a.use = _useHandler,
3112
+ _a.trk = _trackHandler,
3113
+ _a);
3114
+ return theState;
3115
+ }
3116
+
3117
+ function _createAndUseHandler(state, configHandler) {
3118
+ var handler = {
3119
+ fn: configHandler,
3120
+ rm: function () {
3121
+ handler.fn = null;
3122
+ state = null;
3123
+ configHandler = null;
3124
+ }
3125
+ };
3126
+ state.use(handler, configHandler);
3127
+ return handler;
3128
+ }
3129
+ function _createDynamicHandler(logger, target, inPlace) {
3130
+ var _a;
3131
+ var dynamicHandler = getDynamicConfigHandler(target);
3132
+ if (dynamicHandler) {
3133
+ return dynamicHandler;
3134
+ }
3135
+ var uid = createUniqueNamespace("dyncfg", true);
3136
+ var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);
3137
+ var theState;
3138
+ function _notifyWatchers() {
3139
+ theState[_DYN_NOTIFY ]();
3140
+ }
3141
+ function _setValue(target, name, value) {
3142
+ try {
3143
+ target = _setDynamicProperty(theState, target, name, value);
3144
+ }
3145
+ catch (e) {
3146
+ _throwDynamicError(logger, name, "Setting value", e);
3147
+ }
3148
+ return target[name];
3149
+ }
3150
+ function _watch(configHandler) {
3151
+ return _createAndUseHandler(theState, configHandler);
3152
+ }
3153
+ function _block(configHandler, allowUpdate) {
3154
+ theState.use(null, function (details) {
3155
+ var prevUpd = theState.upd;
3156
+ try {
3157
+ if (!isUndefined(allowUpdate)) {
3158
+ theState.upd = allowUpdate;
3113
3159
  }
3160
+ configHandler(details);
3161
+ }
3162
+ finally {
3163
+ theState.upd = prevUpd;
3114
3164
  }
3115
3165
  });
3116
3166
  }
3117
- DiagnosticLogger.__ieDyn=1;
3118
- return DiagnosticLogger;
3119
- }());
3120
- function _getLogger(logger) {
3121
- return (logger || new DiagnosticLogger());
3167
+ function _ref(target, name) {
3168
+ var _a;
3169
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 ] = true, _a))[name];
3170
+ }
3171
+ function _rdOnly(target, name) {
3172
+ var _a;
3173
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 ] = true, _a))[name];
3174
+ }
3175
+ function _blkPropValue(target, name) {
3176
+ var _a;
3177
+ return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 ] = true, _a))[name];
3178
+ }
3179
+ function _applyDefaults(theConfig, defaultValues) {
3180
+ if (defaultValues) {
3181
+ objForEachKey(defaultValues, function (name, value) {
3182
+ _applyDefaultValue(cfgHandler, theConfig, name, value);
3183
+ });
3184
+ }
3185
+ return theConfig;
3186
+ }
3187
+ var cfgHandler = (_a = {
3188
+ uid: null,
3189
+ cfg: newTarget
3190
+ },
3191
+ _a[_DYN_LOGGER$1 ] = logger,
3192
+ _a[_DYN_NOTIFY ] = _notifyWatchers,
3193
+ _a.set = _setValue,
3194
+ _a[_DYN_SET_DF ] = _applyDefaults,
3195
+ _a[_DYN_WATCH ] = _watch,
3196
+ _a.ref = _ref,
3197
+ _a[_DYN_RD_ONLY ] = _rdOnly,
3198
+ _a[_DYN_BLK_VAL ] = _blkPropValue,
3199
+ _a._block = _block,
3200
+ _a);
3201
+ objDefine(cfgHandler, "uid", {
3202
+ c: false,
3203
+ e: false,
3204
+ w: false,
3205
+ v: uid
3206
+ });
3207
+ theState = _createState(cfgHandler);
3208
+ _makeDynamicObject(theState, newTarget, "config", "Creating");
3209
+ return cfgHandler;
3122
3210
  }
3123
- function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
3124
- if (isUserAct === void 0) { isUserAct = false; }
3125
- _getLogger(logger)[_DYN_THROW_INTERNAL ](severity, msgId, msg, properties, isUserAct);
3211
+ function _logInvalidAccess(logger, message) {
3212
+ if (logger) {
3213
+ logger[_DYN_WARN_TO_CONSOLE ](message);
3214
+ logger[_DYN_THROW_INTERNAL ](2 , 108 , message);
3215
+ }
3216
+ else {
3217
+ throwInvalidAccess(message);
3218
+ }
3126
3219
  }
3127
- function _warnToConsole(logger, message) {
3128
- _getLogger(logger)[_DYN_WARN_TO_CONSOLE ](message);
3220
+ function createDynamicConfig(config, defaultConfig, logger, inPlace) {
3221
+ var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);
3222
+ if (defaultConfig) {
3223
+ dynamicHandler[_DYN_SET_DF ](dynamicHandler.cfg, defaultConfig);
3224
+ }
3225
+ return dynamicHandler;
3129
3226
  }
3130
- function _logInternalMessage(logger, severity, message) {
3131
- _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE ](severity, message);
3227
+ function onConfigChange(config, configHandler, logger) {
3228
+ var handler = config[CFG_HANDLER_LINK] || config;
3229
+ if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {
3230
+ return handler[_DYN_WATCH ](configHandler);
3231
+ }
3232
+ _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
3233
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
3234
+ }
3235
+
3236
+ function runTargetUnload(target, isAsync) {
3237
+ if (target && target[_DYN_UNLOAD ]) {
3238
+ return target[_DYN_UNLOAD ](isAsync);
3239
+ }
3240
+ }
3241
+ function doUnloadAll(targets, isAsync, done) {
3242
+ var result;
3243
+ if (!done) {
3244
+ result = createPromise(function (resolved) {
3245
+ done = resolved;
3246
+ });
3247
+ }
3248
+ if (targets && getLength(targets) > 0) {
3249
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
3250
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
3251
+ });
3252
+ }
3253
+ else {
3254
+ done();
3255
+ }
3256
+ return result;
3257
+ }
3258
+
3259
+ var ChannelControllerPriority = 500;
3260
+ var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3261
+
3262
+ function cfgDfMerge(defaultValue) {
3263
+ return {
3264
+ mrg: true,
3265
+ v: defaultValue
3266
+ };
3132
3267
  }
3133
3268
 
3134
3269
  var _a$3, _b;
@@ -3260,7 +3395,7 @@ function createCookieMgr(rootConfig, logger) {
3260
3395
  var result = false;
3261
3396
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3262
3397
  var values = {};
3263
- var theValue = strTrim(value || STR_EMPTY$1);
3398
+ var theValue = strTrim(value || STR_EMPTY$2);
3264
3399
  var idx = strIndexOf(theValue, ";");
3265
3400
  if (idx !== -1) {
3266
3401
  theValue = strTrim(strLeft(value, idx));
@@ -3275,15 +3410,15 @@ function createCookieMgr(rootConfig, logger) {
3275
3410
  if (expireMs > 0) {
3276
3411
  var expiry = new Date();
3277
3412
  expiry.setTime(expireMs);
3278
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
3413
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$2, isTruthy);
3279
3414
  }
3280
3415
  }
3281
3416
  if (!_isIE) {
3282
- setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3417
+ setValue(values, "max-age", STR_EMPTY$2 + maxAgeSec, null, isUndefined);
3283
3418
  }
3284
3419
  }
3285
3420
  var location_1 = getLocation();
3286
- if (location_1 && location_1.protocol === "https:") {
3421
+ if (location_1 && location_1[_DYN_PROTOCOL ] === "https:") {
3287
3422
  setValue(values, "secure", null, null, isUndefined);
3288
3423
  if (_allowUaSameSite === null) {
3289
3424
  _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
@@ -3299,7 +3434,7 @@ function createCookieMgr(rootConfig, logger) {
3299
3434
  return result;
3300
3435
  },
3301
3436
  get: function (name) {
3302
- var value = STR_EMPTY$1;
3437
+ var value = STR_EMPTY$2;
3303
3438
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3304
3439
  value = _getCookieFn(name);
3305
3440
  }
@@ -3323,7 +3458,7 @@ function createCookieMgr(rootConfig, logger) {
3323
3458
  if (!isIE()) {
3324
3459
  values["max-age"] = "0";
3325
3460
  }
3326
- _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3461
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$2, values));
3327
3462
  result = true;
3328
3463
  }
3329
3464
  return result;
@@ -3356,7 +3491,7 @@ function _extractParts(theValue) {
3356
3491
  if (theValue && theValue[_DYN_LENGTH$1 ]) {
3357
3492
  var parts = strTrim(theValue)[_DYN_SPLIT ](";");
3358
3493
  arrForEach(parts, function (thePart) {
3359
- thePart = strTrim(thePart || STR_EMPTY$1);
3494
+ thePart = strTrim(thePart || STR_EMPTY$2);
3360
3495
  if (thePart) {
3361
3496
  var idx = strIndexOf(thePart, "=");
3362
3497
  if (idx === -1) {
@@ -3377,22 +3512,22 @@ function _formatDate(theDate, func) {
3377
3512
  return null;
3378
3513
  }
3379
3514
  function _formatCookieValue(value, values) {
3380
- var cookieValue = value || STR_EMPTY$1;
3515
+ var cookieValue = value || STR_EMPTY$2;
3381
3516
  objForEachKey(values, function (name, theValue) {
3382
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3517
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$2);
3383
3518
  });
3384
3519
  return cookieValue;
3385
3520
  }
3386
3521
  function _getCookieValue(name) {
3387
- var cookieValue = STR_EMPTY$1;
3522
+ var cookieValue = STR_EMPTY$2;
3388
3523
  !_doc && _getDoc();
3389
3524
  if (_doc.v) {
3390
- var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3525
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$2;
3391
3526
  if (_parsedCookieValue !== theCookie) {
3392
3527
  _cookieCache = _extractParts(theCookie);
3393
3528
  _parsedCookieValue = theCookie;
3394
3529
  }
3395
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3530
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$2);
3396
3531
  }
3397
3532
  return cookieValue;
3398
3533
  }
@@ -3507,7 +3642,7 @@ var NotificationManager = /** @class */ (function () {
3507
3642
  }
3508
3643
  };
3509
3644
  _self[STR_OFFLINE_SENT ] = function (batch) {
3510
- if (batch && batch.data) {
3645
+ if (batch && batch[_DYN_DATA ]) {
3511
3646
  _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3512
3647
  listener[STR_OFFLINE_SENT ](batch);
3513
3648
  });
@@ -3706,7 +3841,7 @@ function newGuid() {
3706
3841
  }
3707
3842
  function generateW3CId() {
3708
3843
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3709
- var oct = STR_EMPTY$1, tmp;
3844
+ var oct = STR_EMPTY$2, tmp;
3710
3845
  for (var a = 0; a < 4; a++) {
3711
3846
  tmp = random32();
3712
3847
  oct +=
@@ -3783,9 +3918,9 @@ function parseTraceParent(value, selectIdx) {
3783
3918
  return null;
3784
3919
  }
3785
3920
  return _a = {
3786
- version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3787
- traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ](),
3788
- spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE ]()
3921
+ version: (match[1] || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ](),
3922
+ traceId: (match[2] || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ](),
3923
+ spanId: (match[3] || STR_EMPTY$2)[_DYN_TO_LOWER_CASE ]()
3789
3924
  },
3790
3925
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
3791
3926
  _a;
@@ -4208,7 +4343,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
4208
4343
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
4209
4344
  hasRunContext[chainId] = true;
4210
4345
  try {
4211
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
4346
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$2;
4212
4347
  if (nextId) {
4213
4348
  hasRunContext[nextId] = false;
4214
4349
  }
@@ -5068,7 +5203,7 @@ var AppInsightsCore$1 = /** @class */ (function () {
5068
5203
  }
5069
5204
  _pluginVersionString = _pluginVersionStringArr.join(";");
5070
5205
  }
5071
- return _pluginVersionString || STR_EMPTY$1;
5206
+ return _pluginVersionString || STR_EMPTY$2;
5072
5207
  }
5073
5208
  });
5074
5209
  objDefine(_self, "logger", {
@@ -5366,6 +5501,437 @@ var AppInsightsCore$1 = /** @class */ (function () {
5366
5501
  return AppInsightsCore;
5367
5502
  }());
5368
5503
 
5504
+ var STR_EMPTY$1 = "";
5505
+ var STR_NO_RESPONSE_BODY = "NoResponseBody";
5506
+ var _noResponseQs = "&" + STR_NO_RESPONSE_BODY + "=true";
5507
+ var STR_POST_METHOD = "POST";
5508
+ var SenderPostManager = /** @class */ (function () {
5509
+ function SenderPostManager() {
5510
+ var _syncFetchPayload = 0;
5511
+ var _enableSendPromise;
5512
+ var _isInitialized;
5513
+ var _diagLog;
5514
+ var _isOneDs;
5515
+ var _onCompleteFuncs;
5516
+ var _disableCredentials;
5517
+ var _fallbackInst;
5518
+ var _disableXhr;
5519
+ var _disableBeacon;
5520
+ var _disableBeaconSync;
5521
+ var _disableFetchKeepAlive;
5522
+ var _addNoResponse;
5523
+ var _timeoutWrapper;
5524
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
5525
+ var _sendCredentials = true;
5526
+ _initDefaults();
5527
+ _self[_DYN_INITIALIZE$1 ] = function (config, diagLog) {
5528
+ _diagLog = diagLog;
5529
+ if (_isInitialized) {
5530
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
5531
+ }
5532
+ _self.SetConfig(config);
5533
+ _isInitialized = true;
5534
+ };
5535
+ _self["_getDbgPlgTargets"] = function () {
5536
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
5537
+ };
5538
+ _self.SetConfig = function (config) {
5539
+ try {
5540
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
5541
+ _disableCredentials = !!config.disableCredentials;
5542
+ _isOneDs = !!config.isOneDs;
5543
+ _enableSendPromise = !!config.enableSendPromise;
5544
+ _disableXhr = !!config.disableXhr;
5545
+ _disableBeacon = !!config.disableBeacon;
5546
+ _disableBeaconSync = !!config.disableBeaconSync;
5547
+ _timeoutWrapper = config.timeWrapper;
5548
+ _addNoResponse = !!config.addNoResponse;
5549
+ _disableFetchKeepAlive = !!config.disableFetchKeepAlive;
5550
+ _fallbackInst = { sendPOST: _xhrSender };
5551
+ if (!_isOneDs) {
5552
+ _sendCredentials = false;
5553
+ }
5554
+ if (_disableCredentials) {
5555
+ var location_1 = getLocation();
5556
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
5557
+ _sendCredentials = false;
5558
+ }
5559
+ }
5560
+ return true;
5561
+ }
5562
+ catch (e) {
5563
+ }
5564
+ return false;
5565
+ };
5566
+ _self.getSyncFetchPayload = function () {
5567
+ return _syncFetchPayload;
5568
+ };
5569
+ _self.getSenderInst = function (transports, sync) {
5570
+ if (transports && transports[_DYN_LENGTH$1 ]) {
5571
+ return _getSenderInterface(transports, sync);
5572
+ }
5573
+ return null;
5574
+ };
5575
+ _self.getFallbackInst = function () {
5576
+ return _fallbackInst;
5577
+ };
5578
+ _self[_DYN__DO_TEARDOWN ] = function (unloadCtx, unloadState) {
5579
+ _initDefaults();
5580
+ };
5581
+ function _onSuccess(res, onComplete) {
5582
+ _doOnComplete(onComplete, 200, {}, res);
5583
+ }
5584
+ function _onError(message, onComplete) {
5585
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
5586
+ _doOnComplete(onComplete, 400, {});
5587
+ }
5588
+ function _onNoPayloadUrl(onComplete) {
5589
+ _onError("No endpoint url is provided for the batch", onComplete);
5590
+ }
5591
+ function _getSenderInterface(transports, syncSupport) {
5592
+ var _a;
5593
+ var transportType = 0 ;
5594
+ var sendPostFunc = null;
5595
+ var lp = 0;
5596
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
5597
+ transportType = transports[lp];
5598
+ if (!_disableXhr && transportType === 1 ) {
5599
+ if (useXDomainRequest()) {
5600
+ sendPostFunc = _xdrSender;
5601
+ }
5602
+ else if (isXhrSupported()) {
5603
+ sendPostFunc = _xhrSender;
5604
+ }
5605
+ }
5606
+ else if (transportType === 2 && isFetchSupported(syncSupport) && (!syncSupport || !_disableFetchKeepAlive)) {
5607
+ sendPostFunc = _doFetchSender;
5608
+ }
5609
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
5610
+ sendPostFunc = _beaconSender;
5611
+ }
5612
+ lp++;
5613
+ }
5614
+ if (sendPostFunc) {
5615
+ return _a = {
5616
+ _transport: transportType,
5617
+ _isSync: syncSupport
5618
+ },
5619
+ _a[_DYN_SEND_POST ] = sendPostFunc,
5620
+ _a;
5621
+ }
5622
+ return null;
5623
+ }
5624
+ function _doOnComplete(oncomplete, status, headers, response) {
5625
+ try {
5626
+ oncomplete && oncomplete(status, headers, response);
5627
+ }
5628
+ catch (e) {
5629
+ }
5630
+ }
5631
+ function _doBeaconSend(payload, oncomplete) {
5632
+ var nav = getNavigator();
5633
+ var url = payload[_DYN_URL_STRING ];
5634
+ if (!url) {
5635
+ _onNoPayloadUrl(oncomplete);
5636
+ return true;
5637
+ }
5638
+ url = payload[_DYN_URL_STRING ] + (_addNoResponse ? _noResponseQs : STR_EMPTY$1);
5639
+ var data = payload[_DYN_DATA ];
5640
+ var plainTextBatch = _isOneDs ? data : new Blob([data], { type: "text/plain;charset=UTF-8" });
5641
+ var queued = nav.sendBeacon(url, plainTextBatch);
5642
+ return queued;
5643
+ }
5644
+ function _beaconSender(payload, oncomplete, sync) {
5645
+ var data = payload[_DYN_DATA ];
5646
+ try {
5647
+ if (data) {
5648
+ if (!_doBeaconSend(payload, oncomplete)) {
5649
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
5650
+ if (onRetry && isFunction(onRetry)) {
5651
+ onRetry(payload, oncomplete, _doBeaconSend);
5652
+ }
5653
+ else {
5654
+ _fallbackInst && _fallbackInst[_DYN_SEND_POST ](payload, oncomplete, true);
5655
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
5656
+ }
5657
+ }
5658
+ else {
5659
+ _onSuccess(STR_EMPTY$1, oncomplete);
5660
+ }
5661
+ }
5662
+ }
5663
+ catch (e) {
5664
+ _isOneDs && _warnToConsole(_diagLog, "Failed to send telemetry using sendBeacon API. Ex:" + dumpObj(e));
5665
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, STR_EMPTY$1);
5666
+ }
5667
+ return;
5668
+ }
5669
+ function _xhrSender(payload, oncomplete, sync) {
5670
+ var thePromise;
5671
+ var resolveFunc;
5672
+ var rejectFunc;
5673
+ var headers = payload[_DYN_HEADERS ] || {};
5674
+ if (!sync && _enableSendPromise) {
5675
+ thePromise = createPromise(function (resolve, reject) {
5676
+ resolveFunc = resolve;
5677
+ rejectFunc = reject;
5678
+ });
5679
+ }
5680
+ if (_isOneDs && sync && payload.disableXhrSync) {
5681
+ sync = false;
5682
+ }
5683
+ var endPointUrl = payload[_DYN_URL_STRING ];
5684
+ if (!endPointUrl) {
5685
+ _onNoPayloadUrl(oncomplete);
5686
+ resolveFunc && resolveFunc(false);
5687
+ return;
5688
+ }
5689
+ var xhr = openXhr$1(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT ]);
5690
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5691
+ arrForEach(objKeys(headers), function (headerName) {
5692
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
5693
+ });
5694
+ xhr.onreadystatechange = function () {
5695
+ if (!_isOneDs) {
5696
+ _doOnReadyFunc(xhr);
5697
+ if (xhr.readyState === 4) {
5698
+ resolveFunc && resolveFunc(true);
5699
+ }
5700
+ }
5701
+ };
5702
+ xhr.onload = function () {
5703
+ if (_isOneDs) {
5704
+ _doOnReadyFunc(xhr);
5705
+ }
5706
+ };
5707
+ function _doOnReadyFunc(xhr) {
5708
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
5709
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
5710
+ if (onReadyFuncExist) {
5711
+ onReadyFunc(xhr, oncomplete, payload);
5712
+ }
5713
+ else {
5714
+ var response = getResponseText(xhr);
5715
+ _doOnComplete(oncomplete, xhr[_DYN_STATUS ], _getAllResponseHeaders(xhr, _isOneDs), response);
5716
+ }
5717
+ }
5718
+ xhr.onerror = function (event) {
5719
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 400, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY$1 : formatErrorMessageXhr(xhr));
5720
+ rejectFunc && rejectFunc(event);
5721
+ };
5722
+ xhr.ontimeout = function () {
5723
+ _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS ] : 500, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY$1 : formatErrorMessageXhr(xhr));
5724
+ resolveFunc && resolveFunc(false);
5725
+ };
5726
+ xhr.send(payload[_DYN_DATA ]);
5727
+ return thePromise;
5728
+ }
5729
+ function _doFetchSender(payload, oncomplete, sync) {
5730
+ var _a;
5731
+ var endPointUrl = payload[_DYN_URL_STRING ];
5732
+ var batch = payload[_DYN_DATA ];
5733
+ var plainTextBatch = _isOneDs ? batch : new Blob([batch], { type: "application/json" });
5734
+ var thePromise;
5735
+ var resolveFunc;
5736
+ var rejectFunc;
5737
+ var requestHeaders = new Headers();
5738
+ var batchLength = batch[_DYN_LENGTH$1 ];
5739
+ var ignoreResponse = false;
5740
+ var responseHandled = false;
5741
+ var headers = payload[_DYN_HEADERS ] || {};
5742
+ var init = (_a = {
5743
+ method: STR_POST_METHOD,
5744
+ body: plainTextBatch
5745
+ },
5746
+ _a[DisabledPropertyName] = true
5747
+ ,
5748
+ _a);
5749
+ if (payload.headers && objKeys(payload.headers)[_DYN_LENGTH$1 ] > 0) {
5750
+ arrForEach(objKeys(headers), function (headerName) {
5751
+ requestHeaders.append(headerName, headers[headerName]);
5752
+ });
5753
+ init[_DYN_HEADERS ] = requestHeaders;
5754
+ }
5755
+ if (_sendCredentials && _isOneDs) {
5756
+ init.credentials = "include";
5757
+ }
5758
+ if (sync) {
5759
+ init.keepalive = true;
5760
+ _syncFetchPayload += batchLength;
5761
+ if (_isOneDs) {
5762
+ if (payload["_sendReason"] === 2 ) {
5763
+ ignoreResponse = true;
5764
+ if (_addNoResponse) {
5765
+ endPointUrl += _noResponseQs;
5766
+ }
5767
+ }
5768
+ }
5769
+ else {
5770
+ ignoreResponse = true;
5771
+ }
5772
+ }
5773
+ var request = new Request(endPointUrl, init);
5774
+ try {
5775
+ request[DisabledPropertyName] = true;
5776
+ }
5777
+ catch (e) {
5778
+ }
5779
+ if (!sync && _enableSendPromise) {
5780
+ thePromise = createPromise(function (resolve, reject) {
5781
+ resolveFunc = resolve;
5782
+ rejectFunc = reject;
5783
+ });
5784
+ }
5785
+ if (!endPointUrl) {
5786
+ _onNoPayloadUrl(oncomplete);
5787
+ resolveFunc && resolveFunc(false);
5788
+ return;
5789
+ }
5790
+ function _handleError(res) {
5791
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY$1 : res);
5792
+ }
5793
+ function _onFetchComplete(response, payload, value) {
5794
+ var status = response[_DYN_STATUS ];
5795
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5796
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5797
+ onCompleteFunc(response, oncomplete, value || STR_EMPTY$1, payload);
5798
+ }
5799
+ else {
5800
+ _doOnComplete(oncomplete, status, {}, value || STR_EMPTY$1);
5801
+ }
5802
+ }
5803
+ try {
5804
+ doAwaitResponse(fetch(_isOneDs ? endPointUrl : request, _isOneDs ? init : null), function (result) {
5805
+ if (sync) {
5806
+ _syncFetchPayload -= batchLength;
5807
+ batchLength = 0;
5808
+ }
5809
+ if (!responseHandled) {
5810
+ responseHandled = true;
5811
+ if (!result.rejected) {
5812
+ var response_1 = result.value;
5813
+ try {
5814
+ if (!_isOneDs && !response_1.ok) {
5815
+ _handleError(response_1.statusText);
5816
+ resolveFunc && resolveFunc(false);
5817
+ }
5818
+ else {
5819
+ if (_isOneDs && !response_1.body) {
5820
+ _onFetchComplete(response_1, null, STR_EMPTY$1);
5821
+ resolveFunc && resolveFunc(true);
5822
+ }
5823
+ else {
5824
+ doAwaitResponse(response_1.text(), function (resp) {
5825
+ _onFetchComplete(response_1, payload, resp.value);
5826
+ resolveFunc && resolveFunc(true);
5827
+ });
5828
+ }
5829
+ }
5830
+ }
5831
+ catch (e) {
5832
+ _handleError(dumpObj(e));
5833
+ rejectFunc && rejectFunc(e);
5834
+ }
5835
+ }
5836
+ else {
5837
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
5838
+ rejectFunc && rejectFunc(result.reason);
5839
+ }
5840
+ }
5841
+ });
5842
+ }
5843
+ catch (e) {
5844
+ if (!responseHandled) {
5845
+ _handleError(dumpObj(e));
5846
+ rejectFunc && rejectFunc(e);
5847
+ }
5848
+ }
5849
+ if (ignoreResponse && !responseHandled) {
5850
+ responseHandled = true;
5851
+ _doOnComplete(oncomplete, 200, {});
5852
+ resolveFunc && resolveFunc(true);
5853
+ }
5854
+ if (_isOneDs && !responseHandled && payload[_DYN_TIMEOUT ] > 0) {
5855
+ _timeoutWrapper && _timeoutWrapper.set(function () {
5856
+ if (!responseHandled) {
5857
+ responseHandled = true;
5858
+ _doOnComplete(oncomplete, 500, {});
5859
+ resolveFunc && resolveFunc(true);
5860
+ }
5861
+ }, payload[_DYN_TIMEOUT ]);
5862
+ }
5863
+ return thePromise;
5864
+ }
5865
+ function _xdrSender(payload, oncomplete, sync) {
5866
+ var _window = getWindow();
5867
+ var xdr = new XDomainRequest();
5868
+ var data = payload[_DYN_DATA ];
5869
+ xdr.onload = function () {
5870
+ var response = getResponseText(xdr);
5871
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5872
+ if (onloadFunc && isFunction(onloadFunc)) {
5873
+ onloadFunc(xdr, oncomplete, payload);
5874
+ }
5875
+ else {
5876
+ _doOnComplete(oncomplete, 200, {}, response);
5877
+ }
5878
+ };
5879
+ xdr.onerror = function () {
5880
+ _doOnComplete(oncomplete, 400, {}, _isOneDs ? STR_EMPTY$1 : formatErrorMessageXdr(xdr));
5881
+ };
5882
+ xdr.ontimeout = function () {
5883
+ _doOnComplete(oncomplete, 500, {});
5884
+ };
5885
+ xdr.onprogress = function () { };
5886
+ var hostingProtocol = _window && _window.location && _window.location[_DYN_PROTOCOL ] || "";
5887
+ var endpoint = payload[_DYN_URL_STRING ];
5888
+ if (!endpoint) {
5889
+ _onNoPayloadUrl(oncomplete);
5890
+ return;
5891
+ }
5892
+ if (!_isOneDs && endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5893
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5894
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5895
+ _onError(msg, oncomplete);
5896
+ return;
5897
+ }
5898
+ var endpointUrl = _isOneDs ? endpoint : endpoint[_DYN_REPLACE ](/^(https?:)/, "");
5899
+ xdr.open(STR_POST_METHOD, endpointUrl);
5900
+ if (payload[_DYN_TIMEOUT ]) {
5901
+ xdr[_DYN_TIMEOUT ] = payload[_DYN_TIMEOUT ];
5902
+ }
5903
+ xdr.send(data);
5904
+ if (_isOneDs && sync) {
5905
+ _timeoutWrapper && _timeoutWrapper.set(function () {
5906
+ xdr.send(data);
5907
+ }, 0);
5908
+ }
5909
+ else {
5910
+ xdr.send(data);
5911
+ }
5912
+ }
5913
+ function _initDefaults() {
5914
+ _syncFetchPayload = 0;
5915
+ _isInitialized = false;
5916
+ _enableSendPromise = false;
5917
+ _diagLog = null;
5918
+ _isOneDs = null;
5919
+ _onCompleteFuncs = null;
5920
+ _disableCredentials = null;
5921
+ _fallbackInst = null;
5922
+ _disableXhr = false;
5923
+ _disableBeacon = false;
5924
+ _disableBeaconSync = false;
5925
+ _disableFetchKeepAlive = false;
5926
+ _addNoResponse = false;
5927
+ _timeoutWrapper = null;
5928
+ }
5929
+ });
5930
+ }
5931
+ SenderPostManager.__ieDyn=1;
5932
+ return SenderPostManager;
5933
+ }());
5934
+
5369
5935
  var strOnPrefix = "on";
5370
5936
  var strAttachEvent = "attachEvent";
5371
5937
  var strAddEventHelper = "addEventListener";
@@ -5386,16 +5952,16 @@ var elmNodeData = createElmNodeData("events");
5386
5952
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5387
5953
  function _normalizeNamespace(name) {
5388
5954
  if (name && name[_DYN_REPLACE ]) {
5389
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5955
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$2);
5390
5956
  }
5391
5957
  return name;
5392
5958
  }
5393
5959
  function _getEvtNamespace(eventName, evtNamespace) {
5394
5960
  var _a;
5395
5961
  if (evtNamespace) {
5396
- var theNamespace_1 = STR_EMPTY$1;
5962
+ var theNamespace_1 = STR_EMPTY$2;
5397
5963
  if (isArray(evtNamespace)) {
5398
- theNamespace_1 = STR_EMPTY$1;
5964
+ theNamespace_1 = STR_EMPTY$2;
5399
5965
  arrForEach(evtNamespace, function (name) {
5400
5966
  name = _normalizeNamespace(name);
5401
5967
  if (name) {
@@ -5413,13 +5979,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5413
5979
  if (theNamespace_1[0] !== ".") {
5414
5980
  theNamespace_1 = "." + theNamespace_1;
5415
5981
  }
5416
- eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5982
+ eventName = (eventName || STR_EMPTY$2) + theNamespace_1;
5417
5983
  }
5418
5984
  }
5419
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5985
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$2) || []);
5420
5986
  return _a = {},
5421
5987
  _a[_DYN_TYPE ] = parsedEvent[1],
5422
- _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT ](".").sort()).join("."),
5988
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$2).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$2)[_DYN_SPLIT ](".").sort()).join("."),
5423
5989
  _a;
5424
5990
  }
5425
5991
  function __getRegisteredEvents(target, eventName, evtNamespace) {
@@ -5432,7 +5998,7 @@ function __getRegisteredEvents(target, eventName, evtNamespace) {
5432
5998
  if (!evtName[_DYN_TYPE ] || evtName[_DYN_TYPE ] === value.evtName[_DYN_TYPE ]) {
5433
5999
  if (!evtName.ns || evtName.ns === evtName.ns) {
5434
6000
  theEvents[_DYN_PUSH ]((_a = {},
5435
- _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$1),
6001
+ _a[_DYN_NAME ] = value.evtName[_DYN_TYPE ] + (value.evtName.ns ? "." + value.evtName.ns : STR_EMPTY$2),
5436
6002
  _a.handler = value[_DYN_HANDLER ],
5437
6003
  _a));
5438
6004
  }
@@ -5703,7 +6269,7 @@ var _DYN_RM_FIELD_SANITIZER = "rmFieldSanitizer";
5703
6269
  var _DYN_CAN_HANDLE = "canHandle";
5704
6270
 
5705
6271
  var _a;
5706
- var Version = '4.1.1-nightly3.2403-02';
6272
+ var Version = '4.1.1-nightly3.2403-04';
5707
6273
  var FullVersionString = "1DS-Web-JS-" + Version;
5708
6274
  var ObjHasOwnProperty = ObjProto$1.hasOwnProperty;
5709
6275
  var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
@@ -6294,6 +6860,7 @@ exports.NotificationManager = NotificationManager;
6294
6860
  exports.PerfEvent = PerfEvent;
6295
6861
  exports.PerfManager = PerfManager;
6296
6862
  exports.ProcessTelemetryContext = ProcessTelemetryContext;
6863
+ exports.SenderPostManager = SenderPostManager;
6297
6864
  exports.TraceLevel = TraceLevel;
6298
6865
  exports.Undefined = strShimUndefined;
6299
6866
  exports.ValueKind = ValueKind;
@@ -6301,6 +6868,8 @@ exports.ValueSanitizer = ValueSanitizer;
6301
6868
  exports.Version = Version;
6302
6869
  exports._InternalLogMessage = _InternalLogMessage;
6303
6870
  exports.__getRegisteredEvents = __getRegisteredEvents;
6871
+ exports._appendHeader = _appendHeader;
6872
+ exports._getAllResponseHeaders = _getAllResponseHeaders;
6304
6873
  exports._logInternalMessage = _logInternalMessage;
6305
6874
  exports._throwInternal = _throwInternal;
6306
6875
  exports._warnToConsole = _warnToConsole;
@@ -6316,6 +6885,7 @@ exports.arrMap = arrMap;
6316
6885
  exports.arrReduce = arrReduce;
6317
6886
  exports.attachEvent = attachEvent;
6318
6887
  exports.blockDynamicConversion = blockDynamicConversion;
6888
+ exports.convertAllHeadersToMap = convertAllHeadersToMap;
6319
6889
  exports.cookieAvailable = areCookiesSupported;
6320
6890
  exports.createCookieMgr = createCookieMgr;
6321
6891
  exports.createDynamicConfig = createDynamicConfig;
@@ -6335,6 +6905,8 @@ exports.eventOn = eventOn;
6335
6905
  exports.extend = extend;
6336
6906
  exports.findW3cTraceParent = findW3cTraceParent;
6337
6907
  exports.forceDynamicConversion = forceDynamicConversion;
6908
+ exports.formatErrorMessageXdr = formatErrorMessageXdr;
6909
+ exports.formatErrorMessageXhr = formatErrorMessageXhr;
6338
6910
  exports.formatTraceParent = formatTraceParent;
6339
6911
  exports.generateW3CId = generateW3CId;
6340
6912
  exports.getCommonSchemaMetaData = getCommonSchemaMetaData;
@@ -6355,6 +6927,7 @@ exports.getLocation = getLocation;
6355
6927
  exports.getMsCrypto = getMsCrypto;
6356
6928
  exports.getNavigator = getNavigator;
6357
6929
  exports.getPerformance = getPerformance;
6930
+ exports.getResponseText = getResponseText;
6358
6931
  exports.getSetValue = getSetValue;
6359
6932
  exports.getTenantId = getTenantId;
6360
6933
  exports.getTime = getTime;
@@ -6408,8 +6981,10 @@ exports.objSeal = objSeal;
6408
6981
  exports.onConfigChange = onConfigChange;
6409
6982
  exports.openXhr = openXhr;
6410
6983
  exports.optimizeObject = optimizeObject;
6984
+ exports.parseResponse = parseResponse;
6411
6985
  exports.parseTraceParent = parseTraceParent;
6412
6986
  exports.perfNow = perfNow;
6987
+ exports.prependTransports = prependTransports;
6413
6988
  exports.proxyAssign = proxyAssign;
6414
6989
  exports.proxyFunctionAs = proxyFunctionAs;
6415
6990
  exports.proxyFunctions = proxyFunctions;
@@ -6439,4 +7014,4 @@ exports.toISOString = toISOString;
6439
7014
  exports.useXDomainRequest = useXDomainRequest;
6440
7015
 
6441
7016
  }));
6442
- //# sourceMappingURL=ms.core-4.1.1-nightly3.2403-02.js.map
7017
+ //# sourceMappingURL=ms.core-4.1.1-nightly3.2403-04.js.map