@microsoft/applicationinsights-analytics-js 3.4.0-nightlybeta3.2507-22 → 3.4.0-nightlybeta3.2601-13

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 (31) hide show
  1. package/browser/es5/applicationinsights-analytics-js.cjs.js +839 -487
  2. package/browser/es5/applicationinsights-analytics-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-analytics-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-analytics-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-analytics-js.gbl.js +841 -489
  6. package/browser/es5/applicationinsights-analytics-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-analytics-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-analytics-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-analytics-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-analytics-js.js +841 -489
  11. package/browser/es5/applicationinsights-analytics-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-analytics-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-analytics-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-analytics-js.js +839 -487
  15. package/dist/es5/applicationinsights-analytics-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-analytics-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-analytics-js.min.js.map +1 -1
  18. package/dist-es5/JavaScriptSDK/AnalyticsPlugin.js +48 -28
  19. package/dist-es5/JavaScriptSDK/AnalyticsPlugin.js.map +1 -1
  20. package/dist-es5/JavaScriptSDK/Interfaces/IAnalyticsConfig.js +1 -1
  21. package/dist-es5/JavaScriptSDK/Telemetry/PageViewManager.js +8 -7
  22. package/dist-es5/JavaScriptSDK/Telemetry/PageViewManager.js.map +1 -1
  23. package/dist-es5/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js +1 -1
  24. package/dist-es5/JavaScriptSDK/Telemetry/PageVisitTimeManager.js +1 -1
  25. package/dist-es5/JavaScriptSDK/Timing.js +1 -1
  26. package/dist-es5/__DynamicConstants.js +3 -4
  27. package/dist-es5/__DynamicConstants.js.map +1 -1
  28. package/dist-es5/applicationinsights-analytics-js.js +1 -1
  29. package/package.json +6 -5
  30. package/types/applicationinsights-analytics-js.d.ts +31 -1
  31. package/types/applicationinsights-analytics-js.namespaced.d.ts +1698 -71
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Web Analytics, 3.4.0-nightlybeta3.2507-22
2
+ * Application Insights JavaScript SDK - Web Analytics, 3.4.0-nightlybeta3.2601-13
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -36,6 +36,7 @@ var NAME = "name";
36
36
  var CALL = "call";
37
37
  var TO_STRING = "toString";
38
38
  var GET_OWN_PROPERTY_DESCRIPTOR = "getOwnPropertyDescriptor";
39
+ var GET_OWN_PROPERTY_SYMBOLS = "getOwnPropertySymbols";
39
40
  var ObjClass = ( /*#__PURE__*/_pureAssign(Object));
40
41
  var ObjProto = ( /*#__PURE__*/_pureRef(ObjClass, PROTOTYPE));
41
42
  var StrCls = ( /*#__PURE__*/_pureAssign(String));
@@ -117,6 +118,9 @@ function isTruthy(value) {
117
118
  function _returnNothing() {
118
119
  return;
119
120
  }
121
+ function _returnEmptyArray() {
122
+ return [];
123
+ }
120
124
  function _returnFalse() {
121
125
  return false;
122
126
  }
@@ -201,7 +205,26 @@ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
201
205
  throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
202
206
  };
203
207
  }
208
+ function _objPropertyIsEnum(obj, propKey) {
209
+ var desc;
210
+ var fn = ObjClass.getOwnPropertyDescriptor;
211
+ if (!isStrictNullOrUndefined(obj) && fn) {
212
+ desc = safe(fn, [obj, propKey]).v || NULL_VALUE;
213
+ }
214
+ if (!desc) {
215
+ desc = safe(function () {
216
+ for (var key in obj) {
217
+ if (key === propKey) {
218
+ return { enumerable: true };
219
+ }
220
+ }
221
+ }).v;
222
+ }
223
+ return (desc && desc.enumerable) || false;
224
+ }
225
+ var objPropertyIsEnumerable = ( /*#__PURE__*/_unwrapFunctionWithPoly("propertyIsEnumerable", NULL_VALUE, _objPropertyIsEnum));
204
226
  var _objGetOwnPropertyDescriptor$1 = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
227
+ var _objGetOwnPropertySymbols = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_SYMBOLS)), _returnEmptyArray));
205
228
  var propMap = {
206
229
  e: "enumerable",
207
230
  c: "configurable",
@@ -234,6 +257,18 @@ var objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass, "defineProperties"))
234
257
  function objDefine(target, key, propDesc) {
235
258
  return objDefineProp(target, key, _createProp(propDesc));
236
259
  }
260
+ function objDefineProps(target, propDescMap) {
261
+ var props = {};
262
+ objForEachKey(propDescMap, function (key, value) {
263
+ props[key] = _createProp(value);
264
+ });
265
+ arrForEach(_objGetOwnPropertySymbols(propDescMap), function (sym) {
266
+ if (objPropertyIsEnumerable(propDescMap, sym)) {
267
+ props[sym] = _createProp(propDescMap[sym]);
268
+ }
269
+ });
270
+ return objDefineProperties(target, props);
271
+ }
237
272
  /*#__NO_SIDE_EFFECTS__*/
238
273
  function _createKeyValueMap(values, keyType, valueType, completeFn, writable) {
239
274
  var theMap = {};
@@ -502,6 +537,21 @@ function createCachedValue(value) {
502
537
  toJSON: function () { return value; }
503
538
  }, "v", { value: value });
504
539
  }
540
+ /*#__NO_SIDE_EFFECTS__*/
541
+ function getDeferred(cb, argArray) {
542
+ var theValue = {
543
+ toJSON: function () { return theValue.v; }
544
+ };
545
+ return objDefineProp(theValue, "v", {
546
+ get: function () {
547
+ var result = fnApply(cb, null, argArray);
548
+ cb = NULL_VALUE;
549
+ objDefineProp(theValue, "v", { value: result });
550
+ return result;
551
+ },
552
+ configurable: true
553
+ });
554
+ }
505
555
  var WINDOW = "window";
506
556
  var _cachedGlobal;
507
557
  function _getGlobalInstFn(getFn, theArgs) {
@@ -747,6 +797,7 @@ function isPlainObject(value) {
747
797
  }
748
798
  return result;
749
799
  }
800
+ var strSplit = ( /*#__PURE__*/_unwrapFunction("split", StrProto));
750
801
  var _perf;
751
802
  /*#__NO_SIDE_EFFECTS__*/
752
803
  function getPerformance() {
@@ -756,6 +807,13 @@ function getPerformance() {
756
807
  }
757
808
  return _perf.v;
758
809
  }
810
+ /*#__NO_SIDE_EFFECTS__*/
811
+ function safeGetDeferred(cb, defValue, argArray) {
812
+ return getDeferred(function () {
813
+ var result = safe(cb, argArray);
814
+ return result.e ? defValue : result.v;
815
+ });
816
+ }
759
817
  var mathRound = ( /*#__PURE__*/_pureRef(MathCls, "round"));
760
818
  var objGetOwnPropertyDescriptor = ( /*#__PURE__*/_pureAssign(( /*#__PURE__*/_pureRef(ObjClass, GET_OWN_PROPERTY_DESCRIPTOR)), _returnNothing));
761
819
  var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
@@ -1165,7 +1223,7 @@ dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1165
1223
 
1166
1224
  var createEnumStyle = createEnum;
1167
1225
 
1168
- var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
1226
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
1169
1227
  var _DYN_LENGTH$2 = "length";
1170
1228
  var _DYN_WARN_TO_CONSOLE = "warnToConsole";
1171
1229
  var _DYN_THROW_INTERNAL = "throwInternal";
@@ -1177,14 +1235,20 @@ var _DYN_LOGGER = "logger";
1177
1235
  var _DYN_CANCEL = "cancel";
1178
1236
  var _DYN_INITIALIZE = "initialize";
1179
1237
  var _DYN_IDENTIFIER = "identifier";
1238
+ var _DYN_STRINGIFY$1 = "stringify";
1239
+ var _DYN_TRACE_ID = "traceId";
1240
+ var _DYN_SPAN_ID = "spanId";
1241
+ var _DYN_TRACE_FLAGS = "traceFlags";
1180
1242
  var _DYN_IS_INITIALIZED = "isInitialized";
1181
1243
  var _DYN_GET_PLUGIN = "getPlugin";
1182
1244
  var _DYN_NAME$1 = "name";
1183
1245
  var _DYN_PROCESS_NEXT = "processNext";
1184
1246
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1247
+ var _DYN_VALUE = "value";
1185
1248
  var _DYN_ENABLED = "enabled";
1186
1249
  var _DYN_UNLOAD = "unload";
1187
1250
  var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
1251
+ var _DYN_JOIN = "join";
1188
1252
  var _DYN_CREATE_NEW = "createNew";
1189
1253
  var _DYN_TEARDOWN = "teardown";
1190
1254
  var _DYN_MESSAGE_ID = "messageId";
@@ -1197,6 +1261,7 @@ var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
1197
1261
  var _DYN_USER_AGENT = "userAgent";
1198
1262
  var _DYN_SPLIT$1 = "split";
1199
1263
  var _DYN_REPLACE = "replace";
1264
+ var _DYN_CONCAT = "concat";
1200
1265
  var _DYN_SUBSTRING = "substring";
1201
1266
  var _DYN_INDEX_OF = "indexOf";
1202
1267
  var _DYN_TYPE = "type";
@@ -1204,6 +1269,8 @@ var _DYN_EVT_NAME = "evtName";
1204
1269
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1205
1270
  var _DYN_GET_CTX = "getCtx";
1206
1271
  var _DYN_SET_CTX = "setCtx";
1272
+ var _DYN_CONFIG$1 = "config";
1273
+ var _DYN_SET_TRACE_FLAGS = "setTraceFlags";
1207
1274
  var _DYN_GET_ATTRIBUTE = "getAttribute";
1208
1275
 
1209
1276
  var aggregationErrorType;
@@ -1236,10 +1303,53 @@ var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1236
1303
  var STR_REDACTED = "REDACTED";
1237
1304
  var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1238
1305
 
1306
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
1307
+ if (!theValue && isNullOrUndefined(theValue)) {
1308
+ return defaultValue;
1309
+ }
1310
+ if (isBoolean(theValue)) {
1311
+ return theValue;
1312
+ }
1313
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
1314
+ }
1315
+ function cfgDfMerge(defaultValue) {
1316
+ return {
1317
+ mrg: true,
1318
+ v: defaultValue
1319
+ };
1320
+ }
1321
+ function cfgDfSet(setter, defaultValue) {
1322
+ return {
1323
+ set: setter,
1324
+ v: defaultValue
1325
+ };
1326
+ }
1327
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
1328
+ return {
1329
+ fb: fallBackName,
1330
+ isVal: validator,
1331
+ v: defaultValue
1332
+ };
1333
+ }
1334
+ function cfgDfBoolean(defaultValue, fallBackName) {
1335
+ return {
1336
+ fb: fallBackName,
1337
+ set: _stringToBoolOrDefault,
1338
+ v: !!defaultValue
1339
+ };
1340
+ }
1341
+ function cfgDfString(defaultValue) {
1342
+ return {
1343
+ isVal: isString,
1344
+ v: asString(defaultValue || STR_EMPTY)
1345
+ };
1346
+ }
1347
+
1239
1348
  var strGetPrototypeOf = "getPrototypeOf";
1240
1349
  var rCamelCase = /-([a-z])/g;
1241
1350
  var rNormalizeInvalid = /([^\w\d_$])/g;
1242
1351
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
1352
+ var _ProtoNameTag;
1243
1353
  var _getObjProto = Object[strGetPrototypeOf];
1244
1354
  function isNotNullOrUndefined(value) {
1245
1355
  return !isNullOrUndefined(value);
@@ -1264,7 +1374,7 @@ function strContains(value, search) {
1264
1374
  return false;
1265
1375
  }
1266
1376
  function toISOString(date) {
1267
- return date && date.toISOString() || "";
1377
+ return date && date.toISOString() || STR_EMPTY;
1268
1378
  }
1269
1379
  function getExceptionName(object) {
1270
1380
  if (isError(object)) {
@@ -1309,6 +1419,35 @@ function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {
1309
1419
  }
1310
1420
  }
1311
1421
  }
1422
+ function setObjStringTag(target, nameOrFunc) {
1423
+ safe(objDefine, [target, getKnownSymbol(11 ), isFunction(nameOrFunc) ? { g: nameOrFunc, e: false } : { v: nameOrFunc, w: false, e: false }]);
1424
+ return target;
1425
+ }
1426
+ function setProtoTypeName(target, name) {
1427
+ if (target) {
1428
+ var proto_1 = _getObjProto(target);
1429
+ var done_1 = false;
1430
+ if (proto_1) {
1431
+ safe(function () {
1432
+ var newProto = setObjStringTag(objCreate(proto_1), name);
1433
+ if (!_ProtoNameTag) {
1434
+ _ProtoNameTag = createCachedValue(newSymbol("ai$ProtoName"));
1435
+ }
1436
+ objDefine(newProto, _ProtoNameTag.v, {
1437
+ v: true,
1438
+ w: false,
1439
+ e: false
1440
+ });
1441
+ objSetPrototypeOf(target, newProto);
1442
+ done_1 = true;
1443
+ });
1444
+ }
1445
+ if (!done_1) {
1446
+ safe(setObjStringTag, [target, name]);
1447
+ }
1448
+ }
1449
+ return target;
1450
+ }
1312
1451
 
1313
1452
  var strLocation = "location";
1314
1453
  var strConsole = "console";
@@ -1357,7 +1496,7 @@ function isIE() {
1357
1496
  var nav = getNavigator();
1358
1497
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1359
1498
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1360
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1499
+ var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
1361
1500
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1362
1501
  }
1363
1502
  return _isTrident;
@@ -1372,7 +1511,7 @@ function redactQueryParameters(url, config) {
1372
1511
  return url;
1373
1512
  }
1374
1513
  if (config && config.redactQueryParams) {
1375
- sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
1514
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS[_DYN_CONCAT ](config.redactQueryParams);
1376
1515
  }
1377
1516
  else {
1378
1517
  sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
@@ -1437,10 +1576,10 @@ function redactQueryParameters(url, config) {
1437
1576
  if (!anyParamRedacted) {
1438
1577
  return url;
1439
1578
  }
1440
- return baseUrl + resultParts.join("&") + fragment;
1579
+ return baseUrl + resultParts[_DYN_JOIN ]("&") + fragment;
1441
1580
  }
1442
1581
  function fieldRedaction(input, config) {
1443
- if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
1582
+ if (!input || !isString(input) || input[_DYN_INDEX_OF ](" ") !== -1) {
1444
1583
  return input;
1445
1584
  }
1446
1585
  var isRedactionDisabled = config && config.redactUrls === false;
@@ -1537,7 +1676,7 @@ function newId(maxLength) {
1537
1676
  return result;
1538
1677
  }
1539
1678
 
1540
- var version = '3.4.0-nightlybeta3.2507-22';
1679
+ var version = '3.4.0-nightlybeta3.2601-13';
1541
1680
  var instanceName = "." + newId(6);
1542
1681
  var _dataUid = 0;
1543
1682
  function _canAcceptData(target) {
@@ -2203,96 +2342,6 @@ function onConfigChange(config, configHandler, logger) {
2203
2342
  return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2204
2343
  }
2205
2344
 
2206
- function generateW3CId() {
2207
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2208
- var oct = STR_EMPTY, tmp;
2209
- for (var a = 0; a < 4; a++) {
2210
- tmp = random32();
2211
- oct +=
2212
- hexValues[tmp & 0xF] +
2213
- hexValues[tmp >> 4 & 0xF] +
2214
- hexValues[tmp >> 8 & 0xF] +
2215
- hexValues[tmp >> 12 & 0xF] +
2216
- hexValues[tmp >> 16 & 0xF] +
2217
- hexValues[tmp >> 20 & 0xF] +
2218
- hexValues[tmp >> 24 & 0xF] +
2219
- hexValues[tmp >> 28 & 0xF];
2220
- }
2221
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
2222
- return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
2223
- }
2224
-
2225
- function findAllScripts(doc) {
2226
- var scripts = doc.getElementsByTagName("script");
2227
- var result = [];
2228
- arrForEach(scripts, function (script) {
2229
- var src = script[_DYN_GET_ATTRIBUTE ]("src");
2230
- if (src) {
2231
- var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
2232
- var async = script.hasAttribute("async") === true;
2233
- var defer = script.hasAttribute("defer") === true;
2234
- var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
2235
- var info = { url: src };
2236
- if (crossOrigin) {
2237
- info.crossOrigin = crossOrigin;
2238
- }
2239
- if (async) {
2240
- info.async = async;
2241
- }
2242
- if (defer) {
2243
- info.defer = defer;
2244
- }
2245
- if (referrerPolicy) {
2246
- info.referrerPolicy = referrerPolicy;
2247
- }
2248
- result[_DYN_PUSH ](info);
2249
- }
2250
- });
2251
- return result;
2252
- }
2253
-
2254
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
2255
- if (!theValue && isNullOrUndefined(theValue)) {
2256
- return defaultValue;
2257
- }
2258
- if (isBoolean(theValue)) {
2259
- return theValue;
2260
- }
2261
- return asString(theValue)[_DYN_TO_LOWER_CASE$1 ]() === "true";
2262
- }
2263
- function cfgDfMerge(defaultValue) {
2264
- return {
2265
- mrg: true,
2266
- v: defaultValue
2267
- };
2268
- }
2269
- function cfgDfSet(setter, defaultValue) {
2270
- return {
2271
- set: setter,
2272
- v: defaultValue
2273
- };
2274
- }
2275
- function cfgDfValidate(validator, defaultValue, fallBackName) {
2276
- return {
2277
- fb: fallBackName,
2278
- isVal: validator,
2279
- v: defaultValue
2280
- };
2281
- }
2282
- function cfgDfBoolean(defaultValue, fallBackName) {
2283
- return {
2284
- fb: fallBackName,
2285
- set: _stringToBoolOrDefault,
2286
- v: !!defaultValue
2287
- };
2288
- }
2289
- function cfgDfString(defaultValue) {
2290
- return {
2291
- isVal: isString,
2292
- v: asString(defaultValue || STR_EMPTY)
2293
- };
2294
- }
2295
-
2296
2345
  var _aiNamespace = null;
2297
2346
  function _getExtensionNamespace() {
2298
2347
  var target = getInst("Microsoft");
@@ -2354,7 +2403,7 @@ var _InternalLogMessage = /** @class */ (function () {
2354
2403
  msgId;
2355
2404
  var strProps = STR_EMPTY;
2356
2405
  if (hasJSON()) {
2357
- strProps = getJSON().stringify(properties);
2406
+ strProps = getJSON()[_DYN_STRINGIFY$1 ](properties);
2358
2407
  }
2359
2408
  var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2360
2409
  (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
@@ -2429,6 +2478,9 @@ var DiagnosticLogger = /** @class */ (function () {
2429
2478
  _unloadHandler && _unloadHandler.rm();
2430
2479
  _unloadHandler = null;
2431
2480
  };
2481
+ objDefine(_self, "dbgMode", {
2482
+ g: function () { return _enableDebug; }
2483
+ });
2432
2484
  function _logInternalMessage(severity, message) {
2433
2485
  if (_areInternalMessagesThrottled()) {
2434
2486
  return;
@@ -2515,6 +2567,7 @@ var rootDefaultConfig = (_a$2 = {
2515
2567
  _b.enabled = UNDEFINED_VALUE,
2516
2568
  _b.ignoreCookies = UNDEFINED_VALUE,
2517
2569
  _b.blockedCookies = UNDEFINED_VALUE,
2570
+ _b.disableCookieDefer = false,
2518
2571
  _b)),
2519
2572
  cookieDomain: UNDEFINED_VALUE,
2520
2573
  cookiePath: UNDEFINED_VALUE
@@ -2594,16 +2647,99 @@ function createCookieMgr(rootConfig, logger) {
2594
2647
  var _getCookieFn;
2595
2648
  var _setCookieFn;
2596
2649
  var _delCookieFn;
2650
+ var _pendingCookies = [];
2651
+ function _formatDeletionValue(path) {
2652
+ var _a;
2653
+ var values = (_a = {},
2654
+ _a[STR_PATH] = path ? path : "/",
2655
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2656
+ _a);
2657
+ if (!isIE()) {
2658
+ values["max-age"] = "0";
2659
+ }
2660
+ return _formatCookieValue(STR_EMPTY, values);
2661
+ }
2662
+ function _formatSetCookieValue(value, maxAgeSec, domain, path) {
2663
+ var values = {};
2664
+ var theValue = strTrim(value || STR_EMPTY);
2665
+ var idx = strIndexOf(theValue, ";");
2666
+ if (idx !== -1) {
2667
+ theValue = strTrim(strLeft(value, idx));
2668
+ values = _extractParts(strSubstring(value, idx + 1));
2669
+ }
2670
+ setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2671
+ if (!isNullOrUndefined(maxAgeSec)) {
2672
+ var _isIE = isIE();
2673
+ if (isUndefined(values[strExpires])) {
2674
+ var nowMs = utcNow();
2675
+ var expireMs = nowMs + (maxAgeSec * 1000);
2676
+ if (expireMs > 0) {
2677
+ var expiry = new Date();
2678
+ expiry.setTime(expireMs);
2679
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
2680
+ }
2681
+ }
2682
+ if (!_isIE) {
2683
+ setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
2684
+ }
2685
+ }
2686
+ var location = getLocation();
2687
+ if (location && location.protocol === "https:") {
2688
+ setValue(values, "secure", null, null, isUndefined);
2689
+ if (_allowUaSameSite === null) {
2690
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
2691
+ }
2692
+ if (_allowUaSameSite) {
2693
+ setValue(values, "SameSite", "None", null, isUndefined);
2694
+ }
2695
+ }
2696
+ setValue(values, STR_PATH, path || _path, null, isUndefined);
2697
+ return _formatCookieValue(theValue, values);
2698
+ }
2699
+ function _removePendingCookie(name) {
2700
+ if (_pendingCookies) {
2701
+ for (var i = _pendingCookies[_DYN_LENGTH$2 ] - 1; i >= 0; i--) {
2702
+ if (_pendingCookies[i].n === name) {
2703
+ _pendingCookies[_DYN_SPLICE ](i, 1);
2704
+ }
2705
+ }
2706
+ }
2707
+ }
2708
+ function _flushPendingCookies() {
2709
+ if (areCookiesSupported(logger) && _pendingCookies) {
2710
+ arrForEach(_pendingCookies, function (pendingData) {
2711
+ if (!_isBlockedCookie(cookieMgrConfig, pendingData.n)) {
2712
+ if (pendingData.o === 0 ) {
2713
+ _setCookieFn(pendingData.n, pendingData.v);
2714
+ }
2715
+ else if (pendingData.o === 1 ) {
2716
+ _delCookieFn(pendingData.n, pendingData.v);
2717
+ }
2718
+ }
2719
+ });
2720
+ _pendingCookies = [];
2721
+ }
2722
+ }
2597
2723
  rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2598
2724
  unloadHandler = onConfigChange(rootConfig, function (details) {
2599
2725
  details.setDf(details.cfg, rootDefaultConfig);
2600
2726
  cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
2601
2727
  _path = cookieMgrConfig[STR_PATH ] || "/";
2602
2728
  _domain = cookieMgrConfig[STR_DOMAIN ];
2729
+ if (cookieMgrConfig.disableCookieDefer) {
2730
+ _pendingCookies = null;
2731
+ }
2732
+ else if (_pendingCookies === null) {
2733
+ _pendingCookies = [];
2734
+ }
2735
+ var wasEnabled = _enabled;
2603
2736
  _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;
2604
2737
  _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;
2605
2738
  _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2606
2739
  _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
2740
+ if (!wasEnabled && _enabled && _pendingCookies) {
2741
+ _flushPendingCookies();
2742
+ }
2607
2743
  }, logger);
2608
2744
  var cookieMgr = {
2609
2745
  isEnabled: function () {
@@ -2615,55 +2751,52 @@ function createCookieMgr(rootConfig, logger) {
2615
2751
  return enabled;
2616
2752
  },
2617
2753
  setEnabled: function (value) {
2618
- _enabled = value !== false;
2619
2754
  cookieMgrConfig[_DYN_ENABLED ] = value;
2755
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
2756
+ rootConfig[strDisableCookiesUsage] = !value;
2757
+ }
2620
2758
  },
2621
2759
  set: function (name, value, maxAgeSec, domain, path) {
2622
2760
  var result = false;
2623
- if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
2624
- var values = {};
2625
- var theValue = strTrim(value || STR_EMPTY);
2626
- var idx = strIndexOf(theValue, ";");
2627
- if (idx !== -1) {
2628
- theValue = strTrim(strLeft(value, idx));
2629
- values = _extractParts(strSubstring(value, idx + 1));
2630
- }
2631
- setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2632
- if (!isNullOrUndefined(maxAgeSec)) {
2633
- var _isIE = isIE();
2634
- if (isUndefined(values[strExpires])) {
2635
- var nowMs = utcNow();
2636
- var expireMs = nowMs + (maxAgeSec * 1000);
2637
- if (expireMs > 0) {
2638
- var expiry = new Date();
2639
- expiry.setTime(expireMs);
2640
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
2641
- }
2642
- }
2643
- if (!_isIE) {
2644
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
2645
- }
2761
+ var isBlocked = _isBlockedCookie(cookieMgrConfig, name);
2762
+ if (!isBlocked) {
2763
+ var cookieValue = _formatSetCookieValue(value, maxAgeSec, domain, path);
2764
+ if (_isMgrEnabled(cookieMgr)) {
2765
+ _setCookieFn(name, cookieValue);
2766
+ result = true;
2646
2767
  }
2647
- var location_1 = getLocation();
2648
- if (location_1 && location_1.protocol === "https:") {
2649
- setValue(values, "secure", null, null, isUndefined);
2650
- if (_allowUaSameSite === null) {
2651
- _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
2652
- }
2653
- if (_allowUaSameSite) {
2654
- setValue(values, "SameSite", "None", null, isUndefined);
2655
- }
2768
+ else if (_pendingCookies) {
2769
+ _removePendingCookie(name);
2770
+ _pendingCookies[_DYN_PUSH ]({
2771
+ n: name,
2772
+ o: 0 ,
2773
+ v: cookieValue
2774
+ });
2775
+ result = true;
2656
2776
  }
2657
- setValue(values, STR_PATH, path || _path, null, isUndefined);
2658
- _setCookieFn(name, _formatCookieValue(theValue, values));
2659
- result = true;
2660
2777
  }
2661
2778
  return result;
2662
2779
  },
2663
2780
  get: function (name) {
2664
2781
  var value = STR_EMPTY;
2665
- if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2666
- value = _getCookieFn(name);
2782
+ var isIgnored = _isIgnoredCookie(cookieMgrConfig, name);
2783
+ if (!isIgnored) {
2784
+ if (_isMgrEnabled(cookieMgr)) {
2785
+ value = _getCookieFn(name);
2786
+ }
2787
+ else if (_pendingCookies) {
2788
+ for (var i = _pendingCookies[_DYN_LENGTH$2 ] - 1; i >= 0; i--) {
2789
+ var pendingData = _pendingCookies[i];
2790
+ if (pendingData.n === name) {
2791
+ if (pendingData.o === 0 ) {
2792
+ var cookieValue = pendingData.v;
2793
+ var idx = strIndexOf(cookieValue, ";");
2794
+ value = idx !== -1 ? strTrim(strLeft(cookieValue, idx)) : strTrim(cookieValue);
2795
+ }
2796
+ break;
2797
+ }
2798
+ }
2799
+ }
2667
2800
  }
2668
2801
  return value;
2669
2802
  },
@@ -2672,20 +2805,21 @@ function createCookieMgr(rootConfig, logger) {
2672
2805
  if (_isMgrEnabled(cookieMgr)) {
2673
2806
  result = cookieMgr.purge(name, path);
2674
2807
  }
2808
+ else if (_pendingCookies) {
2809
+ _removePendingCookie(name);
2810
+ _pendingCookies[_DYN_PUSH ]({
2811
+ n: name,
2812
+ o: 1 ,
2813
+ v: _formatDeletionValue(path)
2814
+ });
2815
+ result = true;
2816
+ }
2675
2817
  return result;
2676
2818
  },
2677
2819
  purge: function (name, path) {
2678
- var _a;
2679
2820
  var result = false;
2680
2821
  if (areCookiesSupported(logger)) {
2681
- var values = (_a = {},
2682
- _a[STR_PATH] = path ? path : "/",
2683
- _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2684
- _a);
2685
- if (!isIE()) {
2686
- values["max-age"] = "0";
2687
- }
2688
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
2822
+ _delCookieFn(name, _formatDeletionValue(path));
2689
2823
  result = true;
2690
2824
  }
2691
2825
  return result;
@@ -2693,6 +2827,7 @@ function createCookieMgr(rootConfig, logger) {
2693
2827
  unload: function (isAsync) {
2694
2828
  unloadHandler && unloadHandler.rm();
2695
2829
  unloadHandler = null;
2830
+ _pendingCookies = null;
2696
2831
  }
2697
2832
  };
2698
2833
  cookieMgr[strConfigCookieMgr] = cookieMgr;
@@ -2788,6 +2923,9 @@ function uaDisallowsSameSiteNone(userAgent) {
2788
2923
  return false;
2789
2924
  }
2790
2925
 
2926
+ function _noopVoid() {
2927
+ }
2928
+
2791
2929
  var strExecutionContextKey = "ctx";
2792
2930
  var strParentContextKey = "ParentContextKey";
2793
2931
  var strChildrenContextKey = "ChildrenContextKey";
@@ -2849,7 +2987,7 @@ var PerfEvent = /** @class */ (function () {
2849
2987
  }
2850
2988
  _self.time = utcNow() - _self.start;
2851
2989
  _self.exTime = _self.time - childTime;
2852
- _self.complete = function () { };
2990
+ _self.complete = _noopVoid;
2853
2991
  };
2854
2992
  }
2855
2993
  PerfEvent.ParentContextKey = "parent";
@@ -2900,10 +3038,454 @@ function doPerf(mgrSource, getSource, func, details, isAsync) {
2900
3038
  return func();
2901
3039
  }
2902
3040
 
3041
+ function generateW3CId() {
3042
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
3043
+ var oct = STR_EMPTY, tmp;
3044
+ for (var a = 0; a < 4; a++) {
3045
+ tmp = random32();
3046
+ oct +=
3047
+ hexValues[tmp & 0xF] +
3048
+ hexValues[tmp >> 4 & 0xF] +
3049
+ hexValues[tmp >> 8 & 0xF] +
3050
+ hexValues[tmp >> 12 & 0xF] +
3051
+ hexValues[tmp >> 16 & 0xF] +
3052
+ hexValues[tmp >> 20 & 0xF] +
3053
+ hexValues[tmp >> 24 & 0xF] +
3054
+ hexValues[tmp >> 28 & 0xF];
3055
+ }
3056
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
3057
+ return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + "4" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);
3058
+ }
3059
+
3060
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
3061
+ var INVALID_SPAN_ID = "0000000000000000";
3062
+ function _isValid(value, len, invalidValue) {
3063
+ if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
3064
+ return !!value.match(/^[\da-f]*$/i);
3065
+ }
3066
+ return false;
3067
+ }
3068
+ function isValidTraceId(value) {
3069
+ return _isValid(value, 32, INVALID_TRACE_ID);
3070
+ }
3071
+ function isValidSpanId(value) {
3072
+ return _isValid(value, 16, INVALID_SPAN_ID);
3073
+ }
3074
+ function findAllScripts(doc) {
3075
+ var scripts = doc.getElementsByTagName("script");
3076
+ var result = [];
3077
+ arrForEach(scripts, function (script) {
3078
+ var src = script[_DYN_GET_ATTRIBUTE ]("src");
3079
+ if (src) {
3080
+ var crossOrigin = script[_DYN_GET_ATTRIBUTE ]("crossorigin");
3081
+ var async = script.hasAttribute("async") === true;
3082
+ var defer = script.hasAttribute("defer") === true;
3083
+ var referrerPolicy = script[_DYN_GET_ATTRIBUTE ]("referrerpolicy");
3084
+ var info = { url: src };
3085
+ if (crossOrigin) {
3086
+ info.crossOrigin = crossOrigin;
3087
+ }
3088
+ if (async) {
3089
+ info.async = async;
3090
+ }
3091
+ if (defer) {
3092
+ info.defer = defer;
3093
+ }
3094
+ if (referrerPolicy) {
3095
+ info.referrerPolicy = referrerPolicy;
3096
+ }
3097
+ result[_DYN_PUSH ](info);
3098
+ }
3099
+ });
3100
+ return result;
3101
+ }
3102
+
3103
+ var MAX_TRACE_STATE_MEMBERS = 32;
3104
+ var MAX_TRACE_STATE_LEN = 512;
3105
+ var LCALPHA = "[a-z]";
3106
+ var LCALPHA_DIGIT = "[a-z\\d]";
3107
+ var LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH = "[a-z\\d_\\-*\\/]";
3108
+ var SIMPLE_KEY = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,255})";
3109
+ var TENANT_ID = "(" + LCALPHA_DIGIT + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,240})";
3110
+ var SYSTEM_ID = "(" + LCALPHA + LCALPHA_DIGIT_UNDERSCORE_DASH_STAR_SLASH + "{0,13})";
3111
+ var MULTI_TENANT_KEY = "(" + TENANT_ID + "@" + SYSTEM_ID + ")";
3112
+ var NBLK_CHAR = "\x21-\x2B\\--\x3C\x3E-\x7E";
3113
+ var TRACESTATE_VALUE = "[\x20" + NBLK_CHAR + "]{0,255}[" + NBLK_CHAR + "]";
3114
+ var TRACESTATE_KVP_REGEX = new RegExp("^\\s*((?:" + SIMPLE_KEY + "|" + MULTI_TENANT_KEY + ")=(" + TRACESTATE_VALUE + "))\\s*$");
3115
+ function _parseListMember(value) {
3116
+ if (value) {
3117
+ TRACESTATE_KVP_REGEX.lastIndex = 0;
3118
+ var match = TRACESTATE_KVP_REGEX.exec(value);
3119
+ if (match && match[_DYN_LENGTH$2 ] >= 7 && match[1] && match[6]) {
3120
+ var type = match[3] ? 1 : 0 ;
3121
+ var multiTenant = null;
3122
+ if (type === 1 ) {
3123
+ multiTenant = {
3124
+ tenantId: match[4],
3125
+ systemId: match[5]
3126
+ };
3127
+ }
3128
+ var parts = {
3129
+ type: type,
3130
+ key: match[2],
3131
+ multiTenant: multiTenant,
3132
+ value: match[6]
3133
+ };
3134
+ return parts;
3135
+ }
3136
+ }
3137
+ return null;
3138
+ }
3139
+ function _parseTraceStateList(value) {
3140
+ var items = [];
3141
+ if (value) {
3142
+ var addedKeys_1 = [];
3143
+ arrForEach(strSplit(value, ","), function (member) {
3144
+ var parts = _parseListMember(member);
3145
+ if (parts) {
3146
+ if (arrIndexOf(addedKeys_1, parts.key) === -1) {
3147
+ items[_DYN_PUSH ](parts);
3148
+ addedKeys_1[_DYN_PUSH ](parts.key);
3149
+ if (items[_DYN_LENGTH$2 ] >= MAX_TRACE_STATE_MEMBERS) {
3150
+ return -1;
3151
+ }
3152
+ }
3153
+ }
3154
+ });
3155
+ }
3156
+ return items;
3157
+ }
3158
+ function _indexOf(items, key) {
3159
+ for (var lp = 0; lp < items[_DYN_LENGTH$2 ]; lp++) {
3160
+ if (items[lp].key === key) {
3161
+ return lp;
3162
+ }
3163
+ }
3164
+ return -1;
3165
+ }
3166
+ function _keys(items, parent) {
3167
+ var keys = [];
3168
+ var delKeys = [];
3169
+ arrForEach(items, function (member) {
3170
+ if (member[_DYN_VALUE ] != null) {
3171
+ keys[_DYN_PUSH ](member.key);
3172
+ }
3173
+ else {
3174
+ delKeys[_DYN_PUSH ](member.key);
3175
+ }
3176
+ });
3177
+ if (parent) {
3178
+ arrForEach(parent.keys, function (key) {
3179
+ if (arrIndexOf(keys, key) === -1 && arrIndexOf(delKeys, key) === -1) {
3180
+ keys[_DYN_PUSH ](key);
3181
+ }
3182
+ });
3183
+ }
3184
+ return keys;
3185
+ }
3186
+ function _isEmpty(items, parent) {
3187
+ var delKeys;
3188
+ var isEmpty = true;
3189
+ if (items && items[_DYN_LENGTH$2 ] > 0) {
3190
+ arrForEach(items, function (member) {
3191
+ if (member[_DYN_VALUE ] != null) {
3192
+ isEmpty = false;
3193
+ }
3194
+ else {
3195
+ if (!delKeys) {
3196
+ delKeys = [];
3197
+ }
3198
+ delKeys[_DYN_PUSH ](member.key);
3199
+ }
3200
+ });
3201
+ }
3202
+ if (isEmpty && parent) {
3203
+ isEmpty = parent.isEmpty;
3204
+ if (!isEmpty && delKeys && delKeys[_DYN_LENGTH$2 ] > 0) {
3205
+ isEmpty = true;
3206
+ arrForEach(parent.keys, function (key) {
3207
+ if (arrIndexOf(delKeys, key) === -1) {
3208
+ isEmpty = false;
3209
+ return -1;
3210
+ }
3211
+ });
3212
+ }
3213
+ }
3214
+ return isEmpty;
3215
+ }
3216
+ function createW3cTraceState(value, parent) {
3217
+ var cachedItems = safeGetDeferred(_parseTraceStateList, [], [value || STR_EMPTY]);
3218
+ function _get(key) {
3219
+ var value;
3220
+ var theItems = cachedItems.v;
3221
+ var idx = _indexOf(theItems, key);
3222
+ if (idx !== -1) {
3223
+ var itmValue = theItems[idx][_DYN_VALUE ];
3224
+ if (itmValue != null) {
3225
+ value = itmValue;
3226
+ }
3227
+ }
3228
+ else if (parent) {
3229
+ value = parent.get(key);
3230
+ }
3231
+ return value;
3232
+ }
3233
+ function _setMember(member) {
3234
+ if (member) {
3235
+ var theItems = cachedItems.v;
3236
+ var idx = _indexOf(theItems, member.key);
3237
+ if (idx !== -1) {
3238
+ theItems[_DYN_SPLICE ](idx, 1);
3239
+ }
3240
+ theItems.unshift(member);
3241
+ cachedItems = createCachedValue(theItems);
3242
+ return 0;
3243
+ }
3244
+ return -1;
3245
+ }
3246
+ function _set(key, value) {
3247
+ var member;
3248
+ if (key && isString(key) && !isNullOrUndefined(value) && isString(value)) {
3249
+ member = _parseListMember(key + "=" + value);
3250
+ }
3251
+ return _setMember(member);
3252
+ }
3253
+ function _del(key) {
3254
+ _setMember({
3255
+ type: 2 ,
3256
+ key: key
3257
+ });
3258
+ }
3259
+ function _headers(maxHeaders, maxKeys, maxLen) {
3260
+ var results = [];
3261
+ var result = STR_EMPTY;
3262
+ var numKeys = 0;
3263
+ var len = 0;
3264
+ maxKeys = maxKeys || MAX_TRACE_STATE_MEMBERS;
3265
+ maxLen = maxLen || MAX_TRACE_STATE_LEN;
3266
+ var theItems = cachedItems.v;
3267
+ arrForEach(_keys(theItems, parent), function (key) {
3268
+ var value = _get(key);
3269
+ if (!isNullOrUndefined(value) && isString(value)) {
3270
+ numKeys++;
3271
+ var val = key + "=" + value;
3272
+ var valLen = val[_DYN_LENGTH$2 ];
3273
+ if (len + 1 + valLen >= maxLen) {
3274
+ results[_DYN_PUSH ](result);
3275
+ if (maxHeaders && results[_DYN_LENGTH$2 ] <= maxHeaders) {
3276
+ return -1;
3277
+ }
3278
+ result = STR_EMPTY;
3279
+ len = 0;
3280
+ }
3281
+ if (result[_DYN_LENGTH$2 ] > 0) {
3282
+ result += ",";
3283
+ len++;
3284
+ }
3285
+ result += val;
3286
+ len += valLen;
3287
+ if (numKeys >= maxKeys) {
3288
+ return -1;
3289
+ }
3290
+ }
3291
+ });
3292
+ if (result) {
3293
+ results[_DYN_PUSH ](result);
3294
+ }
3295
+ return results;
3296
+ }
3297
+ var traceStateList = {
3298
+ keys: [],
3299
+ isEmpty: false,
3300
+ get: _get,
3301
+ set: _set,
3302
+ del: _del,
3303
+ hdrs: _headers,
3304
+ child: function () { return createW3cTraceState(null, traceStateList); }
3305
+ };
3306
+ function _toString() {
3307
+ var headers = traceStateList.hdrs(1);
3308
+ return headers[_DYN_LENGTH$2 ] > 0 ? headers[0] : STR_EMPTY;
3309
+ }
3310
+ objDefineProps(traceStateList, {
3311
+ "keys": {
3312
+ g: function () { return _keys(cachedItems.v, parent); }
3313
+ },
3314
+ "isEmpty": {
3315
+ g: function () { return _isEmpty(cachedItems.v, parent); }
3316
+ },
3317
+ "toString": {
3318
+ v: _toString,
3319
+ e: false
3320
+ },
3321
+ "_p": {
3322
+ v: parent,
3323
+ e: false
3324
+ }
3325
+ });
3326
+ setObjStringTag(traceStateList, _toString);
3327
+ return traceStateList;
3328
+ }
3329
+
2903
3330
  var pluginStateData = createElmNodeData("plugin");
2904
3331
  function _getPluginState(plugin) {
2905
3332
  return pluginStateData.get(plugin, "state", {}, true);
2906
3333
  }
3334
+ function isDistributedTraceContext(obj) {
3335
+ return obj &&
3336
+ isFunction(obj.getName) &&
3337
+ isFunction(obj.getTraceId) &&
3338
+ isFunction(obj.getSpanId) &&
3339
+ isFunction(obj.getTraceFlags) &&
3340
+ isFunction(obj.setName) &&
3341
+ isFunction(obj.setTraceId) &&
3342
+ isFunction(obj.setSpanId) &&
3343
+ isFunction(obj[_DYN_SET_TRACE_FLAGS ]);
3344
+ }
3345
+ function createDistributedTraceContext(parent) {
3346
+ var _a;
3347
+ var parentCtx = null;
3348
+ var initCtx = null;
3349
+ var traceId = (parent && isValidTraceId(parent[_DYN_TRACE_ID ])) ? parent[_DYN_TRACE_ID ] : generateW3CId();
3350
+ var spanId = (parent && isValidSpanId(parent[_DYN_SPAN_ID ])) ? parent[_DYN_SPAN_ID ] : STR_EMPTY;
3351
+ var traceFlags = parent ? parent[_DYN_TRACE_FLAGS ] : UNDEFINED_VALUE;
3352
+ var isRemote = parent ? parent.isRemote : false;
3353
+ var pageName = STR_EMPTY;
3354
+ var traceState = null;
3355
+ if (parent) {
3356
+ if (isDistributedTraceContext(parent)) {
3357
+ parentCtx = parent;
3358
+ pageName = parentCtx.getName();
3359
+ }
3360
+ else {
3361
+ initCtx = parent;
3362
+ }
3363
+ }
3364
+ if (!pageName) {
3365
+ pageName = "_unknown_";
3366
+ var location_1 = getLocation();
3367
+ if (location_1 && location_1.pathname) {
3368
+ pageName = location_1.pathname + (location_1.hash || "");
3369
+ }
3370
+ }
3371
+ function _getName() {
3372
+ return pageName;
3373
+ }
3374
+ function _setPageNameFn(updateParent) {
3375
+ return function (newValue) {
3376
+ if (updateParent) {
3377
+ parentCtx && parentCtx.setName(newValue);
3378
+ }
3379
+ pageName = newValue;
3380
+ };
3381
+ }
3382
+ function _getTraceId() {
3383
+ return traceId;
3384
+ }
3385
+ function _setTraceIdFn(updateParent) {
3386
+ return function (newValue) {
3387
+ if (updateParent) {
3388
+ parentCtx && parentCtx.setTraceId(newValue);
3389
+ }
3390
+ if (isValidTraceId(newValue)) {
3391
+ traceId = newValue;
3392
+ }
3393
+ };
3394
+ }
3395
+ function _getSpanId() {
3396
+ return spanId;
3397
+ }
3398
+ function _setSpanIdFn(updateParent) {
3399
+ return function (newValue) {
3400
+ if (updateParent) {
3401
+ parentCtx && parentCtx.setSpanId(newValue);
3402
+ }
3403
+ if (isValidSpanId(newValue)) {
3404
+ spanId = newValue;
3405
+ }
3406
+ };
3407
+ }
3408
+ function _getTraceFlags() {
3409
+ return traceFlags;
3410
+ }
3411
+ function _setTraceFlagsFn(updateParent) {
3412
+ return function (newTraceFlags) {
3413
+ if (updateParent) {
3414
+ parentCtx && parentCtx[_DYN_SET_TRACE_FLAGS ](newTraceFlags);
3415
+ }
3416
+ traceFlags = newTraceFlags;
3417
+ };
3418
+ }
3419
+ function _getTraceState() {
3420
+ if (!traceState) {
3421
+ traceState = createW3cTraceState(STR_EMPTY, parentCtx ? parentCtx.traceState : (initCtx ? initCtx.traceState : undefined));
3422
+ }
3423
+ return traceState;
3424
+ }
3425
+ var traceCtx = setProtoTypeName((_a = {
3426
+ getName: _getName,
3427
+ setName: _setPageNameFn(true),
3428
+ getTraceId: _getTraceId,
3429
+ setTraceId: _setTraceIdFn(true),
3430
+ getSpanId: _getSpanId,
3431
+ setSpanId: _setSpanIdFn(true),
3432
+ getTraceFlags: _getTraceFlags
3433
+ },
3434
+ _a[_DYN_SET_TRACE_FLAGS ] = _setTraceFlagsFn(true),
3435
+ _a.traceId = traceId,
3436
+ _a.spanId = spanId,
3437
+ _a.traceFlags = traceFlags,
3438
+ _a.traceState = traceState,
3439
+ _a.isRemote = isRemote,
3440
+ _a.pageName = pageName,
3441
+ _a), "DistributedTraceContext");
3442
+ return objDefineProps(traceCtx, {
3443
+ pageName: {
3444
+ g: _getName,
3445
+ s: _setPageNameFn(false)
3446
+ },
3447
+ traceId: {
3448
+ g: _getTraceId,
3449
+ s: _setTraceIdFn(false)
3450
+ },
3451
+ spanId: {
3452
+ g: _getSpanId,
3453
+ s: _setSpanIdFn(false)
3454
+ },
3455
+ traceFlags: {
3456
+ g: _getTraceFlags,
3457
+ s: _setTraceFlagsFn(false)
3458
+ },
3459
+ isRemote: {
3460
+ v: isRemote,
3461
+ w: false
3462
+ },
3463
+ traceState: {
3464
+ g: _getTraceState
3465
+ },
3466
+ parentCtx: {
3467
+ g: function () { return parentCtx; }
3468
+ },
3469
+ _parent: {
3470
+ g: function () {
3471
+ var result;
3472
+ if (parentCtx) {
3473
+ result = {
3474
+ t: "traceCtx",
3475
+ v: parentCtx
3476
+ };
3477
+ }
3478
+ else if (initCtx) {
3479
+ result = {
3480
+ t: "initCtx",
3481
+ v: initCtx
3482
+ };
3483
+ }
3484
+ return result;
3485
+ }
3486
+ }
3487
+ });
3488
+ }
2907
3489
 
2908
3490
  var strTelemetryPluginChain = "TelemetryPluginChain";
2909
3491
  var strHasRunFlags = "_hasRun";
@@ -2916,7 +3498,7 @@ function _getNextProxyStart(proxy, core, startAt) {
2916
3498
  }
2917
3499
  proxy = proxy[_DYN_GET_NEXT ]();
2918
3500
  }
2919
- return createTelemetryProxyChain([startAt], core.config || {}, core);
3501
+ return createTelemetryProxyChain([startAt], core[_DYN_CONFIG$1 ] || {}, core);
2920
3502
  }
2921
3503
  function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2922
3504
  var _nextProxy = null;
@@ -3068,7 +3650,7 @@ function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {
3068
3650
  return context;
3069
3651
  }
3070
3652
  function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
3071
- var config = createDynamicConfig(core.config);
3653
+ var config = createDynamicConfig(core[_DYN_CONFIG$1 ]);
3072
3654
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
3073
3655
  var context = internalContext.ctx;
3074
3656
  function _processNext(unloadState) {
@@ -3088,7 +3670,7 @@ function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
3088
3670
  return context;
3089
3671
  }
3090
3672
  function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {
3091
- var config = createDynamicConfig(core.config);
3673
+ var config = createDynamicConfig(core[_DYN_CONFIG$1 ]);
3092
3674
  var internalContext = _createInternalContext(telemetryChain, config, core, startAt);
3093
3675
  var context = internalContext.ctx;
3094
3676
  function _processNext(updateState) {
@@ -3136,6 +3718,7 @@ function createTelemetryProxyChain(plugins, config, core, startAt) {
3136
3718
  return firstProxy;
3137
3719
  }
3138
3720
  function createTelemetryPluginProxy(plugin, config, core) {
3721
+ var _a;
3139
3722
  var nextProxy = null;
3140
3723
  var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY ]);
3141
3724
  var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN ]);
@@ -3146,21 +3729,22 @@ function createTelemetryPluginProxy(plugin, config, core) {
3146
3729
  else {
3147
3730
  chainId = "Unknown-0-" + _chainId++;
3148
3731
  }
3149
- var proxyChain = {
3150
- getPlugin: function () {
3151
- return plugin;
3152
- },
3153
- getNext: function () {
3154
- return nextProxy;
3732
+ var proxyChain = (_a = {
3733
+ getPlugin: function () {
3734
+ return plugin;
3735
+ },
3736
+ getNext: function () {
3737
+ return nextProxy;
3738
+ }
3155
3739
  },
3156
- processTelemetry: _processTelemetry,
3157
- unload: _unloadPlugin,
3158
- update: _updatePlugin,
3159
- _id: chainId,
3160
- _setNext: function (nextPlugin) {
3740
+ _a[STR_PROCESS_TELEMETRY ] = _processTelemetry,
3741
+ _a.unload = _unloadPlugin,
3742
+ _a.update = _updatePlugin,
3743
+ _a._id = chainId,
3744
+ _a._setNext = function (nextPlugin) {
3161
3745
  nextProxy = nextPlugin;
3162
- }
3163
- };
3746
+ },
3747
+ _a);
3164
3748
  function _getTelCtx() {
3165
3749
  var itemCtx;
3166
3750
  if (plugin && isFunction(plugin[strGetTelCtx])) {
@@ -3239,7 +3823,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3239
3823
  }
3240
3824
  return hasRun;
3241
3825
  }
3242
- if (!_processChain(unloadCtx, _callTeardown, "unload", function () { }, unloadState.isAsync)) {
3826
+ if (!_processChain(unloadCtx, _callTeardown, "unload", _noopVoid, unloadState.isAsync)) {
3243
3827
  unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
3244
3828
  }
3245
3829
  }
@@ -3257,7 +3841,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3257
3841
  }
3258
3842
  return hasRun;
3259
3843
  }
3260
- if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
3844
+ if (!_processChain(updateCtx, _callUpdate, "update", _noopVoid, false)) {
3261
3845
  updateCtx[_DYN_PROCESS_NEXT ](updateState);
3262
3846
  }
3263
3847
  }
@@ -3499,7 +4083,7 @@ function _getEvtNamespace(eventName, evtNamespace) {
3499
4083
  var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
3500
4084
  return {
3501
4085
  type: parsedEvent[1],
3502
- ns: ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join(".")
4086
+ ns: ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY).split(".").sort())[_DYN_JOIN ](".")
3503
4087
  };
3504
4088
  }
3505
4089
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -3567,7 +4151,7 @@ function mergeEvtNamespace(theNamespace, namespaces) {
3567
4151
  var newNamespaces;
3568
4152
  if (namespaces) {
3569
4153
  if (isArray(namespaces)) {
3570
- newNamespaces = [theNamespace].concat(namespaces);
4154
+ newNamespaces = [theNamespace][_DYN_CONCAT ](namespaces);
3571
4155
  }
3572
4156
  else {
3573
4157
  newNamespaces = [theNamespace, namespaces];
@@ -3761,18 +4345,40 @@ function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParent
3761
4345
  return null;
3762
4346
  }
3763
4347
 
4348
+ function isTimeSpan(value) {
4349
+ var result = false;
4350
+ if (isString(value)) {
4351
+ var parts = strSplit(value, ":");
4352
+ if (parts[_DYN_LENGTH$2 ] === 3) {
4353
+ var daysHours = strSplit(parts[0], ".");
4354
+ if (daysHours[_DYN_LENGTH$2 ] === 2) {
4355
+ result = !isNaN(parseInt(daysHours[0] || "0")) && !isNaN(parseInt(daysHours[1] || "0"));
4356
+ }
4357
+ else {
4358
+ result = !isNaN(parseInt(daysHours[0] || "0"));
4359
+ }
4360
+ result = result && !isNaN(parseInt(parts[1] || "0"));
4361
+ var secondsParts = strSplit(parts[2], ".");
4362
+ if (secondsParts[_DYN_LENGTH$2 ] === 2) {
4363
+ result = result && !isNaN(parseInt(secondsParts[0] || "0")) && !isNaN(parseInt(secondsParts[1] || "0"));
4364
+ }
4365
+ else {
4366
+ result = result && !isNaN(parseInt(secondsParts[0] || "0"));
4367
+ }
4368
+ }
4369
+ }
4370
+ return result;
4371
+ }
4372
+
3764
4373
  var strNotSpecified = "not_specified";
3765
4374
  var strIkey = "iKey";
3766
4375
 
3767
4376
  var _DYN_SPLIT = "split";
3768
4377
  var _DYN_LENGTH$1 = "length";
3769
- var _DYN_TO_LOWER_CASE = "toLowerCase";
3770
4378
  var _DYN_TO_STRING$1 = "toString";
3771
4379
  var _DYN_REMOVE_ITEM = "removeItem";
3772
4380
  var _DYN_MESSAGE = "message";
3773
- var _DYN_COUNT = "count";
3774
4381
  var _DYN_STRINGIFY = "stringify";
3775
- var _DYN_PATHNAME = "pathname";
3776
4382
  var _DYN_MATCH = "match";
3777
4383
  var _DYN_NAME = "name";
3778
4384
  var _DYN_PROPERTIES$1 = "properties";
@@ -3788,7 +4394,6 @@ var _DYN_ASSEMBLY = "assembly";
3788
4394
  var _DYN_FILE_NAME = "fileName";
3789
4395
  var _DYN_LINE = "line";
3790
4396
  var _DYN_AI_DATA_CONTRACT = "aiDataContract";
3791
- var _DYN_DURATION$1 = "duration";
3792
4397
 
3793
4398
  function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
3794
4399
  var origLength = key[_DYN_LENGTH$1 ];
@@ -3828,12 +4433,6 @@ function dataSanitizeString(logger, value, maxLength) {
3828
4433
  }
3829
4434
  return valueTrunc || value;
3830
4435
  }
3831
- function dataSanitizeUrl(logger, url, config) {
3832
- if (isString(url)) {
3833
- url = fieldRedaction(url, config);
3834
- }
3835
- return dataSanitizeInput(logger, url, 2048 , 66 );
3836
- }
3837
4436
  function dataSanitizeMessage(logger, message) {
3838
4437
  var messageTrunc;
3839
4438
  if (message) {
@@ -3886,107 +4485,11 @@ function dataSanitizeMeasurements(logger, measurements) {
3886
4485
  }
3887
4486
  return measurements;
3888
4487
  }
3889
- function dataSanitizeId(logger, id) {
3890
- return id ? dataSanitizeInput(logger, id, 128 , 69 )[_DYN_TO_STRING$1 ]() : id;
3891
- }
3892
- function dataSanitizeInput(logger, input, maxLength, _msgId) {
3893
- var inputTrunc;
3894
- if (input) {
3895
- input = strTrim(asString(input));
3896
- if (input[_DYN_LENGTH$1 ] > maxLength) {
3897
- inputTrunc = strSubstring(input, 0, maxLength);
3898
- _throwInternal(logger, 2 , _msgId, "input is too long, it has been truncated to " + maxLength + " characters.", { data: input }, true);
3899
- }
3900
- }
3901
- return inputTrunc || input;
3902
- }
3903
4488
  function dsPadNumber(num) {
3904
4489
  var s = "00" + num;
3905
4490
  return strSubstr(s, s[_DYN_LENGTH$1 ] - 3);
3906
4491
  }
3907
4492
 
3908
- var _document = getDocument() || {};
3909
- var _htmlAnchorIdx = 0;
3910
- var _htmlAnchorElement = [null, null, null, null, null];
3911
- function urlParseUrl(url) {
3912
- var anchorIdx = _htmlAnchorIdx;
3913
- var anchorCache = _htmlAnchorElement;
3914
- var tempAnchor = anchorCache[anchorIdx];
3915
- if (!_document.createElement) {
3916
- tempAnchor = { host: urlParseHost(url, true) };
3917
- }
3918
- else if (!anchorCache[anchorIdx]) {
3919
- tempAnchor = anchorCache[anchorIdx] = _document.createElement("a");
3920
- }
3921
- tempAnchor.href = url;
3922
- anchorIdx++;
3923
- if (anchorIdx >= anchorCache[_DYN_LENGTH$1 ]) {
3924
- anchorIdx = 0;
3925
- }
3926
- _htmlAnchorIdx = anchorIdx;
3927
- return tempAnchor;
3928
- }
3929
- function urlParseHost(url, inclPort) {
3930
- var fullHost = urlParseFullHost(url, inclPort) || "";
3931
- if (fullHost) {
3932
- var match = fullHost[_DYN_MATCH ](/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
3933
- if (match != null && match[_DYN_LENGTH$1 ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
3934
- return match[2] + (match[3] || "");
3935
- }
3936
- }
3937
- return fullHost;
3938
- }
3939
- function urlParseFullHost(url, inclPort) {
3940
- var result = null;
3941
- if (url) {
3942
- var match = url[_DYN_MATCH ](/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
3943
- if (match != null && match[_DYN_LENGTH$1 ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH$1 ] > 0) {
3944
- result = match[2] || "";
3945
- if (inclPort && match[_DYN_LENGTH$1 ] > 2) {
3946
- var protocol = (match[1] || "")[_DYN_TO_LOWER_CASE ]();
3947
- var port = match[3] || "";
3948
- if (protocol === "http" && port === ":80") {
3949
- port = "";
3950
- }
3951
- else if (protocol === "https" && port === ":443") {
3952
- port = "";
3953
- }
3954
- result += port;
3955
- }
3956
- }
3957
- }
3958
- return result;
3959
- }
3960
-
3961
- function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {
3962
- var target, name = commandName, data = commandName;
3963
- if (absoluteUrl && absoluteUrl[_DYN_LENGTH$1 ] > 0) {
3964
- var parsedUrl = urlParseUrl(absoluteUrl);
3965
- target = parsedUrl.host;
3966
- if (!name) {
3967
- if (parsedUrl[_DYN_PATHNAME ] != null) {
3968
- var pathName = (parsedUrl.pathname[_DYN_LENGTH$1 ] === 0) ? "/" : parsedUrl[_DYN_PATHNAME ];
3969
- if (pathName.charAt(0) !== "/") {
3970
- pathName = "/" + pathName;
3971
- }
3972
- data = parsedUrl[_DYN_PATHNAME ];
3973
- name = dataSanitizeString(logger, method ? method + " " + pathName : pathName);
3974
- }
3975
- else {
3976
- name = dataSanitizeString(logger, absoluteUrl);
3977
- }
3978
- }
3979
- }
3980
- else {
3981
- target = commandName;
3982
- name = commandName;
3983
- }
3984
- return {
3985
- target: target,
3986
- name: name,
3987
- data: data
3988
- };
3989
- }
3990
4493
  function dateTimeUtilsDuration(start, end) {
3991
4494
  var result = null;
3992
4495
  if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {
@@ -4093,24 +4596,24 @@ function utlRemoveSessionStorage(logger, name) {
4093
4596
  return false;
4094
4597
  }
4095
4598
 
4096
- var Event$1 = /** @class */ (function () {
4097
- function Event(logger, name, properties, measurements) {
4098
- this.aiDataContract = {
4099
- ver: 1 ,
4100
- name: 1 ,
4101
- properties: 0 ,
4102
- measurements: 0
4103
- };
4104
- var _self = this;
4105
- _self.ver = 2;
4106
- _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
4107
- _self[_DYN_PROPERTIES$1 ] = dataSanitizeProperties(logger, properties);
4108
- _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
4109
- }
4110
- Event.envelopeType = "Microsoft.ApplicationInsights.{0}.Event";
4111
- Event.dataType = "EventData";
4112
- return Event;
4113
- }());
4599
+ var EventDataType = "EventData";
4600
+ var ExceptionDataType = "ExceptionData";
4601
+ var MetricDataType = "MetricData";
4602
+ var PageViewDataType = "PageviewData";
4603
+ var PageViewPerformanceDataType = "PageviewPerformanceData";
4604
+ var RemoteDependencyDataType = "RemoteDependencyData";
4605
+ var TraceDataType = "MessageData";
4606
+
4607
+ /* #__NO_SIDE_EFFECTS__# */
4608
+ function _AddPrefix(name) {
4609
+ return "Microsoft.ApplicationInsights.{0}." + name;
4610
+ }
4611
+ var EventEnvelopeType = ( _AddPrefix("Event"));
4612
+ var ExceptionEnvelopeType = ( _AddPrefix("Exception"));
4613
+ var MetricEnvelopeType = ( _AddPrefix("Metric"));
4614
+ var PageViewEnvelopeType = ( _AddPrefix("Pageview"));
4615
+ var PageViewPerformanceEnvelopeType = ( _AddPrefix("PageviewPerformance"));
4616
+ var TraceEnvelopeType = ( _AddPrefix("Message"));
4114
4617
 
4115
4618
  var STACKFRAME_BASE_SIZE = 58;
4116
4619
  var IS_FRAME = /^\s{0,50}(from\s|at\s|Line\s{1,5}\d{1,10}\s{1,5}of|\w{1,50}@\w{1,80}|[^\(\s\n]+:[0-9\?]+(?::[0-9\?]+)?)/;
@@ -4475,8 +4978,8 @@ var Exception = /** @class */ (function () {
4475
4978
  ]
4476
4979
  };
4477
4980
  };
4478
- Exception.envelopeType = "Microsoft.ApplicationInsights.{0}.Exception";
4479
- Exception.dataType = "ExceptionData";
4981
+ Exception.envelopeType = ExceptionEnvelopeType;
4982
+ Exception.dataType = ExceptionDataType;
4480
4983
  Exception.formatError = _formatErrorCode;
4481
4984
  return Exception;
4482
4985
  }());
@@ -4691,49 +5194,11 @@ function _parsedFrameToInterface(frame) {
4691
5194
  };
4692
5195
  }
4693
5196
 
4694
- var DataPoint = /** @class */ (function () {
4695
- function DataPoint() {
4696
- this.aiDataContract = {
4697
- name: 1 ,
4698
- kind: 0 ,
4699
- value: 1 ,
4700
- count: 0 ,
4701
- min: 0 ,
4702
- max: 0 ,
4703
- stdDev: 0
4704
- };
4705
- this.kind = 0 ;
4706
- }
4707
- return DataPoint;
4708
- }());
4709
-
4710
- var Metric = /** @class */ (function () {
4711
- function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {
4712
- this.aiDataContract = {
4713
- ver: 1 ,
4714
- metrics: 1 ,
4715
- properties: 0
4716
- };
4717
- var _self = this;
4718
- _self.ver = 2;
4719
- var dataPoint = new DataPoint();
4720
- dataPoint[_DYN_COUNT ] = count > 0 ? count : undefined;
4721
- dataPoint.max = isNaN(max) || max === null ? undefined : max;
4722
- dataPoint.min = isNaN(min) || min === null ? undefined : min;
4723
- dataPoint[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
4724
- dataPoint.value = value;
4725
- dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;
4726
- _self.metrics = [dataPoint];
4727
- _self[_DYN_PROPERTIES$1 ] = dataSanitizeProperties(logger, properties);
4728
- _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
4729
- }
4730
- Metric.envelopeType = "Microsoft.ApplicationInsights.{0}.Metric";
4731
- Metric.dataType = "MetricData";
4732
- return Metric;
4733
- }());
4734
-
4735
5197
  var strEmpty = "";
4736
5198
  function msToTimeSpan(totalms) {
5199
+ if (isTimeSpan(totalms)) {
5200
+ return totalms;
5201
+ }
4737
5202
  if (isNaN(totalms) || totalms < 0) {
4738
5203
  totalms = 0;
4739
5204
  }
@@ -4753,139 +5218,6 @@ function isCrossOriginError(message, url, lineNumber, columnNumber, error) {
4753
5218
  return !error && isString(message) && (message === "Script error." || message === "Script error");
4754
5219
  }
4755
5220
 
4756
- var PageView = /** @class */ (function () {
4757
- function PageView(logger, name, url, durationMs, properties, measurements, id) {
4758
- this.aiDataContract = {
4759
- ver: 1 ,
4760
- name: 0 ,
4761
- url: 0 ,
4762
- duration: 0 ,
4763
- properties: 0 ,
4764
- measurements: 0 ,
4765
- id: 0
4766
- };
4767
- var _self = this;
4768
- _self.ver = 2;
4769
- _self.id = dataSanitizeId(logger, id);
4770
- _self.url = dataSanitizeUrl(logger, url);
4771
- _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
4772
- if (!isNaN(durationMs)) {
4773
- _self[_DYN_DURATION$1 ] = msToTimeSpan(durationMs);
4774
- }
4775
- _self[_DYN_PROPERTIES$1 ] = dataSanitizeProperties(logger, properties);
4776
- _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
4777
- }
4778
- PageView.envelopeType = "Microsoft.ApplicationInsights.{0}.Pageview";
4779
- PageView.dataType = "PageviewData";
4780
- return PageView;
4781
- }());
4782
-
4783
- var RemoteDependencyData = /** @class */ (function () {
4784
- function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {
4785
- if (requestAPI === void 0) { requestAPI = "Ajax"; }
4786
- this.aiDataContract = {
4787
- id: 1 ,
4788
- ver: 1 ,
4789
- name: 0 ,
4790
- resultCode: 0 ,
4791
- duration: 0 ,
4792
- success: 0 ,
4793
- data: 0 ,
4794
- target: 0 ,
4795
- type: 0 ,
4796
- properties: 0 ,
4797
- measurements: 0 ,
4798
- kind: 0 ,
4799
- value: 0 ,
4800
- count: 0 ,
4801
- min: 0 ,
4802
- max: 0 ,
4803
- stdDev: 0 ,
4804
- dependencyKind: 0 ,
4805
- dependencySource: 0 ,
4806
- commandName: 0 ,
4807
- dependencyTypeName: 0
4808
- };
4809
- var _self = this;
4810
- _self.ver = 2;
4811
- _self.id = id;
4812
- _self[_DYN_DURATION$1 ] = msToTimeSpan(value);
4813
- _self.success = success;
4814
- _self.resultCode = resultCode + "";
4815
- _self.type = dataSanitizeString(logger, requestAPI);
4816
- var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
4817
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
4818
- _self.target = dataSanitizeString(logger, dependencyFields.target);
4819
- if (correlationContext) {
4820
- _self.target = "".concat(_self.target, " | ").concat(correlationContext);
4821
- }
4822
- _self[_DYN_NAME ] = dataSanitizeString(logger, dependencyFields[_DYN_NAME ]);
4823
- _self[_DYN_PROPERTIES$1 ] = dataSanitizeProperties(logger, properties);
4824
- _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
4825
- }
4826
- RemoteDependencyData.envelopeType = "Microsoft.ApplicationInsights.{0}.RemoteDependency";
4827
- RemoteDependencyData.dataType = "RemoteDependencyData";
4828
- return RemoteDependencyData;
4829
- }());
4830
-
4831
- var Trace = /** @class */ (function () {
4832
- function Trace(logger, message, severityLevel, properties, measurements) {
4833
- this.aiDataContract = {
4834
- ver: 1 ,
4835
- message: 1 ,
4836
- severityLevel: 0 ,
4837
- properties: 0
4838
- };
4839
- var _self = this;
4840
- _self.ver = 2;
4841
- message = message || strNotSpecified;
4842
- _self[_DYN_MESSAGE ] = dataSanitizeMessage(logger, message);
4843
- _self[_DYN_PROPERTIES$1 ] = dataSanitizeProperties(logger, properties);
4844
- _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
4845
- if (severityLevel) {
4846
- _self[_DYN_SEVERITY_LEVEL ] = severityLevel;
4847
- }
4848
- }
4849
- Trace.envelopeType = "Microsoft.ApplicationInsights.{0}.Message";
4850
- Trace.dataType = "MessageData";
4851
- return Trace;
4852
- }());
4853
-
4854
- var PageViewPerformance = /** @class */ (function () {
4855
- function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {
4856
- this.aiDataContract = {
4857
- ver: 1 ,
4858
- name: 0 ,
4859
- url: 0 ,
4860
- duration: 0 ,
4861
- perfTotal: 0 ,
4862
- networkConnect: 0 ,
4863
- sentRequest: 0 ,
4864
- receivedResponse: 0 ,
4865
- domProcessing: 0 ,
4866
- properties: 0 ,
4867
- measurements: 0
4868
- };
4869
- var _self = this;
4870
- _self.ver = 2;
4871
- _self.url = dataSanitizeUrl(logger, url);
4872
- _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
4873
- _self[_DYN_PROPERTIES$1 ] = dataSanitizeProperties(logger, properties);
4874
- _self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
4875
- if (cs4BaseData) {
4876
- _self.domProcessing = cs4BaseData.domProcessing;
4877
- _self[_DYN_DURATION$1 ] = cs4BaseData[_DYN_DURATION$1 ];
4878
- _self.networkConnect = cs4BaseData.networkConnect;
4879
- _self.perfTotal = cs4BaseData.perfTotal;
4880
- _self.receivedResponse = cs4BaseData.receivedResponse;
4881
- _self.sentRequest = cs4BaseData.sentRequest;
4882
- }
4883
- }
4884
- PageViewPerformance.envelopeType = "Microsoft.ApplicationInsights.{0}.PageviewPerformance";
4885
- PageViewPerformance.dataType = "PageviewPerformanceData";
4886
- return PageViewPerformance;
4887
- }());
4888
-
4889
5221
  function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {
4890
5222
  envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
4891
5223
  if (isNullOrUndefined(item) ||
@@ -4937,8 +5269,6 @@ var _DYN_TO_STRING = "toString";
4937
5269
  var _DYN_IS_STORAGE_USE_DISAB0 = "isStorageUseDisabled";
4938
5270
  var _DYN__ADD_HOOK = "_addHook";
4939
5271
  var _DYN_CORE = "core";
4940
- var _DYN_DATA_TYPE = "dataType";
4941
- var _DYN_ENVELOPE_TYPE = "envelopeType";
4942
5272
  var _DYN_DIAG_LOG = "diagLog";
4943
5273
  var _DYN_TRACK = "track";
4944
5274
  var _DYN_TRACK_PAGE_VIEW = "trackPageView";
@@ -4964,6 +5294,7 @@ var _DYN_AUTO_TRACK_PAGE_VISI10 = "autoTrackPageVisitTime";
4964
5294
  var _DYN_IS_BROWSER_LINK_TRAC11 = "isBrowserLinkTrackingEnabled";
4965
5295
  var _DYN_LENGTH = "length";
4966
5296
  var _DYN_ENABLE_AUTO_ROUTE_TR12 = "enableAutoRouteTracking";
5297
+ var _DYN_GET_TRACE_CTX = "getTraceCtx";
4967
5298
  var _DYN_ENABLE_UNHANDLED_PRO13 = "enableUnhandledPromiseRejectionTracking";
4968
5299
  var _DYN_AUTO_UNHANDLED_PROMI14 = "autoUnhandledPromiseInstrumented";
4969
5300
  var _DYN_GET_ENTRIES_BY_TYPE = "getEntriesByType";
@@ -4980,6 +5311,7 @@ var _DYN_CONNECT_END = "connectEnd";
4980
5311
  var _DYN_PAGE_VISIT_TIME = "pageVisitTime";
4981
5312
 
4982
5313
  function createPageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {
5314
+ var _a;
4983
5315
  var queueTimer = null;
4984
5316
  var itemQueue = [];
4985
5317
  var pageViewPerformanceSent = false;
@@ -5022,8 +5354,8 @@ function createPageViewManager(appInsights, overridePageViewDuration, core, page
5022
5354
  itemQueue.push(cb);
5023
5355
  _startTimer();
5024
5356
  }
5025
- return {
5026
- trackPageView: function (pageView, customProperties) {
5357
+ return _a = {},
5358
+ _a[_DYN_TRACK_PAGE_VIEW ] = function (pageView, customProperties) {
5027
5359
  var name = pageView.name;
5028
5360
  if (isNullOrUndefined(name) || typeof name !== "string") {
5029
5361
  var doc = getDocument();
@@ -5126,7 +5458,7 @@ function createPageViewManager(appInsights, overridePageViewDuration, core, page
5126
5458
  return processed;
5127
5459
  });
5128
5460
  },
5129
- teardown: function (unloadCtx, unloadState) {
5461
+ _a.teardown = function (unloadCtx, unloadState) {
5130
5462
  if (queueTimer) {
5131
5463
  queueTimer.cancel();
5132
5464
  queueTimer = null;
@@ -5136,8 +5468,8 @@ function createPageViewManager(appInsights, overridePageViewDuration, core, page
5136
5468
  if (item()) ;
5137
5469
  });
5138
5470
  }
5139
- }
5140
- };
5471
+ },
5472
+ _a;
5141
5473
  }
5142
5474
 
5143
5475
  var MAX_DURATION_ALLOWED = 3600000;
@@ -5382,6 +5714,7 @@ var defaultValues = objDeepFreeze((_a = {
5382
5714
  _a.disableFlushOnBeforeUnload = cfgDfBoolean(),
5383
5715
  _a.disableFlushOnUnload = cfgDfBoolean(false, "disableFlushOnBeforeUnload"),
5384
5716
  _a.expCfg = cfgDfMerge({ inclScripts: false, expLog: undefined, maxLogs: 50 }),
5717
+ _a.routeTraceStrategy = 0 ,
5385
5718
  _a));
5386
5719
  function _chkConfigMilliseconds(value, defValue) {
5387
5720
  value = value || defValue;
@@ -5427,6 +5760,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5427
5760
  var _extConfig;
5428
5761
  var _autoTrackPageVisitTime;
5429
5762
  var _expCfg;
5763
+ var _routeTraceStrategy;
5430
5764
  var _prevUri;
5431
5765
  var _currUri;
5432
5766
  var _evtNamespace;
@@ -5442,7 +5776,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5442
5776
  };
5443
5777
  _self.trackEvent = function (event, customProperties) {
5444
5778
  try {
5445
- var telemetryItem = createTelemetryItem(event, Event$1[_DYN_DATA_TYPE ], Event$1[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties);
5779
+ var telemetryItem = createTelemetryItem(event, EventDataType, EventEnvelopeType, _self[_DYN_DIAG_LOG ](), customProperties);
5446
5780
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5447
5781
  }
5448
5782
  catch (e) {
@@ -5467,7 +5801,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5467
5801
  };
5468
5802
  _self.trackTrace = function (trace, customProperties) {
5469
5803
  try {
5470
- var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE ], Trace[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties);
5804
+ var telemetryItem = createTelemetryItem(trace, TraceDataType, TraceEnvelopeType, _self[_DYN_DIAG_LOG ](), customProperties);
5471
5805
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5472
5806
  }
5473
5807
  catch (e) {
@@ -5476,7 +5810,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5476
5810
  };
5477
5811
  _self.trackMetric = function (metric, customProperties) {
5478
5812
  try {
5479
- var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE ], Metric[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties);
5813
+ var telemetryItem = createTelemetryItem(metric, MetricDataType, MetricEnvelopeType, _self[_DYN_DIAG_LOG ](), customProperties);
5480
5814
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5481
5815
  }
5482
5816
  catch (e) {
@@ -5510,11 +5844,12 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5510
5844
  var duration = ((properties || pageView[_DYN_PROPERTIES ] || {})[_DYN_DURATION ] || 0);
5511
5845
  pageView[_DYN_START_TIME ] = new Date(new Date().getTime() - duration);
5512
5846
  }
5513
- var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE ], PageView[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties, systemProperties);
5847
+ var telemetryItem = createTelemetryItem(pageView, PageViewDataType, PageViewEnvelopeType, _self[_DYN_DIAG_LOG ](), properties, systemProperties);
5514
5848
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5849
+ _resetAjaxAttempts();
5515
5850
  };
5516
5851
  _self[_DYN_SEND_PAGE_VIEW_PERFO3 ] = function (pageViewPerformance, properties, systemProperties) {
5517
- var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE ], PageViewPerformance[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties, systemProperties);
5852
+ var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformanceDataType, PageViewPerformanceEnvelopeType, _self[_DYN_DIAG_LOG ](), properties, systemProperties);
5518
5853
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5519
5854
  };
5520
5855
  _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {
@@ -5578,7 +5913,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5578
5913
  exceptionPartB[_DYN_PROPERTIES ]["exceptionLog"] = logs.logs.slice(0, _expCfg.maxLogs).join("\n");
5579
5914
  }
5580
5915
  }
5581
- var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE ], Exception[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), customProperties, systemProperties);
5916
+ var telemetryItem = createTelemetryItem(exceptionPartB, ExceptionDataType, ExceptionEnvelopeType, _self[_DYN_DIAG_LOG ](), customProperties, systemProperties);
5582
5917
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5583
5918
  };
5584
5919
  _self.trackException = function (exception, customProperties) {
@@ -5700,6 +6035,14 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5700
6035
  _self["_getDbgPlgTargets"] = function () {
5701
6036
  return [_errorHookCnt, _autoExceptionInstrumented];
5702
6037
  };
6038
+ function _resetAjaxAttempts() {
6039
+ if (_self[_DYN_CORE ]) {
6040
+ var ajaxPlugin = _self[_DYN_CORE ].getPlugin("AjaxDependencyPlugin");
6041
+ if (ajaxPlugin && ajaxPlugin.plugin && ajaxPlugin.plugin.resetAjaxAttempts) {
6042
+ ajaxPlugin.plugin.resetAjaxAttempts();
6043
+ }
6044
+ }
6045
+ }
5703
6046
  function _populateDefaults(config) {
5704
6047
  var identifier = _self.identifier;
5705
6048
  var core = _self[_DYN_CORE ];
@@ -5709,6 +6052,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5709
6052
  _autoExceptionInstrumented = _autoExceptionInstrumented || config[_DYN_AUTO_EXCEPTION_INSTR9 ] || _extConfig[_DYN_AUTO_EXCEPTION_INSTR9 ];
5710
6053
  _expCfg = _extConfig.expCfg;
5711
6054
  _autoTrackPageVisitTime = _extConfig[_DYN_AUTO_TRACK_PAGE_VISI10 ];
6055
+ _routeTraceStrategy = _extConfig.routeTraceStrategy || 0 ;
5712
6056
  if (config.storagePrefix) {
5713
6057
  utlSetStoragePrefix(config.storagePrefix);
5714
6058
  }
@@ -5731,7 +6075,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5731
6075
  if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {
5732
6076
  var browserLinkPaths_1 = ["/browserLinkSignalR/", "/__browserLink/"];
5733
6077
  var dropBrowserLinkRequests = function (envelope) {
5734
- if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE ]) {
6078
+ if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyDataType) {
5735
6079
  var remoteData = envelope.baseData;
5736
6080
  if (remoteData) {
5737
6081
  for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH ]; i++) {
@@ -5748,7 +6092,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5748
6092
  }
5749
6093
  }
5750
6094
  function _sendCORSException(exception, properties) {
5751
- var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE ], Exception[_DYN_ENVELOPE_TYPE ], _self[_DYN_DIAG_LOG ](), properties);
6095
+ var telemetryItem = createTelemetryItem(exception, ExceptionDataType, ExceptionEnvelopeType, _self[_DYN_DIAG_LOG ](), properties);
5752
6096
  _self[_DYN_CORE ][_DYN_TRACK ](telemetryItem);
5753
6097
  }
5754
6098
  function _updateExceptionTracking() {
@@ -5806,10 +6150,17 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5806
6150
  _currUri = fieldRedaction(_currUri, _self[_DYN_CORE ][_DYN_CONFIG ]);
5807
6151
  }
5808
6152
  if (_enableAutoRouteTracking) {
5809
- var newContext = _self[_DYN_CORE ].getTraceCtx(true);
5810
- newContext.setTraceId(generateW3CId());
5811
- newContext.pageName = dataSanitizeString(_self[_DYN_DIAG_LOG ](), newContext.pageName || "_unknown_");
5812
- if (_self[_DYN_CORE ] && _self[_DYN_CORE ].getTraceCtx) {
6153
+ var newContext = void 0;
6154
+ if (_self[_DYN_CORE ] && _self[_DYN_CORE ][_DYN_GET_TRACE_CTX ]) {
6155
+ var currentContext = _self[_DYN_CORE ][_DYN_GET_TRACE_CTX ](false);
6156
+ if (currentContext && _routeTraceStrategy === 1 ) {
6157
+ newContext = createDistributedTraceContext(currentContext);
6158
+ }
6159
+ else {
6160
+ newContext = _self[_DYN_CORE ][_DYN_GET_TRACE_CTX ](true);
6161
+ }
6162
+ newContext.traceId = generateW3CId();
6163
+ newContext.pageName = dataSanitizeString(_self[_DYN_DIAG_LOG ](), newContext.pageName || "_unknown_");
5813
6164
  _self[_DYN_CORE ].setTraceCtx(newContext);
5814
6165
  }
5815
6166
  scheduleTimeout((function (uri) {
@@ -5876,6 +6227,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5876
6227
  _enableUnhandledPromiseRejectionTracking = false;
5877
6228
  _autoUnhandledPromiseInstrumented = false;
5878
6229
  _autoTrackPageVisitTime = false;
6230
+ _resetAjaxAttempts();
5879
6231
  var location = getLocation(true);
5880
6232
  _prevUri = location && location[_DYN_HREF ] || "";
5881
6233
  if (_self[_DYN_CORE ] && _self[_DYN_CORE ][_DYN_CONFIG ]) {
@@ -5896,7 +6248,7 @@ var AnalyticsPlugin = /** @class */ (function (_super) {
5896
6248
  });
5897
6249
  return _this;
5898
6250
  }
5899
- AnalyticsPlugin.Version = '3.4.0-nightlybeta3.2507-22';
6251
+ AnalyticsPlugin.Version = '3.4.0-nightlybeta3.2601-13';
5900
6252
  return AnalyticsPlugin;
5901
6253
  }(BaseTelemetryPlugin));
5902
6254