@microsoft/applicationinsights-channel-js 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 (56) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.0.1-nightly3.2304-38.cjs.js → applicationinsights-channel-js.3.0.1-nightly3.2304-44.cjs.js} +432 -52
  2. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.cjs.min.js.map +1 -0
  5. package/browser/es5/{applicationinsights-channel-js.3.0.1-nightly3.2304-38.gbl.js → applicationinsights-channel-js.3.0.1-nightly3.2304-44.gbl.js} +432 -52
  6. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.0.1-nightly3.2304-38.js → applicationinsights-channel-js.3.0.1-nightly3.2304-44.js} +432 -52
  11. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-44.min.js.map +1 -0
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +431 -51
  15. package/browser/es5/applicationinsights-channel-js.3.cjs.js.map +1 -1
  16. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js +2 -2
  17. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js.map +1 -1
  18. package/browser/es5/applicationinsights-channel-js.3.gbl.js +431 -51
  19. package/browser/es5/applicationinsights-channel-js.3.gbl.js.map +1 -1
  20. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js +2 -2
  21. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js.map +1 -1
  22. package/browser/es5/applicationinsights-channel-js.3.js +431 -51
  23. package/browser/es5/applicationinsights-channel-js.3.js.map +1 -1
  24. package/browser/es5/applicationinsights-channel-js.3.min.js +2 -2
  25. package/browser/es5/applicationinsights-channel-js.3.min.js.map +1 -1
  26. package/dist/es5/applicationinsights-channel-js.js +431 -51
  27. package/dist/es5/applicationinsights-channel-js.js.map +1 -1
  28. package/dist/es5/applicationinsights-channel-js.min.js +2 -2
  29. package/dist/es5/applicationinsights-channel-js.min.js.map +1 -1
  30. package/dist-es5/EnvelopeCreator.js +2 -2
  31. package/dist-es5/EnvelopeCreator.js.map +1 -1
  32. package/dist-es5/Interfaces.js +1 -1
  33. package/dist-es5/InternalConstants.js +1 -1
  34. package/dist-es5/Offline.js +1 -1
  35. package/dist-es5/SendBuffer.js +1 -1
  36. package/dist-es5/Sender.js +66 -31
  37. package/dist-es5/Sender.js.map +1 -1
  38. package/dist-es5/Serializer.js +1 -1
  39. package/dist-es5/TelemetryProcessors/Sample.js +1 -1
  40. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +1 -1
  41. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  42. package/dist-es5/__DynamicConstants.js +1 -1
  43. package/dist-es5/applicationinsights-channel-js.js +1 -1
  44. package/package.json +5 -4
  45. package/types/applicationinsights-channel-js.d.ts +35 -9
  46. package/types/applicationinsights-channel-js.namespaced.d.ts +35 -9
  47. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.cjs.js.map +0 -1
  48. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.cjs.min.js +0 -6
  49. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.cjs.min.js.map +0 -1
  50. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.gbl.js.map +0 -1
  51. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.gbl.min.js +0 -6
  52. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.gbl.min.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.integrity.json +0 -66
  54. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.js.map +0 -1
  55. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.min.js +0 -6
  56. package/browser/es5/applicationinsights-channel-js.3.0.1-nightly3.2304-38.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.1-nightly3.2304-38
2
+ * Application Insights JavaScript SDK - Channel, 3.0.1-nightly3.2304-44
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -37,7 +37,7 @@ var MathCls = Math;
37
37
  var ArrCls = Array;
38
38
  var ArrProto = ArrCls[PROTOTYPE];
39
39
 
40
- function _safeGet(cb, defValue) {
40
+ function safeGet(cb, defValue) {
41
41
  var result = defValue;
42
42
  try {
43
43
  result = cb();
@@ -85,8 +85,11 @@ var isArray = ArrCls.isArray;
85
85
  var isNumber = _createIs(NUMBER);
86
86
  var isBoolean = _createIs(BOOLEAN);
87
87
  var isError = _createObjIs("Error");
88
+ function isPromiseLike(value) {
89
+ return !!value && isFunction(value.then);
90
+ }
88
91
  function isTruthy(value) {
89
- return !(!value || _safeGet(function () { return !(value && (0 + value)); }, !value));
92
+ return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
90
93
  }
91
94
 
92
95
  var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
@@ -354,8 +357,8 @@ function getLazy(cb) {
354
357
  return lazyValue;
355
358
  }
356
359
 
357
- function _lazySafeGet(cb, defValue) {
358
- return getLazy(function () { return _safeGet(cb, defValue); });
360
+ function safeGetLazy(cb, defValue) {
361
+ return getLazy(function () { return safeGet(cb, defValue); });
359
362
  }
360
363
 
361
364
  var WINDOW = "window";
@@ -363,11 +366,12 @@ var _cachedGlobal;
363
366
  var _cachedWindow;
364
367
  var _cachedDocument;
365
368
  var _cachedNavigator;
366
- function _lazySafeGetInst(name) {
367
- return _lazySafeGet(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
369
+ var _isNode;
370
+ function lazySafeGetInst(name) {
371
+ return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
368
372
  }
369
373
  function getGlobal(useCached) {
370
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = _lazySafeGet(_getGlobalValue, null));
374
+ (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, null));
371
375
  return _cachedGlobal.v;
372
376
  }
373
377
  function getInst(name, useCached) {
@@ -381,35 +385,42 @@ function getInst(name, useCached) {
381
385
  return null;
382
386
  }
383
387
  function getDocument() {
384
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = _lazySafeGetInst("document"));
388
+ (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
385
389
  return _cachedDocument.v;
386
390
  }
387
391
  function hasWindow() {
388
392
  return !!getWindow();
389
393
  }
390
394
  function getWindow() {
391
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = _lazySafeGetInst(WINDOW));
395
+ (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
392
396
  return _cachedWindow.v;
393
397
  }
394
398
  function hasNavigator() {
395
399
  return !!getNavigator();
396
400
  }
397
401
  function getNavigator() {
398
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = _lazySafeGetInst("navigator"));
402
+ (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
399
403
  return _cachedNavigator.v;
400
404
  }
405
+ function isNode() {
406
+ !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
407
+ return _isNode.v;
408
+ }
401
409
 
402
410
  var _symbol;
403
411
  var _symbolFor;
404
412
  var _symbolKeyFor;
405
413
  function _getSymbolValue(name) {
406
- return _lazySafeGet(function () {
414
+ return safeGetLazy(function () {
407
415
  return (_symbol.v ? _symbol[name] : UNDEF_VALUE);
408
416
  }, UNDEF_VALUE);
409
417
  }
418
+ function hasSymbol() {
419
+ return !!getSymbol();
420
+ }
410
421
  function getSymbol() {
411
422
  var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
412
- resetCache && (_symbol = _lazySafeGetInst(SYMBOL));
423
+ resetCache && (_symbol = lazySafeGetInst(SYMBOL));
413
424
  (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
414
425
  (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
415
426
  return _symbol.v;
@@ -1013,6 +1024,7 @@ var _DYN_NAME$2 = "name";
1013
1024
  var _DYN_TIME = "time";
1014
1025
  var _DYN_PROCESS_NEXT = "processNext";
1015
1026
  var _DYN_GET_PROCESS_TEL_CONT0 = "getProcessTelContext";
1027
+ var _DYN_UNLOAD = "unload";
1016
1028
  var _DYN_LOGGING_LEVEL_CONSOL4 = "loggingLevelConsole";
1017
1029
  var _DYN_CREATE_NEW$1 = "createNew";
1018
1030
  var _DYN_TEARDOWN = "teardown";
@@ -1052,6 +1064,330 @@ function throwAggregationError(message, sourceErrors) {
1052
1064
  throw new aggregationErrorType(theMessage, sourceErrors || []);
1053
1065
  }
1054
1066
 
1067
+ function doAwaitResponse(value, cb) {
1068
+ return doAwait(value, function (value) {
1069
+ cb && cb({
1070
+ value: value,
1071
+ rejected: false
1072
+ });
1073
+ }, function (reason) {
1074
+ cb && cb({
1075
+ rejected: true,
1076
+ reason: reason
1077
+ });
1078
+ });
1079
+ }
1080
+ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1081
+ var result = value;
1082
+ if (isPromiseLike(value)) {
1083
+ if (resolveFn || rejectFn) {
1084
+ result = value.then(resolveFn, rejectFn);
1085
+ }
1086
+ }
1087
+ else {
1088
+ resolveFn && resolveFn(value);
1089
+ }
1090
+ if (finallyFn) {
1091
+ result = doFinally(result, finallyFn);
1092
+ }
1093
+ return result;
1094
+ }
1095
+ function doFinally(value, finallyFn) {
1096
+ var result = value;
1097
+ if (finallyFn) {
1098
+ if (isPromiseLike(value)) {
1099
+ if (value.finally) {
1100
+ result = value.finally(finallyFn);
1101
+ }
1102
+ else {
1103
+ result = value.then(function (value) {
1104
+ finallyFn();
1105
+ return value;
1106
+ }, function (reason) {
1107
+ finallyFn();
1108
+ throw reason;
1109
+ });
1110
+ }
1111
+ }
1112
+ else {
1113
+ finallyFn();
1114
+ }
1115
+ }
1116
+ return result;
1117
+ }
1118
+
1119
+ var _theLogger = null;
1120
+ function _debugLog(id, message) {
1121
+ if (_theLogger) {
1122
+ _theLogger(id, message);
1123
+ }
1124
+ }
1125
+
1126
+ var STRING_STATES = [
1127
+ "pending", "resolving", "resolved", "rejected"
1128
+ ];
1129
+
1130
+ var DISPATCH_EVENT = "dispatchEvent";
1131
+ var _hasInitEvent;
1132
+ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1133
+ var doc = getDocument();
1134
+ !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1135
+ var evt;
1136
+ if (doc && doc.createEvent) {
1137
+ evt = doc.createEvent("Event");
1138
+ }
1139
+ return (!!evt && evt.initEvent);
1140
+ }, null));
1141
+ var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1142
+ populateEvent && populateEvent(theEvt);
1143
+ if (_hasInitEvent.v) {
1144
+ theEvt.initEvent(evtName, false, true);
1145
+ }
1146
+ if (theEvt && target[DISPATCH_EVENT]) {
1147
+ target[DISPATCH_EVENT](theEvt);
1148
+ }
1149
+ else {
1150
+ var handler = target["on" + evtName];
1151
+ if (handler) {
1152
+ handler(theEvt);
1153
+ }
1154
+ else {
1155
+ var theConsole = getInst("console");
1156
+ theConsole && (theConsole["error"] || theConsole["log"])(evtName, dumpObj(theEvt));
1157
+ }
1158
+ }
1159
+ }
1160
+
1161
+ var STR_PROMISE = "Promise";
1162
+
1163
+ var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1164
+ var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1165
+ var _unhandledRejectionTimeout = 10;
1166
+ var _hasPromiseRejectionEvent;
1167
+ function dumpFnObj(value) {
1168
+ if (isFunction(value)) {
1169
+ return value.toString();
1170
+ }
1171
+ return dumpObj(value);
1172
+ }
1173
+ function _createPromise(newPromise, processor, executor) {
1174
+ var additionalArgs = arrSlice(arguments, 3);
1175
+ var _state = 0 ;
1176
+ var _hasResolved = false;
1177
+ var _settledValue;
1178
+ var _queue = [];
1179
+ var _handled = false;
1180
+ var _unHandledRejectionHandler = null;
1181
+ var _thePromise;
1182
+ !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1183
+ var _then = function (onResolved, onRejected) {
1184
+ try {
1185
+ _handled = true;
1186
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1187
+ _unHandledRejectionHandler = null;
1188
+ _debugLog(_toString(), "then(" + dumpFnObj(onResolved) + ", " + dumpFnObj(onResolved) + ")");
1189
+ var thenPromise = newPromise(function (resolve, reject) {
1190
+ _queue.push(function () {
1191
+ try {
1192
+ _debugLog(_toString(), "Handling settled value " + dumpFnObj(_settledValue));
1193
+ var handler = _state === 2 ? onResolved : onRejected;
1194
+ var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);
1195
+ _debugLog(_toString(), "Handling Result " + dumpFnObj(value));
1196
+ if (isPromiseLike(value)) {
1197
+ value.then(resolve, reject);
1198
+ }
1199
+ else if (handler) {
1200
+ resolve(value);
1201
+ }
1202
+ else if (_state === 3 ) {
1203
+ reject(value);
1204
+ }
1205
+ else {
1206
+ resolve(value);
1207
+ }
1208
+ }
1209
+ catch (e) {
1210
+ reject(e);
1211
+ }
1212
+ });
1213
+ _debugLog(_toString(), "Added to Queue " + _queue.length);
1214
+ if (_hasResolved) {
1215
+ _processQueue();
1216
+ }
1217
+ }, additionalArgs);
1218
+ _debugLog(_toString(), "Created -> " + thenPromise.toString());
1219
+ return thenPromise;
1220
+ }
1221
+ finally {
1222
+ }
1223
+ };
1224
+ var _catch = function (onRejected) {
1225
+ return _then(undefined, onRejected);
1226
+ };
1227
+ var _finally = function (onFinally) {
1228
+ var thenFinally = onFinally;
1229
+ var catchFinally = onFinally;
1230
+ if (isFunction(onFinally)) {
1231
+ thenFinally = function (value) {
1232
+ onFinally && onFinally();
1233
+ return value;
1234
+ };
1235
+ catchFinally = function (reason) {
1236
+ onFinally && onFinally();
1237
+ throw reason;
1238
+ };
1239
+ }
1240
+ return _then(thenFinally, catchFinally);
1241
+ };
1242
+ var _strState = function () {
1243
+ return STRING_STATES[_state];
1244
+ };
1245
+ var _processQueue = function () {
1246
+ if (_queue.length > 0) {
1247
+ var pending = _queue.slice();
1248
+ _queue = [];
1249
+ _debugLog(_toString(), "Processing queue " + pending.length);
1250
+ _handled = true;
1251
+ processor(pending);
1252
+ _debugLog(_toString(), "Processing done");
1253
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1254
+ _unHandledRejectionHandler = null;
1255
+ }
1256
+ else {
1257
+ _debugLog(_toString(), "Empty Processing queue ");
1258
+ }
1259
+ };
1260
+ var _createSettleIfFn = function (newState, allowState) {
1261
+ return function (theValue) {
1262
+ if (_state === allowState) {
1263
+ if (newState === 2 && isPromiseLike(theValue)) {
1264
+ _state = 1 ;
1265
+ _debugLog(_toString(), "Resolving");
1266
+ theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));
1267
+ return;
1268
+ }
1269
+ _state = newState;
1270
+ _hasResolved = true;
1271
+ _settledValue = theValue;
1272
+ _debugLog(_toString(), _strState());
1273
+ _processQueue();
1274
+ if (!_handled && newState === 3 && !_unHandledRejectionHandler) {
1275
+ _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);
1276
+ }
1277
+ }
1278
+ else {
1279
+ _debugLog(_toString(), "Already " + _strState());
1280
+ }
1281
+ };
1282
+ };
1283
+ var _notifyUnhandledRejection = function () {
1284
+ if (!_handled) {
1285
+ if (isNode()) {
1286
+ _debugLog(_toString(), "Emitting " + NODE_UNHANDLED_REJECTION);
1287
+ process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1288
+ }
1289
+ else {
1290
+ var gbl = getWindow() || getGlobal();
1291
+ _debugLog(_toString(), "Emitting " + UNHANDLED_REJECTION);
1292
+ emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {
1293
+ objDefine(theEvt, "promise", { g: function () { return _thePromise; } });
1294
+ theEvt.reason = _settledValue;
1295
+ return theEvt;
1296
+ }, !!_hasPromiseRejectionEvent.v);
1297
+ }
1298
+ }
1299
+ };
1300
+ _thePromise = {
1301
+ then: _then,
1302
+ "catch": _catch,
1303
+ finally: _finally
1304
+ };
1305
+ objDefineProp(_thePromise, "state", {
1306
+ get: _strState
1307
+ });
1308
+ if (hasSymbol()) {
1309
+ _thePromise[getKnownSymbol(11 )] = "IPromise";
1310
+ }
1311
+ var _toString = function () {
1312
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1313
+ };
1314
+ _thePromise.toString = _toString;
1315
+ (function _initialize() {
1316
+ if (!isFunction(executor)) {
1317
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpFnObj(executor));
1318
+ }
1319
+ var _rejectFn = _createSettleIfFn(3 , 0 );
1320
+ try {
1321
+ _debugLog(_toString(), "Executing");
1322
+ executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);
1323
+ }
1324
+ catch (e) {
1325
+ _rejectFn(e);
1326
+ }
1327
+ })();
1328
+ _debugLog(_toString(), "Returning");
1329
+ return _thePromise;
1330
+ }
1331
+
1332
+ var _processPendingItems = function (pending) {
1333
+ arrForEach(pending, function (fn) {
1334
+ try {
1335
+ fn();
1336
+ }
1337
+ catch (e) {
1338
+ }
1339
+ });
1340
+ };
1341
+ function timeoutItemProcessor(timeout) {
1342
+ var callbackTimeout = isNumber(timeout) ? timeout : 0;
1343
+ return function (pending) {
1344
+ scheduleTimeout(function () {
1345
+ _processPendingItems(pending);
1346
+ }, callbackTimeout);
1347
+ };
1348
+ }
1349
+
1350
+ function createAsyncPromise(executor, timeout) {
1351
+ return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1352
+ }
1353
+
1354
+ var _isPromiseSupported;
1355
+ function createNativePromise(executor, timeout) {
1356
+ !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1357
+ var PrmCls = _isPromiseSupported.v;
1358
+ if (!PrmCls) {
1359
+ return createAsyncPromise(executor);
1360
+ }
1361
+ if (!isFunction(executor)) {
1362
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpObj(executor));
1363
+ }
1364
+ var _state = 0 ;
1365
+ function _strState() {
1366
+ return STRING_STATES[_state];
1367
+ }
1368
+ var thePromise = new PrmCls(function (resolve, reject) {
1369
+ function _resolve(value) {
1370
+ _state = 2 ;
1371
+ resolve(value);
1372
+ }
1373
+ function _reject(reason) {
1374
+ _state = 3 ;
1375
+ reject(reason);
1376
+ }
1377
+ executor(_resolve, _reject);
1378
+ });
1379
+ objDefineProp(thePromise, "state", {
1380
+ get: _strState
1381
+ });
1382
+ return thePromise;
1383
+ }
1384
+
1385
+ var _promiseCreator;
1386
+ function createPromise(executor, timeout) {
1387
+ !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1388
+ return _promiseCreator.v.call(this, executor, timeout);
1389
+ }
1390
+
1055
1391
  var UNDEFINED_VALUE$1 = undefined;
1056
1392
  var STR_EMPTY = "";
1057
1393
  var STR_CORE = "core";
@@ -1394,7 +1730,7 @@ function newId(maxLength) {
1394
1730
  return result;
1395
1731
  }
1396
1732
 
1397
- var version = "3.0.1-nightly3.2304-38";
1733
+ var version = "3.0.1-nightly3.2304-44";
1398
1734
  var instanceName = "." + newId(6);
1399
1735
  var _dataUid = 0;
1400
1736
  function _canAcceptData(target) {
@@ -1989,7 +2325,13 @@ function onConfigChange(config, configHandler, logger) {
1989
2325
  return handler[_DYN_WATCH ](configHandler);
1990
2326
  }
1991
2327
  _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));
1992
- createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2328
+ return createDynamicConfig(config, null, logger)[_DYN_WATCH ](configHandler);
2329
+ }
2330
+
2331
+ function runTargetUnload(target, isAsync) {
2332
+ if (target && target[_DYN_UNLOAD ]) {
2333
+ return target[_DYN_UNLOAD ](isAsync);
2334
+ }
1993
2335
  }
1994
2336
 
1995
2337
  function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
@@ -2091,8 +2433,9 @@ var DiagnosticLogger = /** @class */ (function () {
2091
2433
  var _loggingLevelTelemetry;
2092
2434
  var _maxInternalMessageLimit;
2093
2435
  var _enableDebug;
2436
+ var _unloadHandler;
2094
2437
  dynamicProto(DiagnosticLogger, this, function (_self) {
2095
- _setDefaultsFromConfig(config || {});
2438
+ _unloadHandler = _setDefaultsFromConfig(config || {});
2096
2439
  _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };
2097
2440
  _self[_DYN_THROW_INTERNAL ] = function (severity, msgId, msg, properties, isUserAct) {
2098
2441
  if (isUserAct === void 0) { isUserAct = false; }
@@ -2135,6 +2478,10 @@ var DiagnosticLogger = /** @class */ (function () {
2135
2478
  _messageLogged = {};
2136
2479
  };
2137
2480
  _self[_DYN_LOG_INTERNAL_MESSAGE ] = _logInternalMessage;
2481
+ _self[_DYN_UNLOAD ] = function (isAsync) {
2482
+ _unloadHandler && _unloadHandler.rm();
2483
+ _unloadHandler = null;
2484
+ };
2138
2485
  function _logInternalMessage(severity, message) {
2139
2486
  if (_areInternalMessagesThrottled()) {
2140
2487
  return;
@@ -2167,8 +2514,7 @@ var DiagnosticLogger = /** @class */ (function () {
2167
2514
  }
2168
2515
  }
2169
2516
  function _setDefaultsFromConfig(config) {
2170
- var handler = createDynamicConfig(config, defaultValues$1, _self);
2171
- handler[_DYN_WATCH ](function (details) {
2517
+ return onConfigChange(createDynamicConfig(config, defaultValues$1, _self).cfg, function (details) {
2172
2518
  var config = details.cfg;
2173
2519
  _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 ];
2174
2520
  _loggingLevelTelemetry = config.loggingLevelTelemetry;
@@ -2487,7 +2833,7 @@ function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {
2487
2833
  var context = internalContext.ctx;
2488
2834
  function _processNext(unloadState) {
2489
2835
  var nextPlugin = internalContext._next();
2490
- nextPlugin && nextPlugin.unload(context, unloadState);
2836
+ nextPlugin && nextPlugin[_DYN_UNLOAD ](context, unloadState);
2491
2837
  return !nextPlugin;
2492
2838
  }
2493
2839
  function _createNew(plugins, startAt) {
@@ -3388,7 +3734,7 @@ var Envelope = /** @class */ (function () {
3388
3734
  return Envelope;
3389
3735
  }());
3390
3736
 
3391
- var Event = /** @class */ (function () {
3737
+ var Event$1 = /** @class */ (function () {
3392
3738
  function Event(logger, name, properties, measurements) {
3393
3739
  this.aiDataContract = {
3394
3740
  ver: 1 ,
@@ -4328,7 +4674,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
4328
4674
  }
4329
4675
  }
4330
4676
  var EnvelopeCreator = {
4331
- Version: "3.0.1-nightly3.2304-38"
4677
+ Version: "3.0.1-nightly3.2304-44"
4332
4678
  };
4333
4679
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4334
4680
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -4352,10 +4698,10 @@ function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4352
4698
  EnvelopeCreatorInit(logger, telemetryItem);
4353
4699
  var customProperties = {};
4354
4700
  var customMeasurements = {};
4355
- if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE ]) {
4701
+ if (telemetryItem[strBaseType] !== Event$1[_DYN_DATA_TYPE ]) {
4356
4702
  customProperties["baseTypeSource"] = telemetryItem[strBaseType];
4357
4703
  }
4358
- if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE ]) {
4704
+ if (telemetryItem[strBaseType] === Event$1[_DYN_DATA_TYPE ]) {
4359
4705
  customProperties = telemetryItem[strBaseData][strProperties] || {};
4360
4706
  customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS ] || {};
4361
4707
  }
@@ -4369,9 +4715,9 @@ function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4369
4715
  _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);
4370
4716
  }
4371
4717
  var eventName = telemetryItem[strBaseData][_DYN_NAME ];
4372
- var eventData = new Event(logger, eventName, customProperties, customMeasurements);
4373
- var data = new Data(Event[_DYN_DATA_TYPE ], eventData);
4374
- return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
4718
+ var eventData = new Event$1(logger, eventName, customProperties, customMeasurements);
4719
+ var data = new Data(Event$1[_DYN_DATA_TYPE ], eventData);
4720
+ return _createEnvelope(logger, Event$1[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
4375
4721
  }
4376
4722
  function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4377
4723
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5014,7 +5360,7 @@ function _chkSampling(value) {
5014
5360
  return !isNaN(value) && value > 0 && value <= 100;
5015
5361
  }
5016
5362
  var EnvelopeTypeCreator = (_b = {},
5017
- _b[Event.dataType] = EventEnvelopeCreator,
5363
+ _b[Event$1.dataType] = EventEnvelopeCreator,
5018
5364
  _b[Trace.dataType] = TraceEnvelopeCreator,
5019
5365
  _b[PageView.dataType] = PageViewEnvelopeCreator,
5020
5366
  _b[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,
@@ -5053,6 +5399,7 @@ var Sender = /** @class */ (function (_super) {
5053
5399
  var _sessionStorageUsed;
5054
5400
  var _bufferOverrideUsed;
5055
5401
  var _namePrefix;
5402
+ var _enableSendPromise;
5056
5403
  dynamicProto(Sender, _this, function (_self, _base) {
5057
5404
  _initDefaults();
5058
5405
  _self.pause = function () {
@@ -5072,7 +5419,7 @@ var Sender = /** @class */ (function (_super) {
5072
5419
  if (!_paused) {
5073
5420
  _clearScheduledTimer();
5074
5421
  try {
5075
- _self[_DYN_TRIGGER_SEND ](isAsync, null, sendReason || 1 );
5422
+ return _self[_DYN_TRIGGER_SEND ](isAsync, null, sendReason || 1 );
5076
5423
  }
5077
5424
  catch (e) {
5078
5425
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 22 , "flush failed, telemetry will not be collected: " + getExceptionName(e), { exception: dumpObj(e) });
@@ -5083,14 +5430,14 @@ var Sender = /** @class */ (function (_super) {
5083
5430
  if (!_paused) {
5084
5431
  if (_beaconSupported) {
5085
5432
  try {
5086
- _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
5433
+ return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
5087
5434
  }
5088
5435
  catch (e) {
5089
5436
  _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) });
5090
5437
  }
5091
5438
  }
5092
5439
  else {
5093
- _self.flush();
5440
+ _self.flush(false);
5094
5441
  }
5095
5442
  }
5096
5443
  };
@@ -5169,6 +5516,7 @@ var Sender = /** @class */ (function (_super) {
5169
5516
  else {
5170
5517
  _customHeaders = null;
5171
5518
  }
5519
+ _enableSendPromise = senderConfig.enableSendPromise;
5172
5520
  var sendPostFunc = null;
5173
5521
  if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
5174
5522
  sendPostFunc = _xdrSender;
@@ -5276,6 +5624,7 @@ var Sender = /** @class */ (function (_super) {
5276
5624
  };
5277
5625
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
5278
5626
  if (async === void 0) { async = true; }
5627
+ var result;
5279
5628
  if (!_paused) {
5280
5629
  try {
5281
5630
  var buffer = _self[_DYN__BUFFER ];
@@ -5284,10 +5633,10 @@ var Sender = /** @class */ (function (_super) {
5284
5633
  var payload = buffer.getItems();
5285
5634
  _notifySendRequest(sendReason || 0 , async);
5286
5635
  if (forcedSender) {
5287
- forcedSender.call(_this, payload, async);
5636
+ result = forcedSender.call(_this, payload, async);
5288
5637
  }
5289
5638
  else {
5290
- _self[_DYN__SENDER ](payload, async);
5639
+ result = _self[_DYN__SENDER ](payload, async);
5291
5640
  }
5292
5641
  }
5293
5642
  }
@@ -5303,10 +5652,11 @@ var Sender = /** @class */ (function (_super) {
5303
5652
  }
5304
5653
  }
5305
5654
  }
5655
+ return result;
5306
5656
  };
5307
5657
  _self._doTeardown = function (unloadCtx, unloadState) {
5308
5658
  _self.onunloadFlush();
5309
- _offlineListener.unload();
5659
+ runTargetUnload(_offlineListener, false);
5310
5660
  _initDefaults();
5311
5661
  };
5312
5662
  _self[_DYN__ON_ERROR ] = function (payload, message, event) {
@@ -5475,6 +5825,9 @@ var Sender = /** @class */ (function (_super) {
5475
5825
  }
5476
5826
  }
5477
5827
  function _xhrSender(payload, isAsync) {
5828
+ var thePromise;
5829
+ var resolveFunc;
5830
+ var rejectFunc;
5478
5831
  var xhr = new XMLHttpRequest();
5479
5832
  var endPointUrl = _endpointUrl;
5480
5833
  try {
@@ -5490,11 +5843,26 @@ var Sender = /** @class */ (function (_super) {
5490
5843
  arrForEach(objKeys(_headers), function (headerName) {
5491
5844
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
5492
5845
  });
5493
- xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]); };
5494
- xhr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event); };
5846
+ xhr.onreadystatechange = function () {
5847
+ _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]);
5848
+ if (xhr.readyState === 4) {
5849
+ resolveFunc && resolveFunc(true);
5850
+ }
5851
+ };
5852
+ xhr.onerror = function (event) {
5853
+ _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event);
5854
+ rejectFunc && rejectFunc(event);
5855
+ };
5856
+ if (isAsync && _enableSendPromise) {
5857
+ thePromise = createPromise(function (resolve, reject) {
5858
+ resolveFunc = resolve;
5859
+ rejectFunc = reject;
5860
+ });
5861
+ }
5495
5862
  var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5496
5863
  xhr.send(batch);
5497
5864
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
5865
+ return thePromise;
5498
5866
  }
5499
5867
  function _fetchKeepAliveSender(payload, isAsync) {
5500
5868
  if (isArray(payload)) {
@@ -5515,13 +5883,16 @@ var Sender = /** @class */ (function (_super) {
5515
5883
  }
5516
5884
  }
5517
5885
  function _fetchSender(payload, isAsync) {
5518
- _doFetchSender(payload, true);
5886
+ return _doFetchSender(payload, true);
5519
5887
  }
5520
5888
  function _doFetchSender(payload, isAsync) {
5521
5889
  var _a;
5522
5890
  var endPointUrl = _endpointUrl;
5523
5891
  var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5524
5892
  var plainTextBatch = new Blob([batch], { type: "application/json" });
5893
+ var thePromise;
5894
+ var resolveFunc;
5895
+ var rejectFunc;
5525
5896
  var requestHeaders = new Headers();
5526
5897
  var batchLength = batch[_DYN_LENGTH ];
5527
5898
  var ignoreResponse = false;
@@ -5552,43 +5923,52 @@ var Sender = /** @class */ (function (_super) {
5552
5923
  catch (e) {
5553
5924
  }
5554
5925
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
5926
+ if (isAsync && _enableSendPromise) {
5927
+ thePromise = createPromise(function (resolve, reject) {
5928
+ resolveFunc = resolve;
5929
+ rejectFunc = reject;
5930
+ });
5931
+ }
5555
5932
  try {
5556
- fetch(request).then(function (response) {
5933
+ doAwaitResponse(fetch(request), function (result) {
5557
5934
  if (!isAsync) {
5558
5935
  _syncFetchPayload -= batchLength;
5559
5936
  batchLength = 0;
5560
5937
  }
5561
5938
  if (!responseHandled) {
5562
5939
  responseHandled = true;
5563
- if (!response.ok) {
5564
- _self[_DYN__ON_ERROR ](payload, response.statusText);
5940
+ if (!result.rejected) {
5941
+ var response_1 = result.value;
5942
+ if (!response_1.ok) {
5943
+ _self[_DYN__ON_ERROR ](payload, response_1.statusText);
5944
+ resolveFunc && resolveFunc(false);
5945
+ }
5946
+ else {
5947
+ doAwaitResponse(response_1.text(), function (resp) {
5948
+ _checkResponsStatus(response_1.status, payload, response_1.url, payload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
5949
+ resolveFunc && resolveFunc(true);
5950
+ });
5951
+ }
5565
5952
  }
5566
5953
  else {
5567
- response.text().then(function (text) {
5568
- _checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH ], response.statusText, text);
5569
- });
5954
+ _self[_DYN__ON_ERROR ](payload, result.reason && result.reason.message);
5955
+ rejectFunc && rejectFunc(result.reason);
5570
5956
  }
5571
5957
  }
5572
- }).catch(function (error) {
5573
- if (!isAsync) {
5574
- _syncFetchPayload -= batchLength;
5575
- batchLength = 0;
5576
- }
5577
- if (!responseHandled) {
5578
- responseHandled = true;
5579
- _self[_DYN__ON_ERROR ](payload, error.message);
5580
- }
5581
5958
  });
5582
5959
  }
5583
5960
  catch (e) {
5584
5961
  if (!responseHandled) {
5585
5962
  _self[_DYN__ON_ERROR ](payload, dumpObj(e));
5963
+ rejectFunc && rejectFunc(e);
5586
5964
  }
5587
5965
  }
5588
5966
  if (ignoreResponse && !responseHandled) {
5589
5967
  responseHandled = true;
5590
5968
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
5969
+ resolveFunc && resolveFunc(true);
5591
5970
  }
5971
+ return thePromise;
5592
5972
  }
5593
5973
  function _parseResponse(response) {
5594
5974
  try {