@microsoft/applicationinsights-common 3.1.1-nightly3.2403-01 → 3.1.1-nightly3.2403-02

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 (111) hide show
  1. package/browser/es5/applicationinsights-common.cjs.js +876 -29
  2. package/browser/es5/applicationinsights-common.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-common.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-common.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-common.gbl.js +878 -31
  6. package/browser/es5/applicationinsights-common.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-common.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-common.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-common.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-common.js +878 -31
  11. package/browser/es5/applicationinsights-common.js.map +1 -1
  12. package/browser/es5/applicationinsights-common.min.js +2 -2
  13. package/browser/es5/applicationinsights-common.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-common.js +876 -29
  15. package/dist/es5/applicationinsights-common.js.map +1 -1
  16. package/dist/es5/applicationinsights-common.min.js +2 -2
  17. package/dist/es5/applicationinsights-common.min.js.map +1 -1
  18. package/dist-es5/ConnectionStringParser.js +5 -5
  19. package/dist-es5/ConnectionStringParser.js.map +1 -1
  20. package/dist-es5/Constants.js +1 -1
  21. package/dist-es5/DomHelperFuncs.js +1 -1
  22. package/dist-es5/Enums.js +1 -1
  23. package/dist-es5/HelperFuncs.js +1 -1
  24. package/dist-es5/Interfaces/ConnectionString.js +1 -1
  25. package/dist-es5/Interfaces/Context/IApplication.js +1 -1
  26. package/dist-es5/Interfaces/Context/IDevice.js +1 -1
  27. package/dist-es5/Interfaces/Context/IInternal.js +1 -1
  28. package/dist-es5/Interfaces/Context/ILocation.js +1 -1
  29. package/dist-es5/Interfaces/Context/IOperatingSystem.js +1 -1
  30. package/dist-es5/Interfaces/Context/ISample.js +1 -1
  31. package/dist-es5/Interfaces/Context/ISession.js +1 -1
  32. package/dist-es5/Interfaces/Context/ISessionManager.js +1 -1
  33. package/dist-es5/Interfaces/Context/ITelemetryTrace.js +1 -1
  34. package/dist-es5/Interfaces/Context/IUser.js +1 -1
  35. package/dist-es5/Interfaces/Context/IWeb.js +1 -1
  36. package/dist-es5/Interfaces/Contracts/AvailabilityData.js +1 -1
  37. package/dist-es5/Interfaces/Contracts/ContextTagKeys.js +1 -1
  38. package/dist-es5/Interfaces/Contracts/DataPointType.js +1 -1
  39. package/dist-es5/Interfaces/Contracts/DependencyKind.js +1 -1
  40. package/dist-es5/Interfaces/Contracts/DependencySourceType.js +1 -1
  41. package/dist-es5/Interfaces/Contracts/IBase.js +1 -1
  42. package/dist-es5/Interfaces/Contracts/IData.js +1 -1
  43. package/dist-es5/Interfaces/Contracts/IDataPoint.js +1 -1
  44. package/dist-es5/Interfaces/Contracts/IDomain.js +1 -1
  45. package/dist-es5/Interfaces/Contracts/IEnvelope.js +1 -1
  46. package/dist-es5/Interfaces/Contracts/IEventData.js +1 -1
  47. package/dist-es5/Interfaces/Contracts/IExceptionData.js +1 -1
  48. package/dist-es5/Interfaces/Contracts/IExceptionDetails.js +1 -1
  49. package/dist-es5/Interfaces/Contracts/IMessageData.js +1 -1
  50. package/dist-es5/Interfaces/Contracts/IMetricData.js +1 -1
  51. package/dist-es5/Interfaces/Contracts/IPageViewData.js +1 -1
  52. package/dist-es5/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  53. package/dist-es5/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  54. package/dist-es5/Interfaces/Contracts/IStackFrame.js +1 -1
  55. package/dist-es5/Interfaces/Contracts/RequestData.js +1 -1
  56. package/dist-es5/Interfaces/Contracts/SeverityLevel.js +1 -1
  57. package/dist-es5/Interfaces/IAppInsights.js +1 -1
  58. package/dist-es5/Interfaces/IConfig.js +1 -1
  59. package/dist-es5/Interfaces/ICorrelationConfig.js +1 -1
  60. package/dist-es5/Interfaces/IDependencyTelemetry.js +1 -1
  61. package/dist-es5/Interfaces/IEventTelemetry.js +1 -1
  62. package/dist-es5/Interfaces/IExceptionTelemetry.js +1 -1
  63. package/dist-es5/Interfaces/IMetricTelemetry.js +1 -1
  64. package/dist-es5/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  65. package/dist-es5/Interfaces/IPageViewTelemetry.js +1 -1
  66. package/dist-es5/Interfaces/IPartC.js +1 -1
  67. package/dist-es5/Interfaces/IPropertiesPlugin.js +1 -1
  68. package/dist-es5/Interfaces/IRequestContext.js +1 -1
  69. package/dist-es5/Interfaces/ISenderPostManager.js +6 -0
  70. package/dist-es5/Interfaces/ISenderPostManager.js.map +1 -0
  71. package/dist-es5/Interfaces/IStorageBuffer.js +1 -1
  72. package/dist-es5/Interfaces/ITelemetryContext.js +1 -1
  73. package/dist-es5/Interfaces/IThrottleMgr.js +1 -1
  74. package/dist-es5/Interfaces/ITraceTelemetry.js +1 -1
  75. package/dist-es5/Interfaces/IXDomainRequest.js +6 -0
  76. package/dist-es5/Interfaces/IXDomainRequest.js.map +1 -0
  77. package/dist-es5/Interfaces/PartAExtensions.js +1 -1
  78. package/dist-es5/Interfaces/Telemetry/IEnvelope.js +1 -1
  79. package/dist-es5/Interfaces/Telemetry/ISerializable.js +1 -1
  80. package/dist-es5/Offline.js +1 -1
  81. package/dist-es5/RequestResponseHeaders.js +1 -1
  82. package/dist-es5/SenderPostManager.js +456 -0
  83. package/dist-es5/SenderPostManager.js.map +1 -0
  84. package/dist-es5/StorageHelperFuncs.js +1 -1
  85. package/dist-es5/Telemetry/Common/Data.js +1 -1
  86. package/dist-es5/Telemetry/Common/DataPoint.js +1 -1
  87. package/dist-es5/Telemetry/Common/DataSanitizer.js +1 -1
  88. package/dist-es5/Telemetry/Common/Envelope.js +3 -3
  89. package/dist-es5/Telemetry/Common/Envelope.js.map +1 -1
  90. package/dist-es5/Telemetry/Event.js +1 -1
  91. package/dist-es5/Telemetry/Exception.js +4 -4
  92. package/dist-es5/Telemetry/Exception.js.map +1 -1
  93. package/dist-es5/Telemetry/Metric.js +1 -1
  94. package/dist-es5/Telemetry/PageView.js +1 -1
  95. package/dist-es5/Telemetry/PageViewPerformance.js +1 -1
  96. package/dist-es5/Telemetry/RemoteDependencyData.js +3 -3
  97. package/dist-es5/Telemetry/RemoteDependencyData.js.map +1 -1
  98. package/dist-es5/Telemetry/Trace.js +1 -1
  99. package/dist-es5/TelemetryItemCreator.js +3 -3
  100. package/dist-es5/TelemetryItemCreator.js.map +1 -1
  101. package/dist-es5/ThrottleMgr.js +1 -1
  102. package/dist-es5/UrlHelperFuncs.js +1 -1
  103. package/dist-es5/Util.js +57 -4
  104. package/dist-es5/Util.js.map +1 -1
  105. package/dist-es5/__DynamicConstants.js +10 -4
  106. package/dist-es5/__DynamicConstants.js.map +1 -1
  107. package/dist-es5/applicationinsights-common.js +3 -2
  108. package/dist-es5/applicationinsights-common.js.map +1 -1
  109. package/package.json +4 -3
  110. package/types/applicationinsights-common.d.ts +173 -1
  111. package/types/applicationinsights-common.namespaced.d.ts +205 -1
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Common, 3.1.1-nightly3.2403-01
2
+ * Application Insights JavaScript SDK - Common, 3.1.1-nightly3.2403-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_common_3_1_1_nightly3_2403_01", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-01";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_common_3_1_1_nightly3_2403_02", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-02";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -104,7 +104,12 @@ function isObject(value) {
104
104
  return !!value && typeof value === OBJECT;
105
105
  }
106
106
  var isArray = ArrCls.isArray;
107
+ var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
107
108
  var isError = ( /*#__PURE__*/_createObjIs("Error"));
109
+ /*#__NO_SIDE_EFFECTS__*/
110
+ function isPromiseLike(value) {
111
+ return !!(value && value.then && isFunction(value.then));
112
+ }
108
113
 
109
114
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
110
115
 
@@ -176,6 +181,10 @@ function createEnum(values) {
176
181
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
177
182
  }
178
183
  /*#__NO_SIDE_EFFECTS__*/
184
+ function createEnumKeyMap(values) {
185
+ return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
186
+ }
187
+ /*#__NO_SIDE_EFFECTS__*/
179
188
  function createSimpleMap(values) {
180
189
  var mapClass = {};
181
190
  objForEachKey(values, function (key, value) {
@@ -189,6 +198,22 @@ function createTypeMap(values) {
189
198
  return createSimpleMap(values);
190
199
  }
191
200
 
201
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
202
+ asyncIterator: 0 ,
203
+ hasInstance: 1 ,
204
+ isConcatSpreadable: 2 ,
205
+ iterator: 3 ,
206
+ match: 4 ,
207
+ matchAll: 5 ,
208
+ replace: 6 ,
209
+ search: 7 ,
210
+ species: 8 ,
211
+ split: 9 ,
212
+ toPrimitive: 10 ,
213
+ toStringTag: 11 ,
214
+ unscopables: 12
215
+ });
216
+
192
217
  var asString = StrCls;
193
218
 
194
219
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
@@ -291,6 +316,7 @@ function _globalSymbolRegistry() {
291
316
  }
292
317
  return _polySymbols;
293
318
  }
319
+ var _wellKnownSymbolCache;
294
320
  /*#__NO_SIDE_EFFECTS__*/
295
321
  function polyNewSymbol(description) {
296
322
  var theSymbol = {
@@ -312,6 +338,16 @@ function polySymbolFor(key) {
312
338
  }
313
339
  return registry.k[key];
314
340
  }
341
+ /*#__NO_SIDE_EFFECTS__*/
342
+ function polyGetKnownSymbol(name) {
343
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
344
+ var result;
345
+ var knownName = _wellKnownSymbolMap[name];
346
+ if (knownName) {
347
+ result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + "." + knownName);
348
+ }
349
+ return result;
350
+ }
315
351
 
316
352
  var propMap = {
317
353
  e: "enumerable",
@@ -389,6 +425,7 @@ var _cachedGlobal;
389
425
  var _cachedWindow;
390
426
  var _cachedDocument;
391
427
  var _cachedNavigator;
428
+ var _isNode;
392
429
  /*#__NO_SIDE_EFFECTS__*/
393
430
  function lazySafeGetInst(name) {
394
431
  return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
@@ -436,6 +473,10 @@ function getNavigator() {
436
473
  (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
437
474
  return _cachedNavigator.v;
438
475
  }
476
+ function isNode() {
477
+ !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
478
+ return _isNode.v;
479
+ }
439
480
 
440
481
  var _symbol;
441
482
  var _symbolFor;
@@ -446,6 +487,23 @@ function _initSymbol() {
446
487
  }
447
488
  }
448
489
  /*#__NO_SIDE_EFFECTS__*/
490
+ function hasSymbol() {
491
+ return !!getSymbol();
492
+ }
493
+ /*#__NO_SIDE_EFFECTS__*/
494
+ function getSymbol() {
495
+ !_globalLazyTestHooks && _initTestHooks();
496
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
497
+ return _symbol.v;
498
+ }
499
+ /*#__NO_SIDE_EFFECTS__*/
500
+ function getKnownSymbol(name, noPoly) {
501
+ var knownName = _wellKnownSymbolMap[name];
502
+ !_globalLazyTestHooks && _initTestHooks();
503
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
504
+ return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
505
+ }
506
+ /*#__NO_SIDE_EFFECTS__*/
449
507
  function newSymbol(description, noPoly) {
450
508
  !_globalLazyTestHooks && _initTestHooks();
451
509
  (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
@@ -477,6 +535,8 @@ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, ArrProto));
477
535
 
478
536
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
479
537
 
538
+ var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
539
+
480
540
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
481
541
 
482
542
  var objCreate = ObjClass$1["create"] || polyObjCreate;
@@ -1062,8 +1122,308 @@ function dynamicProto(theClass, target, delegateFunc, options) {
1062
1122
  }
1063
1123
  dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1064
1124
 
1125
+ function doAwaitResponse(value, cb) {
1126
+ return doAwait(value, function (value) {
1127
+ return cb ? cb({
1128
+ value: value,
1129
+ rejected: false
1130
+ }) : value;
1131
+ }, function (reason) {
1132
+ return cb ? cb({
1133
+ rejected: true,
1134
+ reason: reason
1135
+ }) : reason;
1136
+ });
1137
+ }
1138
+ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1139
+ var result = value;
1140
+ if (isPromiseLike(value)) {
1141
+ if (resolveFn || rejectFn) {
1142
+ result = value.then(resolveFn, rejectFn);
1143
+ }
1144
+ }
1145
+ else {
1146
+ if (resolveFn) {
1147
+ result = resolveFn(value);
1148
+ }
1149
+ }
1150
+ if (finallyFn) {
1151
+ doFinally(result, finallyFn);
1152
+ }
1153
+ return result;
1154
+ }
1155
+ function doFinally(value, finallyFn) {
1156
+ var result = value;
1157
+ if (finallyFn) {
1158
+ if (isPromiseLike(value)) {
1159
+ if (value.finally) {
1160
+ result = value.finally(finallyFn);
1161
+ }
1162
+ else {
1163
+ result = value.then(function (value) {
1164
+ finallyFn();
1165
+ return value;
1166
+ }, function (reason) {
1167
+ finallyFn();
1168
+ throw reason;
1169
+ });
1170
+ }
1171
+ }
1172
+ else {
1173
+ finallyFn();
1174
+ }
1175
+ }
1176
+ return result;
1177
+ }
1178
+
1179
+ var STRING_STATES = [
1180
+ "pending", "resolving", "resolved", "rejected"
1181
+ ];
1182
+
1183
+ var DISPATCH_EVENT = "dispatchEvent";
1184
+ var _hasInitEvent;
1185
+ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1186
+ var doc = getDocument();
1187
+ !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1188
+ var evt;
1189
+ if (doc && doc.createEvent) {
1190
+ evt = doc.createEvent("Event");
1191
+ }
1192
+ return (!!evt && evt.initEvent);
1193
+ }, null));
1194
+ var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1195
+ populateEvent && populateEvent(theEvt);
1196
+ if (_hasInitEvent.v) {
1197
+ theEvt.initEvent(evtName, false, true);
1198
+ }
1199
+ if (theEvt && target[DISPATCH_EVENT]) {
1200
+ target[DISPATCH_EVENT](theEvt);
1201
+ }
1202
+ else {
1203
+ var handler = target["on" + evtName];
1204
+ if (handler) {
1205
+ handler(theEvt);
1206
+ }
1207
+ else {
1208
+ var theConsole = getInst("console");
1209
+ theConsole && (theConsole["error"] || theConsole["log"])(evtName, dumpObj(theEvt));
1210
+ }
1211
+ }
1212
+ }
1213
+
1214
+ var STR_PROMISE = "Promise";
1215
+
1216
+ var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1217
+ var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1218
+ var _unhandledRejectionTimeout = 10;
1219
+ var _hasPromiseRejectionEvent;
1220
+ function dumpFnObj(value) {
1221
+ if (isFunction(value)) {
1222
+ return value.toString();
1223
+ }
1224
+ return dumpObj(value);
1225
+ }
1226
+ function _createPromise(newPromise, processor, executor) {
1227
+ var additionalArgs = arrSlice(arguments, 3);
1228
+ var _state = 0 ;
1229
+ var _hasResolved = false;
1230
+ var _settledValue;
1231
+ var _queue = [];
1232
+ var _handled = false;
1233
+ var _unHandledRejectionHandler = null;
1234
+ var _thePromise;
1235
+ !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1236
+ var _then = function (onResolved, onRejected) {
1237
+ try {
1238
+ _handled = true;
1239
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1240
+ _unHandledRejectionHandler = null;
1241
+ var thenPromise = newPromise(function (resolve, reject) {
1242
+ _queue.push(function () {
1243
+ try {
1244
+ var handler = _state === 2 ? onResolved : onRejected;
1245
+ var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);
1246
+ if (isPromiseLike(value)) {
1247
+ value.then(resolve, reject);
1248
+ }
1249
+ else if (handler) {
1250
+ resolve(value);
1251
+ }
1252
+ else if (_state === 3 ) {
1253
+ reject(value);
1254
+ }
1255
+ else {
1256
+ resolve(value);
1257
+ }
1258
+ }
1259
+ catch (e) {
1260
+ reject(e);
1261
+ }
1262
+ });
1263
+ if (_hasResolved) {
1264
+ _processQueue();
1265
+ }
1266
+ }, additionalArgs);
1267
+ return thenPromise;
1268
+ }
1269
+ finally {
1270
+ }
1271
+ };
1272
+ var _catch = function (onRejected) {
1273
+ return _then(undefined, onRejected);
1274
+ };
1275
+ var _finally = function (onFinally) {
1276
+ var thenFinally = onFinally;
1277
+ var catchFinally = onFinally;
1278
+ if (isFunction(onFinally)) {
1279
+ thenFinally = function (value) {
1280
+ onFinally && onFinally();
1281
+ return value;
1282
+ };
1283
+ catchFinally = function (reason) {
1284
+ onFinally && onFinally();
1285
+ throw reason;
1286
+ };
1287
+ }
1288
+ return _then(thenFinally, catchFinally);
1289
+ };
1290
+ var _strState = function () {
1291
+ return STRING_STATES[_state];
1292
+ };
1293
+ var _processQueue = function () {
1294
+ if (_queue.length > 0) {
1295
+ var pending = _queue.slice();
1296
+ _queue = [];
1297
+ _handled = true;
1298
+ processor(pending);
1299
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1300
+ _unHandledRejectionHandler = null;
1301
+ }
1302
+ };
1303
+ var _createSettleIfFn = function (newState, allowState) {
1304
+ return function (theValue) {
1305
+ if (_state === allowState) {
1306
+ if (newState === 2 && isPromiseLike(theValue)) {
1307
+ _state = 1 ;
1308
+ theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));
1309
+ return;
1310
+ }
1311
+ _state = newState;
1312
+ _hasResolved = true;
1313
+ _settledValue = theValue;
1314
+ _processQueue();
1315
+ if (!_handled && newState === 3 && !_unHandledRejectionHandler) {
1316
+ _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);
1317
+ }
1318
+ }
1319
+ };
1320
+ };
1321
+ var _notifyUnhandledRejection = function () {
1322
+ if (!_handled) {
1323
+ if (isNode()) {
1324
+ process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1325
+ }
1326
+ else {
1327
+ var gbl = getWindow() || getGlobal();
1328
+ emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {
1329
+ objDefine(theEvt, "promise", { g: function () { return _thePromise; } });
1330
+ theEvt.reason = _settledValue;
1331
+ return theEvt;
1332
+ }, !!_hasPromiseRejectionEvent.v);
1333
+ }
1334
+ }
1335
+ };
1336
+ _thePromise = {
1337
+ then: _then,
1338
+ "catch": _catch,
1339
+ finally: _finally
1340
+ };
1341
+ objDefineProp(_thePromise, "state", {
1342
+ get: _strState
1343
+ });
1344
+ if (hasSymbol()) {
1345
+ _thePromise[getKnownSymbol(11 )] = "IPromise";
1346
+ }
1347
+ var _toString = function () {
1348
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1349
+ };
1350
+ _thePromise.toString = _toString;
1351
+ (function _initialize() {
1352
+ if (!isFunction(executor)) {
1353
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpFnObj(executor));
1354
+ }
1355
+ var _rejectFn = _createSettleIfFn(3 , 0 );
1356
+ try {
1357
+ executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);
1358
+ }
1359
+ catch (e) {
1360
+ _rejectFn(e);
1361
+ }
1362
+ })();
1363
+ return _thePromise;
1364
+ }
1365
+
1366
+ var _processPendingItems = function (pending) {
1367
+ arrForEach(pending, function (fn) {
1368
+ try {
1369
+ fn();
1370
+ }
1371
+ catch (e) {
1372
+ }
1373
+ });
1374
+ };
1375
+ function timeoutItemProcessor(timeout) {
1376
+ var callbackTimeout = isNumber(timeout) ? timeout : 0;
1377
+ return function (pending) {
1378
+ scheduleTimeout(function () {
1379
+ _processPendingItems(pending);
1380
+ }, callbackTimeout);
1381
+ };
1382
+ }
1383
+
1384
+ function createAsyncPromise(executor, timeout) {
1385
+ return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1386
+ }
1387
+
1388
+ var _isPromiseSupported;
1389
+ function createNativePromise(executor, timeout) {
1390
+ !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1391
+ var PrmCls = _isPromiseSupported.v;
1392
+ if (!PrmCls) {
1393
+ return createAsyncPromise(executor);
1394
+ }
1395
+ if (!isFunction(executor)) {
1396
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpObj(executor));
1397
+ }
1398
+ var _state = 0 ;
1399
+ function _strState() {
1400
+ return STRING_STATES[_state];
1401
+ }
1402
+ var thePromise = new PrmCls(function (resolve, reject) {
1403
+ function _resolve(value) {
1404
+ _state = 2 ;
1405
+ resolve(value);
1406
+ }
1407
+ function _reject(reason) {
1408
+ _state = 3 ;
1409
+ reject(reason);
1410
+ }
1411
+ executor(_resolve, _reject);
1412
+ });
1413
+ objDefineProp(thePromise, "state", {
1414
+ get: _strState
1415
+ });
1416
+ return thePromise;
1417
+ }
1418
+
1419
+ var _promiseCreator;
1420
+ function createPromise(executor, timeout) {
1421
+ !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1422
+ return _promiseCreator.v.call(this, executor, timeout);
1423
+ }
1424
+
1065
1425
  var UNDEFINED_VALUE = undefined;
1066
- var STR_EMPTY = "";
1426
+ var STR_EMPTY$1 = "";
1067
1427
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1068
1428
 
1069
1429
  var rCamelCase = /-([a-z])/g;
@@ -1098,7 +1458,7 @@ function getExceptionName(object) {
1098
1458
  if (isError(object)) {
1099
1459
  return object[_DYN_NAME$1 ];
1100
1460
  }
1101
- return STR_EMPTY;
1461
+ return STR_EMPTY$1;
1102
1462
  }
1103
1463
  function createClassFromInterface(defaults) {
1104
1464
  return /** @class */ (function () {
@@ -1114,15 +1474,56 @@ function createClassFromInterface(defaults) {
1114
1474
  }());
1115
1475
  }
1116
1476
 
1477
+ var strLocation = "location";
1117
1478
  var strConsole = "console";
1118
1479
  var strJSON = "JSON";
1119
1480
  var strCrypto = "crypto";
1120
1481
  var strMsCrypto = "msCrypto";
1121
1482
  var strMsie = "msie";
1122
1483
  var strTrident = "trident/";
1484
+ var strXMLHttpRequest = "XMLHttpRequest";
1123
1485
  var _isTrident = null;
1124
1486
  var _navUserAgentCheck = null;
1487
+ var _enableMocks = false;
1488
+ var _useXDomainRequest = null;
1125
1489
  var _beaconsSupported = null;
1490
+ function _hasProperty(theClass, property) {
1491
+ var supported = false;
1492
+ if (theClass) {
1493
+ try {
1494
+ supported = property in theClass;
1495
+ if (!supported) {
1496
+ var proto = theClass[strShimPrototype];
1497
+ if (proto) {
1498
+ supported = property in proto;
1499
+ }
1500
+ }
1501
+ }
1502
+ catch (e) {
1503
+ }
1504
+ if (!supported) {
1505
+ try {
1506
+ var tmp = new theClass();
1507
+ supported = !isUndefined(tmp[property]);
1508
+ }
1509
+ catch (e) {
1510
+ }
1511
+ }
1512
+ }
1513
+ return supported;
1514
+ }
1515
+ function getLocation(checkForMock) {
1516
+ if (checkForMock && _enableMocks) {
1517
+ var mockLocation = getInst("__mockLocation");
1518
+ if (mockLocation) {
1519
+ return mockLocation;
1520
+ }
1521
+ }
1522
+ if (typeof location === strShimObject && location) {
1523
+ return location;
1524
+ }
1525
+ return getInst(strLocation);
1526
+ }
1126
1527
  function getConsole() {
1127
1528
  if (typeof console !== strShimUndefined) {
1128
1529
  return console;
@@ -1148,7 +1549,7 @@ function isIE() {
1148
1549
  var nav = getNavigator();
1149
1550
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1150
1551
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1151
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1552
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1152
1553
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1153
1554
  }
1154
1555
  return _isTrident;
@@ -1159,6 +1560,38 @@ function isBeaconsSupported(useCached) {
1159
1560
  }
1160
1561
  return _beaconsSupported;
1161
1562
  }
1563
+ function isFetchSupported(withKeepAlive) {
1564
+ var isSupported = false;
1565
+ try {
1566
+ isSupported = !!getInst("fetch");
1567
+ var request = getInst("Request");
1568
+ if (isSupported && withKeepAlive && request) {
1569
+ isSupported = _hasProperty(request, "keepalive");
1570
+ }
1571
+ }
1572
+ catch (e) {
1573
+ }
1574
+ return isSupported;
1575
+ }
1576
+ function useXDomainRequest() {
1577
+ if (_useXDomainRequest === null) {
1578
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1579
+ if (_useXDomainRequest && isXhrSupported()) {
1580
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
1581
+ }
1582
+ }
1583
+ return _useXDomainRequest;
1584
+ }
1585
+ function isXhrSupported() {
1586
+ var isSupported = false;
1587
+ try {
1588
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
1589
+ isSupported = !!xmlHttpRequest;
1590
+ }
1591
+ catch (e) {
1592
+ }
1593
+ return isSupported;
1594
+ }
1162
1595
  function _getNamedValue(values, name) {
1163
1596
  if (values) {
1164
1597
  for (var i = 0; i < values[_DYN_LENGTH$1 ]; i++) {
@@ -1252,7 +1685,7 @@ function newId(maxLength) {
1252
1685
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1253
1686
  var number = random32() >>> 0;
1254
1687
  var chars = 0;
1255
- var result = STR_EMPTY;
1688
+ var result = STR_EMPTY$1;
1256
1689
  while (result[_DYN_LENGTH$1 ] < maxLength) {
1257
1690
  chars++;
1258
1691
  result += base64chars.charAt(number & 0x3F);
@@ -1290,11 +1723,11 @@ function _getCache(data, target) {
1290
1723
  }
1291
1724
  function createUniqueNamespace(name, includeVersion) {
1292
1725
  if (includeVersion === void 0) { includeVersion = false; }
1293
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1726
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1294
1727
  }
1295
1728
  function createElmNodeData(name) {
1296
1729
  var data = {
1297
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1730
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1298
1731
  accept: function (target) {
1299
1732
  return _canAcceptData(target);
1300
1733
  },
@@ -1969,9 +2402,9 @@ var _logFuncs = (_a = {},
1969
2402
  _a);
1970
2403
  function _sanitizeDiagnosticText(text) {
1971
2404
  if (text) {
1972
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2405
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
1973
2406
  }
1974
- return STR_EMPTY;
2407
+ return STR_EMPTY$1;
1975
2408
  }
1976
2409
  function _logToConsole(func, message) {
1977
2410
  var theConsole = getConsole();
@@ -1993,12 +2426,12 @@ var _InternalLogMessage = /** @class */ (function () {
1993
2426
  _self[_DYN_MESSAGE$1 ] =
1994
2427
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1995
2428
  msgId;
1996
- var strProps = STR_EMPTY;
2429
+ var strProps = STR_EMPTY$1;
1997
2430
  if (hasJSON()) {
1998
2431
  strProps = getJSON().stringify(properties);
1999
2432
  }
2000
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2001
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2433
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2434
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2002
2435
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2003
2436
  }
2004
2437
  _InternalLogMessage.dataType = "MessageData";
@@ -2134,7 +2567,7 @@ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2134
2567
 
2135
2568
  function generateW3CId() {
2136
2569
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2137
- var oct = STR_EMPTY, tmp;
2570
+ var oct = STR_EMPTY$1, tmp;
2138
2571
  for (var a = 0; a < 4; a++) {
2139
2572
  tmp = random32();
2140
2573
  oct +=
@@ -2211,9 +2644,9 @@ function parseTraceParent(value, selectIdx) {
2211
2644
  return null;
2212
2645
  }
2213
2646
  return _a = {
2214
- version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ](),
2215
- traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ](),
2216
- spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]()
2647
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ](),
2648
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ](),
2649
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]()
2217
2650
  },
2218
2651
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
2219
2652
  _a;
@@ -2278,16 +2711,16 @@ var elmNodeData = createElmNodeData("events");
2278
2711
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
2279
2712
  function _normalizeNamespace(name) {
2280
2713
  if (name && name[_DYN_REPLACE ]) {
2281
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
2714
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
2282
2715
  }
2283
2716
  return name;
2284
2717
  }
2285
2718
  function _getEvtNamespace(eventName, evtNamespace) {
2286
2719
  var _a;
2287
2720
  if (evtNamespace) {
2288
- var theNamespace_1 = STR_EMPTY;
2721
+ var theNamespace_1 = STR_EMPTY$1;
2289
2722
  if (isArray(evtNamespace)) {
2290
- theNamespace_1 = STR_EMPTY;
2723
+ theNamespace_1 = STR_EMPTY$1;
2291
2724
  arrForEach(evtNamespace, function (name) {
2292
2725
  name = _normalizeNamespace(name);
2293
2726
  if (name) {
@@ -2305,13 +2738,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
2305
2738
  if (theNamespace_1[0] !== ".") {
2306
2739
  theNamespace_1 = "." + theNamespace_1;
2307
2740
  }
2308
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
2741
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
2309
2742
  }
2310
2743
  }
2311
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
2744
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
2312
2745
  return _a = {},
2313
2746
  _a[_DYN_TYPE ] = parsedEvent[1],
2314
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
2747
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
2315
2748
  _a;
2316
2749
  }
2317
2750
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -2461,12 +2894,17 @@ var RequestHeaders = createValueMap({
2461
2894
  var _DYN_SPLIT = "split";
2462
2895
  var _DYN_LENGTH = "length";
2463
2896
  var _DYN_TO_LOWER_CASE = "toLowerCase";
2897
+ var _DYN_LOCATION = "location";
2464
2898
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
2465
2899
  var _DYN_TO_STRING = "toString";
2466
2900
  var _DYN_PUSH = "push";
2901
+ var _DYN_URL_STRING = "urlString";
2902
+ var _DYN_DATA = "data";
2903
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
2904
+ var _DYN_REASON = "reason";
2905
+ var _DYN_MESSAGE = "message";
2467
2906
  var _DYN_REMOVE_ITEM = "removeItem";
2468
2907
  var _DYN_NAME = "name";
2469
- var _DYN_MESSAGE = "message";
2470
2908
  var _DYN_COUNT = "count";
2471
2909
  var _DYN_PRE_TRIGGER_DATE = "preTriggerDate";
2472
2910
  var _DYN_DISABLED = "disabled";
@@ -2477,6 +2915,7 @@ var _DYN_GET_UTCDATE = "getUTCDate";
2477
2915
  var _DYN_STRINGIFY = "stringify";
2478
2916
  var _DYN_PATHNAME = "pathname";
2479
2917
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
2918
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
2480
2919
  var _DYN_EXTENSION_CONFIG = "extensionConfig";
2481
2920
  var _DYN_EXCEPTIONS = "exceptions";
2482
2921
  var _DYN_PARSED_STACK = "parsedStack";
@@ -2842,6 +3281,54 @@ function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {
2842
3281
  }
2843
3282
  };
2844
3283
  }
3284
+ function getResponseText(xhr) {
3285
+ try {
3286
+ return xhr.responseText;
3287
+ }
3288
+ catch (e) {
3289
+ }
3290
+ return null;
3291
+ }
3292
+ function formatErrorMessageXdr(xdr, message) {
3293
+ if (xdr) {
3294
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
3295
+ }
3296
+ return message;
3297
+ }
3298
+ function formatErrorMessageXhr(xhr, message) {
3299
+ if (xhr) {
3300
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
3301
+ }
3302
+ return message;
3303
+ }
3304
+ function prependTransports(theTransports, newTransports) {
3305
+ if (newTransports) {
3306
+ if (isNumber(newTransports)) {
3307
+ theTransports = [newTransports].concat(theTransports);
3308
+ }
3309
+ else if (isArray(newTransports)) {
3310
+ theTransports = newTransports.concat(theTransports);
3311
+ }
3312
+ }
3313
+ return theTransports;
3314
+ }
3315
+ function parseResponse(response, diagLog) {
3316
+ try {
3317
+ if (response && response !== "") {
3318
+ var result = getJSON().parse(response);
3319
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
3320
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
3321
+ return result;
3322
+ }
3323
+ }
3324
+ }
3325
+ catch (e) {
3326
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
3327
+ response: response
3328
+ });
3329
+ }
3330
+ return null;
3331
+ }
2845
3332
 
2846
3333
  var StorageType = createEnumStyle({
2847
3334
  LocalStorage: 0 ,
@@ -3348,7 +3835,7 @@ function parseConnectionString(connectionString) {
3348
3835
  }, {});
3349
3836
  if (objKeys(result)[_DYN_LENGTH ] > 0) {
3350
3837
  if (result.endpointsuffix) {
3351
- var locationPrefix = result.location ? result.location + "." : "";
3838
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
3352
3839
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
3353
3840
  }
3354
3841
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -3370,7 +3857,7 @@ var Envelope = /** @class */ (function () {
3370
3857
  _self.sampleRate = 100.0;
3371
3858
  _self.tags = {};
3372
3859
  _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
3373
- _self.data = data;
3860
+ _self[_DYN_DATA ] = data;
3374
3861
  _self.time = toISOString(new Date());
3375
3862
  _self.aiDataContract = {
3376
3863
  time: 1 ,
@@ -3527,8 +4014,8 @@ function _getStackFromErrorObj(errorObj) {
3527
4014
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
3528
4015
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
3529
4016
  }
3530
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
3531
- details = _convertStackObj(errorObj.reason[strStack]);
4017
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
4018
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
3532
4019
  }
3533
4020
  else if (isString(errorObj)) {
3534
4021
  details = _convertStackObj(errorObj);
@@ -4019,7 +4506,7 @@ var RemoteDependencyData = /** @class */ (function () {
4019
4506
  _self.resultCode = resultCode + "";
4020
4507
  _self.type = dataSanitizeString(logger, requestAPI);
4021
4508
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
4022
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
4509
+ _self[_DYN_DATA ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA ];
4023
4510
  _self.target = dataSanitizeString(logger, dependencyFields.target);
4024
4511
  if (correlationContext) {
4025
4512
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -4234,7 +4721,7 @@ function createTelemetryItem(item, baseType, envelopeName, logger, customPropert
4234
4721
  _a);
4235
4722
  if (!isNullOrUndefined(customProperties)) {
4236
4723
  objForEachKey(customProperties, function (prop, value) {
4237
- telemetryItem.data[prop] = value;
4724
+ telemetryItem[_DYN_DATA ][prop] = value;
4238
4725
  });
4239
4726
  }
4240
4727
  return telemetryItem;
@@ -4258,6 +4745,360 @@ var Extensions = {
4258
4745
  };
4259
4746
  var CtxTagKeys = new ContextTagKeys();
4260
4747
 
4748
+ var STR_EMPTY = "";
4749
+ var SenderPostManager = /** @class */ (function () {
4750
+ function SenderPostManager() {
4751
+ var _syncFetchPayload = 0;
4752
+ var _enableSendPromise;
4753
+ var _isInitialized;
4754
+ var _diagLog;
4755
+ var _isOneDs;
4756
+ var _onCompleteFuncs;
4757
+ var _disableCredentials;
4758
+ var _fallbackInst;
4759
+ var _disableXhr;
4760
+ var _disableBeacon;
4761
+ var _disableBeaconSync;
4762
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
4763
+ var _sendCredentials = true;
4764
+ _initDefaults();
4765
+ _self.initialize = function (config, diagLog) {
4766
+ _diagLog = diagLog;
4767
+ if (_isInitialized) {
4768
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
4769
+ }
4770
+ _self.SetConfig(config);
4771
+ _isInitialized = true;
4772
+ };
4773
+ _self["_getDbgPlgTargets"] = function () {
4774
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
4775
+ };
4776
+ _self.SetConfig = function (config) {
4777
+ try {
4778
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
4779
+ _disableCredentials = !!config.disableCredentials;
4780
+ _isOneDs = !!config.isOneDs;
4781
+ _enableSendPromise = !!config.enableSendPromise;
4782
+ _disableXhr = !!config.disableXhr;
4783
+ _disableBeacon = !!config.disableBeacon;
4784
+ _disableBeaconSync = !!config.disableBeaconSync;
4785
+ _fallbackInst = { sendPOST: _xhrSender };
4786
+ if (_disableCredentials) {
4787
+ var location_1 = getLocation();
4788
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
4789
+ _sendCredentials = false;
4790
+ }
4791
+ }
4792
+ return true;
4793
+ }
4794
+ catch (e) {
4795
+ }
4796
+ return false;
4797
+ };
4798
+ _self.getSyncFetchPayload = function () {
4799
+ return _syncFetchPayload;
4800
+ };
4801
+ _self.getXhrInst = function (transports, sync) {
4802
+ if (transports && transports[_DYN_LENGTH ]) {
4803
+ return _getSenderInterface(transports, sync);
4804
+ }
4805
+ return null;
4806
+ };
4807
+ _self.getFallbackInst = function () {
4808
+ return _fallbackInst;
4809
+ };
4810
+ _self._doTeardown = function (unloadCtx, unloadState) {
4811
+ _initDefaults();
4812
+ };
4813
+ function _onSuccess(res, onComplete) {
4814
+ _doOnComplete(onComplete, 200, {}, res);
4815
+ }
4816
+ function _onError(message, onComplete) {
4817
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
4818
+ _doOnComplete(onComplete, 400, {});
4819
+ }
4820
+ function _onNoPayloadUrl(onComplete) {
4821
+ _onError("No endpoint url is provided for the batch", onComplete);
4822
+ }
4823
+ function _getSenderInterface(transports, syncSupport) {
4824
+ var transportType = null;
4825
+ var sendPostFunc = null;
4826
+ var lp = 0;
4827
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
4828
+ transportType = transports[lp];
4829
+ if (!_disableXhr && transportType === 1 ) {
4830
+ if (useXDomainRequest()) {
4831
+ sendPostFunc = _xdrSender;
4832
+ }
4833
+ else if (isXhrSupported()) {
4834
+ sendPostFunc = _xhrSender;
4835
+ }
4836
+ }
4837
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
4838
+ sendPostFunc = _doFetchSender;
4839
+ }
4840
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
4841
+ sendPostFunc = _beaconSender;
4842
+ }
4843
+ lp++;
4844
+ }
4845
+ if (sendPostFunc) {
4846
+ return {
4847
+ sendPOST: sendPostFunc
4848
+ };
4849
+ }
4850
+ return null;
4851
+ }
4852
+ function _doOnComplete(oncomplete, status, headers, response) {
4853
+ try {
4854
+ oncomplete && oncomplete(status, headers, response);
4855
+ }
4856
+ catch (e) {
4857
+ }
4858
+ }
4859
+ function _doBeaconSend(payload, oncomplete) {
4860
+ var nav = getNavigator();
4861
+ var url = payload[_DYN_URL_STRING ];
4862
+ if (!url) {
4863
+ _onNoPayloadUrl(oncomplete);
4864
+ return true;
4865
+ }
4866
+ var data = payload[_DYN_DATA ];
4867
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
4868
+ var queued = nav.sendBeacon(url, plainTextBatch);
4869
+ return queued;
4870
+ }
4871
+ function _beaconSender(payload, oncomplete, sync) {
4872
+ var data = payload[_DYN_DATA ];
4873
+ if (data) {
4874
+ if (!_doBeaconSend(payload, oncomplete)) {
4875
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
4876
+ if (onRetry && isFunction(onRetry)) {
4877
+ onRetry(payload, oncomplete, _doBeaconSend);
4878
+ }
4879
+ else {
4880
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
4881
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
4882
+ }
4883
+ }
4884
+ else {
4885
+ _onSuccess(null, oncomplete);
4886
+ }
4887
+ }
4888
+ return;
4889
+ }
4890
+ function _xhrSender(payload, oncomplete, sync) {
4891
+ var thePromise;
4892
+ var resolveFunc;
4893
+ var rejectFunc;
4894
+ var headers = payload.headers || {};
4895
+ if (!sync && _enableSendPromise) {
4896
+ thePromise = createPromise(function (resolve, reject) {
4897
+ resolveFunc = resolve;
4898
+ rejectFunc = reject;
4899
+ });
4900
+ }
4901
+ var xhr = new XMLHttpRequest();
4902
+ var endPointUrl = payload[_DYN_URL_STRING ];
4903
+ if (!endPointUrl) {
4904
+ _onNoPayloadUrl(oncomplete);
4905
+ resolveFunc && resolveFunc(false);
4906
+ return;
4907
+ }
4908
+ try {
4909
+ xhr[DisabledPropertyName] = true;
4910
+ }
4911
+ catch (e) {
4912
+ }
4913
+ xhr.open("POST", endPointUrl, !sync);
4914
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
4915
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4916
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
4917
+ }
4918
+ arrForEach(objKeys(headers), function (headerName) {
4919
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
4920
+ });
4921
+ xhr.onreadystatechange = function () {
4922
+ var response = getResponseText(xhr);
4923
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
4924
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
4925
+ if (onReadyFuncExist) {
4926
+ onReadyFunc(xhr, oncomplete, payload);
4927
+ }
4928
+ if (xhr.readyState === 4) {
4929
+ if (!onReadyFuncExist) {
4930
+ _doOnComplete(oncomplete, xhr.status, {}, response);
4931
+ }
4932
+ resolveFunc && resolveFunc(true);
4933
+ }
4934
+ };
4935
+ xhr.onerror = function (event) {
4936
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
4937
+ rejectFunc && rejectFunc(event);
4938
+ };
4939
+ xhr.ontimeout = function () {
4940
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
4941
+ resolveFunc && resolveFunc(false);
4942
+ };
4943
+ xhr.send(payload[_DYN_DATA ]);
4944
+ return thePromise;
4945
+ }
4946
+ function _doFetchSender(payload, oncomplete, sync) {
4947
+ var _a;
4948
+ var endPointUrl = payload[_DYN_URL_STRING ];
4949
+ var batch = payload[_DYN_DATA ];
4950
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
4951
+ var thePromise;
4952
+ var resolveFunc;
4953
+ var rejectFunc;
4954
+ var requestHeaders = new Headers();
4955
+ var batchLength = batch[_DYN_LENGTH ];
4956
+ var ignoreResponse = false;
4957
+ var responseHandled = false;
4958
+ var headers = payload.headers || {};
4959
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4960
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
4961
+ }
4962
+ arrForEach(objKeys(headers), function (headerName) {
4963
+ requestHeaders.append(headerName, headers[headerName]);
4964
+ });
4965
+ var init = (_a = {
4966
+ method: "POST",
4967
+ headers: requestHeaders,
4968
+ body: plainTextBatch
4969
+ },
4970
+ _a[DisabledPropertyName] = true
4971
+ ,
4972
+ _a);
4973
+ if (_sendCredentials && _isOneDs) {
4974
+ init.credentials = "include";
4975
+ }
4976
+ if (sync) {
4977
+ init.keepalive = true;
4978
+ ignoreResponse = true;
4979
+ _syncFetchPayload += batchLength;
4980
+ }
4981
+ var request = new Request(endPointUrl, init);
4982
+ try {
4983
+ request[DisabledPropertyName] = true;
4984
+ }
4985
+ catch (e) {
4986
+ }
4987
+ if (!sync && _enableSendPromise) {
4988
+ thePromise = createPromise(function (resolve, reject) {
4989
+ resolveFunc = resolve;
4990
+ rejectFunc = reject;
4991
+ });
4992
+ }
4993
+ if (!endPointUrl) {
4994
+ _onNoPayloadUrl(oncomplete);
4995
+ resolveFunc && resolveFunc(false);
4996
+ return;
4997
+ }
4998
+ try {
4999
+ doAwaitResponse(fetch(request), function (result) {
5000
+ if (sync) {
5001
+ _syncFetchPayload -= batchLength;
5002
+ batchLength = 0;
5003
+ }
5004
+ if (!responseHandled) {
5005
+ responseHandled = true;
5006
+ if (!result.rejected) {
5007
+ var response_1 = result.value;
5008
+ if (!response_1.ok) {
5009
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
5010
+ resolveFunc && resolveFunc(false);
5011
+ }
5012
+ else {
5013
+ doAwaitResponse(response_1.text(), function (resp) {
5014
+ var status = response_1.status;
5015
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5016
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5017
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
5018
+ }
5019
+ else {
5020
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
5021
+ }
5022
+ resolveFunc && resolveFunc(true);
5023
+ });
5024
+ }
5025
+ }
5026
+ else {
5027
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
5028
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
5029
+ }
5030
+ }
5031
+ });
5032
+ }
5033
+ catch (e) {
5034
+ if (!responseHandled) {
5035
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
5036
+ rejectFunc && rejectFunc(e);
5037
+ }
5038
+ }
5039
+ if (ignoreResponse && !responseHandled) {
5040
+ responseHandled = true;
5041
+ _doOnComplete(oncomplete, 200, {});
5042
+ resolveFunc && resolveFunc(true);
5043
+ }
5044
+ return thePromise;
5045
+ }
5046
+ function _xdrSender(payload, oncomplete, sync) {
5047
+ var _window = getWindow();
5048
+ var xdr = new XDomainRequest();
5049
+ var data = payload[_DYN_DATA ];
5050
+ xdr.onload = function () {
5051
+ var response = getResponseText(xdr);
5052
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5053
+ if (onloadFunc && isFunction(onloadFunc)) {
5054
+ onloadFunc(xdr, oncomplete, payload);
5055
+ }
5056
+ else {
5057
+ _doOnComplete(oncomplete, 200, {}, response);
5058
+ }
5059
+ };
5060
+ xdr.onerror = function () {
5061
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
5062
+ };
5063
+ xdr.ontimeout = function () {
5064
+ _doOnComplete(oncomplete, 500, {});
5065
+ };
5066
+ xdr.onprogress = function () { };
5067
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
5068
+ var endpoint = payload[_DYN_URL_STRING ];
5069
+ if (!endpoint) {
5070
+ _onNoPayloadUrl(oncomplete);
5071
+ return;
5072
+ }
5073
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5074
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5075
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5076
+ _onError(msg, oncomplete);
5077
+ return;
5078
+ }
5079
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
5080
+ xdr.open("POST", endpointUrl);
5081
+ xdr.send(data);
5082
+ }
5083
+ function _initDefaults() {
5084
+ _syncFetchPayload = 0;
5085
+ _isInitialized = false;
5086
+ _enableSendPromise = false;
5087
+ _diagLog = null;
5088
+ _isOneDs = null;
5089
+ _onCompleteFuncs = null;
5090
+ _disableCredentials = null;
5091
+ _fallbackInst = null;
5092
+ _disableXhr = false;
5093
+ _disableBeacon = false;
5094
+ _disableBeaconSync = false;
5095
+ }
5096
+ });
5097
+ }
5098
+ SenderPostManager.__ieDyn=1;
5099
+ return SenderPostManager;
5100
+ }());
5101
+
4261
5102
  function createDomEvent(eventName) {
4262
5103
  var event = null;
4263
5104
  if (isFunction(Event)) {
@@ -4418,6 +5259,7 @@ exports.PropertiesPluginIdentifier = PropertiesPluginIdentifier;
4418
5259
  exports.RemoteDependencyData = RemoteDependencyData;
4419
5260
  exports.RequestHeaders = RequestHeaders;
4420
5261
  exports.SampleRate = SampleRate;
5262
+ exports.SenderPostManager = SenderPostManager;
4421
5263
  exports.SeverityLevel = SeverityLevel;
4422
5264
  exports.TelemetryItemCreator = TelemetryItemCreator;
4423
5265
  exports.ThrottleMgr = ThrottleMgr;
@@ -4446,8 +5288,11 @@ exports.dateTimeUtilsDuration = dateTimeUtilsDuration;
4446
5288
  exports.dateTimeUtilsNow = dateTimeUtilsNow;
4447
5289
  exports.dsPadNumber = dsPadNumber;
4448
5290
  exports.findW3cTraceParent = findW3cTraceParent;
5291
+ exports.formatErrorMessageXdr = formatErrorMessageXdr;
5292
+ exports.formatErrorMessageXhr = formatErrorMessageXhr;
4449
5293
  exports.formatTraceParent = formatTraceParent;
4450
5294
  exports.getExtensionByName = getExtensionByName;
5295
+ exports.getResponseText = getResponseText;
4451
5296
  exports.isBeaconApiSupported = isBeaconsSupported;
4452
5297
  exports.isCrossOriginError = isCrossOriginError;
4453
5298
  exports.isInternalApplicationInsightsEndpoint = isInternalApplicationInsightsEndpoint;
@@ -4457,7 +5302,9 @@ exports.isValidTraceId = isValidTraceId;
4457
5302
  exports.isValidTraceParent = isValidTraceParent;
4458
5303
  exports.msToTimeSpan = msToTimeSpan;
4459
5304
  exports.parseConnectionString = parseConnectionString;
5305
+ exports.parseResponse = parseResponse;
4460
5306
  exports.parseTraceParent = parseTraceParent;
5307
+ exports.prependTransports = prependTransports;
4461
5308
  exports.strNotSpecified = strNotSpecified;
4462
5309
  exports.stringToBoolOrDefault = stringToBoolOrDefault;
4463
5310
  exports.urlGetAbsoluteUrl = urlGetAbsoluteUrl;