@microsoft/applicationinsights-web-basic 3.0.1-nightly3.2304-38 → 3.0.1-nightly3.2304-44

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