@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,5 +1,5 @@
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) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_common_3_1_1_nightly3_2403_01", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-01";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_common_3_1_1_nightly3_2403_02", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-02";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -108,7 +108,12 @@ function isObject(value) {
108
108
  return !!value && typeof value === OBJECT;
109
109
  }
110
110
  var isArray = ArrCls.isArray;
111
+ var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
111
112
  var isError = ( /*#__PURE__*/_createObjIs("Error"));
113
+ /*#__NO_SIDE_EFFECTS__*/
114
+ function isPromiseLike(value) {
115
+ return !!(value && value.then && isFunction(value.then));
116
+ }
112
117
 
113
118
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
114
119
 
@@ -180,6 +185,10 @@ function createEnum(values) {
180
185
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
181
186
  }
182
187
  /*#__NO_SIDE_EFFECTS__*/
188
+ function createEnumKeyMap(values) {
189
+ return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
190
+ }
191
+ /*#__NO_SIDE_EFFECTS__*/
183
192
  function createSimpleMap(values) {
184
193
  var mapClass = {};
185
194
  objForEachKey(values, function (key, value) {
@@ -193,6 +202,22 @@ function createTypeMap(values) {
193
202
  return createSimpleMap(values);
194
203
  }
195
204
 
205
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
206
+ asyncIterator: 0 ,
207
+ hasInstance: 1 ,
208
+ isConcatSpreadable: 2 ,
209
+ iterator: 3 ,
210
+ match: 4 ,
211
+ matchAll: 5 ,
212
+ replace: 6 ,
213
+ search: 7 ,
214
+ species: 8 ,
215
+ split: 9 ,
216
+ toPrimitive: 10 ,
217
+ toStringTag: 11 ,
218
+ unscopables: 12
219
+ });
220
+
196
221
  var asString = StrCls;
197
222
 
198
223
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
@@ -295,6 +320,7 @@ function _globalSymbolRegistry() {
295
320
  }
296
321
  return _polySymbols;
297
322
  }
323
+ var _wellKnownSymbolCache;
298
324
  /*#__NO_SIDE_EFFECTS__*/
299
325
  function polyNewSymbol(description) {
300
326
  var theSymbol = {
@@ -316,6 +342,16 @@ function polySymbolFor(key) {
316
342
  }
317
343
  return registry.k[key];
318
344
  }
345
+ /*#__NO_SIDE_EFFECTS__*/
346
+ function polyGetKnownSymbol(name) {
347
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
348
+ var result;
349
+ var knownName = _wellKnownSymbolMap[name];
350
+ if (knownName) {
351
+ result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + "." + knownName);
352
+ }
353
+ return result;
354
+ }
319
355
 
320
356
  var propMap = {
321
357
  e: "enumerable",
@@ -393,6 +429,7 @@ var _cachedGlobal;
393
429
  var _cachedWindow;
394
430
  var _cachedDocument;
395
431
  var _cachedNavigator;
432
+ var _isNode;
396
433
  /*#__NO_SIDE_EFFECTS__*/
397
434
  function lazySafeGetInst(name) {
398
435
  return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
@@ -440,6 +477,10 @@ function getNavigator() {
440
477
  (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
441
478
  return _cachedNavigator.v;
442
479
  }
480
+ function isNode() {
481
+ !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
482
+ return _isNode.v;
483
+ }
443
484
 
444
485
  var _symbol;
445
486
  var _symbolFor;
@@ -450,6 +491,23 @@ function _initSymbol() {
450
491
  }
451
492
  }
452
493
  /*#__NO_SIDE_EFFECTS__*/
494
+ function hasSymbol() {
495
+ return !!getSymbol();
496
+ }
497
+ /*#__NO_SIDE_EFFECTS__*/
498
+ function getSymbol() {
499
+ !_globalLazyTestHooks && _initTestHooks();
500
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
501
+ return _symbol.v;
502
+ }
503
+ /*#__NO_SIDE_EFFECTS__*/
504
+ function getKnownSymbol(name, noPoly) {
505
+ var knownName = _wellKnownSymbolMap[name];
506
+ !_globalLazyTestHooks && _initTestHooks();
507
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
508
+ return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
509
+ }
510
+ /*#__NO_SIDE_EFFECTS__*/
453
511
  function newSymbol(description, noPoly) {
454
512
  !_globalLazyTestHooks && _initTestHooks();
455
513
  (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
@@ -481,6 +539,8 @@ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, ArrProto));
481
539
 
482
540
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
483
541
 
542
+ var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
543
+
484
544
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
485
545
 
486
546
  var objCreate = ObjClass$1["create"] || polyObjCreate;
@@ -1066,8 +1126,308 @@ function dynamicProto(theClass, target, delegateFunc, options) {
1066
1126
  }
1067
1127
  dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1068
1128
 
1129
+ function doAwaitResponse(value, cb) {
1130
+ return doAwait(value, function (value) {
1131
+ return cb ? cb({
1132
+ value: value,
1133
+ rejected: false
1134
+ }) : value;
1135
+ }, function (reason) {
1136
+ return cb ? cb({
1137
+ rejected: true,
1138
+ reason: reason
1139
+ }) : reason;
1140
+ });
1141
+ }
1142
+ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1143
+ var result = value;
1144
+ if (isPromiseLike(value)) {
1145
+ if (resolveFn || rejectFn) {
1146
+ result = value.then(resolveFn, rejectFn);
1147
+ }
1148
+ }
1149
+ else {
1150
+ if (resolveFn) {
1151
+ result = resolveFn(value);
1152
+ }
1153
+ }
1154
+ if (finallyFn) {
1155
+ doFinally(result, finallyFn);
1156
+ }
1157
+ return result;
1158
+ }
1159
+ function doFinally(value, finallyFn) {
1160
+ var result = value;
1161
+ if (finallyFn) {
1162
+ if (isPromiseLike(value)) {
1163
+ if (value.finally) {
1164
+ result = value.finally(finallyFn);
1165
+ }
1166
+ else {
1167
+ result = value.then(function (value) {
1168
+ finallyFn();
1169
+ return value;
1170
+ }, function (reason) {
1171
+ finallyFn();
1172
+ throw reason;
1173
+ });
1174
+ }
1175
+ }
1176
+ else {
1177
+ finallyFn();
1178
+ }
1179
+ }
1180
+ return result;
1181
+ }
1182
+
1183
+ var STRING_STATES = [
1184
+ "pending", "resolving", "resolved", "rejected"
1185
+ ];
1186
+
1187
+ var DISPATCH_EVENT = "dispatchEvent";
1188
+ var _hasInitEvent;
1189
+ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1190
+ var doc = getDocument();
1191
+ !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1192
+ var evt;
1193
+ if (doc && doc.createEvent) {
1194
+ evt = doc.createEvent("Event");
1195
+ }
1196
+ return (!!evt && evt.initEvent);
1197
+ }, null));
1198
+ var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1199
+ populateEvent && populateEvent(theEvt);
1200
+ if (_hasInitEvent.v) {
1201
+ theEvt.initEvent(evtName, false, true);
1202
+ }
1203
+ if (theEvt && target[DISPATCH_EVENT]) {
1204
+ target[DISPATCH_EVENT](theEvt);
1205
+ }
1206
+ else {
1207
+ var handler = target["on" + evtName];
1208
+ if (handler) {
1209
+ handler(theEvt);
1210
+ }
1211
+ else {
1212
+ var theConsole = getInst("console");
1213
+ theConsole && (theConsole["error"] || theConsole["log"])(evtName, dumpObj(theEvt));
1214
+ }
1215
+ }
1216
+ }
1217
+
1218
+ var STR_PROMISE = "Promise";
1219
+
1220
+ var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1221
+ var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1222
+ var _unhandledRejectionTimeout = 10;
1223
+ var _hasPromiseRejectionEvent;
1224
+ function dumpFnObj(value) {
1225
+ if (isFunction(value)) {
1226
+ return value.toString();
1227
+ }
1228
+ return dumpObj(value);
1229
+ }
1230
+ function _createPromise(newPromise, processor, executor) {
1231
+ var additionalArgs = arrSlice(arguments, 3);
1232
+ var _state = 0 ;
1233
+ var _hasResolved = false;
1234
+ var _settledValue;
1235
+ var _queue = [];
1236
+ var _handled = false;
1237
+ var _unHandledRejectionHandler = null;
1238
+ var _thePromise;
1239
+ !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1240
+ var _then = function (onResolved, onRejected) {
1241
+ try {
1242
+ _handled = true;
1243
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1244
+ _unHandledRejectionHandler = null;
1245
+ var thenPromise = newPromise(function (resolve, reject) {
1246
+ _queue.push(function () {
1247
+ try {
1248
+ var handler = _state === 2 ? onResolved : onRejected;
1249
+ var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);
1250
+ if (isPromiseLike(value)) {
1251
+ value.then(resolve, reject);
1252
+ }
1253
+ else if (handler) {
1254
+ resolve(value);
1255
+ }
1256
+ else if (_state === 3 ) {
1257
+ reject(value);
1258
+ }
1259
+ else {
1260
+ resolve(value);
1261
+ }
1262
+ }
1263
+ catch (e) {
1264
+ reject(e);
1265
+ }
1266
+ });
1267
+ if (_hasResolved) {
1268
+ _processQueue();
1269
+ }
1270
+ }, additionalArgs);
1271
+ return thenPromise;
1272
+ }
1273
+ finally {
1274
+ }
1275
+ };
1276
+ var _catch = function (onRejected) {
1277
+ return _then(undefined, onRejected);
1278
+ };
1279
+ var _finally = function (onFinally) {
1280
+ var thenFinally = onFinally;
1281
+ var catchFinally = onFinally;
1282
+ if (isFunction(onFinally)) {
1283
+ thenFinally = function (value) {
1284
+ onFinally && onFinally();
1285
+ return value;
1286
+ };
1287
+ catchFinally = function (reason) {
1288
+ onFinally && onFinally();
1289
+ throw reason;
1290
+ };
1291
+ }
1292
+ return _then(thenFinally, catchFinally);
1293
+ };
1294
+ var _strState = function () {
1295
+ return STRING_STATES[_state];
1296
+ };
1297
+ var _processQueue = function () {
1298
+ if (_queue.length > 0) {
1299
+ var pending = _queue.slice();
1300
+ _queue = [];
1301
+ _handled = true;
1302
+ processor(pending);
1303
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1304
+ _unHandledRejectionHandler = null;
1305
+ }
1306
+ };
1307
+ var _createSettleIfFn = function (newState, allowState) {
1308
+ return function (theValue) {
1309
+ if (_state === allowState) {
1310
+ if (newState === 2 && isPromiseLike(theValue)) {
1311
+ _state = 1 ;
1312
+ theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));
1313
+ return;
1314
+ }
1315
+ _state = newState;
1316
+ _hasResolved = true;
1317
+ _settledValue = theValue;
1318
+ _processQueue();
1319
+ if (!_handled && newState === 3 && !_unHandledRejectionHandler) {
1320
+ _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);
1321
+ }
1322
+ }
1323
+ };
1324
+ };
1325
+ var _notifyUnhandledRejection = function () {
1326
+ if (!_handled) {
1327
+ if (isNode()) {
1328
+ process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1329
+ }
1330
+ else {
1331
+ var gbl = getWindow() || getGlobal();
1332
+ emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {
1333
+ objDefine(theEvt, "promise", { g: function () { return _thePromise; } });
1334
+ theEvt.reason = _settledValue;
1335
+ return theEvt;
1336
+ }, !!_hasPromiseRejectionEvent.v);
1337
+ }
1338
+ }
1339
+ };
1340
+ _thePromise = {
1341
+ then: _then,
1342
+ "catch": _catch,
1343
+ finally: _finally
1344
+ };
1345
+ objDefineProp(_thePromise, "state", {
1346
+ get: _strState
1347
+ });
1348
+ if (hasSymbol()) {
1349
+ _thePromise[getKnownSymbol(11 )] = "IPromise";
1350
+ }
1351
+ var _toString = function () {
1352
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1353
+ };
1354
+ _thePromise.toString = _toString;
1355
+ (function _initialize() {
1356
+ if (!isFunction(executor)) {
1357
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpFnObj(executor));
1358
+ }
1359
+ var _rejectFn = _createSettleIfFn(3 , 0 );
1360
+ try {
1361
+ executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);
1362
+ }
1363
+ catch (e) {
1364
+ _rejectFn(e);
1365
+ }
1366
+ })();
1367
+ return _thePromise;
1368
+ }
1369
+
1370
+ var _processPendingItems = function (pending) {
1371
+ arrForEach(pending, function (fn) {
1372
+ try {
1373
+ fn();
1374
+ }
1375
+ catch (e) {
1376
+ }
1377
+ });
1378
+ };
1379
+ function timeoutItemProcessor(timeout) {
1380
+ var callbackTimeout = isNumber(timeout) ? timeout : 0;
1381
+ return function (pending) {
1382
+ scheduleTimeout(function () {
1383
+ _processPendingItems(pending);
1384
+ }, callbackTimeout);
1385
+ };
1386
+ }
1387
+
1388
+ function createAsyncPromise(executor, timeout) {
1389
+ return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1390
+ }
1391
+
1392
+ var _isPromiseSupported;
1393
+ function createNativePromise(executor, timeout) {
1394
+ !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1395
+ var PrmCls = _isPromiseSupported.v;
1396
+ if (!PrmCls) {
1397
+ return createAsyncPromise(executor);
1398
+ }
1399
+ if (!isFunction(executor)) {
1400
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpObj(executor));
1401
+ }
1402
+ var _state = 0 ;
1403
+ function _strState() {
1404
+ return STRING_STATES[_state];
1405
+ }
1406
+ var thePromise = new PrmCls(function (resolve, reject) {
1407
+ function _resolve(value) {
1408
+ _state = 2 ;
1409
+ resolve(value);
1410
+ }
1411
+ function _reject(reason) {
1412
+ _state = 3 ;
1413
+ reject(reason);
1414
+ }
1415
+ executor(_resolve, _reject);
1416
+ });
1417
+ objDefineProp(thePromise, "state", {
1418
+ get: _strState
1419
+ });
1420
+ return thePromise;
1421
+ }
1422
+
1423
+ var _promiseCreator;
1424
+ function createPromise(executor, timeout) {
1425
+ !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1426
+ return _promiseCreator.v.call(this, executor, timeout);
1427
+ }
1428
+
1069
1429
  var UNDEFINED_VALUE = undefined;
1070
- var STR_EMPTY = "";
1430
+ var STR_EMPTY$1 = "";
1071
1431
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1072
1432
 
1073
1433
  var rCamelCase = /-([a-z])/g;
@@ -1102,7 +1462,7 @@ function getExceptionName(object) {
1102
1462
  if (isError(object)) {
1103
1463
  return object[_DYN_NAME$1 ];
1104
1464
  }
1105
- return STR_EMPTY;
1465
+ return STR_EMPTY$1;
1106
1466
  }
1107
1467
  function createClassFromInterface(defaults) {
1108
1468
  return /** @class */ (function () {
@@ -1118,15 +1478,56 @@ function createClassFromInterface(defaults) {
1118
1478
  }());
1119
1479
  }
1120
1480
 
1481
+ var strLocation = "location";
1121
1482
  var strConsole = "console";
1122
1483
  var strJSON = "JSON";
1123
1484
  var strCrypto = "crypto";
1124
1485
  var strMsCrypto = "msCrypto";
1125
1486
  var strMsie = "msie";
1126
1487
  var strTrident = "trident/";
1488
+ var strXMLHttpRequest = "XMLHttpRequest";
1127
1489
  var _isTrident = null;
1128
1490
  var _navUserAgentCheck = null;
1491
+ var _enableMocks = false;
1492
+ var _useXDomainRequest = null;
1129
1493
  var _beaconsSupported = null;
1494
+ function _hasProperty(theClass, property) {
1495
+ var supported = false;
1496
+ if (theClass) {
1497
+ try {
1498
+ supported = property in theClass;
1499
+ if (!supported) {
1500
+ var proto = theClass[strShimPrototype];
1501
+ if (proto) {
1502
+ supported = property in proto;
1503
+ }
1504
+ }
1505
+ }
1506
+ catch (e) {
1507
+ }
1508
+ if (!supported) {
1509
+ try {
1510
+ var tmp = new theClass();
1511
+ supported = !isUndefined(tmp[property]);
1512
+ }
1513
+ catch (e) {
1514
+ }
1515
+ }
1516
+ }
1517
+ return supported;
1518
+ }
1519
+ function getLocation(checkForMock) {
1520
+ if (checkForMock && _enableMocks) {
1521
+ var mockLocation = getInst("__mockLocation");
1522
+ if (mockLocation) {
1523
+ return mockLocation;
1524
+ }
1525
+ }
1526
+ if (typeof location === strShimObject && location) {
1527
+ return location;
1528
+ }
1529
+ return getInst(strLocation);
1530
+ }
1130
1531
  function getConsole() {
1131
1532
  if (typeof console !== strShimUndefined) {
1132
1533
  return console;
@@ -1152,7 +1553,7 @@ function isIE() {
1152
1553
  var nav = getNavigator();
1153
1554
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1154
1555
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1155
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1556
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1156
1557
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1157
1558
  }
1158
1559
  return _isTrident;
@@ -1163,6 +1564,38 @@ function isBeaconsSupported(useCached) {
1163
1564
  }
1164
1565
  return _beaconsSupported;
1165
1566
  }
1567
+ function isFetchSupported(withKeepAlive) {
1568
+ var isSupported = false;
1569
+ try {
1570
+ isSupported = !!getInst("fetch");
1571
+ var request = getInst("Request");
1572
+ if (isSupported && withKeepAlive && request) {
1573
+ isSupported = _hasProperty(request, "keepalive");
1574
+ }
1575
+ }
1576
+ catch (e) {
1577
+ }
1578
+ return isSupported;
1579
+ }
1580
+ function useXDomainRequest() {
1581
+ if (_useXDomainRequest === null) {
1582
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1583
+ if (_useXDomainRequest && isXhrSupported()) {
1584
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
1585
+ }
1586
+ }
1587
+ return _useXDomainRequest;
1588
+ }
1589
+ function isXhrSupported() {
1590
+ var isSupported = false;
1591
+ try {
1592
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
1593
+ isSupported = !!xmlHttpRequest;
1594
+ }
1595
+ catch (e) {
1596
+ }
1597
+ return isSupported;
1598
+ }
1166
1599
  function _getNamedValue(values, name) {
1167
1600
  if (values) {
1168
1601
  for (var i = 0; i < values[_DYN_LENGTH$1 ]; i++) {
@@ -1256,7 +1689,7 @@ function newId(maxLength) {
1256
1689
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1257
1690
  var number = random32() >>> 0;
1258
1691
  var chars = 0;
1259
- var result = STR_EMPTY;
1692
+ var result = STR_EMPTY$1;
1260
1693
  while (result[_DYN_LENGTH$1 ] < maxLength) {
1261
1694
  chars++;
1262
1695
  result += base64chars.charAt(number & 0x3F);
@@ -1294,11 +1727,11 @@ function _getCache(data, target) {
1294
1727
  }
1295
1728
  function createUniqueNamespace(name, includeVersion) {
1296
1729
  if (includeVersion === void 0) { includeVersion = false; }
1297
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1730
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1298
1731
  }
1299
1732
  function createElmNodeData(name) {
1300
1733
  var data = {
1301
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1734
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1302
1735
  accept: function (target) {
1303
1736
  return _canAcceptData(target);
1304
1737
  },
@@ -1973,9 +2406,9 @@ var _logFuncs = (_a = {},
1973
2406
  _a);
1974
2407
  function _sanitizeDiagnosticText(text) {
1975
2408
  if (text) {
1976
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2409
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
1977
2410
  }
1978
- return STR_EMPTY;
2411
+ return STR_EMPTY$1;
1979
2412
  }
1980
2413
  function _logToConsole(func, message) {
1981
2414
  var theConsole = getConsole();
@@ -1997,12 +2430,12 @@ var _InternalLogMessage = /** @class */ (function () {
1997
2430
  _self[_DYN_MESSAGE$1 ] =
1998
2431
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1999
2432
  msgId;
2000
- var strProps = STR_EMPTY;
2433
+ var strProps = STR_EMPTY$1;
2001
2434
  if (hasJSON()) {
2002
2435
  strProps = getJSON().stringify(properties);
2003
2436
  }
2004
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2005
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2437
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2438
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2006
2439
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2007
2440
  }
2008
2441
  _InternalLogMessage.dataType = "MessageData";
@@ -2138,7 +2571,7 @@ function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {
2138
2571
 
2139
2572
  function generateW3CId() {
2140
2573
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2141
- var oct = STR_EMPTY, tmp;
2574
+ var oct = STR_EMPTY$1, tmp;
2142
2575
  for (var a = 0; a < 4; a++) {
2143
2576
  tmp = random32();
2144
2577
  oct +=
@@ -2215,9 +2648,9 @@ function parseTraceParent(value, selectIdx) {
2215
2648
  return null;
2216
2649
  }
2217
2650
  return _a = {
2218
- version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ](),
2219
- traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ](),
2220
- spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]()
2651
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ](),
2652
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ](),
2653
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]()
2221
2654
  },
2222
2655
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
2223
2656
  _a;
@@ -2282,16 +2715,16 @@ var elmNodeData = createElmNodeData("events");
2282
2715
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
2283
2716
  function _normalizeNamespace(name) {
2284
2717
  if (name && name[_DYN_REPLACE ]) {
2285
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
2718
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
2286
2719
  }
2287
2720
  return name;
2288
2721
  }
2289
2722
  function _getEvtNamespace(eventName, evtNamespace) {
2290
2723
  var _a;
2291
2724
  if (evtNamespace) {
2292
- var theNamespace_1 = STR_EMPTY;
2725
+ var theNamespace_1 = STR_EMPTY$1;
2293
2726
  if (isArray(evtNamespace)) {
2294
- theNamespace_1 = STR_EMPTY;
2727
+ theNamespace_1 = STR_EMPTY$1;
2295
2728
  arrForEach(evtNamespace, function (name) {
2296
2729
  name = _normalizeNamespace(name);
2297
2730
  if (name) {
@@ -2309,13 +2742,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
2309
2742
  if (theNamespace_1[0] !== ".") {
2310
2743
  theNamespace_1 = "." + theNamespace_1;
2311
2744
  }
2312
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
2745
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
2313
2746
  }
2314
2747
  }
2315
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
2748
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
2316
2749
  return _a = {},
2317
2750
  _a[_DYN_TYPE ] = parsedEvent[1],
2318
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
2751
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
2319
2752
  _a;
2320
2753
  }
2321
2754
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -2465,12 +2898,17 @@ var RequestHeaders = createValueMap({
2465
2898
  var _DYN_SPLIT = "split";
2466
2899
  var _DYN_LENGTH = "length";
2467
2900
  var _DYN_TO_LOWER_CASE = "toLowerCase";
2901
+ var _DYN_LOCATION = "location";
2468
2902
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
2469
2903
  var _DYN_TO_STRING = "toString";
2470
2904
  var _DYN_PUSH = "push";
2905
+ var _DYN_URL_STRING = "urlString";
2906
+ var _DYN_DATA = "data";
2907
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
2908
+ var _DYN_REASON = "reason";
2909
+ var _DYN_MESSAGE = "message";
2471
2910
  var _DYN_REMOVE_ITEM = "removeItem";
2472
2911
  var _DYN_NAME = "name";
2473
- var _DYN_MESSAGE = "message";
2474
2912
  var _DYN_COUNT = "count";
2475
2913
  var _DYN_PRE_TRIGGER_DATE = "preTriggerDate";
2476
2914
  var _DYN_DISABLED = "disabled";
@@ -2481,6 +2919,7 @@ var _DYN_GET_UTCDATE = "getUTCDate";
2481
2919
  var _DYN_STRINGIFY = "stringify";
2482
2920
  var _DYN_PATHNAME = "pathname";
2483
2921
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
2922
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
2484
2923
  var _DYN_EXTENSION_CONFIG = "extensionConfig";
2485
2924
  var _DYN_EXCEPTIONS = "exceptions";
2486
2925
  var _DYN_PARSED_STACK = "parsedStack";
@@ -2846,6 +3285,54 @@ function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {
2846
3285
  }
2847
3286
  };
2848
3287
  }
3288
+ function getResponseText(xhr) {
3289
+ try {
3290
+ return xhr.responseText;
3291
+ }
3292
+ catch (e) {
3293
+ }
3294
+ return null;
3295
+ }
3296
+ function formatErrorMessageXdr(xdr, message) {
3297
+ if (xdr) {
3298
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
3299
+ }
3300
+ return message;
3301
+ }
3302
+ function formatErrorMessageXhr(xhr, message) {
3303
+ if (xhr) {
3304
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
3305
+ }
3306
+ return message;
3307
+ }
3308
+ function prependTransports(theTransports, newTransports) {
3309
+ if (newTransports) {
3310
+ if (isNumber(newTransports)) {
3311
+ theTransports = [newTransports].concat(theTransports);
3312
+ }
3313
+ else if (isArray(newTransports)) {
3314
+ theTransports = newTransports.concat(theTransports);
3315
+ }
3316
+ }
3317
+ return theTransports;
3318
+ }
3319
+ function parseResponse(response, diagLog) {
3320
+ try {
3321
+ if (response && response !== "") {
3322
+ var result = getJSON().parse(response);
3323
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
3324
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
3325
+ return result;
3326
+ }
3327
+ }
3328
+ }
3329
+ catch (e) {
3330
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
3331
+ response: response
3332
+ });
3333
+ }
3334
+ return null;
3335
+ }
2849
3336
 
2850
3337
  var StorageType = createEnumStyle({
2851
3338
  LocalStorage: 0 ,
@@ -3352,7 +3839,7 @@ function parseConnectionString(connectionString) {
3352
3839
  }, {});
3353
3840
  if (objKeys(result)[_DYN_LENGTH ] > 0) {
3354
3841
  if (result.endpointsuffix) {
3355
- var locationPrefix = result.location ? result.location + "." : "";
3842
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
3356
3843
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
3357
3844
  }
3358
3845
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -3374,7 +3861,7 @@ var Envelope = /** @class */ (function () {
3374
3861
  _self.sampleRate = 100.0;
3375
3862
  _self.tags = {};
3376
3863
  _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
3377
- _self.data = data;
3864
+ _self[_DYN_DATA ] = data;
3378
3865
  _self.time = toISOString(new Date());
3379
3866
  _self.aiDataContract = {
3380
3867
  time: 1 ,
@@ -3531,8 +4018,8 @@ function _getStackFromErrorObj(errorObj) {
3531
4018
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
3532
4019
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
3533
4020
  }
3534
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
3535
- details = _convertStackObj(errorObj.reason[strStack]);
4021
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
4022
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
3536
4023
  }
3537
4024
  else if (isString(errorObj)) {
3538
4025
  details = _convertStackObj(errorObj);
@@ -4023,7 +4510,7 @@ var RemoteDependencyData = /** @class */ (function () {
4023
4510
  _self.resultCode = resultCode + "";
4024
4511
  _self.type = dataSanitizeString(logger, requestAPI);
4025
4512
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
4026
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
4513
+ _self[_DYN_DATA ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA ];
4027
4514
  _self.target = dataSanitizeString(logger, dependencyFields.target);
4028
4515
  if (correlationContext) {
4029
4516
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -4238,7 +4725,7 @@ function createTelemetryItem(item, baseType, envelopeName, logger, customPropert
4238
4725
  _a);
4239
4726
  if (!isNullOrUndefined(customProperties)) {
4240
4727
  objForEachKey(customProperties, function (prop, value) {
4241
- telemetryItem.data[prop] = value;
4728
+ telemetryItem[_DYN_DATA ][prop] = value;
4242
4729
  });
4243
4730
  }
4244
4731
  return telemetryItem;
@@ -4262,6 +4749,360 @@ var Extensions = {
4262
4749
  };
4263
4750
  var CtxTagKeys = new ContextTagKeys();
4264
4751
 
4752
+ var STR_EMPTY = "";
4753
+ var SenderPostManager = /** @class */ (function () {
4754
+ function SenderPostManager() {
4755
+ var _syncFetchPayload = 0;
4756
+ var _enableSendPromise;
4757
+ var _isInitialized;
4758
+ var _diagLog;
4759
+ var _isOneDs;
4760
+ var _onCompleteFuncs;
4761
+ var _disableCredentials;
4762
+ var _fallbackInst;
4763
+ var _disableXhr;
4764
+ var _disableBeacon;
4765
+ var _disableBeaconSync;
4766
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
4767
+ var _sendCredentials = true;
4768
+ _initDefaults();
4769
+ _self.initialize = function (config, diagLog) {
4770
+ _diagLog = diagLog;
4771
+ if (_isInitialized) {
4772
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
4773
+ }
4774
+ _self.SetConfig(config);
4775
+ _isInitialized = true;
4776
+ };
4777
+ _self["_getDbgPlgTargets"] = function () {
4778
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
4779
+ };
4780
+ _self.SetConfig = function (config) {
4781
+ try {
4782
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
4783
+ _disableCredentials = !!config.disableCredentials;
4784
+ _isOneDs = !!config.isOneDs;
4785
+ _enableSendPromise = !!config.enableSendPromise;
4786
+ _disableXhr = !!config.disableXhr;
4787
+ _disableBeacon = !!config.disableBeacon;
4788
+ _disableBeaconSync = !!config.disableBeaconSync;
4789
+ _fallbackInst = { sendPOST: _xhrSender };
4790
+ if (_disableCredentials) {
4791
+ var location_1 = getLocation();
4792
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
4793
+ _sendCredentials = false;
4794
+ }
4795
+ }
4796
+ return true;
4797
+ }
4798
+ catch (e) {
4799
+ }
4800
+ return false;
4801
+ };
4802
+ _self.getSyncFetchPayload = function () {
4803
+ return _syncFetchPayload;
4804
+ };
4805
+ _self.getXhrInst = function (transports, sync) {
4806
+ if (transports && transports[_DYN_LENGTH ]) {
4807
+ return _getSenderInterface(transports, sync);
4808
+ }
4809
+ return null;
4810
+ };
4811
+ _self.getFallbackInst = function () {
4812
+ return _fallbackInst;
4813
+ };
4814
+ _self._doTeardown = function (unloadCtx, unloadState) {
4815
+ _initDefaults();
4816
+ };
4817
+ function _onSuccess(res, onComplete) {
4818
+ _doOnComplete(onComplete, 200, {}, res);
4819
+ }
4820
+ function _onError(message, onComplete) {
4821
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
4822
+ _doOnComplete(onComplete, 400, {});
4823
+ }
4824
+ function _onNoPayloadUrl(onComplete) {
4825
+ _onError("No endpoint url is provided for the batch", onComplete);
4826
+ }
4827
+ function _getSenderInterface(transports, syncSupport) {
4828
+ var transportType = null;
4829
+ var sendPostFunc = null;
4830
+ var lp = 0;
4831
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
4832
+ transportType = transports[lp];
4833
+ if (!_disableXhr && transportType === 1 ) {
4834
+ if (useXDomainRequest()) {
4835
+ sendPostFunc = _xdrSender;
4836
+ }
4837
+ else if (isXhrSupported()) {
4838
+ sendPostFunc = _xhrSender;
4839
+ }
4840
+ }
4841
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
4842
+ sendPostFunc = _doFetchSender;
4843
+ }
4844
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
4845
+ sendPostFunc = _beaconSender;
4846
+ }
4847
+ lp++;
4848
+ }
4849
+ if (sendPostFunc) {
4850
+ return {
4851
+ sendPOST: sendPostFunc
4852
+ };
4853
+ }
4854
+ return null;
4855
+ }
4856
+ function _doOnComplete(oncomplete, status, headers, response) {
4857
+ try {
4858
+ oncomplete && oncomplete(status, headers, response);
4859
+ }
4860
+ catch (e) {
4861
+ }
4862
+ }
4863
+ function _doBeaconSend(payload, oncomplete) {
4864
+ var nav = getNavigator();
4865
+ var url = payload[_DYN_URL_STRING ];
4866
+ if (!url) {
4867
+ _onNoPayloadUrl(oncomplete);
4868
+ return true;
4869
+ }
4870
+ var data = payload[_DYN_DATA ];
4871
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
4872
+ var queued = nav.sendBeacon(url, plainTextBatch);
4873
+ return queued;
4874
+ }
4875
+ function _beaconSender(payload, oncomplete, sync) {
4876
+ var data = payload[_DYN_DATA ];
4877
+ if (data) {
4878
+ if (!_doBeaconSend(payload, oncomplete)) {
4879
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
4880
+ if (onRetry && isFunction(onRetry)) {
4881
+ onRetry(payload, oncomplete, _doBeaconSend);
4882
+ }
4883
+ else {
4884
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
4885
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
4886
+ }
4887
+ }
4888
+ else {
4889
+ _onSuccess(null, oncomplete);
4890
+ }
4891
+ }
4892
+ return;
4893
+ }
4894
+ function _xhrSender(payload, oncomplete, sync) {
4895
+ var thePromise;
4896
+ var resolveFunc;
4897
+ var rejectFunc;
4898
+ var headers = payload.headers || {};
4899
+ if (!sync && _enableSendPromise) {
4900
+ thePromise = createPromise(function (resolve, reject) {
4901
+ resolveFunc = resolve;
4902
+ rejectFunc = reject;
4903
+ });
4904
+ }
4905
+ var xhr = new XMLHttpRequest();
4906
+ var endPointUrl = payload[_DYN_URL_STRING ];
4907
+ if (!endPointUrl) {
4908
+ _onNoPayloadUrl(oncomplete);
4909
+ resolveFunc && resolveFunc(false);
4910
+ return;
4911
+ }
4912
+ try {
4913
+ xhr[DisabledPropertyName] = true;
4914
+ }
4915
+ catch (e) {
4916
+ }
4917
+ xhr.open("POST", endPointUrl, !sync);
4918
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
4919
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4920
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
4921
+ }
4922
+ arrForEach(objKeys(headers), function (headerName) {
4923
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
4924
+ });
4925
+ xhr.onreadystatechange = function () {
4926
+ var response = getResponseText(xhr);
4927
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
4928
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
4929
+ if (onReadyFuncExist) {
4930
+ onReadyFunc(xhr, oncomplete, payload);
4931
+ }
4932
+ if (xhr.readyState === 4) {
4933
+ if (!onReadyFuncExist) {
4934
+ _doOnComplete(oncomplete, xhr.status, {}, response);
4935
+ }
4936
+ resolveFunc && resolveFunc(true);
4937
+ }
4938
+ };
4939
+ xhr.onerror = function (event) {
4940
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
4941
+ rejectFunc && rejectFunc(event);
4942
+ };
4943
+ xhr.ontimeout = function () {
4944
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
4945
+ resolveFunc && resolveFunc(false);
4946
+ };
4947
+ xhr.send(payload[_DYN_DATA ]);
4948
+ return thePromise;
4949
+ }
4950
+ function _doFetchSender(payload, oncomplete, sync) {
4951
+ var _a;
4952
+ var endPointUrl = payload[_DYN_URL_STRING ];
4953
+ var batch = payload[_DYN_DATA ];
4954
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
4955
+ var thePromise;
4956
+ var resolveFunc;
4957
+ var rejectFunc;
4958
+ var requestHeaders = new Headers();
4959
+ var batchLength = batch[_DYN_LENGTH ];
4960
+ var ignoreResponse = false;
4961
+ var responseHandled = false;
4962
+ var headers = payload.headers || {};
4963
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4964
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
4965
+ }
4966
+ arrForEach(objKeys(headers), function (headerName) {
4967
+ requestHeaders.append(headerName, headers[headerName]);
4968
+ });
4969
+ var init = (_a = {
4970
+ method: "POST",
4971
+ headers: requestHeaders,
4972
+ body: plainTextBatch
4973
+ },
4974
+ _a[DisabledPropertyName] = true
4975
+ ,
4976
+ _a);
4977
+ if (_sendCredentials && _isOneDs) {
4978
+ init.credentials = "include";
4979
+ }
4980
+ if (sync) {
4981
+ init.keepalive = true;
4982
+ ignoreResponse = true;
4983
+ _syncFetchPayload += batchLength;
4984
+ }
4985
+ var request = new Request(endPointUrl, init);
4986
+ try {
4987
+ request[DisabledPropertyName] = true;
4988
+ }
4989
+ catch (e) {
4990
+ }
4991
+ if (!sync && _enableSendPromise) {
4992
+ thePromise = createPromise(function (resolve, reject) {
4993
+ resolveFunc = resolve;
4994
+ rejectFunc = reject;
4995
+ });
4996
+ }
4997
+ if (!endPointUrl) {
4998
+ _onNoPayloadUrl(oncomplete);
4999
+ resolveFunc && resolveFunc(false);
5000
+ return;
5001
+ }
5002
+ try {
5003
+ doAwaitResponse(fetch(request), function (result) {
5004
+ if (sync) {
5005
+ _syncFetchPayload -= batchLength;
5006
+ batchLength = 0;
5007
+ }
5008
+ if (!responseHandled) {
5009
+ responseHandled = true;
5010
+ if (!result.rejected) {
5011
+ var response_1 = result.value;
5012
+ if (!response_1.ok) {
5013
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
5014
+ resolveFunc && resolveFunc(false);
5015
+ }
5016
+ else {
5017
+ doAwaitResponse(response_1.text(), function (resp) {
5018
+ var status = response_1.status;
5019
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5020
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5021
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
5022
+ }
5023
+ else {
5024
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
5025
+ }
5026
+ resolveFunc && resolveFunc(true);
5027
+ });
5028
+ }
5029
+ }
5030
+ else {
5031
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
5032
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
5033
+ }
5034
+ }
5035
+ });
5036
+ }
5037
+ catch (e) {
5038
+ if (!responseHandled) {
5039
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
5040
+ rejectFunc && rejectFunc(e);
5041
+ }
5042
+ }
5043
+ if (ignoreResponse && !responseHandled) {
5044
+ responseHandled = true;
5045
+ _doOnComplete(oncomplete, 200, {});
5046
+ resolveFunc && resolveFunc(true);
5047
+ }
5048
+ return thePromise;
5049
+ }
5050
+ function _xdrSender(payload, oncomplete, sync) {
5051
+ var _window = getWindow();
5052
+ var xdr = new XDomainRequest();
5053
+ var data = payload[_DYN_DATA ];
5054
+ xdr.onload = function () {
5055
+ var response = getResponseText(xdr);
5056
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5057
+ if (onloadFunc && isFunction(onloadFunc)) {
5058
+ onloadFunc(xdr, oncomplete, payload);
5059
+ }
5060
+ else {
5061
+ _doOnComplete(oncomplete, 200, {}, response);
5062
+ }
5063
+ };
5064
+ xdr.onerror = function () {
5065
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
5066
+ };
5067
+ xdr.ontimeout = function () {
5068
+ _doOnComplete(oncomplete, 500, {});
5069
+ };
5070
+ xdr.onprogress = function () { };
5071
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
5072
+ var endpoint = payload[_DYN_URL_STRING ];
5073
+ if (!endpoint) {
5074
+ _onNoPayloadUrl(oncomplete);
5075
+ return;
5076
+ }
5077
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5078
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5079
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5080
+ _onError(msg, oncomplete);
5081
+ return;
5082
+ }
5083
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
5084
+ xdr.open("POST", endpointUrl);
5085
+ xdr.send(data);
5086
+ }
5087
+ function _initDefaults() {
5088
+ _syncFetchPayload = 0;
5089
+ _isInitialized = false;
5090
+ _enableSendPromise = false;
5091
+ _diagLog = null;
5092
+ _isOneDs = null;
5093
+ _onCompleteFuncs = null;
5094
+ _disableCredentials = null;
5095
+ _fallbackInst = null;
5096
+ _disableXhr = false;
5097
+ _disableBeacon = false;
5098
+ _disableBeaconSync = false;
5099
+ }
5100
+ });
5101
+ }
5102
+ SenderPostManager.__ieDyn=1;
5103
+ return SenderPostManager;
5104
+ }());
5105
+
4265
5106
  function createDomEvent(eventName) {
4266
5107
  var event = null;
4267
5108
  if (isFunction(Event)) {
@@ -4422,6 +5263,7 @@ exports.PropertiesPluginIdentifier = PropertiesPluginIdentifier;
4422
5263
  exports.RemoteDependencyData = RemoteDependencyData;
4423
5264
  exports.RequestHeaders = RequestHeaders;
4424
5265
  exports.SampleRate = SampleRate;
5266
+ exports.SenderPostManager = SenderPostManager;
4425
5267
  exports.SeverityLevel = SeverityLevel;
4426
5268
  exports.TelemetryItemCreator = TelemetryItemCreator;
4427
5269
  exports.ThrottleMgr = ThrottleMgr;
@@ -4450,8 +5292,11 @@ exports.dateTimeUtilsDuration = dateTimeUtilsDuration;
4450
5292
  exports.dateTimeUtilsNow = dateTimeUtilsNow;
4451
5293
  exports.dsPadNumber = dsPadNumber;
4452
5294
  exports.findW3cTraceParent = findW3cTraceParent;
5295
+ exports.formatErrorMessageXdr = formatErrorMessageXdr;
5296
+ exports.formatErrorMessageXhr = formatErrorMessageXhr;
4453
5297
  exports.formatTraceParent = formatTraceParent;
4454
5298
  exports.getExtensionByName = getExtensionByName;
5299
+ exports.getResponseText = getResponseText;
4455
5300
  exports.isBeaconApiSupported = isBeaconsSupported;
4456
5301
  exports.isCrossOriginError = isCrossOriginError;
4457
5302
  exports.isInternalApplicationInsightsEndpoint = isInternalApplicationInsightsEndpoint;
@@ -4461,7 +5306,9 @@ exports.isValidTraceId = isValidTraceId;
4461
5306
  exports.isValidTraceParent = isValidTraceParent;
4462
5307
  exports.msToTimeSpan = msToTimeSpan;
4463
5308
  exports.parseConnectionString = parseConnectionString;
5309
+ exports.parseResponse = parseResponse;
4464
5310
  exports.parseTraceParent = parseTraceParent;
5311
+ exports.prependTransports = prependTransports;
4465
5312
  exports.strNotSpecified = strNotSpecified;
4466
5313
  exports.stringToBoolOrDefault = stringToBoolOrDefault;
4467
5314
  exports.urlGetAbsoluteUrl = urlGetAbsoluteUrl;