@microsoft/applicationinsights-web-basic 3.0.1-nightly3.2304-41 → 3.0.1-nightly3.2305-01

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 (45) hide show
  1. package/browser/es5/{aib.3.0.1-nightly3.2304-41.cjs.js → aib.3.0.1-nightly3.2305-01.cjs.js} +658 -159
  2. package/browser/es5/aib.3.0.1-nightly3.2305-01.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.0.1-nightly3.2305-01.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.0.1-nightly3.2305-01.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.0.1-nightly3.2304-41.gbl.js → aib.3.0.1-nightly3.2305-01.gbl.js} +658 -159
  6. package/browser/es5/aib.3.0.1-nightly3.2305-01.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.0.1-nightly3.2305-01.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.0.1-nightly3.2305-01.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.0.1-nightly3.2305-01.integrity.json +66 -0
  10. package/browser/es5/{aib.3.0.1-nightly3.2304-41.js → aib.3.0.1-nightly3.2305-01.js} +658 -159
  11. package/browser/es5/aib.3.0.1-nightly3.2305-01.js.map +1 -0
  12. package/browser/es5/aib.3.0.1-nightly3.2305-01.min.js +6 -0
  13. package/browser/es5/aib.3.0.1-nightly3.2305-01.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +657 -158
  15. package/browser/es5/aib.3.cjs.js.map +1 -1
  16. package/browser/es5/aib.3.cjs.min.js +2 -2
  17. package/browser/es5/aib.3.cjs.min.js.map +1 -1
  18. package/browser/es5/aib.3.gbl.js +657 -158
  19. package/browser/es5/aib.3.gbl.js.map +1 -1
  20. package/browser/es5/aib.3.gbl.min.js +2 -2
  21. package/browser/es5/aib.3.gbl.min.js.map +1 -1
  22. package/browser/es5/aib.3.js +657 -158
  23. package/browser/es5/aib.3.js.map +1 -1
  24. package/browser/es5/aib.3.min.js +2 -2
  25. package/browser/es5/aib.3.min.js.map +1 -1
  26. package/dist/es5/applicationinsights-web-basic.js +657 -158
  27. package/dist/es5/applicationinsights-web-basic.js.map +1 -1
  28. package/dist/es5/applicationinsights-web-basic.min.js +2 -2
  29. package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
  30. package/dist-es5/__DynamicConstants.js +1 -1
  31. package/dist-es5/index.js +1 -1
  32. package/dist-es5/index.js.map +1 -1
  33. package/package.json +6 -5
  34. package/types/applicationinsights-web-basic.d.ts +11 -2
  35. package/types/applicationinsights-web-basic.namespaced.d.ts +11 -2
  36. package/browser/es5/aib.3.0.1-nightly3.2304-41.cjs.js.map +0 -1
  37. package/browser/es5/aib.3.0.1-nightly3.2304-41.cjs.min.js +0 -6
  38. package/browser/es5/aib.3.0.1-nightly3.2304-41.cjs.min.js.map +0 -1
  39. package/browser/es5/aib.3.0.1-nightly3.2304-41.gbl.js.map +0 -1
  40. package/browser/es5/aib.3.0.1-nightly3.2304-41.gbl.min.js +0 -6
  41. package/browser/es5/aib.3.0.1-nightly3.2304-41.gbl.min.js.map +0 -1
  42. package/browser/es5/aib.3.0.1-nightly3.2304-41.integrity.json +0 -66
  43. package/browser/es5/aib.3.0.1-nightly3.2304-41.js.map +0 -1
  44. package/browser/es5/aib.3.0.1-nightly3.2304-41.min.js +0 -6
  45. package/browser/es5/aib.3.0.1-nightly3.2304-41.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.0.1-nightly3.2304-41
2
+ * Application Insights JavaScript Web SDK - Basic, 3.0.1-nightly3.2305-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -34,7 +34,7 @@
34
34
  var ArrCls = Array;
35
35
  var ArrProto = ArrCls[PROTOTYPE];
36
36
 
37
- function _safeGet(cb, defValue) {
37
+ function safeGet(cb, defValue) {
38
38
  var result = defValue;
39
39
  try {
40
40
  result = cb();
@@ -91,8 +91,11 @@
91
91
  var isNumber = _createIs(NUMBER);
92
92
  var isBoolean = _createIs(BOOLEAN);
93
93
  var isError = _createObjIs("Error");
94
+ function isPromiseLike(value) {
95
+ return !!value && isFunction(value.then);
96
+ }
94
97
  function isTruthy(value) {
95
- return !(!value || _safeGet(function () { return !(value && (0 + value)); }, !value));
98
+ return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
96
99
  }
97
100
 
98
101
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
@@ -244,6 +247,11 @@
244
247
  throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
245
248
  };
246
249
  }
250
+ function _unwrapProp(propName) {
251
+ return function (thisArg) {
252
+ return thisArg[propName];
253
+ };
254
+ }
247
255
 
248
256
  var mathMax = MathCls.max;
249
257
 
@@ -367,8 +375,8 @@
367
375
  return lazyValue;
368
376
  }
369
377
 
370
- function _lazySafeGet(cb, defValue) {
371
- return getLazy(function () { return _safeGet(cb, defValue); });
378
+ function safeGetLazy(cb, defValue) {
379
+ return getLazy(function () { return safeGet(cb, defValue); });
372
380
  }
373
381
 
374
382
  var WINDOW = "window";
@@ -376,11 +384,12 @@
376
384
  var _cachedWindow;
377
385
  var _cachedDocument;
378
386
  var _cachedNavigator;
379
- function _lazySafeGetInst(name) {
380
- return _lazySafeGet(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
387
+ var _isNode;
388
+ function lazySafeGetInst(name) {
389
+ return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
381
390
  }
382
391
  function getGlobal(useCached) {
383
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = _lazySafeGet(_getGlobalValue, null));
392
+ (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, null));
384
393
  return _cachedGlobal.v;
385
394
  }
386
395
  function getInst(name, useCached) {
@@ -397,35 +406,42 @@
397
406
  return !!getDocument();
398
407
  }
399
408
  function getDocument() {
400
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGetInst("document"));
409
+ (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
401
410
  return _cachedDocument.v;
402
411
  }
403
412
  function hasWindow() {
404
413
  return !!getWindow();
405
414
  }
406
415
  function getWindow() {
407
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGetInst(WINDOW));
416
+ (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
408
417
  return _cachedWindow.v;
409
418
  }
410
419
  function hasNavigator() {
411
420
  return !!getNavigator();
412
421
  }
413
422
  function getNavigator() {
414
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGetInst("navigator"));
423
+ (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
415
424
  return _cachedNavigator.v;
416
425
  }
426
+ function isNode() {
427
+ !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
428
+ return _isNode.v;
429
+ }
417
430
 
418
431
  var _symbol;
419
432
  var _symbolFor;
420
433
  var _symbolKeyFor;
421
434
  function _getSymbolValue(name) {
422
- return _lazySafeGet(function () {
435
+ return safeGetLazy(function () {
423
436
  return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
424
437
  }, UNDEF_VALUE);
425
438
  }
439
+ function hasSymbol() {
440
+ return !!getSymbol();
441
+ }
426
442
  function getSymbol() {
427
443
  var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
428
- resetCache && (_symbol = _lazySafeGetInst(SYMBOL));
444
+ resetCache && (_symbol = lazySafeGetInst(SYMBOL));
429
445
  (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
430
446
  (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
431
447
  return _symbol.v;
@@ -753,6 +769,8 @@
753
769
  return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
754
770
  }
755
771
 
772
+ var getLength = _unwrapProp(LENGTH);
773
+
756
774
  var _objCreate = ObjClass$1["create"];
757
775
  var objCreate = _objCreate || polyObjCreate;
758
776
  function polyObjCreate(obj) {
@@ -1202,6 +1220,7 @@
1202
1220
  var _DYN_REMOVE_NOTIFICATION_2 = "removeNotificationListener";
1203
1221
  var _DYN_ENABLED = "enabled";
1204
1222
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1223
+ var _DYN_UNLOAD = "unload";
1205
1224
  var _DYN_ON_COMPLETE = "onComplete";
1206
1225
  var _DYN_VERSION = "version";
1207
1226
  var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
@@ -1222,7 +1241,6 @@
1222
1241
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
1223
1242
  var _DYN_TYPE = "type";
1224
1243
  var _DYN_HANDLER = "handler";
1225
- var _DYN_LISTENERS = "listeners";
1226
1244
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1227
1245
  var _DYN_GET_CTX = "getCtx";
1228
1246
  var _DYN_SET_CTX = "setCtx";
@@ -1247,6 +1265,360 @@
1247
1265
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1248
1266
  }
1249
1267
 
1268
+ function doAwaitResponse(value, cb) {
1269
+ return doAwait(value, function (value) {
1270
+ cb && cb({
1271
+ value: value,
1272
+ rejected: false
1273
+ });
1274
+ }, function (reason) {
1275
+ cb && cb({
1276
+ rejected: true,
1277
+ reason: reason
1278
+ });
1279
+ });
1280
+ }
1281
+ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1282
+ var result = value;
1283
+ if (isPromiseLike(value)) {
1284
+ if (resolveFn || rejectFn) {
1285
+ result = value.then(resolveFn, rejectFn);
1286
+ }
1287
+ }
1288
+ else {
1289
+ resolveFn && resolveFn(value);
1290
+ }
1291
+ if (finallyFn) {
1292
+ result = doFinally(result, finallyFn);
1293
+ }
1294
+ return result;
1295
+ }
1296
+ function doFinally(value, finallyFn) {
1297
+ var result = value;
1298
+ if (finallyFn) {
1299
+ if (isPromiseLike(value)) {
1300
+ if (value.finally) {
1301
+ result = value.finally(finallyFn);
1302
+ }
1303
+ else {
1304
+ result = value.then(function (value) {
1305
+ finallyFn();
1306
+ return value;
1307
+ }, function (reason) {
1308
+ finallyFn();
1309
+ throw reason;
1310
+ });
1311
+ }
1312
+ }
1313
+ else {
1314
+ finallyFn();
1315
+ }
1316
+ }
1317
+ return result;
1318
+ }
1319
+
1320
+ var _theLogger = null;
1321
+ function _debugLog(id, message) {
1322
+ if (_theLogger) {
1323
+ _theLogger(id, message);
1324
+ }
1325
+ }
1326
+
1327
+ var STRING_STATES = [
1328
+ "pending", "resolving", "resolved", "rejected"
1329
+ ];
1330
+
1331
+ var DISPATCH_EVENT = "dispatchEvent";
1332
+ var _hasInitEvent;
1333
+ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1334
+ var doc = getDocument();
1335
+ !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1336
+ var evt;
1337
+ if (doc && doc.createEvent) {
1338
+ evt = doc.createEvent("Event");
1339
+ }
1340
+ return (!!evt && evt.initEvent);
1341
+ }, null));
1342
+ var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1343
+ populateEvent && populateEvent(theEvt);
1344
+ if (_hasInitEvent.v) {
1345
+ theEvt.initEvent(evtName, false, true);
1346
+ }
1347
+ if (theEvt && target[DISPATCH_EVENT]) {
1348
+ target[DISPATCH_EVENT](theEvt);
1349
+ }
1350
+ else {
1351
+ var handler = target["on" + evtName];
1352
+ if (handler) {
1353
+ handler(theEvt);
1354
+ }
1355
+ else {
1356
+ var theConsole = getInst("console");
1357
+ theConsole && (theConsole["error"] || theConsole["log"])(evtName, dumpObj(theEvt));
1358
+ }
1359
+ }
1360
+ }
1361
+
1362
+ var STR_PROMISE = "Promise";
1363
+
1364
+ var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1365
+ var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1366
+ var _unhandledRejectionTimeout = 10;
1367
+ var _hasPromiseRejectionEvent;
1368
+ function dumpFnObj(value) {
1369
+ if (isFunction(value)) {
1370
+ return value.toString();
1371
+ }
1372
+ return dumpObj(value);
1373
+ }
1374
+ function _createPromise(newPromise, processor, executor) {
1375
+ var additionalArgs = arrSlice(arguments, 3);
1376
+ var _state = 0 ;
1377
+ var _hasResolved = false;
1378
+ var _settledValue;
1379
+ var _queue = [];
1380
+ var _handled = false;
1381
+ var _unHandledRejectionHandler = null;
1382
+ var _thePromise;
1383
+ !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1384
+ var _then = function (onResolved, onRejected) {
1385
+ try {
1386
+ _handled = true;
1387
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1388
+ _unHandledRejectionHandler = null;
1389
+ _debugLog(_toString(), "then(" + dumpFnObj(onResolved) + ", " + dumpFnObj(onResolved) + ")");
1390
+ var thenPromise = newPromise(function (resolve, reject) {
1391
+ _queue.push(function () {
1392
+ try {
1393
+ _debugLog(_toString(), "Handling settled value " + dumpFnObj(_settledValue));
1394
+ var handler = _state === 2 ? onResolved : onRejected;
1395
+ var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);
1396
+ _debugLog(_toString(), "Handling Result " + dumpFnObj(value));
1397
+ if (isPromiseLike(value)) {
1398
+ value.then(resolve, reject);
1399
+ }
1400
+ else if (handler) {
1401
+ resolve(value);
1402
+ }
1403
+ else if (_state === 3 ) {
1404
+ reject(value);
1405
+ }
1406
+ else {
1407
+ resolve(value);
1408
+ }
1409
+ }
1410
+ catch (e) {
1411
+ reject(e);
1412
+ }
1413
+ });
1414
+ _debugLog(_toString(), "Added to Queue " + _queue.length);
1415
+ if (_hasResolved) {
1416
+ _processQueue();
1417
+ }
1418
+ }, additionalArgs);
1419
+ _debugLog(_toString(), "Created -> " + thenPromise.toString());
1420
+ return thenPromise;
1421
+ }
1422
+ finally {
1423
+ }
1424
+ };
1425
+ var _catch = function (onRejected) {
1426
+ return _then(undefined, onRejected);
1427
+ };
1428
+ var _finally = function (onFinally) {
1429
+ var thenFinally = onFinally;
1430
+ var catchFinally = onFinally;
1431
+ if (isFunction(onFinally)) {
1432
+ thenFinally = function (value) {
1433
+ onFinally && onFinally();
1434
+ return value;
1435
+ };
1436
+ catchFinally = function (reason) {
1437
+ onFinally && onFinally();
1438
+ throw reason;
1439
+ };
1440
+ }
1441
+ return _then(thenFinally, catchFinally);
1442
+ };
1443
+ var _strState = function () {
1444
+ return STRING_STATES[_state];
1445
+ };
1446
+ var _processQueue = function () {
1447
+ if (_queue.length > 0) {
1448
+ var pending = _queue.slice();
1449
+ _queue = [];
1450
+ _debugLog(_toString(), "Processing queue " + pending.length);
1451
+ _handled = true;
1452
+ processor(pending);
1453
+ _debugLog(_toString(), "Processing done");
1454
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1455
+ _unHandledRejectionHandler = null;
1456
+ }
1457
+ else {
1458
+ _debugLog(_toString(), "Empty Processing queue ");
1459
+ }
1460
+ };
1461
+ var _createSettleIfFn = function (newState, allowState) {
1462
+ return function (theValue) {
1463
+ if (_state === allowState) {
1464
+ if (newState === 2 && isPromiseLike(theValue)) {
1465
+ _state = 1 ;
1466
+ _debugLog(_toString(), "Resolving");
1467
+ theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));
1468
+ return;
1469
+ }
1470
+ _state = newState;
1471
+ _hasResolved = true;
1472
+ _settledValue = theValue;
1473
+ _debugLog(_toString(), _strState());
1474
+ _processQueue();
1475
+ if (!_handled && newState === 3 && !_unHandledRejectionHandler) {
1476
+ _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);
1477
+ }
1478
+ }
1479
+ else {
1480
+ _debugLog(_toString(), "Already " + _strState());
1481
+ }
1482
+ };
1483
+ };
1484
+ var _notifyUnhandledRejection = function () {
1485
+ if (!_handled) {
1486
+ if (isNode()) {
1487
+ _debugLog(_toString(), "Emitting " + NODE_UNHANDLED_REJECTION);
1488
+ process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1489
+ }
1490
+ else {
1491
+ var gbl = getWindow() || getGlobal();
1492
+ _debugLog(_toString(), "Emitting " + UNHANDLED_REJECTION);
1493
+ emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {
1494
+ objDefine(theEvt, "promise", { g: function () { return _thePromise; } });
1495
+ theEvt.reason = _settledValue;
1496
+ return theEvt;
1497
+ }, !!_hasPromiseRejectionEvent.v);
1498
+ }
1499
+ }
1500
+ };
1501
+ _thePromise = {
1502
+ then: _then,
1503
+ "catch": _catch,
1504
+ finally: _finally
1505
+ };
1506
+ objDefineProp(_thePromise, "state", {
1507
+ get: _strState
1508
+ });
1509
+ if (hasSymbol()) {
1510
+ _thePromise[getKnownSymbol(11 )] = "IPromise";
1511
+ }
1512
+ var _toString = function () {
1513
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1514
+ };
1515
+ _thePromise.toString = _toString;
1516
+ (function _initialize() {
1517
+ if (!isFunction(executor)) {
1518
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpFnObj(executor));
1519
+ }
1520
+ var _rejectFn = _createSettleIfFn(3 , 0 );
1521
+ try {
1522
+ _debugLog(_toString(), "Executing");
1523
+ executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);
1524
+ }
1525
+ catch (e) {
1526
+ _rejectFn(e);
1527
+ }
1528
+ })();
1529
+ _debugLog(_toString(), "Returning");
1530
+ return _thePromise;
1531
+ }
1532
+ function _createAllPromise(newPromise) {
1533
+ return function (input) {
1534
+ var additionalArgs = arrSlice(arguments, 1);
1535
+ return newPromise(function (resolve, reject) {
1536
+ try {
1537
+ var values_1 = [];
1538
+ var pending_1 = 1;
1539
+ arrForEach(input, function (item, idx) {
1540
+ if (item) {
1541
+ pending_1++;
1542
+ doAwait(item, function (value) {
1543
+ values_1[idx] = value;
1544
+ if (--pending_1 === 0) {
1545
+ resolve(values_1);
1546
+ }
1547
+ }, reject);
1548
+ }
1549
+ });
1550
+ pending_1--;
1551
+ if (pending_1 === 0) {
1552
+ resolve(values_1);
1553
+ }
1554
+ }
1555
+ catch (e) {
1556
+ reject(e);
1557
+ }
1558
+ }, additionalArgs);
1559
+ };
1560
+ }
1561
+
1562
+ var _processPendingItems = function (pending) {
1563
+ arrForEach(pending, function (fn) {
1564
+ try {
1565
+ fn();
1566
+ }
1567
+ catch (e) {
1568
+ }
1569
+ });
1570
+ };
1571
+ function timeoutItemProcessor(timeout) {
1572
+ var callbackTimeout = isNumber(timeout) ? timeout : 0;
1573
+ return function (pending) {
1574
+ scheduleTimeout(function () {
1575
+ _processPendingItems(pending);
1576
+ }, callbackTimeout);
1577
+ };
1578
+ }
1579
+
1580
+ function createAsyncPromise(executor, timeout) {
1581
+ return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1582
+ }
1583
+
1584
+ var _isPromiseSupported;
1585
+ function createNativePromise(executor, timeout) {
1586
+ !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1587
+ var PrmCls = _isPromiseSupported.v;
1588
+ if (!PrmCls) {
1589
+ return createAsyncPromise(executor);
1590
+ }
1591
+ if (!isFunction(executor)) {
1592
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpObj(executor));
1593
+ }
1594
+ var _state = 0 ;
1595
+ function _strState() {
1596
+ return STRING_STATES[_state];
1597
+ }
1598
+ var thePromise = new PrmCls(function (resolve, reject) {
1599
+ function _resolve(value) {
1600
+ _state = 2 ;
1601
+ resolve(value);
1602
+ }
1603
+ function _reject(reason) {
1604
+ _state = 3 ;
1605
+ reject(reason);
1606
+ }
1607
+ executor(_resolve, _reject);
1608
+ });
1609
+ objDefineProp(thePromise, "state", {
1610
+ get: _strState
1611
+ });
1612
+ return thePromise;
1613
+ }
1614
+
1615
+ var _promiseCreator;
1616
+ function createPromise(executor, timeout) {
1617
+ !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1618
+ return _promiseCreator.v.call(this, executor, timeout);
1619
+ }
1620
+ var createAllPromise = _createAllPromise(createPromise);
1621
+
1250
1622
  var UNDEFINED_VALUE$1 = undefined;
1251
1623
  var STR_EMPTY = "";
1252
1624
  var STR_CHANNELS = "channels";
@@ -1636,7 +2008,7 @@
1636
2008
  return result;
1637
2009
  }
1638
2010
 
1639
- var version = "3.0.1-nightly3.2304-41";
2011
+ var version = "3.0.1-nightly3.2305-01";
1640
2012
  var instanceName = "." + newId(6);
1641
2013
  var _dataUid = 0;
1642
2014
  function _canAcceptData(target) {
@@ -2231,7 +2603,30 @@
2231
2603
  return handler[_DYN_WATCH ](configHandler);
2232
2604
  }
2233
2605
  _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
2234
- createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2606
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2607
+ }
2608
+
2609
+ function runTargetUnload(target, isAsync) {
2610
+ if (target && target[_DYN_UNLOAD ]) {
2611
+ return target[_DYN_UNLOAD ](isAsync);
2612
+ }
2613
+ }
2614
+ function doUnloadAll(targets, isAsync, done) {
2615
+ var result;
2616
+ if (!done) {
2617
+ result = createPromise(function (resolved) {
2618
+ done = resolved;
2619
+ });
2620
+ }
2621
+ if (targets && getLength(targets) > 0) {
2622
+ doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {
2623
+ doUnloadAll(arrSlice(targets, 1), isAsync, done);
2624
+ });
2625
+ }
2626
+ else {
2627
+ done();
2628
+ }
2629
+ return result;
2235
2630
  }
2236
2631
 
2237
2632
  var ChannelControllerPriority = 500;
@@ -2364,8 +2759,9 @@
2364
2759
  var _loggingLevelTelemetry;
2365
2760
  var _maxInternalMessageLimit;
2366
2761
  var _enableDebug;
2762
+ var _unloadHandler;
2367
2763
  dynamicProto(DiagnosticLogger, this, function (_self) {
2368
- _setDefaultsFromConfig(config || {});
2764
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2369
2765
  _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2370
2766
  _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2371
2767
  if (isUserAct === void 0) { isUserAct = false; }
@@ -2408,6 +2804,10 @@
2408
2804
  _messageLogged = {};
2409
2805
  };
2410
2806
  _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2807
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2808
+ _unloadHandler && _unloadHandler.rm();
2809
+ _unloadHandler = null;
2810
+ };
2411
2811
  function _logInternalMessage(severity, message) {
2412
2812
  if (_areInternalMessagesThrottled()) {
2413
2813
  return;
@@ -2440,8 +2840,7 @@
2440
2840
  }
2441
2841
  }
2442
2842
  function _setDefaultsFromConfig(config) {
2443
- var handler = createDynamicConfig(config, defaultValues$2, _self);
2444
- handler[_DYN_WATCH ](function (details) {
2843
+ return onConfigChange(createDynamicConfig(config, defaultValues$2, _self).cfg, function (details) {
2445
2844
  var config = details.cfg;
2446
2845
  _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2447
2846
  _loggingLevelTelemetry = config.loggingLevelTelemetry;
@@ -2539,15 +2938,17 @@
2539
2938
  return isCfgEnabled;
2540
2939
  }
2541
2940
  function createCookieMgr(rootConfig, logger) {
2941
+ var _a;
2542
2942
  var cookieMgrConfig;
2543
2943
  var _path;
2544
2944
  var _domain;
2945
+ var unloadHandler;
2545
2946
  var _enabled;
2546
2947
  var _getCookieFn;
2547
2948
  var _setCookieFn;
2548
2949
  var _delCookieFn;
2549
2950
  rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;
2550
- onConfigChange(rootConfig, function (details) {
2951
+ unloadHandler = onConfigChange(rootConfig, function (details) {
2551
2952
  details[_DYN_SET_DF ](details.cfg, rootDefaultConfig);
2552
2953
  cookieMgrConfig = details.ref(details.cfg, "cookieCfg");
2553
2954
  _path = cookieMgrConfig[STR_PATH ] || "/";
@@ -2557,92 +2958,97 @@
2557
2958
  _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
2558
2959
  _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;
2559
2960
  }, logger);
2560
- var cookieMgr = {
2561
- isEnabled: function () {
2562
- var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);
2563
- var gblManager = _globalCookieConfig[strConfigCookieMgr];
2564
- if (enabled && gblManager && cookieMgr !== gblManager) {
2565
- enabled = _isMgrEnabled(gblManager);
2566
- }
2567
- return enabled;
2568
- },
2569
- setEnabled: function (value) {
2570
- _enabled = value !== false;
2571
- cookieMgrConfig[_DYN_ENABLED ] = value;
2572
- },
2573
- set: function (name, value, maxAgeSec, domain, path) {
2574
- var result = false;
2575
- if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
2576
- var values = {};
2577
- var theValue = strTrim(value || STR_EMPTY);
2578
- var idx = strIndexOf(theValue, ";");
2579
- if (idx !== -1) {
2580
- theValue = strTrim(strLeft(value, idx));
2581
- values = _extractParts(strSubstring(value, idx + 1));
2582
- }
2583
- setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2584
- if (!isNullOrUndefined(maxAgeSec)) {
2585
- var _isIE = isIE();
2586
- if (isUndefined(values[strExpires])) {
2587
- var nowMs = utcNow();
2588
- var expireMs = nowMs + (maxAgeSec * 1000);
2589
- if (expireMs > 0) {
2590
- var expiry = new Date();
2591
- expiry.setTime(expireMs);
2592
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
2961
+ var cookieMgr = (_a = {
2962
+ isEnabled: function () {
2963
+ var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);
2964
+ var gblManager = _globalCookieConfig[strConfigCookieMgr];
2965
+ if (enabled && gblManager && cookieMgr !== gblManager) {
2966
+ enabled = _isMgrEnabled(gblManager);
2967
+ }
2968
+ return enabled;
2969
+ },
2970
+ setEnabled: function (value) {
2971
+ _enabled = value !== false;
2972
+ cookieMgrConfig[_DYN_ENABLED ] = value;
2973
+ },
2974
+ set: function (name, value, maxAgeSec, domain, path) {
2975
+ var result = false;
2976
+ if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
2977
+ var values = {};
2978
+ var theValue = strTrim(value || STR_EMPTY);
2979
+ var idx = strIndexOf(theValue, ";");
2980
+ if (idx !== -1) {
2981
+ theValue = strTrim(strLeft(value, idx));
2982
+ values = _extractParts(strSubstring(value, idx + 1));
2983
+ }
2984
+ setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);
2985
+ if (!isNullOrUndefined(maxAgeSec)) {
2986
+ var _isIE = isIE();
2987
+ if (isUndefined(values[strExpires])) {
2988
+ var nowMs = utcNow();
2989
+ var expireMs = nowMs + (maxAgeSec * 1000);
2990
+ if (expireMs > 0) {
2991
+ var expiry = new Date();
2992
+ expiry.setTime(expireMs);
2993
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
2994
+ }
2995
+ }
2996
+ if (!_isIE) {
2997
+ setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
2593
2998
  }
2594
2999
  }
2595
- if (!_isIE) {
2596
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3000
+ var location_1 = getLocation();
3001
+ if (location_1 && location_1.protocol === "https:") {
3002
+ setValue(values, "secure", null, null, isUndefined);
3003
+ if (_allowUaSameSite === null) {
3004
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
3005
+ }
3006
+ if (_allowUaSameSite) {
3007
+ setValue(values, "SameSite", "None", null, isUndefined);
3008
+ }
2597
3009
  }
3010
+ setValue(values, STR_PATH, path || _path, null, isUndefined);
3011
+ _setCookieFn(name, _formatCookieValue(theValue, values));
3012
+ result = true;
2598
3013
  }
2599
- var location_1 = getLocation();
2600
- if (location_1 && location_1.protocol === "https:") {
2601
- setValue(values, "secure", null, null, isUndefined);
2602
- if (_allowUaSameSite === null) {
2603
- _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
2604
- }
2605
- if (_allowUaSameSite) {
2606
- setValue(values, "SameSite", "None", null, isUndefined);
3014
+ return result;
3015
+ },
3016
+ get: function (name) {
3017
+ var value = STR_EMPTY;
3018
+ if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3019
+ value = _getCookieFn(name);
3020
+ }
3021
+ return value;
3022
+ },
3023
+ del: function (name, path) {
3024
+ var result = false;
3025
+ if (_isMgrEnabled(cookieMgr)) {
3026
+ result = cookieMgr.purge(name, path);
3027
+ }
3028
+ return result;
3029
+ },
3030
+ purge: function (name, path) {
3031
+ var _a;
3032
+ var result = false;
3033
+ if (areCookiesSupported(logger)) {
3034
+ var values = (_a = {},
3035
+ _a[STR_PATH] = path ? path : "/",
3036
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
3037
+ _a);
3038
+ if (!isIE()) {
3039
+ values["max-age"] = "0";
2607
3040
  }
3041
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3042
+ result = true;
2608
3043
  }
2609
- setValue(values, STR_PATH, path || _path, null, isUndefined);
2610
- _setCookieFn(name, _formatCookieValue(theValue, values));
2611
- result = true;
2612
- }
2613
- return result;
2614
- },
2615
- get: function (name) {
2616
- var value = STR_EMPTY;
2617
- if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2618
- value = _getCookieFn(name);
3044
+ return result;
2619
3045
  }
2620
- return value;
2621
3046
  },
2622
- del: function (name, path) {
2623
- var result = false;
2624
- if (_isMgrEnabled(cookieMgr)) {
2625
- result = cookieMgr.purge(name, path);
2626
- }
2627
- return result;
3047
+ _a[_DYN_UNLOAD ] = function (isAsync) {
3048
+ unloadHandler && unloadHandler.rm();
3049
+ unloadHandler = null;
2628
3050
  },
2629
- purge: function (name, path) {
2630
- var _a;
2631
- var result = false;
2632
- if (areCookiesSupported(logger)) {
2633
- var values = (_a = {},
2634
- _a[STR_PATH] = path ? path : "/",
2635
- _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
2636
- _a);
2637
- if (!isIE()) {
2638
- values["max-age"] = "0";
2639
- }
2640
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
2641
- result = true;
2642
- }
2643
- return result;
2644
- }
2645
- };
3051
+ _a);
2646
3052
  cookieMgr[strConfigCookieMgr] = cookieMgr;
2647
3053
  return cookieMgr;
2648
3054
  }
@@ -2759,40 +3165,45 @@
2759
3165
  function NotificationManager(config) {
2760
3166
  this.listeners = [];
2761
3167
  var perfEvtsSendAll;
3168
+ var unloadHandler;
3169
+ var _listeners = [];
2762
3170
  var cfgHandler = createDynamicConfig(config, defaultValues$1);
2763
- cfgHandler[_DYN_WATCH ](function (details) {
3171
+ unloadHandler = cfgHandler[_DYN_WATCH ](function (details) {
2764
3172
  perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;
2765
3173
  });
2766
3174
  dynamicProto(NotificationManager, this, function (_self) {
3175
+ objDefine(_self, "listeners", {
3176
+ g: function () { return _listeners; }
3177
+ });
2767
3178
  _self[_DYN_ADD_NOTIFICATION_LIS1 ] = function (listener) {
2768
- _self.listeners[_DYN_PUSH$1 ](listener);
3179
+ _listeners[_DYN_PUSH$1 ](listener);
2769
3180
  };
2770
3181
  _self[_DYN_REMOVE_NOTIFICATION_2 ] = function (listener) {
2771
- var index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3182
+ var index = arrIndexOf(_listeners, listener);
2772
3183
  while (index > -1) {
2773
- _self.listeners[_DYN_SPLICE ](index, 1);
2774
- index = arrIndexOf(_self[_DYN_LISTENERS ], listener);
3184
+ _listeners[_DYN_SPLICE ](index, 1);
3185
+ index = arrIndexOf(_listeners, listener);
2775
3186
  }
2776
3187
  };
2777
3188
  _self[STR_EVENTS_SENT ] = function (events) {
2778
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SENT, true, function (listener) {
3189
+ _runListeners(_listeners, STR_EVENTS_SENT, true, function (listener) {
2779
3190
  listener[STR_EVENTS_SENT ](events);
2780
3191
  });
2781
3192
  };
2782
3193
  _self[STR_EVENTS_DISCARDED ] = function (events, reason) {
2783
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_DISCARDED, true, function (listener) {
3194
+ _runListeners(_listeners, STR_EVENTS_DISCARDED, true, function (listener) {
2784
3195
  listener[STR_EVENTS_DISCARDED ](events, reason);
2785
3196
  });
2786
3197
  };
2787
3198
  _self[STR_EVENTS_SEND_REQUEST ] = function (sendReason, isAsync) {
2788
- _runListeners(_self[_DYN_LISTENERS ], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
3199
+ _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {
2789
3200
  listener[STR_EVENTS_SEND_REQUEST ](sendReason, isAsync);
2790
3201
  });
2791
3202
  };
2792
3203
  _self[STR_PERF_EVENT ] = function (perfEvent) {
2793
3204
  if (perfEvent) {
2794
3205
  if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT ]()) {
2795
- _runListeners(_self[_DYN_LISTENERS ], STR_PERF_EVENT, false, function (listener) {
3206
+ _runListeners(_listeners, STR_PERF_EVENT, false, function (listener) {
2796
3207
  if (perfEvent[_DYN_IS_ASYNC ]) {
2797
3208
  scheduleTimeout(function () { return listener[STR_PERF_EVENT ](perfEvent); }, 0);
2798
3209
  }
@@ -2803,6 +3214,34 @@
2803
3214
  }
2804
3215
  }
2805
3216
  };
3217
+ _self[_DYN_UNLOAD ] = function (isAsync) {
3218
+ var _finishUnload = function () {
3219
+ unloadHandler && unloadHandler.rm();
3220
+ unloadHandler = null;
3221
+ _listeners = [];
3222
+ };
3223
+ var waiting;
3224
+ _runListeners(_listeners, "unload", false, function (listener) {
3225
+ var asyncUnload = listener[_DYN_UNLOAD ](isAsync);
3226
+ if (asyncUnload) {
3227
+ if (!waiting) {
3228
+ waiting = [];
3229
+ }
3230
+ waiting[_DYN_PUSH$1 ](asyncUnload);
3231
+ }
3232
+ });
3233
+ if (waiting) {
3234
+ return createPromise(function (resolve) {
3235
+ return doAwaitResponse(createAllPromise(waiting), function () {
3236
+ _finishUnload();
3237
+ resolve();
3238
+ });
3239
+ });
3240
+ }
3241
+ else {
3242
+ _finishUnload();
3243
+ }
3244
+ };
2806
3245
  });
2807
3246
  }
2808
3247
  NotificationManager.__ieDyn=1;
@@ -3232,7 +3671,7 @@
3232
3671
  var context = internalContext.ctx;
3233
3672
  function _processNext(unloadState) {
3234
3673
  var nextPlugin = internalContext._next();
3235
- nextPlugin && nextPlugin.unload(context, unloadState);
3674
+ nextPlugin && nextPlugin[_DYN_UNLOAD ](context, unloadState);
3236
3675
  return !nextPlugin;
3237
3676
  }
3238
3677
  function _createNew(plugins, startAt) {
@@ -3799,6 +4238,7 @@
3799
4238
  function AppInsightsCore() {
3800
4239
  var _configHandler;
3801
4240
  var _isInitialized;
4241
+ var _logger;
3802
4242
  var _eventQueue;
3803
4243
  var _notificationManager;
3804
4244
  var _perfManager;
@@ -3852,8 +4292,7 @@
3852
4292
  _notificationManager = notificationManager;
3853
4293
  _initDebugListener();
3854
4294
  _initPerfManager();
3855
- _self[_DYN_LOGGER ] = logger || new DiagnosticLogger(config);
3856
- _configHandler[_DYN_LOGGER ] = _self[_DYN_LOGGER ];
4295
+ _self[_DYN_LOGGER ] = logger;
3857
4296
  var cfgExtensions = config[STR_EXTENSIONS ];
3858
4297
  _configExtensions = [];
3859
4298
  _configExtensions[_DYN_PUSH$1 ].apply(_configExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), cfgExtensions));
@@ -3865,10 +4304,10 @@
3865
4304
  if (_channels[_DYN_LENGTH$2 ] > 1) {
3866
4305
  var teeController = _self[_DYN_GET_PLUGIN ]("TeeChannelController");
3867
4306
  if (!teeController || !teeController.plugin) {
3868
- _throwInternal(_self[_DYN_LOGGER ], 1 , 28 , "TeeChannel required");
4307
+ _throwInternal(_logger, 1 , 28 , "TeeChannel required");
3869
4308
  }
3870
4309
  }
3871
- _registerDelayedCfgListener(config, _cfgListeners, _self[_DYN_LOGGER ]);
4310
+ _registerDelayedCfgListener(config, _cfgListeners, _logger);
3872
4311
  _cfgListeners = null;
3873
4312
  _isInitialized = true;
3874
4313
  _self.releaseQueue();
@@ -3907,10 +4346,8 @@
3907
4346
  _self[_DYN_GET_PROCESS_TEL_CONT0 ] = _createTelCtx;
3908
4347
  _self[_DYN_GET_NOTIFY_MGR ] = function () {
3909
4348
  if (!_notificationManager) {
3910
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3911
- _notificationManager = new NotificationManager(details.cfg);
3912
- _self[strNotificationManager] = _notificationManager;
3913
- }));
4349
+ _notificationManager = new NotificationManager(_configHandler.cfg);
4350
+ _self[strNotificationManager] = _notificationManager;
3914
4351
  }
3915
4352
  return _notificationManager;
3916
4353
  };
@@ -3924,14 +4361,15 @@
3924
4361
  };
3925
4362
  _self.getCookieMgr = function () {
3926
4363
  if (!_cookieManager) {
3927
- _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
3928
- _cookieManager = createCookieMgr(details.cfg, _self[_DYN_LOGGER ]);
3929
- }));
4364
+ _cookieManager = createCookieMgr(_configHandler.cfg, _self[_DYN_LOGGER ]);
3930
4365
  }
3931
4366
  return _cookieManager;
3932
4367
  };
3933
4368
  _self.setCookieMgr = function (cookieMgr) {
3934
- _cookieManager = cookieMgr;
4369
+ if (_cookieManager !== cookieMgr) {
4370
+ runTargetUnload(_cookieManager, false);
4371
+ _cookieManager = cookieMgr;
4372
+ }
3935
4373
  };
3936
4374
  _self[STR_GET_PERF_MGR ] = function () {
3937
4375
  if (!_perfManager && !_cfgPerfManager) {
@@ -3969,7 +4407,7 @@
3969
4407
  };
3970
4408
  function _startLogPoller(alwaysStart) {
3971
4409
  if ((!_internalLogPoller || !_internalLogPoller[_DYN_ENABLED ]) && !_forceStopInternalLogPoller) {
3972
- var shouldStart = alwaysStart || (_self.logger && _self.logger.queue[_DYN_LENGTH$2 ] > 0);
4410
+ var shouldStart = alwaysStart || (_logger && _logger.queue[_DYN_LENGTH$2 ] > 0);
3973
4411
  if (shouldStart) {
3974
4412
  if (!_internalLogPollerListening) {
3975
4413
  _internalLogPollerListening = true;
@@ -3999,7 +4437,7 @@
3999
4437
  _flushInternalLogs();
4000
4438
  };
4001
4439
  proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, ["addTelemetryInitializer"]);
4002
- _self.unload = function (isAsync, unloadComplete, cbTimeout) {
4440
+ _self[_DYN_UNLOAD ] = function (isAsync, unloadComplete, cbTimeout) {
4003
4441
  var _a;
4004
4442
  if (isAsync === void 0) { isAsync = true; }
4005
4443
  if (!_isInitialized) {
@@ -4014,11 +4452,19 @@
4014
4452
  _a[_DYN_IS_ASYNC ] = isAsync,
4015
4453
  _a.flushComplete = false,
4016
4454
  _a);
4455
+ var result;
4456
+ if (isAsync && !unloadComplete) {
4457
+ result = createPromise(function (resolve) {
4458
+ unloadComplete = resolve;
4459
+ });
4460
+ }
4017
4461
  var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);
4018
4462
  processUnloadCtx[_DYN_ON_COMPLETE ](function () {
4019
4463
  _hookContainer.run(_self[_DYN_LOGGER ]);
4020
- _initDefaults();
4021
- unloadComplete && unloadComplete(unloadState);
4464
+ doUnloadAll([_cookieManager, _notificationManager, _logger], isAsync, function () {
4465
+ _initDefaults();
4466
+ unloadComplete && unloadComplete(unloadState);
4467
+ });
4022
4468
  }, _self);
4023
4469
  function _doUnload(flushComplete) {
4024
4470
  unloadState.flushComplete = flushComplete;
@@ -4029,6 +4475,7 @@
4029
4475
  }
4030
4476
  _flushInternalLogs();
4031
4477
  if (!_flushChannels(isAsync, _doUnload, 6 , cbTimeout)) ;
4478
+ return result;
4032
4479
  };
4033
4480
  _self[_DYN_GET_PLUGIN ] = _getPlugin;
4034
4481
  _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {
@@ -4190,6 +4637,22 @@
4190
4637
  return _pluginVersionString || STR_EMPTY;
4191
4638
  }
4192
4639
  });
4640
+ objDefine(_self, "logger", {
4641
+ g: function () {
4642
+ if (!_logger) {
4643
+ _logger = new DiagnosticLogger(_configHandler.cfg);
4644
+ _configHandler[_DYN_LOGGER ] = _logger;
4645
+ }
4646
+ return _logger;
4647
+ },
4648
+ s: function (newLogger) {
4649
+ _configHandler[_DYN_LOGGER ] = newLogger;
4650
+ if (_logger !== newLogger) {
4651
+ runTargetUnload(_logger, false);
4652
+ _logger = newLogger;
4653
+ }
4654
+ }
4655
+ });
4193
4656
  _self[_DYN_LOGGER ] = new DiagnosticLogger(_configHandler.cfg);
4194
4657
  _extensions = [];
4195
4658
  var cfgExtensions = _self.config[STR_EXTENSIONS ] || [];
@@ -4197,9 +4660,11 @@
4197
4660
  arrAppend(cfgExtensions, _extensions);
4198
4661
  _telemetryInitializerPlugin = new TelemetryInitializerPlugin();
4199
4662
  _eventQueue = [];
4663
+ runTargetUnload(_notificationManager, false);
4200
4664
  _notificationManager = null;
4201
4665
  _perfManager = null;
4202
4666
  _cfgPerfManager = null;
4667
+ runTargetUnload(_cookieManager, false);
4203
4668
  _cookieManager = null;
4204
4669
  _pluginChain = null;
4205
4670
  _configExtensions = [];
@@ -4351,9 +4816,9 @@
4351
4816
  }
4352
4817
  }
4353
4818
  function _flushInternalLogs() {
4354
- if (_self[_DYN_LOGGER ] && _self[_DYN_LOGGER ].queue) {
4355
- var queue = _self[_DYN_LOGGER ].queue.slice(0);
4356
- _self.logger.queue[_DYN_LENGTH$2 ] = 0;
4819
+ if (_logger && _logger.queue) {
4820
+ var queue = _logger.queue.slice(0);
4821
+ _logger.queue[_DYN_LENGTH$2 ] = 0;
4357
4822
  arrForEach(queue, function (logMessage) {
4358
4823
  var _a;
4359
4824
  var item = (_a = {},
@@ -5014,7 +5479,7 @@
5014
5479
  return Envelope;
5015
5480
  }());
5016
5481
 
5017
- var Event = /** @class */ (function () {
5482
+ var Event$1 = /** @class */ (function () {
5018
5483
  function Event(logger, name, properties, measurements) {
5019
5484
  this.aiDataContract = {
5020
5485
  ver: 1 ,
@@ -5962,7 +6427,7 @@
5962
6427
  }
5963
6428
  }
5964
6429
  var EnvelopeCreator = {
5965
- Version: "3.0.1-nightly3.2304-41"
6430
+ Version: "3.0.1-nightly3.2305-01"
5966
6431
  };
5967
6432
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
5968
6433
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5986,10 +6451,10 @@
5986
6451
  EnvelopeCreatorInit(logger, telemetryItem);
5987
6452
  var customProperties = {};
5988
6453
  var customMeasurements = {};
5989
- if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE ]) {
6454
+ if (telemetryItem[strBaseType] !== Event$1[_DYN_DATA_TYPE ]) {
5990
6455
  customProperties["baseTypeSource"] = telemetryItem[strBaseType];
5991
6456
  }
5992
- if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE ]) {
6457
+ if (telemetryItem[strBaseType] === Event$1[_DYN_DATA_TYPE ]) {
5993
6458
  customProperties = telemetryItem[strBaseData][strProperties] || {};
5994
6459
  customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS ] || {};
5995
6460
  }
@@ -6003,9 +6468,9 @@
6003
6468
  _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
6004
6469
  }
6005
6470
  var eventName = telemetryItem[strBaseData][_DYN_NAME ];
6006
- var eventData = new Event(logger, eventName, customProperties, customMeasurements);
6007
- var data = new Data(Event[_DYN_DATA_TYPE ], eventData);
6008
- return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
6471
+ var eventData = new Event$1(logger, eventName, customProperties, customMeasurements);
6472
+ var data = new Data(Event$1[_DYN_DATA_TYPE ], eventData);
6473
+ return _createEnvelope(logger, Event$1[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
6009
6474
  }
6010
6475
  function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6011
6476
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -6648,7 +7113,7 @@
6648
7113
  return !isNaN(value) && value > 0 && value <= 100;
6649
7114
  }
6650
7115
  var EnvelopeTypeCreator = (_b = {},
6651
- _b[Event.dataType] = EventEnvelopeCreator,
7116
+ _b[Event$1.dataType] = EventEnvelopeCreator,
6652
7117
  _b[Trace.dataType] = TraceEnvelopeCreator,
6653
7118
  _b[PageView.dataType] = PageViewEnvelopeCreator,
6654
7119
  _b[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,
@@ -6687,6 +7152,7 @@
6687
7152
  var _sessionStorageUsed;
6688
7153
  var _bufferOverrideUsed;
6689
7154
  var _namePrefix;
7155
+ var _enableSendPromise;
6690
7156
  dynamicProto(Sender, _this, function (_self, _base) {
6691
7157
  _initDefaults();
6692
7158
  _self.pause = function () {
@@ -6706,7 +7172,7 @@
6706
7172
  if (!_paused) {
6707
7173
  _clearScheduledTimer();
6708
7174
  try {
6709
- _self[_DYN_TRIGGER_SEND ](isAsync, null, sendReason || 1 );
7175
+ return _self[_DYN_TRIGGER_SEND ](isAsync, null, sendReason || 1 );
6710
7176
  }
6711
7177
  catch (e) {
6712
7178
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 22 , "flush failed, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
@@ -6717,14 +7183,14 @@
6717
7183
  if (!_paused) {
6718
7184
  if (_beaconSupported) {
6719
7185
  try {
6720
- _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
7186
+ return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
6721
7187
  }
6722
7188
  catch (e) {
6723
7189
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 20 , "failed to flush with beacon sender on page unload, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
6724
7190
  }
6725
7191
  }
6726
7192
  else {
6727
- _self.flush();
7193
+ _self.flush(false);
6728
7194
  }
6729
7195
  }
6730
7196
  };
@@ -6803,6 +7269,7 @@
6803
7269
  else {
6804
7270
  _customHeaders = null;
6805
7271
  }
7272
+ _enableSendPromise = senderConfig.enableSendPromise;
6806
7273
  var sendPostFunc = null;
6807
7274
  if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
6808
7275
  sendPostFunc = _xdrSender;
@@ -6910,6 +7377,7 @@
6910
7377
  };
6911
7378
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
6912
7379
  if (async === void 0) { async = true; }
7380
+ var result;
6913
7381
  if (!_paused) {
6914
7382
  try {
6915
7383
  var buffer = _self[_DYN__BUFFER ];
@@ -6918,10 +7386,10 @@
6918
7386
  var payload = buffer.getItems();
6919
7387
  _notifySendRequest(sendReason || 0 , async);
6920
7388
  if (forcedSender) {
6921
- forcedSender.call(_this, payload, async);
7389
+ result = forcedSender.call(_this, payload, async);
6922
7390
  }
6923
7391
  else {
6924
- _self[_DYN__SENDER ](payload, async);
7392
+ result = _self[_DYN__SENDER ](payload, async);
6925
7393
  }
6926
7394
  }
6927
7395
  }
@@ -6937,10 +7405,11 @@
6937
7405
  }
6938
7406
  }
6939
7407
  }
7408
+ return result;
6940
7409
  };
6941
7410
  _self._doTeardown = function (unloadCtx, unloadState) {
6942
7411
  _self.onunloadFlush();
6943
- _offlineListener.unload();
7412
+ runTargetUnload(_offlineListener, false);
6944
7413
  _initDefaults();
6945
7414
  };
6946
7415
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
@@ -7109,6 +7578,9 @@
7109
7578
  }
7110
7579
  }
7111
7580
  function _xhrSender(payload, isAsync) {
7581
+ var thePromise;
7582
+ var resolveFunc;
7583
+ var rejectFunc;
7112
7584
  var xhr = new XMLHttpRequest();
7113
7585
  var endPointUrl = _endpointUrl;
7114
7586
  try {
@@ -7124,11 +7596,26 @@
7124
7596
  arrForEach(objKeys(_headers), function (headerName) {
7125
7597
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
7126
7598
  });
7127
- xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]); };
7128
- xhr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event); };
7599
+ xhr.onreadystatechange = function () {
7600
+ _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]);
7601
+ if (xhr.readyState === 4) {
7602
+ resolveFunc && resolveFunc(true);
7603
+ }
7604
+ };
7605
+ xhr.onerror = function (event) {
7606
+ _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event);
7607
+ rejectFunc && rejectFunc(event);
7608
+ };
7609
+ if (isAsync && _enableSendPromise) {
7610
+ thePromise = createPromise(function (resolve, reject) {
7611
+ resolveFunc = resolve;
7612
+ rejectFunc = reject;
7613
+ });
7614
+ }
7129
7615
  var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
7130
7616
  xhr.send(batch);
7131
7617
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
7618
+ return thePromise;
7132
7619
  }
7133
7620
  function _fetchKeepAliveSender(payload, isAsync) {
7134
7621
  if (isArray(payload)) {
@@ -7149,13 +7636,16 @@
7149
7636
  }
7150
7637
  }
7151
7638
  function _fetchSender(payload, isAsync) {
7152
- _doFetchSender(payload, true);
7639
+ return _doFetchSender(payload, true);
7153
7640
  }
7154
7641
  function _doFetchSender(payload, isAsync) {
7155
7642
  var _a;
7156
7643
  var endPointUrl = _endpointUrl;
7157
7644
  var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
7158
7645
  var plainTextBatch = new Blob([batch], { type: "application/json" });
7646
+ var thePromise;
7647
+ var resolveFunc;
7648
+ var rejectFunc;
7159
7649
  var requestHeaders = new Headers();
7160
7650
  var batchLength = batch[_DYN_LENGTH ];
7161
7651
  var ignoreResponse = false;
@@ -7186,43 +7676,52 @@
7186
7676
  catch (e) {
7187
7677
  }
7188
7678
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
7679
+ if (isAsync && _enableSendPromise) {
7680
+ thePromise = createPromise(function (resolve, reject) {
7681
+ resolveFunc = resolve;
7682
+ rejectFunc = reject;
7683
+ });
7684
+ }
7189
7685
  try {
7190
- fetch(request).then(function (response) {
7686
+ doAwaitResponse(fetch(request), function (result) {
7191
7687
  if (!isAsync) {
7192
7688
  _syncFetchPayload -= batchLength;
7193
7689
  batchLength = 0;
7194
7690
  }
7195
7691
  if (!responseHandled) {
7196
7692
  responseHandled = true;
7197
- if (!response.ok) {
7198
- _self[_DYN__ON_ERROR ](payload, response.statusText);
7693
+ if (!result.rejected) {
7694
+ var response_1 = result.value;
7695
+ if (!response_1.ok) {
7696
+ _self[_DYN__ON_ERROR ](payload, response_1.statusText);
7697
+ resolveFunc && resolveFunc(false);
7698
+ }
7699
+ else {
7700
+ doAwaitResponse(response_1.text(), function (resp) {
7701
+ _checkResponsStatus(response_1.status, payload, response_1.url, payload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
7702
+ resolveFunc && resolveFunc(true);
7703
+ });
7704
+ }
7199
7705
  }
7200
7706
  else {
7201
- response.text().then(function (text) {
7202
- _checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH ], response.statusText, text);
7203
- });
7707
+ _self[_DYN__ON_ERROR ](payload, result.reason && result.reason.message);
7708
+ rejectFunc && rejectFunc(result.reason);
7204
7709
  }
7205
7710
  }
7206
- }).catch(function (error) {
7207
- if (!isAsync) {
7208
- _syncFetchPayload -= batchLength;
7209
- batchLength = 0;
7210
- }
7211
- if (!responseHandled) {
7212
- responseHandled = true;
7213
- _self[_DYN__ON_ERROR ](payload, error.message);
7214
- }
7215
7711
  });
7216
7712
  }
7217
7713
  catch (e) {
7218
7714
  if (!responseHandled) {
7219
7715
  _self[_DYN__ON_ERROR ](payload, dumpObj(e));
7716
+ rejectFunc && rejectFunc(e);
7220
7717
  }
7221
7718
  }
7222
7719
  if (ignoreResponse && !responseHandled) {
7223
7720
  responseHandled = true;
7224
7721
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
7722
+ resolveFunc && resolveFunc(true);
7225
7723
  }
7724
+ return thePromise;
7226
7725
  }
7227
7726
  function _parseResponse(response) {
7228
7727
  try {