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