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