@microsoft/1ds-core-js 3.1.3 → 3.1.7

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 (84) hide show
  1. package/README.md +1 -1
  2. package/bundle/ms.core-3.1.7.gbl.js +3589 -0
  3. package/bundle/ms.core-3.1.7.gbl.js.map +1 -0
  4. package/bundle/ms.core-3.1.7.gbl.min.js +7 -0
  5. package/bundle/ms.core-3.1.7.gbl.min.js.map +1 -0
  6. package/bundle/ms.core-3.1.7.integrity.json +46 -0
  7. package/bundle/{ms.core-test.js → ms.core-3.1.7.js} +203 -100
  8. package/bundle/ms.core-3.1.7.js.map +1 -0
  9. package/bundle/ms.core-3.1.7.min.js +7 -0
  10. package/bundle/ms.core-3.1.7.min.js.map +1 -0
  11. package/bundle/{ms.core-3.1.3.gbl.js → ms.core.gbl.js} +201 -98
  12. package/bundle/ms.core.gbl.js.map +1 -0
  13. package/bundle/ms.core.gbl.min.js +7 -0
  14. package/bundle/ms.core.gbl.min.js.map +1 -0
  15. package/bundle/ms.core.integrity.json +46 -0
  16. package/bundle/{ms.core-3.1.3.js → ms.core.js} +202 -99
  17. package/bundle/ms.core.js.map +1 -0
  18. package/bundle/ms.core.min.js +7 -0
  19. package/bundle/ms.core.min.js.map +1 -0
  20. package/dist/ms.core.js +64 -68
  21. package/dist/ms.core.js.map +1 -1
  22. package/dist/ms.core.min.js +2 -2
  23. package/dist/ms.core.min.js.map +1 -1
  24. package/dist-esm/src/AppInsightsCore.js +1 -1
  25. package/dist-esm/src/BaseCore.js +1 -1
  26. package/dist-esm/src/DataModels.d.ts +5 -2
  27. package/dist-esm/src/DataModels.js +2 -1
  28. package/dist-esm/src/DataModels.js.map +1 -1
  29. package/dist-esm/src/ESPromise.js +1 -1
  30. package/dist-esm/src/ESPromiseScheduler.js +1 -1
  31. package/dist-esm/src/Enums.d.ts +1 -0
  32. package/dist-esm/src/Enums.js +1 -1
  33. package/dist-esm/src/Index.d.ts +4 -3
  34. package/dist-esm/src/Index.js +6 -5
  35. package/dist-esm/src/Index.js.map +1 -1
  36. package/dist-esm/src/Utils.d.ts +33 -19
  37. package/dist-esm/src/Utils.js +86 -75
  38. package/dist-esm/src/Utils.js.map +1 -1
  39. package/dist-esm/src/ValueSanitizer.js +1 -1
  40. package/package.json +6 -6
  41. package/src/DataModels.ts +5 -2
  42. package/src/Index.ts +10 -10
  43. package/src/Utils.ts +100 -84
  44. package/tsconfig.json +2 -4
  45. package/bundle/ms.core-3.1.3.gbl.js.map +0 -1
  46. package/bundle/ms.core-3.1.3.gbl.min.js +0 -7
  47. package/bundle/ms.core-3.1.3.gbl.min.js.map +0 -1
  48. package/bundle/ms.core-3.1.3.js.map +0 -1
  49. package/bundle/ms.core-3.1.3.min.js +0 -7
  50. package/bundle/ms.core-3.1.3.min.js.map +0 -1
  51. package/bundle/ms.core-test.js.map +0 -1
  52. package/bundle/ms.core-test.min.js +0 -7
  53. package/bundle/ms.core-test.min.js.map +0 -1
  54. package/dist-esm/test/CoreTest.d.ts +0 -6
  55. package/dist-esm/test/CoreTest.js +0 -105
  56. package/dist-esm/test/CoreTest.js.map +0 -1
  57. package/dist-esm/test/DynamicProtoTests.d.ts +0 -7
  58. package/dist-esm/test/DynamicProtoTests.js +0 -541
  59. package/dist-esm/test/DynamicProtoTests.js.map +0 -1
  60. package/dist-esm/test/ESPromiseSchedulerTests.d.ts +0 -6
  61. package/dist-esm/test/ESPromiseSchedulerTests.js +0 -190
  62. package/dist-esm/test/ESPromiseSchedulerTests.js.map +0 -1
  63. package/dist-esm/test/ESPromiseTests.d.ts +0 -5
  64. package/dist-esm/test/ESPromiseTests.js +0 -422
  65. package/dist-esm/test/ESPromiseTests.js.map +0 -1
  66. package/dist-esm/test/FileSizeCheckTest.d.ts +0 -5
  67. package/dist-esm/test/FileSizeCheckTest.js +0 -42
  68. package/dist-esm/test/FileSizeCheckTest.js.map +0 -1
  69. package/dist-esm/test/Index.d.ts +0 -1
  70. package/dist-esm/test/Index.js +0 -23
  71. package/dist-esm/test/Index.js.map +0 -1
  72. package/dist-esm/test/TestClass.d.ts +0 -103
  73. package/dist-esm/test/TestClass.js +0 -396
  74. package/dist-esm/test/TestClass.js.map +0 -1
  75. package/dist-esm/test/TestHelper.d.ts +0 -7
  76. package/dist-esm/test/TestHelper.js +0 -98
  77. package/dist-esm/test/TestHelper.js.map +0 -1
  78. package/dist-esm/test/UtilsTest.d.ts +0 -4
  79. package/dist-esm/test/UtilsTest.js +0 -224
  80. package/dist-esm/test/UtilsTest.js.map +0 -1
  81. package/dist-esm/test/ValueSanitizerTests.d.ts +0 -6
  82. package/dist-esm/test/ValueSanitizerTests.js +0 -331
  83. package/dist-esm/test/ValueSanitizerTests.js.map +0 -1
  84. package/src/typings/XDomainRequest.d.ts +0 -23
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "ms.core",
3
+ "version": "3.1.7",
4
+ "ext": {
5
+ "@gbl.js": {
6
+ "file": "ms.core.gbl.js",
7
+ "type": "text/javascript; charset=utf-8",
8
+ "integrity": "sha256-n5mwGYr072QO65bDwNH5XLaOjlq+jchJf7tZUiCOd3E= sha384-97l2A+jrnsHobQ9R/oPtyBNfv/08KfN5RuTBrGz1MQBsS+mXRF2NMCQW5XV2Mw1h sha512-6hH4b9p/McrZop90+iC2YaSSYQA4fPQKTMkOVhT6OreWiJZCyhHMS/Bcml1SregjJxLkhtlje+PHU9ZoAbynkw==",
9
+ "hashes": {
10
+ "sha256": "n5mwGYr072QO65bDwNH5XLaOjlq+jchJf7tZUiCOd3E=",
11
+ "sha384": "97l2A+jrnsHobQ9R/oPtyBNfv/08KfN5RuTBrGz1MQBsS+mXRF2NMCQW5XV2Mw1h",
12
+ "sha512": "6hH4b9p/McrZop90+iC2YaSSYQA4fPQKTMkOVhT6OreWiJZCyhHMS/Bcml1SregjJxLkhtlje+PHU9ZoAbynkw=="
13
+ }
14
+ },
15
+ "@gbl.min.js": {
16
+ "file": "ms.core.gbl.min.js",
17
+ "type": "text/javascript; charset=utf-8",
18
+ "integrity": "sha256-A5qBO4DvPUYNTxxu/zPJQ6Q7VKuDKkpWjzndqT8DcYQ= sha384-hvzKPnfZgA23f+uMBd3X81wLCkMgG2uIFGc+8njbmuaYyARglTu6vXjUfoiDByKv sha512-vfyHLzcLcWbtuhqOc3qaukFKFtJ6TowG7QBvi+OeYoG8kzd044WmSLTUSEaKuFwHiL5J2g0kANL799AnonfcfQ==",
19
+ "hashes": {
20
+ "sha256": "A5qBO4DvPUYNTxxu/zPJQ6Q7VKuDKkpWjzndqT8DcYQ=",
21
+ "sha384": "hvzKPnfZgA23f+uMBd3X81wLCkMgG2uIFGc+8njbmuaYyARglTu6vXjUfoiDByKv",
22
+ "sha512": "vfyHLzcLcWbtuhqOc3qaukFKFtJ6TowG7QBvi+OeYoG8kzd044WmSLTUSEaKuFwHiL5J2g0kANL799AnonfcfQ=="
23
+ }
24
+ },
25
+ "@js": {
26
+ "file": "ms.core.js",
27
+ "type": "text/javascript; charset=utf-8",
28
+ "integrity": "sha256-DkhSkoegBfNRIJe0vsIqwW89G2S3xISKfrN2brD0xIs= sha384-x8pT7ZQH/F9tYQ5GPoosDa0NVj8UomucgHieQ8VIBFdDVs9iUUE5C8SFk11R9fLR sha512-odD55YSmf3NCbWlRD6P+g8+z5OEvLheJWx1eQY678HQ6GyeWEr472tFE9iqAKOIoiCQXXDDdJBPsu5aqzKppfg==",
29
+ "hashes": {
30
+ "sha256": "DkhSkoegBfNRIJe0vsIqwW89G2S3xISKfrN2brD0xIs=",
31
+ "sha384": "x8pT7ZQH/F9tYQ5GPoosDa0NVj8UomucgHieQ8VIBFdDVs9iUUE5C8SFk11R9fLR",
32
+ "sha512": "odD55YSmf3NCbWlRD6P+g8+z5OEvLheJWx1eQY678HQ6GyeWEr472tFE9iqAKOIoiCQXXDDdJBPsu5aqzKppfg=="
33
+ }
34
+ },
35
+ "@min.js": {
36
+ "file": "ms.core.min.js",
37
+ "type": "text/javascript; charset=utf-8",
38
+ "integrity": "sha256-clAH8ZpZhulJGvIREiMsWcN7gs/Jc+U7J0E+M6QcEu8= sha384-GkYc0HeUWMuds3Yq8+DyxlgSXCIUxElX/vAPg651oyUFyY1VRERqXqR9BIDixeZv sha512-D8Jd+jV62GhzZI4gIZyFjRNhzaTHhHtTo/+m4CBTPUk41Ka4n+AmWaheVJlSnkAN3RhNPQiLNmFSWKdL5SxRXQ==",
39
+ "hashes": {
40
+ "sha256": "clAH8ZpZhulJGvIREiMsWcN7gs/Jc+U7J0E+M6QcEu8=",
41
+ "sha384": "GkYc0HeUWMuds3Yq8+DyxlgSXCIUxElX/vAPg651oyUFyY1VRERqXqR9BIDixeZv",
42
+ "sha512": "D8Jd+jV62GhzZI4gIZyFjRNhzaTHhHtTo/+m4CBTPUk41Ka4n+AmWaheVJlSnkAN3RhNPQiLNmFSWKdL5SxRXQ=="
43
+ }
44
+ }
45
+ }
46
+ }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 3.1.3
2
+ * 1DS JS SDK Core, 3.1.7
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -7,7 +7,7 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
8
8
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.oneDS = global.oneDS || {}));
10
- }(this, (function (exports) { 'use strict';
10
+ })(this, (function (exports) { 'use strict';
11
11
 
12
12
  var strShimFunction = "function";
13
13
  var strShimObject = "object";
@@ -90,6 +90,12 @@
90
90
  function __() { this.constructor = d; }
91
91
  d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());
92
92
  }
93
+ function __spreadArrayFn(to, from) {
94
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {
95
+ to[j] = from[i];
96
+ }
97
+ return to;
98
+ }
93
99
 
94
100
  var MinChannelPriorty = 100;
95
101
 
@@ -428,7 +434,8 @@
428
434
  InvalidInstrumentationKey: 100,
429
435
  CannotParseAiBlobValue: 101,
430
436
  InvalidContentBlob: 102,
431
- TrackPageActionEventFailed: 103
437
+ TrackPageActionEventFailed: 103,
438
+ FailedAddingCustomDefinedRequestContext: 104
432
439
  };
433
440
 
434
441
  var strOnPrefix = "on";
@@ -595,33 +602,45 @@
595
602
  }
596
603
  function arrForEach(arr, callbackfn, thisArg) {
597
604
  var len = arr.length;
598
- for (var idx = 0; idx < len; idx++) {
599
- if (idx in arr) {
600
- if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
601
- break;
605
+ try {
606
+ for (var idx = 0; idx < len; idx++) {
607
+ if (idx in arr) {
608
+ if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
609
+ break;
610
+ }
602
611
  }
603
612
  }
604
613
  }
614
+ catch (e) {
615
+ }
605
616
  }
606
617
  function arrIndexOf(arr, searchElement, fromIndex) {
607
618
  var len = arr.length;
608
619
  var from = fromIndex || 0;
609
- for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
610
- if (lp in arr && arr[lp] === searchElement) {
611
- return lp;
620
+ try {
621
+ for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
622
+ if (lp in arr && arr[lp] === searchElement) {
623
+ return lp;
624
+ }
612
625
  }
613
626
  }
627
+ catch (e) {
628
+ }
614
629
  return -1;
615
630
  }
616
631
  function arrMap(arr, callbackfn, thisArg) {
617
632
  var len = arr.length;
618
633
  var _this = thisArg || arr;
619
634
  var results = new Array(len);
620
- for (var lp = 0; lp < len; lp++) {
621
- if (lp in arr) {
622
- results[lp] = callbackfn.call(_this, arr[lp], arr);
635
+ try {
636
+ for (var lp = 0; lp < len; lp++) {
637
+ if (lp in arr) {
638
+ results[lp] = callbackfn.call(_this, arr[lp], arr);
639
+ }
623
640
  }
624
641
  }
642
+ catch (e) {
643
+ }
625
644
  return results;
626
645
  }
627
646
  function arrReduce(arr, callbackfn, initialValue) {
@@ -808,6 +827,33 @@
808
827
  var _isTrident = null;
809
828
  var _navUserAgentCheck = null;
810
829
  var _enableMocks = false;
830
+ var _useXDomainRequest = null;
831
+ var _beaconsSupported = null;
832
+ function _hasProperty(theClass, property) {
833
+ var supported = false;
834
+ if (theClass) {
835
+ try {
836
+ supported = property in theClass;
837
+ if (!supported) {
838
+ var proto = theClass[strShimPrototype];
839
+ if (proto) {
840
+ supported = property in proto;
841
+ }
842
+ }
843
+ }
844
+ catch (e) {
845
+ }
846
+ if (!supported) {
847
+ try {
848
+ var tmp = new theClass();
849
+ supported = !isUndefined(tmp[property]);
850
+ }
851
+ catch (e) {
852
+ }
853
+ }
854
+ }
855
+ return supported;
856
+ }
811
857
  function setEnableEnvMocks(enabled) {
812
858
  _enableMocks = enabled;
813
859
  }
@@ -938,6 +984,45 @@
938
984
  }
939
985
  return objectTypeDump + propertyValueDump;
940
986
  }
987
+ function isBeaconsSupported() {
988
+ if (_beaconsSupported === null) {
989
+ _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
990
+ }
991
+ return _beaconsSupported;
992
+ }
993
+ function isFetchSupported(withKeepAlive) {
994
+ var isSupported = false;
995
+ try {
996
+ var fetchApi = getGlobalInst("fetch");
997
+ isSupported = !!fetchApi;
998
+ var request = getGlobalInst("Request");
999
+ if (isSupported && withKeepAlive && request) {
1000
+ isSupported = _hasProperty(request, "keepalive");
1001
+ }
1002
+ }
1003
+ catch (e) {
1004
+ }
1005
+ return isSupported;
1006
+ }
1007
+ function useXDomainRequest() {
1008
+ if (_useXDomainRequest === null) {
1009
+ _useXDomainRequest = (typeof XDomainRequest !== undefined);
1010
+ if (_useXDomainRequest && isXhrSupported()) {
1011
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst("XMLHttpRequest"), "withCredentials");
1012
+ }
1013
+ }
1014
+ return _useXDomainRequest;
1015
+ }
1016
+ function isXhrSupported() {
1017
+ var isSupported = false;
1018
+ try {
1019
+ var xmlHttpRequest = getGlobalInst("XMLHttpRequest");
1020
+ isSupported = !!xmlHttpRequest;
1021
+ }
1022
+ catch (e) {
1023
+ }
1024
+ return isSupported;
1025
+ }
941
1026
 
942
1027
  var AiNonUserActionablePrefix = "AI (Internal): ";
943
1028
  var AiUserActionablePrefix = "AI: ";
@@ -991,7 +1076,7 @@
991
1076
  throw message;
992
1077
  }
993
1078
  else {
994
- if (!isUndefined(message) && !!message && !isUndefined(message.message)) {
1079
+ if (!isUndefined(message.message)) {
995
1080
  var logLevel = _self.consoleLoggingLevel();
996
1081
  if (isUserAct) {
997
1082
  var messageKey = +message.messageId;
@@ -1066,6 +1151,7 @@
1066
1151
  }());
1067
1152
 
1068
1153
  var strExecutionContextKey = "ctx";
1154
+ var _defaultPerfManager = null;
1069
1155
  var PerfEvent = /** @class */ (function () {
1070
1156
  function PerfEvent(name, payloadDetails, isAsync) {
1071
1157
  var _self = this;
@@ -1143,7 +1229,7 @@
1143
1229
  _self.fire = function (perfEvent) {
1144
1230
  if (perfEvent) {
1145
1231
  perfEvent.complete();
1146
- if (manager) {
1232
+ if (manager && isFunction(manager.perfEvent)) {
1147
1233
  manager.perfEvent(perfEvent);
1148
1234
  }
1149
1235
  }
@@ -1165,7 +1251,7 @@
1165
1251
  function doPerf(mgrSource, getSource, func, details, isAsync) {
1166
1252
  if (mgrSource) {
1167
1253
  var perfMgr = mgrSource;
1168
- if (perfMgr && isFunction(perfMgr["getPerfMgr"])) {
1254
+ if (isFunction(perfMgr["getPerfMgr"])) {
1169
1255
  perfMgr = perfMgr["getPerfMgr"]();
1170
1256
  }
1171
1257
  if (perfMgr) {
@@ -1204,6 +1290,9 @@
1204
1290
  }
1205
1291
  return func();
1206
1292
  }
1293
+ function getGblPerfMgr() {
1294
+ return _defaultPerfManager;
1295
+ }
1207
1296
 
1208
1297
  var TelemetryPluginChain = /** @class */ (function () {
1209
1298
  function TelemetryPluginChain(plugin, defItemCtx) {
@@ -1240,7 +1329,7 @@
1240
1329
  catch (error) {
1241
1330
  var hasRun = _nextProxy && _nextProxy._hasRun;
1242
1331
  if (!_nextProxy || !hasRun) {
1243
- itemCtx.diagLog().throwInternal(exports.LoggingSeverity.CRITICAL, _InternalMessageId.PluginException, "Plugin [" + plugin.identifier + "] failed during processTelemetry - " + error);
1332
+ itemCtx.diagLog().throwInternal(exports.LoggingSeverity.CRITICAL, _InternalMessageId.PluginException, "Plugin [" + plugin.identifier + "] failed during processTelemetry - " + dumpObj(error));
1244
1333
  }
1245
1334
  if (_nextProxy && !hasRun) {
1246
1335
  _nextProxy.processTelemetry(env, itemCtx);
@@ -1620,7 +1709,7 @@
1620
1709
  cookieMgr = core.getCookieMgr();
1621
1710
  }
1622
1711
  else if (config) {
1623
- var cookieCfg = (config || {}).cookieCfg;
1712
+ var cookieCfg = config.cookieCfg;
1624
1713
  if (cookieCfg[strConfigCookieMgr]) {
1625
1714
  cookieMgr = cookieCfg[strConfigCookieMgr];
1626
1715
  }
@@ -1651,6 +1740,7 @@
1651
1740
  _enabled = value !== false;
1652
1741
  },
1653
1742
  set: function (name, value, maxAgeSec, domain, path) {
1743
+ var result = false;
1654
1744
  if (_isMgrEnabled(cookieMgr)) {
1655
1745
  var values = {};
1656
1746
  var theValue = strTrim(value || strEmpty);
@@ -1688,7 +1778,9 @@
1688
1778
  setValue(values, "path", path || _path, null, isUndefined);
1689
1779
  var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1690
1780
  setCookieFn(name, _formatCookieValue(theValue, values));
1781
+ result = true;
1691
1782
  }
1783
+ return result;
1692
1784
  },
1693
1785
  get: function (name) {
1694
1786
  var value = strEmpty;
@@ -1698,11 +1790,15 @@
1698
1790
  return value;
1699
1791
  },
1700
1792
  del: function (name, path) {
1793
+ var result = false;
1701
1794
  if (_isMgrEnabled(cookieMgr)) {
1702
- cookieMgr.purge(name, path);
1795
+ result = cookieMgr.purge(name, path);
1703
1796
  }
1797
+ return result;
1704
1798
  },
1705
1799
  purge: function (name, path) {
1800
+ var _a;
1801
+ var result = false;
1706
1802
  if (areCookiesSupported(logger)) {
1707
1803
  var values = (_a = {},
1708
1804
  _a["path"] = path ? path : "/",
@@ -1713,8 +1809,9 @@
1713
1809
  }
1714
1810
  var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1715
1811
  delCookie(name, _formatCookieValue(strEmpty, values));
1812
+ result = true;
1716
1813
  }
1717
- var _a;
1814
+ return result;
1718
1815
  }
1719
1816
  };
1720
1817
  cookieMgr[strConfigCookieMgr] = cookieMgr;
@@ -1809,7 +1906,10 @@
1809
1906
 
1810
1907
  var validationError = "Extensions must provide callback to initialize";
1811
1908
  var strNotificationManager = "_notificationManager";
1812
- var BaseCore$1 = /** @class */ (function () {
1909
+ function _createPerfManager(core, notificationMgr) {
1910
+ return new PerfManager(notificationMgr);
1911
+ }
1912
+ var BaseCore$2 = /** @class */ (function () {
1813
1913
  function BaseCore() {
1814
1914
  var _isInitialized = false;
1815
1915
  var _eventQueue;
@@ -1838,6 +1938,9 @@
1838
1938
  _notificationManager = notificationManager;
1839
1939
  _self[strNotificationManager] = notificationManager;
1840
1940
  _self.config = config || {};
1941
+ if (_self.config.enablePerfMgr) {
1942
+ setValue(_self.config, "createPerfMgr", _createPerfManager);
1943
+ }
1841
1944
  config.extensions = isNullOrUndefined(config.extensions) ? [] : config.extensions;
1842
1945
  var extConfig = getSetValue(config, strExtensionConfig);
1843
1946
  extConfig.NotificationManager = notificationManager;
@@ -1845,7 +1948,7 @@
1845
1948
  _self.logger = logger;
1846
1949
  }
1847
1950
  var allExtensions = [];
1848
- allExtensions.push.apply(allExtensions, extensions.concat(config.extensions));
1951
+ allExtensions.push.apply(allExtensions, __spreadArrayFn(__spreadArrayFn([], extensions, false), config.extensions));
1849
1952
  allExtensions = sortPlugins(allExtensions);
1850
1953
  var coreExtensions = [];
1851
1954
  var extPriorities = {};
@@ -1926,11 +2029,11 @@
1926
2029
  };
1927
2030
  _self.getPerfMgr = function () {
1928
2031
  if (!_perfManager) {
1929
- if (_self.config && _self.config.enablePerfMgr) {
1930
- _perfManager = new PerfManager(_self.getNotifyMgr());
2032
+ if (_self.config && _self.config.enablePerfMgr && isFunction(_self.config.createPerfMgr)) {
2033
+ _perfManager = _self.config.createPerfMgr(_self, _self.getNotifyMgr());
1931
2034
  }
1932
2035
  }
1933
- return _perfManager;
2036
+ return _perfManager || getGblPerfMgr();
1934
2037
  };
1935
2038
  _self.setPerfMgr = function (perfMgr) {
1936
2039
  _perfManager = perfMgr;
@@ -2021,7 +2124,7 @@
2021
2124
  return NotificationManager;
2022
2125
  }());
2023
2126
 
2024
- var AppInsightsCore$1 = /** @class */ (function (_super) {
2127
+ var AppInsightsCore$2 = /** @class */ (function (_super) {
2025
2128
  __extendsFn(AppInsightsCore, _super);
2026
2129
  function AppInsightsCore() {
2027
2130
  var _this = _super.call(this) || this;
@@ -2087,7 +2190,7 @@
2087
2190
  return _this;
2088
2191
  }
2089
2192
  return AppInsightsCore;
2090
- }(BaseCore$1));
2193
+ }(BaseCore$2));
2091
2194
 
2092
2195
  var UInt32Mask = 0x100000000;
2093
2196
  var MaxUInt32 = 0xffffffff;
@@ -2163,7 +2266,7 @@
2163
2266
  }
2164
2267
  var doc = getDocument();
2165
2268
  if (doc) {
2166
- result = EventHelper.Attach(doc, eventName, callback) || result;
2269
+ result = attachEvent(doc, eventName, callback) || result;
2167
2270
  }
2168
2271
  return result;
2169
2272
  }
@@ -2274,8 +2377,10 @@
2274
2377
  var _ExtendedInternalMessageId = __assignFn(__assignFn({}, _InternalMessageId), { AuthHandShakeError: 501, AuthRedirectFail: 502, BrowserCannotReadLocalStorage: 503, BrowserCannotWriteLocalStorage: 504, BrowserDoesNotSupportLocalStorage: 505, CannotParseBiBlobValue: 506, CannotParseDataAttribute: 507, CVPluginNotAvailable: 508, DroppedEvent: 509, ErrorParsingAISessionCookie: 510, ErrorProvidedChannels: 511, FailedToGetCookies: 512, FailedToInitializeCorrelationVector: 513, FailedToInitializeSDK: 514, InvalidContentBlob: 515, InvalidCorrelationValue: 516, SessionRenewalDateIsZero: 517, SendPostOnCompleteFailure: 518, PostResponseHandler: 519, SDKNotInitialized: 520 });
2275
2378
 
2276
2379
  var _a;
2277
- var Version = '3.1.3';
2380
+ var Version = '3.1.7';
2278
2381
  var FullVersionString = "1DS-Web-JS-" + Version;
2382
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2383
+ var strWithCredentials = "withCredentials";
2279
2384
  var _fieldTypeEventPropMap = (_a = {},
2280
2385
  _a[0 ] = EventPropertyType.Unspecified,
2281
2386
  _a[2 ] = EventPropertyType.Double,
@@ -2285,30 +2390,7 @@
2285
2390
  _a[4096 | 1 ] = EventPropertyType.String,
2286
2391
  _a[4096 | 3 ] = EventPropertyType.Bool,
2287
2392
  _a);
2288
- var _useXDomainRequest = null;
2289
- var beaconsSupported = null;
2290
2393
  var uInt8ArraySupported = null;
2291
- function _hasProperty(theClass, property) {
2292
- var supported = false;
2293
- if (theClass) {
2294
- supported = property in theClass;
2295
- if (!supported) {
2296
- var proto = theClass.prototype;
2297
- if (proto) {
2298
- supported = property in proto;
2299
- }
2300
- }
2301
- if (!supported) {
2302
- try {
2303
- var tmp = new theClass();
2304
- supported = !isUndefined(tmp[property]);
2305
- }
2306
- catch (e) {
2307
- }
2308
- }
2309
- }
2310
- return supported;
2311
- }
2312
2394
  var isDocumentObjectAvailable = Boolean(getDocument());
2313
2395
  var isWindowObjectAvailable = Boolean(getWindow());
2314
2396
  function isValueAssigned(value) {
@@ -2323,29 +2405,6 @@
2323
2405
  }
2324
2406
  return "";
2325
2407
  }
2326
- function isBeaconsSupported() {
2327
- if (beaconsSupported === null) {
2328
- beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
2329
- }
2330
- return beaconsSupported;
2331
- }
2332
- function isFetchSupported(withKeepAlive) {
2333
- var isSupported = false;
2334
- try {
2335
- var fetchApi = getGlobalInst("fetch");
2336
- isSupported = !!fetchApi;
2337
- var request = getGlobalInst("Request");
2338
- if (isSupported && withKeepAlive && request) {
2339
- isSupported = _hasProperty(request, "keepalive");
2340
- }
2341
- }
2342
- catch (e) {
2343
- }
2344
- return isSupported;
2345
- }
2346
- function isXhrSupported() {
2347
- return typeof XMLHttpRequest !== undefined;
2348
- }
2349
2408
  function isUint8ArrayAvailable() {
2350
2409
  if (uInt8ArraySupported === null) {
2351
2410
  uInt8ArraySupported = !isUndefined(Uint8Array) && !isSafariOrFirefox() && !isReactNative();
@@ -2387,15 +2446,6 @@
2387
2446
  }
2388
2447
  return property;
2389
2448
  }
2390
- function useXDomainRequest() {
2391
- if (_useXDomainRequest === null) {
2392
- _useXDomainRequest = (typeof XDomainRequest !== undefined);
2393
- if (_useXDomainRequest && isXhrSupported()) {
2394
- _useXDomainRequest = _useXDomainRequest && !_hasProperty(XMLHttpRequest, "withCredentials");
2395
- }
2396
- }
2397
- return _useXDomainRequest;
2398
- }
2399
2449
  function getCommonSchemaMetaData(value, kind, type) {
2400
2450
  var encodedTypeValue = -1;
2401
2451
  if (!isUndefined(value)) {
@@ -2532,11 +2582,30 @@
2532
2582
  function isArrayValid(value) {
2533
2583
  return value.length > 0;
2534
2584
  }
2585
+ function addPageHideEventListener(listener) {
2586
+ function _handlePageVisibility(evt) {
2587
+ var doc = getDocument();
2588
+ if (listener && doc && doc.visibilityState === 'hidden') {
2589
+ listener(evt);
2590
+ }
2591
+ }
2592
+ var pageUnloadAdded = addEventHandler("pagehide", listener);
2593
+ return addEventHandler("visibilitychange", _handlePageVisibility) || pageUnloadAdded;
2594
+ }
2595
+ function addPageShowEventListener(listener) {
2596
+ function _handlePageVisibility(evt) {
2597
+ var doc = getDocument();
2598
+ if (listener && doc && doc.visibilityState === 'visible') {
2599
+ listener(evt);
2600
+ }
2601
+ }
2602
+ var pageUnloadAdded = addEventHandler("pageshow", listener);
2603
+ return addEventHandler("visibilitychange", _handlePageVisibility) || pageUnloadAdded;
2604
+ }
2535
2605
  function addPageUnloadEventListener(listener) {
2536
2606
  var pageUnloadAdded = addEventHandler("beforeunload", listener);
2537
2607
  pageUnloadAdded = addEventHandler("unload", listener) || pageUnloadAdded;
2538
- pageUnloadAdded = addEventHandler("pagehide", listener) || pageUnloadAdded;
2539
- return pageUnloadAdded;
2608
+ return addEventHandler("pagehide", listener) || pageUnloadAdded;
2540
2609
  }
2541
2610
  function setProcessTelemetryTimings(event, identifier) {
2542
2611
  var evt = event;
@@ -2660,6 +2729,29 @@
2660
2729
  function isChromium() {
2661
2730
  return !!getGlobalInst("chrome");
2662
2731
  }
2732
+ function openXhr(method, urlString, withCredentials, disabled, isSync) {
2733
+ if (disabled === void 0) { disabled = false; }
2734
+ if (isSync === void 0) { isSync = false; }
2735
+ function _wrapSetXhrProp(xhr, prop, value) {
2736
+ try {
2737
+ xhr[prop] = value;
2738
+ }
2739
+ catch (e) {
2740
+ }
2741
+ }
2742
+ var xhr = new XMLHttpRequest();
2743
+ if (disabled) {
2744
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2745
+ }
2746
+ if (withCredentials) {
2747
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2748
+ }
2749
+ xhr.open(method, urlString, !isSync);
2750
+ if (withCredentials) {
2751
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2752
+ }
2753
+ return xhr;
2754
+ }
2663
2755
 
2664
2756
  var PropVersion = "version";
2665
2757
  var properties = "properties";
@@ -2745,7 +2837,8 @@
2745
2837
  return _this;
2746
2838
  }
2747
2839
  return AppInsightsCore;
2748
- }(AppInsightsCore$1));
2840
+ }(AppInsightsCore$2));
2841
+ var AppInsightsCore$1 = AppInsightsCore;
2749
2842
 
2750
2843
  var BaseCore = /** @class */ (function (_super) {
2751
2844
  __extendsFn(BaseCore, _super);
@@ -2781,7 +2874,8 @@
2781
2874
  return _this;
2782
2875
  }
2783
2876
  return BaseCore;
2784
- }(BaseCore$1));
2877
+ }(BaseCore$2));
2878
+ var BaseCore$1 = BaseCore;
2785
2879
 
2786
2880
  var _isFunction = isFunction;
2787
2881
  function _createPromiseAllOnResolvedFunction(values, index, resolvedCallback) {
@@ -2959,6 +3053,7 @@
2959
3053
  };
2960
3054
  return ESPromise;
2961
3055
  }());
3056
+ var ESPromise$1 = ESPromise;
2962
3057
 
2963
3058
  var LazyRejectPeriod = 600000;
2964
3059
  var _schedulerId = 0;
@@ -3070,7 +3165,7 @@
3070
3165
  }
3071
3166
  function _waitForFinalResult(eventId, startResult, schEventResolve, schEventReject) {
3072
3167
  startResult.then(function (value) {
3073
- if (value instanceof ESPromise) {
3168
+ if (value instanceof ESPromise$1) {
3074
3169
  _debugLog("Event [" + eventId + "] returned a promise -- waiting");
3075
3170
  _waitForFinalResult(eventId, value, schEventResolve, schEventReject);
3076
3171
  return value;
@@ -3082,7 +3177,7 @@
3082
3177
  }
3083
3178
  function _createScheduledEvent(eventDetails, startEvent) {
3084
3179
  var eventId = eventDetails.id;
3085
- return new ESPromise(function (schEventResolve, schEventReject) {
3180
+ return new ESPromise$1(function (schEventResolve, schEventReject) {
3086
3181
  _debugLog("Event [" + eventId + "] Starting -- waited for " + (eventDetails.wTm || "--") + " ms");
3087
3182
  eventDetails.isRunning = true;
3088
3183
  eventDetails.abort = function (message) {
@@ -3092,7 +3187,7 @@
3092
3187
  schEventReject(new Error(message));
3093
3188
  };
3094
3189
  var startResult = startEvent(eventId);
3095
- if (startResult instanceof ESPromise) {
3190
+ if (startResult instanceof ESPromise$1) {
3096
3191
  if (timeout) {
3097
3192
  eventDetails.to = setTimeout(function () {
3098
3193
  _cleanup(eventId, false);
@@ -3115,13 +3210,13 @@
3115
3210
  eventDetails.wTm = now - eventDetails.tm;
3116
3211
  eventDetails.tm = now;
3117
3212
  if (eventDetails.isAborted) {
3118
- return ESPromise.reject(new Error("[" + uniqueId + "] was aborted"));
3213
+ return ESPromise$1.reject(new Error("[" + uniqueId + "] was aborted"));
3119
3214
  }
3120
3215
  _running.push(eventDetails);
3121
3216
  return _createScheduledEvent(eventDetails, startEventAction);
3122
3217
  }
3123
3218
  function _waitForPreviousEvent(eventDetails, waitForEvent) {
3124
- var waitEvent = new ESPromise(function (waitResolve, waitReject) {
3219
+ var waitEvent = new ESPromise$1(function (waitResolve, waitReject) {
3125
3220
  var runTime = _getTime() - waitForEvent.tm;
3126
3221
  var prevId = waitForEvent.id;
3127
3222
  _debugLog("[" + uniqueId + "] is waiting for [" + prevId + ":" + runTime + " ms] to complete before starting -- [" + _waiting.length + "] waiting and [" + _running.length + "] running");
@@ -3170,6 +3265,7 @@
3170
3265
  };
3171
3266
  return ESPromiseScheduler;
3172
3267
  }());
3268
+ var ESPromiseScheduler$1 = ESPromiseScheduler;
3173
3269
 
3174
3270
  var ValueSanitizer = /** @class */ (function () {
3175
3271
  function ValueSanitizer(fieldSanitizerProvider) {
@@ -3351,19 +3447,21 @@
3351
3447
  return ValueSanitizer;
3352
3448
  }());
3353
3449
 
3354
- exports.AppInsightsCore = AppInsightsCore;
3355
- exports.BaseCore = BaseCore;
3450
+ exports.AppInsightsCore = AppInsightsCore$1;
3451
+ exports.BaseCore = BaseCore$1;
3356
3452
  exports.BaseTelemetryPlugin = BaseTelemetryPlugin;
3357
3453
  exports.CoreUtils = CoreUtils;
3358
3454
  exports.DiagnosticLogger = DiagnosticLogger;
3359
- exports.ESPromise = ESPromise;
3360
- exports.ESPromiseScheduler = ESPromiseScheduler;
3455
+ exports.ESPromise = ESPromise$1;
3456
+ exports.ESPromiseScheduler = ESPromiseScheduler$1;
3361
3457
  exports.EventHelper = EventHelper;
3362
3458
  exports.EventLatency = EventLatency;
3363
3459
  exports.EventPersistence = EventPersistence;
3364
3460
  exports.EventPropertyType = EventPropertyType;
3365
3461
  exports.EventsDiscardedReason = EventsDiscardedReason;
3366
3462
  exports.FullVersionString = FullVersionString;
3463
+ exports.InternalAppInsightsCore = AppInsightsCore$2;
3464
+ exports.InternalBaseCore = BaseCore$2;
3367
3465
  exports.MinChannelPriorty = MinChannelPriorty;
3368
3466
  exports.NotificationManager = NotificationManager;
3369
3467
  exports.PerfEvent = PerfEvent;
@@ -3376,7 +3474,11 @@
3376
3474
  exports.ValueSanitizer = ValueSanitizer;
3377
3475
  exports.Version = Version;
3378
3476
  exports._ExtendedInternalMessageId = _ExtendedInternalMessageId;
3477
+ exports._InternalLogMessage = _InternalLogMessage;
3478
+ exports._InternalMessageId = _InternalMessageId;
3379
3479
  exports.addEventHandler = addEventHandler;
3480
+ exports.addPageHideEventListener = addPageHideEventListener;
3481
+ exports.addPageShowEventListener = addPageShowEventListener;
3380
3482
  exports.addPageUnloadEventListener = addPageUnloadEventListener;
3381
3483
  exports.areCookiesSupported = areCookiesSupported;
3382
3484
  exports.arrForEach = arrForEach;
@@ -3457,6 +3559,7 @@
3457
3559
  exports.objDefineAccessors = objDefineAccessors;
3458
3560
  exports.objForEachKey = objForEachKey;
3459
3561
  exports.objKeys = objKeys;
3562
+ exports.openXhr = openXhr;
3460
3563
  exports.optimizeObject = optimizeObject;
3461
3564
  exports.perfNow = perfNow;
3462
3565
  exports.proxyAssign = proxyAssign;
@@ -3485,5 +3588,5 @@
3485
3588
 
3486
3589
  (function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
3487
3590
 
3488
- })));
3489
- //# sourceMappingURL=ms.core-3.1.3.js.map
3591
+ }));
3592
+ //# sourceMappingURL=ms.core.js.map