@microsoft/applicationinsights-channel-js 3.0.6 → 3.0.7-nightly3.2312-03

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 (61) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.0.6.js → applicationinsights-channel-js.3.0.7-nightly3.2312-03.cjs.js} +168 -136
  2. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.cjs.min.js.map +1 -0
  5. package/browser/es5/{applicationinsights-channel-js.3.0.6.gbl.js → applicationinsights-channel-js.3.0.7-nightly3.2312-03.gbl.js} +170 -111
  6. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.0.6.cjs.js → applicationinsights-channel-js.3.0.7-nightly3.2312-03.js} +195 -109
  11. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.0.7-nightly3.2312-03.min.js.map +1 -0
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +167 -108
  15. package/browser/es5/applicationinsights-channel-js.3.cjs.js.map +1 -1
  16. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js +2 -2
  17. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js.map +1 -1
  18. package/browser/es5/applicationinsights-channel-js.3.gbl.js +169 -110
  19. package/browser/es5/applicationinsights-channel-js.3.gbl.js.map +1 -1
  20. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js +2 -2
  21. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js.map +1 -1
  22. package/browser/es5/applicationinsights-channel-js.3.integrity.json +25 -25
  23. package/browser/es5/applicationinsights-channel-js.3.js +169 -110
  24. package/browser/es5/applicationinsights-channel-js.3.js.map +1 -1
  25. package/browser/es5/applicationinsights-channel-js.3.min.js +2 -2
  26. package/browser/es5/applicationinsights-channel-js.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-channel-js.js +167 -108
  28. package/dist/es5/applicationinsights-channel-js.js.map +1 -1
  29. package/dist/es5/applicationinsights-channel-js.min.js +2 -2
  30. package/dist/es5/applicationinsights-channel-js.min.js.map +1 -1
  31. package/dist-es5/EnvelopeCreator.js +2 -2
  32. package/dist-es5/EnvelopeCreator.js.map +1 -1
  33. package/dist-es5/Interfaces.js +1 -1
  34. package/dist-es5/InternalConstants.js +1 -1
  35. package/dist-es5/SendBuffer.js +4 -4
  36. package/dist-es5/SendBuffer.js.map +1 -1
  37. package/dist-es5/Sender.js +35 -15
  38. package/dist-es5/Sender.js.map +1 -1
  39. package/dist-es5/Serializer.js +1 -1
  40. package/dist-es5/TelemetryProcessors/Sample.js +1 -1
  41. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +3 -3
  42. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js.map +1 -1
  43. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  44. package/dist-es5/__DynamicConstants.js +4 -4
  45. package/dist-es5/__DynamicConstants.js.map +1 -1
  46. package/dist-es5/applicationinsights-channel-js.js +1 -1
  47. package/package.json +65 -62
  48. package/types/applicationinsights-channel-js.d.ts +12 -1
  49. package/types/applicationinsights-channel-js.namespaced.d.ts +12 -1
  50. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.js.map +0 -1
  51. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.min.js +0 -6
  52. package/browser/es5/applicationinsights-channel-js.3.0.6.cjs.min.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.js.map +0 -1
  54. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.min.js +0 -6
  55. package/browser/es5/applicationinsights-channel-js.3.0.6.gbl.min.js.map +0 -1
  56. package/browser/es5/applicationinsights-channel-js.3.0.6.integrity.json +0 -66
  57. package/browser/es5/applicationinsights-channel-js.3.0.6.js.map +0 -1
  58. package/browser/es5/applicationinsights-channel-js.3.0.6.min.js +0 -6
  59. package/browser/es5/applicationinsights-channel-js.3.0.6.min.js.map +0 -1
  60. package/dist-es5/Offline.js +0 -91
  61. package/dist-es5/Offline.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.6
2
+ * Application Insights JavaScript SDK - Channel, 3.0.7-nightly3.2312-03
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -1072,7 +1072,7 @@ var _DYN_SET_DF = "setDf";
1072
1072
  var _DYN_WATCH = "watch";
1073
1073
  var _DYN_LOGGER = "logger";
1074
1074
  var _DYN_APPLY = "apply";
1075
- var _DYN_PUSH$1 = "push";
1075
+ var _DYN_PUSH$2 = "push";
1076
1076
  var _DYN_SPLICE = "splice";
1077
1077
  var _DYN_HDLR = "hdlr";
1078
1078
  var _DYN_CANCEL = "cancel";
@@ -1762,7 +1762,7 @@ function newId(maxLength) {
1762
1762
  return result;
1763
1763
  }
1764
1764
 
1765
- var version = '3.0.6';
1765
+ var version = '3.0.7-nightly3.2312-03';
1766
1766
  var instanceName = "." + newId(6);
1767
1767
  var _dataUid = 0;
1768
1768
  function _canAcceptData(target) {
@@ -2040,7 +2040,7 @@ function _createDynamicProperty(state, theConfig, name, value) {
2040
2040
  trk: function (handler) {
2041
2041
  if (handler && handler.fn) {
2042
2042
  if (arrIndexOf(detail.h, handler) === -1) {
2043
- detail.h[_DYN_PUSH$1 ](handler);
2043
+ detail.h[_DYN_PUSH$2 ](handler);
2044
2044
  }
2045
2045
  state.trk(handler, detail);
2046
2046
  }
@@ -2252,7 +2252,7 @@ function _createState(cfgHandler) {
2252
2252
  _useHandler(handler, handler.fn);
2253
2253
  }
2254
2254
  catch (e) {
2255
- watcherFailures_1[_DYN_PUSH$1 ](e);
2255
+ watcherFailures_1[_DYN_PUSH$2 ](e);
2256
2256
  }
2257
2257
  }
2258
2258
  }
@@ -2262,7 +2262,7 @@ function _createState(cfgHandler) {
2262
2262
  _notifyWatchers();
2263
2263
  }
2264
2264
  catch (e) {
2265
- watcherFailures_1[_DYN_PUSH$1 ](e);
2265
+ watcherFailures_1[_DYN_PUSH$2 ](e);
2266
2266
  }
2267
2267
  }
2268
2268
  if (watcherFailures_1[_DYN_LENGTH$2 ] > 0) {
@@ -2284,7 +2284,7 @@ function _createState(cfgHandler) {
2284
2284
  for (var idx = 0; idx < detail.h[_DYN_LENGTH$2 ]; idx++) {
2285
2285
  var handler = detail.h[idx];
2286
2286
  if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {
2287
- _waitingHandlers[_DYN_PUSH$1 ](handler);
2287
+ _waitingHandlers[_DYN_PUSH$2 ](handler);
2288
2288
  }
2289
2289
  }
2290
2290
  }
@@ -2293,7 +2293,7 @@ function _createState(cfgHandler) {
2293
2293
  if (handler) {
2294
2294
  var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];
2295
2295
  if (arrIndexOf(details, detail) === -1) {
2296
- details[_DYN_PUSH$1 ](detail);
2296
+ details[_DYN_PUSH$2 ](detail);
2297
2297
  }
2298
2298
  }
2299
2299
  }
@@ -2611,14 +2611,14 @@ var DiagnosticLogger = /** @class */ (function () {
2611
2611
  }
2612
2612
  if (logMessage) {
2613
2613
  if (severity <= _loggingLevelTelemetry) {
2614
- _self.queue[_DYN_PUSH$1 ](message);
2614
+ _self.queue[_DYN_PUSH$2 ](message);
2615
2615
  _messageCount++;
2616
2616
  _debugExtMsg((severity === 1 ? "error" : "warn"), message);
2617
2617
  }
2618
2618
  if (_messageCount === _maxInternalMessageLimit) {
2619
2619
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
2620
2620
  var throttleMessage = new _InternalLogMessage(23 , throttleLimitMessage, false);
2621
- _self.queue[_DYN_PUSH$1 ](throttleMessage);
2621
+ _self.queue[_DYN_PUSH$2 ](throttleMessage);
2622
2622
  if (severity === 1 ) {
2623
2623
  _self.errorToConsole(throttleLimitMessage);
2624
2624
  }
@@ -2751,7 +2751,7 @@ function doPerf(mgrSource, getSource, func, details, isAsync) {
2751
2751
  children = [];
2752
2752
  currentActive[_DYN_SET_CTX ](PerfEvent[strChildrenContextKey], children);
2753
2753
  }
2754
- children[_DYN_PUSH$1 ](perfEvt);
2754
+ children[_DYN_PUSH$2 ](perfEvt);
2755
2755
  }
2756
2756
  }
2757
2757
  perfMgr[_DYN_SET_CTX ](doPerfActiveKey, perfEvt);
@@ -2834,7 +2834,7 @@ function _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {
2834
2834
  args[_i - 2] = arguments[_i];
2835
2835
  }
2836
2836
  if (onComplete) {
2837
- _onComplete[_DYN_PUSH$1 ]({
2837
+ _onComplete[_DYN_PUSH$2 ]({
2838
2838
  func: onComplete,
2839
2839
  self: !isUndefined(that) ? that : context.ctx,
2840
2840
  args: args
@@ -3143,7 +3143,7 @@ function createUnloadHandlerContainer() {
3143
3143
  var handlers = [];
3144
3144
  function _addHandler(handler) {
3145
3145
  if (handler) {
3146
- handlers[_DYN_PUSH$1 ](handler);
3146
+ handlers[_DYN_PUSH$2 ](handler);
3147
3147
  }
3148
3148
  }
3149
3149
  function _runHandlers(unloadCtx, unloadState) {
@@ -3473,7 +3473,7 @@ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
3473
3473
  _a[_DYN_HANDLER ] = handlerRef,
3474
3474
  _a.capture = useCapture,
3475
3475
  _a);
3476
- _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$1 ](registeredEvent);
3476
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH$2 ](registeredEvent);
3477
3477
  }
3478
3478
  }
3479
3479
  catch (e) {
@@ -3527,6 +3527,7 @@ var _DYN_SPLIT = "split";
3527
3527
  var _DYN_LENGTH$1 = "length";
3528
3528
  var _DYN_TO_LOWER_CASE = "toLowerCase";
3529
3529
  var _DYN_TO_STRING$1 = "toString";
3530
+ var _DYN_PUSH$1 = "push";
3530
3531
  var _DYN_REMOVE_ITEM = "removeItem";
3531
3532
  var _DYN_NAME$1 = "name";
3532
3533
  var _DYN_MESSAGE = "message";
@@ -3965,7 +3966,7 @@ function _getOperaStack(errorMessage) {
3965
3966
  entry += "@" + lines[lp + 1];
3966
3967
  lp++;
3967
3968
  }
3968
- stack.push(entry);
3969
+ stack[_DYN_PUSH$1 ](entry);
3969
3970
  }
3970
3971
  return {
3971
3972
  src: errorMessage,
@@ -4048,7 +4049,7 @@ function _parseStack(stack) {
4048
4049
  if (_StackFrame.regex.test(theFrame)) {
4049
4050
  var parsedFrame = new _StackFrame(theFrame, level_1++);
4050
4051
  totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
4051
- parsedStack.push(parsedFrame);
4052
+ parsedStack[_DYN_PUSH$1 ](parsedFrame);
4052
4053
  }
4053
4054
  });
4054
4055
  var exceptionParsedStackThreshold = 32 * 1024;
@@ -4628,6 +4629,122 @@ var ContextTagKeys = /** @class */ (function (_super) {
4628
4629
 
4629
4630
  var CtxTagKeys = new ContextTagKeys();
4630
4631
 
4632
+ function _disableEvents(target, evtNamespace) {
4633
+ eventOff(target, null, null, evtNamespace);
4634
+ }
4635
+ function createOfflineListener(parentEvtNamespace) {
4636
+ var _document = getDocument();
4637
+ var _navigator = getNavigator();
4638
+ var _isListening = false;
4639
+ var listenerList = [];
4640
+ var rState = 1 ;
4641
+ if (_navigator && !isNullOrUndefined(_navigator.onLine) && !_navigator.onLine) {
4642
+ rState = 2 ;
4643
+ }
4644
+ var uState = 0 ;
4645
+ var _currentState = calCurrentState();
4646
+ var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("OfflineListener"), parentEvtNamespace);
4647
+ try {
4648
+ if (_enableEvents(getWindow())) {
4649
+ _isListening = true;
4650
+ }
4651
+ if (_document) {
4652
+ var target = _document.body || _document;
4653
+ if (target.ononline) {
4654
+ if (_enableEvents(target)) {
4655
+ _isListening = true;
4656
+ }
4657
+ }
4658
+ }
4659
+ }
4660
+ catch (e) {
4661
+ _isListening = false;
4662
+ }
4663
+ function _enableEvents(target) {
4664
+ var enabled = false;
4665
+ if (target) {
4666
+ enabled = eventOn(target, "online", _setOnline, _evtNamespace);
4667
+ if (enabled) {
4668
+ eventOn(target, "offline", _setOffline, _evtNamespace);
4669
+ }
4670
+ }
4671
+ return enabled;
4672
+ }
4673
+ function _isOnline() {
4674
+ return _currentState;
4675
+ }
4676
+ function calCurrentState() {
4677
+ if (uState === 2 || rState === 2 ) {
4678
+ return false;
4679
+ }
4680
+ return true;
4681
+ }
4682
+ function listnerNoticeCheck() {
4683
+ var newState = calCurrentState();
4684
+ if (_currentState !== newState) {
4685
+ _currentState = newState;
4686
+ arrForEach(listenerList, function (callback) {
4687
+ var offlineState = {
4688
+ isOnline: _currentState,
4689
+ rState: rState,
4690
+ uState: uState
4691
+ };
4692
+ try {
4693
+ callback(offlineState);
4694
+ }
4695
+ catch (e) {
4696
+ }
4697
+ });
4698
+ }
4699
+ }
4700
+ function setOnlineState(newState) {
4701
+ uState = newState;
4702
+ listnerNoticeCheck();
4703
+ }
4704
+ function _setOnline() {
4705
+ rState = 1 ;
4706
+ listnerNoticeCheck();
4707
+ }
4708
+ function _setOffline() {
4709
+ rState = 2 ;
4710
+ listnerNoticeCheck();
4711
+ }
4712
+ function _unload() {
4713
+ var win = getWindow();
4714
+ if (win && _isListening) {
4715
+ _disableEvents(win, _evtNamespace);
4716
+ if (_document) {
4717
+ var target = _document.body || _document;
4718
+ if (!isUndefined(target.ononline)) {
4719
+ _disableEvents(target, _evtNamespace);
4720
+ }
4721
+ }
4722
+ _isListening = false;
4723
+ }
4724
+ }
4725
+ function addListener(callback) {
4726
+ listenerList[_DYN_PUSH$1 ](callback);
4727
+ return {
4728
+ rm: function () {
4729
+ var index = listenerList.indexOf(callback);
4730
+ if (index > -1) {
4731
+ return listenerList.splice(index, 1);
4732
+ }
4733
+ else {
4734
+ return;
4735
+ }
4736
+ }
4737
+ };
4738
+ }
4739
+ return {
4740
+ isOnline: _isOnline,
4741
+ isListening: function () { return _isListening; },
4742
+ unload: _unload,
4743
+ addListener: addListener,
4744
+ setOnlineState: setOnlineState
4745
+ };
4746
+ }
4747
+
4631
4748
  var BreezeChannelIdentifier = "AppInsightsChannelPlugin";
4632
4749
 
4633
4750
  var STR_DURATION = "duration";
@@ -4643,8 +4760,6 @@ var _DYN_MEASUREMENTS = "measurements";
4643
4760
  var _DYN_DATA_TYPE = "dataType";
4644
4761
  var _DYN_ENVELOPE_TYPE = "envelopeType";
4645
4762
  var _DYN_TO_STRING = "toString";
4646
- var _DYN_ON_LINE = "onLine";
4647
- var _DYN_IS_ONLINE = "isOnline";
4648
4763
  var _DYN__GET = "_get";
4649
4764
  var _DYN_ENQUEUE = "enqueue";
4650
4765
  var _DYN_COUNT = "count";
@@ -4659,6 +4774,7 @@ var _DYN_CLEAR_SENT = "clearSent";
4659
4774
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4660
4775
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4661
4776
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4777
+ var _DYN_CONCAT = "concat";
4662
4778
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4663
4779
  var _DYN_SEND_POST = "sendPOST";
4664
4780
  var _DYN_TRIGGER_SEND = "triggerSend";
@@ -4674,6 +4790,7 @@ var _DYN__BUFFER = "_buffer";
4674
4790
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4675
4791
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
4676
4792
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4793
+ var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
4677
4794
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4678
4795
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4679
4796
  var _DYN_BASE_TYPE = "baseType";
@@ -4799,7 +4916,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
4799
4916
  }
4800
4917
  }
4801
4918
  var EnvelopeCreator = {
4802
- Version: '3.0.6'
4919
+ Version: '3.0.7-nightly3.2312-03'
4803
4920
  };
4804
4921
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4805
4922
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -4948,83 +5065,6 @@ function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4948
5065
  return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE ], telemetryItem, data);
4949
5066
  }
4950
5067
 
4951
- function _disableEvents(target, evtNamespace) {
4952
- eventOff(target, null, null, evtNamespace);
4953
- }
4954
- function createOfflineListener(parentEvtNamespace) {
4955
- var _a;
4956
- var _document = getDocument();
4957
- var _navigator = getNavigator();
4958
- var _isListening = false;
4959
- var _onlineStatus = true;
4960
- var _evtNamespace = mergeEvtNamespace(createUniqueNamespace("OfflineListener"), parentEvtNamespace);
4961
- try {
4962
- if (_enableEvents(getWindow())) {
4963
- _isListening = true;
4964
- }
4965
- if (_document) {
4966
- var target = _document.body || _document;
4967
- if (target.ononline) {
4968
- if (_enableEvents(target)) {
4969
- _isListening = true;
4970
- }
4971
- }
4972
- }
4973
- if (_isListening) {
4974
- if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE ])) {
4975
- _onlineStatus = _navigator[_DYN_ON_LINE ];
4976
- }
4977
- }
4978
- }
4979
- catch (e) {
4980
- _isListening = false;
4981
- }
4982
- function _enableEvents(target) {
4983
- var enabled = false;
4984
- if (target) {
4985
- enabled = eventOn(target, "online", _setOnline, _evtNamespace);
4986
- if (enabled) {
4987
- eventOn(target, "offline", _setOffline, _evtNamespace);
4988
- }
4989
- }
4990
- return enabled;
4991
- }
4992
- function _setOnline() {
4993
- _onlineStatus = true;
4994
- }
4995
- function _setOffline() {
4996
- _onlineStatus = false;
4997
- }
4998
- function _isOnline() {
4999
- var result = true;
5000
- if (_isListening) {
5001
- result = _onlineStatus;
5002
- }
5003
- else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE ])) {
5004
- result = _navigator[_DYN_ON_LINE ];
5005
- }
5006
- return result;
5007
- }
5008
- function _unload() {
5009
- var win = getWindow();
5010
- if (win && _isListening) {
5011
- _disableEvents(win, _evtNamespace);
5012
- if (_document) {
5013
- var target = _document.body || _document;
5014
- if (!isUndefined(target.ononline)) {
5015
- _disableEvents(target, _evtNamespace);
5016
- }
5017
- }
5018
- _isListening = false;
5019
- }
5020
- }
5021
- return _a = {},
5022
- _a[_DYN_IS_ONLINE ] = _isOnline,
5023
- _a.isListening = function () { return _isListening; },
5024
- _a.unload = _unload,
5025
- _a;
5026
- }
5027
-
5028
5068
  var BaseSendBuffer = /** @class */ (function () {
5029
5069
  function BaseSendBuffer(logger, config) {
5030
5070
  var _buffer = [];
@@ -5117,7 +5157,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5117
5157
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5118
5158
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5119
5159
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5120
- var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5160
+ var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5121
5161
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5122
5162
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5123
5163
  }
@@ -5144,7 +5184,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5144
5184
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5145
5185
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5146
5186
  if (sentElements instanceof Array && payload instanceof Array) {
5147
- sentElements = sentElements.concat(payload);
5187
+ sentElements = sentElements[_DYN_CONCAT ](payload);
5148
5188
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5149
5189
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5150
5190
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5382,7 +5422,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
5382
5422
  return 0;
5383
5423
  }
5384
5424
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
5385
- input = input.concat(input);
5425
+ input = input[_DYN_CONCAT ](input);
5386
5426
  }
5387
5427
  var hash = 5381;
5388
5428
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -5463,6 +5503,17 @@ function _getResponseText(xhr) {
5463
5503
  function isOverrideFn(httpXHROverride) {
5464
5504
  return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5465
5505
  }
5506
+ function _prependTransports(theTransports, newTransports) {
5507
+ if (newTransports) {
5508
+ if (isNumber(newTransports)) {
5509
+ theTransports = [newTransports][_DYN_CONCAT ](theTransports);
5510
+ }
5511
+ else if (isArray(newTransports)) {
5512
+ theTransports = newTransports[_DYN_CONCAT ](theTransports);
5513
+ }
5514
+ }
5515
+ return theTransports;
5516
+ }
5466
5517
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5467
5518
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
5468
5519
  },
@@ -5486,6 +5537,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5486
5537
  _a[_DYN_BUFFER_OVERRIDE ] = false,
5487
5538
  _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
5488
5539
  _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
5540
+ _a.transports = UNDEFINED_VALUE,
5489
5541
  _a));
5490
5542
  function _chkSampling(value) {
5491
5543
  return !isNaN(value) && value > 0 && value <= 100;
@@ -5520,6 +5572,8 @@ var Sender = /** @class */ (function (_super) {
5520
5572
  var _orgEndpointUrl;
5521
5573
  var _maxBatchSizeInBytes;
5522
5574
  var _beaconSupported;
5575
+ var _beaconOnUnloadSupported;
5576
+ var _beaconNormalSupported;
5523
5577
  var _customHeaders;
5524
5578
  var _disableTelemetry;
5525
5579
  var _instrumentationKey;
@@ -5616,6 +5670,8 @@ var Sender = /** @class */ (function (_super) {
5616
5670
  }
5617
5671
  _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
5618
5672
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
5673
+ _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
5674
+ _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
5619
5675
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5620
5676
  _disableXhr = !!senderConfig.disableXhr;
5621
5677
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
@@ -5663,7 +5719,8 @@ var Sender = /** @class */ (function (_super) {
5663
5719
  var customInterface = senderConfig.httpXHROverride;
5664
5720
  var httpInterface = null;
5665
5721
  var syncInterface = null;
5666
- httpInterface = _getSenderInterface([1 , 2 ], false);
5722
+ var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
5723
+ httpInterface = _getSenderInterface(theTransports, false);
5667
5724
  var xhrInterface = { sendPOST: _xhrSender };
5668
5725
  _xhrSend = function (payload, isAsync) {
5669
5726
  return _doSend(xhrInterface, payload, isAsync);
@@ -5671,9 +5728,6 @@ var Sender = /** @class */ (function (_super) {
5671
5728
  _fallbackSend = function (payload, isAsync) {
5672
5729
  return _doSend(xhrInterface, payload, isAsync, false);
5673
5730
  };
5674
- if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
5675
- httpInterface = _getSenderInterface([3 ], false);
5676
- }
5677
5731
  httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
5678
5732
  _self[_DYN__SENDER ] = function (payload, isAsync) {
5679
5733
  return _doSend(httpInterface, payload, isAsync);
@@ -5681,8 +5735,13 @@ var Sender = /** @class */ (function (_super) {
5681
5735
  if (_fetchKeepAlive) {
5682
5736
  _syncUnloadSender = _fetchKeepAliveSender;
5683
5737
  }
5684
- syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
5685
- if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
5738
+ var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
5739
+ if (!_fetchKeepAlive) {
5740
+ syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
5741
+ }
5742
+ syncInterface = _getSenderInterface(syncTransports, true);
5743
+ syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
5744
+ if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
5686
5745
  _syncUnloadSender = function (payload, isAsync) {
5687
5746
  return _doSend(syncInterface, payload, isAsync);
5688
5747
  };
@@ -5874,7 +5933,7 @@ var Sender = /** @class */ (function (_super) {
5874
5933
  else if (transportType === 2 && isFetchSupported(syncSupport)) {
5875
5934
  sendPostFunc = _fetchSender;
5876
5935
  }
5877
- else if (isBeaconsSupported() && transportType === 3 ) {
5936
+ else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
5878
5937
  sendPostFunc = _beaconSender;
5879
5938
  }
5880
5939
  lp++;
@@ -5931,7 +5990,7 @@ var Sender = /** @class */ (function (_super) {
5931
5990
  function _checkMaxSize(incomingPayload) {
5932
5991
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
5933
5992
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
5934
- if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE ]()) {
5993
+ if (!_offlineListener || _offlineListener.isOnline()) {
5935
5994
  _self[_DYN_TRIGGER_SEND ](true, null, 10 );
5936
5995
  }
5937
5996
  return true;
@@ -5962,7 +6021,7 @@ var Sender = /** @class */ (function (_super) {
5962
6021
  _self[_DYN__ON_ERROR ](payload, errorMessage);
5963
6022
  }
5964
6023
  }
5965
- else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE ]()) {
6024
+ else if (_offlineListener && !_offlineListener.isOnline()) {
5966
6025
  if (!_isRetryDisabled) {
5967
6026
  var offlineBackOffMultiplier = 10;
5968
6027
  _resendPayload(payload, offlineBackOffMultiplier);