@microsoft/1ds-core-js 3.1.6 → 3.1.10

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 (57) hide show
  1. package/README.md +4 -0
  2. package/bundle/ms.core-3.1.10.gbl.js +3722 -0
  3. package/bundle/ms.core-3.1.10.gbl.js.map +1 -0
  4. package/bundle/ms.core-3.1.10.gbl.min.js +7 -0
  5. package/bundle/ms.core-3.1.10.gbl.min.js.map +1 -0
  6. package/bundle/ms.core-3.1.10.integrity.json +46 -0
  7. package/bundle/{ms.core-test.js → ms.core-3.1.10.js} +273 -110
  8. package/bundle/ms.core-3.1.10.js.map +1 -0
  9. package/bundle/ms.core-3.1.10.min.js +7 -0
  10. package/bundle/ms.core-3.1.10.min.js.map +1 -0
  11. package/bundle/{ms.core-3.1.6.gbl.js → ms.core.gbl.js} +272 -109
  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.6.js → ms.core.js} +273 -110
  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 +53 -41
  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 +15 -4
  25. package/dist-esm/src/AppInsightsCore.js.map +1 -1
  26. package/dist-esm/src/BaseCore.js +5 -7
  27. package/dist-esm/src/BaseCore.js.map +1 -1
  28. package/dist-esm/src/DataModels.d.ts +17 -2
  29. package/dist-esm/src/DataModels.js +1 -1
  30. package/dist-esm/src/ESPromise.js +1 -1
  31. package/dist-esm/src/ESPromiseScheduler.js +1 -1
  32. package/dist-esm/src/Enums.d.ts +1 -0
  33. package/dist-esm/src/Enums.js +1 -1
  34. package/dist-esm/src/Index.d.ts +4 -3
  35. package/dist-esm/src/Index.js +5 -5
  36. package/dist-esm/src/Index.js.map +1 -1
  37. package/dist-esm/src/Utils.d.ts +12 -24
  38. package/dist-esm/src/Utils.js +46 -49
  39. package/dist-esm/src/Utils.js.map +1 -1
  40. package/dist-esm/src/ValueSanitizer.js +1 -1
  41. package/package.json +3 -3
  42. package/src/AppInsightsCore.ts +16 -5
  43. package/src/BaseCore.ts +4 -6
  44. package/src/DataModels.ts +24 -3
  45. package/src/Index.ts +7 -5
  46. package/src/Utils.ts +51 -56
  47. package/bundle/ms.core-3.1.6.gbl.js.map +0 -1
  48. package/bundle/ms.core-3.1.6.gbl.min.js +0 -7
  49. package/bundle/ms.core-3.1.6.gbl.min.js.map +0 -1
  50. package/bundle/ms.core-3.1.6.integrity.json +0 -46
  51. package/bundle/ms.core-3.1.6.js.map +0 -1
  52. package/bundle/ms.core-3.1.6.min.js +0 -7
  53. package/bundle/ms.core-3.1.6.min.js.map +0 -1
  54. package/bundle/ms.core-test.integrity.json +0 -26
  55. package/bundle/ms.core-test.js.map +0 -1
  56. package/bundle/ms.core-test.min.js +0 -7
  57. package/bundle/ms.core-test.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK Core, 3.1.6
2
+ * 1DS JS SDK Core, 3.1.10
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -18,20 +18,24 @@
18
18
  var ObjDefineProperty = ObjClass["defineProperty"];
19
19
  var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];
20
20
 
21
- function getGlobal() {
22
- if (typeof globalThis !== strShimUndefined && globalThis) {
23
- return globalThis;
24
- }
25
- if (typeof self !== strShimUndefined && self) {
26
- return self;
27
- }
28
- if (typeof window !== strShimUndefined && window) {
29
- return window;
30
- }
31
- if (typeof global !== strShimUndefined && global) {
32
- return global;
21
+ var _cachedGlobal = null;
22
+ function getGlobal(useCached) {
23
+ if (useCached === void 0) { useCached = true; }
24
+ if (!_cachedGlobal || !useCached) {
25
+ if (typeof globalThis !== strShimUndefined && globalThis) {
26
+ _cachedGlobal = globalThis;
27
+ }
28
+ if (typeof self !== strShimUndefined && self) {
29
+ _cachedGlobal = self;
30
+ }
31
+ if (typeof window !== strShimUndefined && window) {
32
+ _cachedGlobal = window;
33
+ }
34
+ if (typeof global !== strShimUndefined && global) {
35
+ _cachedGlobal = global;
36
+ }
33
37
  }
34
- return null;
38
+ return _cachedGlobal;
35
39
  }
36
40
  function throwTypeError(message) {
37
41
  throw new TypeError(message);
@@ -46,7 +50,7 @@
46
50
  }
47
51
  var type = typeof obj;
48
52
  if (type !== strShimObject && type !== strShimFunction) {
49
- throwTypeError('Object prototype may only be an Object:' + obj);
53
+ throwTypeError("Object prototype may only be an Object:" + obj);
50
54
  }
51
55
  function tmpFunc() { }
52
56
  tmpFunc[strShimPrototype] = obj;
@@ -432,7 +436,8 @@
432
436
  CannotParseAiBlobValue: 101,
433
437
  InvalidContentBlob: 102,
434
438
  TrackPageActionEventFailed: 103,
435
- FailedAddingCustomDefinedRequestContext: 104
439
+ FailedAddingCustomDefinedRequestContext: 104,
440
+ InMemoryStorageBufferFull: 105
436
441
  };
437
442
 
438
443
  var strOnPrefix = "on";
@@ -440,6 +445,7 @@
440
445
  var strAddEventHelper = "addEventListener";
441
446
  var strDetachEvent = "detachEvent";
442
447
  var strRemoveEventListener = "removeEventListener";
448
+ var strToISOString = "toISOString";
443
449
  var _objDefineProperty = ObjDefineProperty;
444
450
  function objToString(obj) {
445
451
  return ObjProto.toString.call(obj);
@@ -579,22 +585,27 @@
579
585
  return typeof value === "boolean";
580
586
  }
581
587
  function toISOString(date) {
582
- if (isDate(date)) {
583
- var pad = function (num) {
584
- var r = String(num);
585
- if (r.length === 1) {
586
- r = "0" + r;
587
- }
588
- return r;
589
- };
590
- return date.getUTCFullYear()
591
- + "-" + pad(date.getUTCMonth() + 1)
592
- + "-" + pad(date.getUTCDate())
593
- + "T" + pad(date.getUTCHours())
594
- + ":" + pad(date.getUTCMinutes())
595
- + ":" + pad(date.getUTCSeconds())
596
- + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
597
- + "Z";
588
+ if (date) {
589
+ if (date[strToISOString]) {
590
+ return date[strToISOString]();
591
+ }
592
+ if (isDate(date)) {
593
+ var pad = function (num) {
594
+ var r = String(num);
595
+ if (r.length === 1) {
596
+ r = "0" + r;
597
+ }
598
+ return r;
599
+ };
600
+ return date.getUTCFullYear()
601
+ + "-" + pad(date.getUTCMonth() + 1)
602
+ + "-" + pad(date.getUTCDate())
603
+ + "T" + pad(date.getUTCHours())
604
+ + ":" + pad(date.getUTCMinutes())
605
+ + ":" + pad(date.getUTCSeconds())
606
+ + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
607
+ + "Z";
608
+ }
598
609
  }
599
610
  }
600
611
  function arrForEach(arr, callbackfn, thisArg) {
@@ -667,20 +678,20 @@
667
678
  }
668
679
  return str.replace(/^\s+|\s+$/g, "");
669
680
  }
670
- var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString');
681
+ var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
671
682
  var _objKeysDontEnums = [
672
- 'toString',
673
- 'toLocaleString',
674
- 'valueOf',
675
- 'hasOwnProperty',
676
- 'isPrototypeOf',
677
- 'propertyIsEnumerable',
678
- 'constructor'
683
+ "toString",
684
+ "toLocaleString",
685
+ "valueOf",
686
+ "hasOwnProperty",
687
+ "isPrototypeOf",
688
+ "propertyIsEnumerable",
689
+ "constructor"
679
690
  ];
680
691
  function objKeys(obj) {
681
692
  var objType = typeof obj;
682
693
  if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
683
- throwTypeError('objKeys called on non-object');
694
+ throwTypeError("objKeys called on non-object");
684
695
  }
685
696
  var result = [];
686
697
  for (var prop in obj) {
@@ -810,6 +821,7 @@
810
821
 
811
822
  var strWindow = "window";
812
823
  var strDocument = "document";
824
+ var strDocumentMode = "documentMode";
813
825
  var strNavigator = "navigator";
814
826
  var strHistory = "history";
815
827
  var strLocation = "location";
@@ -960,7 +972,8 @@
960
972
  }
961
973
  var ua = (userAgentStr || "").toLowerCase();
962
974
  if (strContains(ua, strMsie)) {
963
- return parseInt(ua.split(strMsie)[1]);
975
+ var doc = getDocument() || {};
976
+ return Math.max(parseInt(ua.split(strMsie)[1]), (doc[strDocumentMode] || 0));
964
977
  }
965
978
  else if (strContains(ua, strTrident)) {
966
979
  var tridentVer = parseInt(ua.split(strTrident)[1]);
@@ -1003,7 +1016,7 @@
1003
1016
  }
1004
1017
  function useXDomainRequest() {
1005
1018
  if (_useXDomainRequest === null) {
1006
- _useXDomainRequest = (typeof XDomainRequest !== undefined);
1019
+ _useXDomainRequest = (typeof XDomainRequest !== "undefined");
1007
1020
  if (_useXDomainRequest && isXhrSupported()) {
1008
1021
  _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst("XMLHttpRequest"), "withCredentials");
1009
1022
  }
@@ -1021,15 +1034,68 @@
1021
1034
  return isSupported;
1022
1035
  }
1023
1036
 
1037
+ var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1038
+ var _aiNamespace = null;
1039
+ var _debugListener;
1040
+ function _listenerProxyFunc(name, config) {
1041
+ return function () {
1042
+ var args = arguments;
1043
+ var dbgExt = getDebugExt(config);
1044
+ if (dbgExt) {
1045
+ var listener = dbgExt.listener;
1046
+ if (listener && listener[name]) {
1047
+ listener[name].apply(listener, args);
1048
+ }
1049
+ }
1050
+ };
1051
+ }
1052
+ function _getExtensionNamespace() {
1053
+ var target = getGlobalInst("Microsoft");
1054
+ if (target) {
1055
+ _aiNamespace = target["ApplicationInsights"];
1056
+ }
1057
+ return _aiNamespace;
1058
+ }
1059
+ function getDebugExt(config) {
1060
+ var ns = _aiNamespace;
1061
+ if (!ns && config.disableDbgExt !== true) {
1062
+ ns = _aiNamespace || _getExtensionNamespace();
1063
+ }
1064
+ return ns ? ns["ChromeDbgExt"] : null;
1065
+ }
1066
+ function getDebugListener(config) {
1067
+ if (!_debugListener) {
1068
+ _debugListener = {};
1069
+ for (var lp = 0; lp < listenerFuncs.length; lp++) {
1070
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1071
+ }
1072
+ }
1073
+ return _debugListener;
1074
+ }
1075
+
1024
1076
  var AiNonUserActionablePrefix = "AI (Internal): ";
1025
1077
  var AiUserActionablePrefix = "AI: ";
1026
1078
  var AIInternalMessagePrefix = "AITR_";
1079
+ var strErrorToConsole = "errorToConsole";
1080
+ var strWarnToConsole = "warnToConsole";
1027
1081
  function _sanitizeDiagnosticText(text) {
1028
1082
  if (text) {
1029
1083
  return "\"" + text.replace(/\"/g, "") + "\"";
1030
1084
  }
1031
1085
  return "";
1032
1086
  }
1087
+ function _logToConsole(func, message) {
1088
+ var theConsole = getConsole();
1089
+ if (!!theConsole) {
1090
+ var logFunc = "log";
1091
+ if (theConsole[func]) {
1092
+ logFunc = func;
1093
+ }
1094
+ if (isFunction(theConsole[logFunc])) {
1095
+ theConsole[logFunc](message);
1096
+ }
1097
+ }
1098
+ }
1033
1099
  var _InternalLogMessage = /** @class */ (function () {
1034
1100
  function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1035
1101
  if (isUserAct === void 0) { isUserAct = false; }
@@ -1054,7 +1120,7 @@
1054
1120
  }
1055
1121
  var DiagnosticLogger = /** @class */ (function () {
1056
1122
  function DiagnosticLogger(config) {
1057
- this.identifier = 'DiagnosticLogger';
1123
+ this.identifier = "DiagnosticLogger";
1058
1124
  this.queue = [];
1059
1125
  var _messageCount = 0;
1060
1126
  var _messageLogged = {};
@@ -1062,10 +1128,10 @@
1062
1128
  if (isNullOrUndefined(config)) {
1063
1129
  config = {};
1064
1130
  }
1065
- _self.consoleLoggingLevel = function () { return _getConfigValue('loggingLevelConsole', 0); };
1066
- _self.telemetryLoggingLevel = function () { return _getConfigValue('loggingLevelTelemetry', 1); };
1067
- _self.maxInternalMessageLimit = function () { return _getConfigValue('maxMessageLimit', 25); };
1068
- _self.enableDebugExceptions = function () { return _getConfigValue('enableDebugExceptions', false); };
1131
+ _self.consoleLoggingLevel = function () { return _getConfigValue("loggingLevelConsole", 0); };
1132
+ _self.telemetryLoggingLevel = function () { return _getConfigValue("loggingLevelTelemetry", 1); };
1133
+ _self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
1134
+ _self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
1069
1135
  _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1070
1136
  if (isUserAct === void 0) { isUserAct = false; }
1071
1137
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
@@ -1073,35 +1139,35 @@
1073
1139
  throw message;
1074
1140
  }
1075
1141
  else {
1142
+ var logFunc = severity === exports.LoggingSeverity.CRITICAL ? strErrorToConsole : strWarnToConsole;
1076
1143
  if (!isUndefined(message.message)) {
1077
1144
  var logLevel = _self.consoleLoggingLevel();
1078
1145
  if (isUserAct) {
1079
1146
  var messageKey = +message.messageId;
1080
- if (!_messageLogged[messageKey] && logLevel >= exports.LoggingSeverity.WARNING) {
1081
- _self.warnToConsole(message.message);
1147
+ if (!_messageLogged[messageKey] && logLevel >= severity) {
1148
+ _self[logFunc](message.message);
1082
1149
  _messageLogged[messageKey] = true;
1083
1150
  }
1084
1151
  }
1085
1152
  else {
1086
- if (logLevel >= exports.LoggingSeverity.WARNING) {
1087
- _self.warnToConsole(message.message);
1153
+ if (logLevel >= severity) {
1154
+ _self[logFunc](message.message);
1088
1155
  }
1089
1156
  }
1090
1157
  _self.logInternalMessage(severity, message);
1091
1158
  }
1159
+ else {
1160
+ _debugExtMsg("throw" + (severity === exports.LoggingSeverity.CRITICAL ? "Critical" : "Warning"), message);
1161
+ }
1092
1162
  }
1093
1163
  };
1094
1164
  _self.warnToConsole = function (message) {
1095
- var theConsole = getConsole();
1096
- if (!!theConsole) {
1097
- var logFunc = 'log';
1098
- if (theConsole.warn) {
1099
- logFunc = 'warn';
1100
- }
1101
- if (isFunction(theConsole[logFunc])) {
1102
- theConsole[logFunc](message);
1103
- }
1104
- }
1165
+ _logToConsole("warn", message);
1166
+ _debugExtMsg("warning", message);
1167
+ };
1168
+ _self.errorToConsole = function (message) {
1169
+ _logToConsole("error", message);
1170
+ _debugExtMsg("error", message);
1105
1171
  };
1106
1172
  _self.resetInternalMessageCount = function () {
1107
1173
  _messageCount = 0;
@@ -1123,12 +1189,18 @@
1123
1189
  if (severity <= _self.telemetryLoggingLevel()) {
1124
1190
  _self.queue.push(message);
1125
1191
  _messageCount++;
1192
+ _debugExtMsg((severity === exports.LoggingSeverity.CRITICAL ? "error" : "warn"), message);
1126
1193
  }
1127
1194
  if (_messageCount === _self.maxInternalMessageLimit()) {
1128
1195
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1129
1196
  var throttleMessage = new _InternalLogMessage(_InternalMessageId.MessageLimitPerPVExceeded, throttleLimitMessage, false);
1130
1197
  _self.queue.push(throttleMessage);
1131
- _self.warnToConsole(throttleLimitMessage);
1198
+ if (severity === exports.LoggingSeverity.CRITICAL) {
1199
+ _self.errorToConsole(throttleLimitMessage);
1200
+ }
1201
+ else {
1202
+ _self.warnToConsole(throttleLimitMessage);
1203
+ }
1132
1204
  }
1133
1205
  }
1134
1206
  };
@@ -1142,6 +1214,12 @@
1142
1214
  function _areInternalMessagesThrottled() {
1143
1215
  return _messageCount >= _self.maxInternalMessageLimit();
1144
1216
  }
1217
+ function _debugExtMsg(name, data) {
1218
+ var dbgExt = getDebugExt(config);
1219
+ if (dbgExt && dbgExt.diagLog) {
1220
+ dbgExt.diagLog(name, data);
1221
+ }
1222
+ }
1145
1223
  });
1146
1224
  }
1147
1225
  return DiagnosticLogger;
@@ -1159,7 +1237,7 @@
1159
1237
  _self.isChildEvt = function () { return false; };
1160
1238
  if (isFunction(payloadDetails)) {
1161
1239
  var theDetails_1;
1162
- accessorDefined = objDefineAccessors(_self, 'payload', function () {
1240
+ accessorDefined = objDefineAccessors(_self, "payload", function () {
1163
1241
  if (!theDetails_1 && isFunction(payloadDetails)) {
1164
1242
  theDetails_1 = payloadDetails();
1165
1243
  payloadDetails = null;
@@ -1917,12 +1995,7 @@
1917
1995
  dynamicProto(BaseCore, this, function (_self) {
1918
1996
  _self._extensions = new Array();
1919
1997
  _channelController = new ChannelController();
1920
- _self.logger = objCreateFn({
1921
- throwInternal: function (severity, msgId, msg, properties, isUserAct) {
1922
- },
1923
- warnToConsole: function (message) { },
1924
- resetInternalMessageCount: function () { }
1925
- });
1998
+ _self.logger = new DiagnosticLogger({ loggingLevelConsole: exports.LoggingSeverity.CRITICAL });
1926
1999
  _eventQueue = [];
1927
2000
  _self.isInitialized = function () { return _isInitialized; };
1928
2001
  _self.initialize = function (config, extensions, logger, notificationManager) {
@@ -1935,6 +2008,9 @@
1935
2008
  _notificationManager = notificationManager;
1936
2009
  _self[strNotificationManager] = notificationManager;
1937
2010
  _self.config = config || {};
2011
+ if (notificationManager && _self.config.disableDbgExt !== true) {
2012
+ notificationManager.addNotificationListener(getDebugListener(config));
2013
+ }
1938
2014
  if (_self.config.enablePerfMgr) {
1939
2015
  setValue(_self.config, "createPerfMgr", _createPerfManager);
1940
2016
  }
@@ -2125,6 +2201,7 @@
2125
2201
  __extendsFn(AppInsightsCore, _super);
2126
2202
  function AppInsightsCore() {
2127
2203
  var _this = _super.call(this) || this;
2204
+ var _internalLogPoller = 0;
2128
2205
  dynamicProto(AppInsightsCore, _this, function (_self, _base) {
2129
2206
  _self.initialize = function (config, extensions, logger, notificationManager) {
2130
2207
  _base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
@@ -2156,7 +2233,10 @@
2156
2233
  if (!interval || !(interval > 0)) {
2157
2234
  interval = 10000;
2158
2235
  }
2159
- return setInterval(function () {
2236
+ if (_internalLogPoller) {
2237
+ _self.stopPollingInternalLogs();
2238
+ }
2239
+ _internalLogPoller = setInterval(function () {
2160
2240
  var queue = _self.logger ? _self.logger.queue : [];
2161
2241
  arrForEach(queue, function (logMessage) {
2162
2242
  var item = {
@@ -2170,6 +2250,13 @@
2170
2250
  });
2171
2251
  queue.length = 0;
2172
2252
  }, interval);
2253
+ return _internalLogPoller;
2254
+ };
2255
+ _self.stopPollingInternalLogs = function () {
2256
+ if (!_internalLogPoller)
2257
+ return;
2258
+ clearInterval(_internalLogPoller);
2259
+ _internalLogPoller = 0;
2173
2260
  };
2174
2261
  function _validateTelemetryItem(telemetryItem) {
2175
2262
  if (isNullOrUndefined(telemetryItem.name)) {
@@ -2254,6 +2341,9 @@
2254
2341
  return value;
2255
2342
  }
2256
2343
 
2344
+ var strVisibilityChangeEvt = "visibilitychange";
2345
+ var strPageHide = "pagehide";
2346
+ var strPageShow = "pageshow";
2257
2347
  function addEventHandler(eventName, callback) {
2258
2348
  var result = false;
2259
2349
  var w = getWindow();
@@ -2267,12 +2357,73 @@
2267
2357
  }
2268
2358
  return result;
2269
2359
  }
2360
+ function addEventListeners(events, listener, excludeEvents) {
2361
+ var added = false;
2362
+ if (listener && events && isArray(events)) {
2363
+ var excluded_1 = [];
2364
+ arrForEach(events, function (name) {
2365
+ if (isString(name)) {
2366
+ if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
2367
+ added = addEventHandler(name, listener) || added;
2368
+ }
2369
+ else {
2370
+ excluded_1.push(name);
2371
+ }
2372
+ }
2373
+ });
2374
+ if (!added && excluded_1.length > 0) {
2375
+ added = addEventListeners(excluded_1, listener);
2376
+ }
2377
+ }
2378
+ return added;
2379
+ }
2380
+ function addPageUnloadEventListener(listener, excludeEvents) {
2381
+ return addEventListeners(["beforeunload", "unload", "pagehide"], listener, excludeEvents);
2382
+ }
2383
+ function addPageHideEventListener(listener, excludeEvents) {
2384
+ function _handlePageVisibility(evt) {
2385
+ var doc = getDocument();
2386
+ if (listener && doc && doc.visibilityState === "hidden") {
2387
+ listener(evt);
2388
+ }
2389
+ }
2390
+ var pageUnloadAdded = false;
2391
+ if (!excludeEvents || arrIndexOf(excludeEvents, strPageHide) === -1) {
2392
+ pageUnloadAdded = addEventHandler(strPageHide, listener);
2393
+ }
2394
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2395
+ pageUnloadAdded = addEventHandler(strVisibilityChangeEvt, _handlePageVisibility) || pageUnloadAdded;
2396
+ }
2397
+ if (!pageUnloadAdded && excludeEvents) {
2398
+ pageUnloadAdded = addPageHideEventListener(listener);
2399
+ }
2400
+ return pageUnloadAdded;
2401
+ }
2402
+ function addPageShowEventListener(listener, excludeEvents) {
2403
+ function _handlePageVisibility(evt) {
2404
+ var doc = getDocument();
2405
+ if (listener && doc && doc.visibilityState === "visible") {
2406
+ listener(evt);
2407
+ }
2408
+ }
2409
+ var pageShowAdded = false;
2410
+ if (!excludeEvents || arrIndexOf(excludeEvents, strPageShow) === -1) {
2411
+ pageShowAdded = addEventHandler(strPageShow, listener);
2412
+ }
2413
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2414
+ pageShowAdded = addEventHandler(strVisibilityChangeEvt, _handlePageVisibility) || pageShowAdded;
2415
+ }
2416
+ if (!pageShowAdded && excludeEvents) {
2417
+ pageShowAdded = addPageShowEventListener(listener);
2418
+ }
2419
+ return pageShowAdded;
2420
+ }
2270
2421
  function newGuid() {
2271
2422
  function randomHexDigit() {
2272
2423
  return randomValue(15);
2273
2424
  }
2274
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {
2275
- var r = (randomHexDigit() | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);
2425
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(GuidRegex, function (c) {
2426
+ var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
2276
2427
  return v.toString(16);
2277
2428
  });
2278
2429
  }
@@ -2285,7 +2436,7 @@
2285
2436
  }
2286
2437
  function newId(maxLength) {
2287
2438
  if (maxLength === void 0) { maxLength = 22; }
2288
- var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
2439
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2289
2440
  var number = random32() >>> 0;
2290
2441
  var chars = 0;
2291
2442
  var result = "";
@@ -2374,8 +2525,10 @@
2374
2525
  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 });
2375
2526
 
2376
2527
  var _a;
2377
- var Version = '3.1.6';
2528
+ var Version = '3.1.10';
2378
2529
  var FullVersionString = "1DS-Web-JS-" + Version;
2530
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2531
+ var strWithCredentials = "withCredentials";
2379
2532
  var _fieldTypeEventPropMap = (_a = {},
2380
2533
  _a[0 ] = EventPropertyType.Unspecified,
2381
2534
  _a[2 ] = EventPropertyType.Double,
@@ -2577,31 +2730,6 @@
2577
2730
  function isArrayValid(value) {
2578
2731
  return value.length > 0;
2579
2732
  }
2580
- function addPageHideEventListener(listener) {
2581
- function _handlePageVisibility(evt) {
2582
- var doc = getDocument();
2583
- if (listener && doc && doc.visibilityState === 'hidden') {
2584
- listener(evt);
2585
- }
2586
- }
2587
- var pageUnloadAdded = addEventHandler("pagehide", listener);
2588
- return addEventHandler("visibilitychange", _handlePageVisibility) || pageUnloadAdded;
2589
- }
2590
- function addPageShowEventListener(listener) {
2591
- function _handlePageVisibility(evt) {
2592
- var doc = getDocument();
2593
- if (listener && doc && doc.visibilityState === 'visible') {
2594
- listener(evt);
2595
- }
2596
- }
2597
- var pageUnloadAdded = addEventHandler("pageshow", listener);
2598
- return addEventHandler("visibilitychange", _handlePageVisibility) || pageUnloadAdded;
2599
- }
2600
- function addPageUnloadEventListener(listener) {
2601
- var pageUnloadAdded = addEventHandler("beforeunload", listener);
2602
- pageUnloadAdded = addEventHandler("unload", listener) || pageUnloadAdded;
2603
- return addEventHandler("pagehide", listener) || pageUnloadAdded;
2604
- }
2605
2733
  function setProcessTelemetryTimings(event, identifier) {
2606
2734
  var evt = event;
2607
2735
  evt.timings = evt.timings || {};
@@ -2724,6 +2852,29 @@
2724
2852
  function isChromium() {
2725
2853
  return !!getGlobalInst("chrome");
2726
2854
  }
2855
+ function openXhr(method, urlString, withCredentials, disabled, isSync) {
2856
+ if (disabled === void 0) { disabled = false; }
2857
+ if (isSync === void 0) { isSync = false; }
2858
+ function _wrapSetXhrProp(xhr, prop, value) {
2859
+ try {
2860
+ xhr[prop] = value;
2861
+ }
2862
+ catch (e) {
2863
+ }
2864
+ }
2865
+ var xhr = new XMLHttpRequest();
2866
+ if (disabled) {
2867
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2868
+ }
2869
+ if (withCredentials) {
2870
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2871
+ }
2872
+ xhr.open(method, urlString, !isSync);
2873
+ if (withCredentials) {
2874
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2875
+ }
2876
+ return xhr;
2877
+ }
2727
2878
 
2728
2879
  var PropVersion = "version";
2729
2880
  var properties = "properties";
@@ -2734,6 +2885,9 @@
2734
2885
  _this.pluginVersionStringArr = [];
2735
2886
  _this.pluginVersionString = "";
2736
2887
  dynamicProto(AppInsightsCore, _this, function (_self, _base) {
2888
+ if (!_self.logger || !_self.logger.queue) {
2889
+ _self.logger = new DiagnosticLogger({ loggingLevelConsole: exports.LoggingSeverity.CRITICAL });
2890
+ }
2737
2891
  _self.initialize = function (config, extensions, logger, notificationManager) {
2738
2892
  doPerf(_self, function () { return "AppInsightsCore.initialize"; }, function () {
2739
2893
  if (config) {
@@ -2771,11 +2925,16 @@
2771
2925
  _self.pluginVersionString = _self.pluginVersionStringArr.join(";");
2772
2926
  try {
2773
2927
  _base.initialize(config, extensions, logger, notificationManager);
2928
+ _self.pollInternalLogs("InternalLog");
2774
2929
  }
2775
2930
  catch (e) {
2776
- _self.logger.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.ErrorProvidedChannels, "Channels must be provided through config.channels only");
2931
+ var logger_1 = _self.logger;
2932
+ var message = dumpObj(e);
2933
+ if (message.indexOf("channels") !== -1) {
2934
+ message += "\n - Channels must be provided through config.channels only!";
2935
+ }
2936
+ logger_1.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.FailedToInitializeSDK, "SDK Initialization Failed - no telemetry will be sent: " + message);
2777
2937
  }
2778
- _self.pollInternalLogs("InternalLog");
2779
2938
  }, function () { return ({ config: config, extensions: extensions, logger: logger, notificationManager: notificationManager }); });
2780
2939
  };
2781
2940
  _self.track = function (item) {
@@ -2818,10 +2977,8 @@
2818
2977
  var _this = _super.call(this) || this;
2819
2978
  dynamicProto(BaseCore, _this, function (_self, _base) {
2820
2979
  _self.initialize = function (config, extensions, logger, notificationManager) {
2821
- if (config) {
2822
- if (!config.endpointUrl) {
2823
- config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
2824
- }
2980
+ if (config && !config.endpointUrl) {
2981
+ config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
2825
2982
  }
2826
2983
  _self.getWParam = function () {
2827
2984
  return isDocumentObjectAvailable ? 0 : -1;
@@ -2830,7 +2987,7 @@
2830
2987
  _base.initialize(config, extensions, logger, notificationManager);
2831
2988
  }
2832
2989
  catch (e) {
2833
- _self.logger.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.ErrorProvidedChannels, "Channels must be provided through config.channels only");
2990
+ _self.logger.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.FailedToInitializeSDK, "Initialization Failed: " + dumpObj(e) + "\n - Note: Channels must be provided through config.channels only");
2834
2991
  }
2835
2992
  };
2836
2993
  _self.track = function (item) {
@@ -3432,6 +3589,8 @@
3432
3589
  exports.EventPropertyType = EventPropertyType;
3433
3590
  exports.EventsDiscardedReason = EventsDiscardedReason;
3434
3591
  exports.FullVersionString = FullVersionString;
3592
+ exports.InternalAppInsightsCore = AppInsightsCore$2;
3593
+ exports.InternalBaseCore = BaseCore$2;
3435
3594
  exports.MinChannelPriorty = MinChannelPriorty;
3436
3595
  exports.NotificationManager = NotificationManager;
3437
3596
  exports.PerfEvent = PerfEvent;
@@ -3444,7 +3603,10 @@
3444
3603
  exports.ValueSanitizer = ValueSanitizer;
3445
3604
  exports.Version = Version;
3446
3605
  exports._ExtendedInternalMessageId = _ExtendedInternalMessageId;
3606
+ exports._InternalLogMessage = _InternalLogMessage;
3607
+ exports._InternalMessageId = _InternalMessageId;
3447
3608
  exports.addEventHandler = addEventHandler;
3609
+ exports.addEventListeners = addEventListeners;
3448
3610
  exports.addPageHideEventListener = addPageHideEventListener;
3449
3611
  exports.addPageShowEventListener = addPageShowEventListener;
3450
3612
  exports.addPageUnloadEventListener = addPageUnloadEventListener;
@@ -3527,6 +3689,7 @@
3527
3689
  exports.objDefineAccessors = objDefineAccessors;
3528
3690
  exports.objForEachKey = objForEachKey;
3529
3691
  exports.objKeys = objKeys;
3692
+ exports.openXhr = openXhr;
3530
3693
  exports.optimizeObject = optimizeObject;
3531
3694
  exports.perfNow = perfNow;
3532
3695
  exports.proxyAssign = proxyAssign;
@@ -3555,5 +3718,5 @@
3555
3718
 
3556
3719
  (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 });
3557
3720
 
3558
- }(this.oneDS = this.oneDS || {}));
3559
- //# sourceMappingURL=ms.core-3.1.6.gbl.js.map
3721
+ })(this.oneDS = this.oneDS || {});
3722
+ //# sourceMappingURL=ms.core.gbl.js.map