@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
  */
@@ -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";
@@ -21,20 +21,24 @@
21
21
  var ObjDefineProperty = ObjClass["defineProperty"];
22
22
  var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];
23
23
 
24
- function getGlobal() {
25
- if (typeof globalThis !== strShimUndefined && globalThis) {
26
- return globalThis;
27
- }
28
- if (typeof self !== strShimUndefined && self) {
29
- return self;
30
- }
31
- if (typeof window !== strShimUndefined && window) {
32
- return window;
33
- }
34
- if (typeof global !== strShimUndefined && global) {
35
- return global;
24
+ var _cachedGlobal = null;
25
+ function getGlobal(useCached) {
26
+ if (useCached === void 0) { useCached = true; }
27
+ if (!_cachedGlobal || !useCached) {
28
+ if (typeof globalThis !== strShimUndefined && globalThis) {
29
+ _cachedGlobal = globalThis;
30
+ }
31
+ if (typeof self !== strShimUndefined && self) {
32
+ _cachedGlobal = self;
33
+ }
34
+ if (typeof window !== strShimUndefined && window) {
35
+ _cachedGlobal = window;
36
+ }
37
+ if (typeof global !== strShimUndefined && global) {
38
+ _cachedGlobal = global;
39
+ }
36
40
  }
37
- return null;
41
+ return _cachedGlobal;
38
42
  }
39
43
  function throwTypeError(message) {
40
44
  throw new TypeError(message);
@@ -49,7 +53,7 @@
49
53
  }
50
54
  var type = typeof obj;
51
55
  if (type !== strShimObject && type !== strShimFunction) {
52
- throwTypeError('Object prototype may only be an Object:' + obj);
56
+ throwTypeError("Object prototype may only be an Object:" + obj);
53
57
  }
54
58
  function tmpFunc() { }
55
59
  tmpFunc[strShimPrototype] = obj;
@@ -435,7 +439,8 @@
435
439
  CannotParseAiBlobValue: 101,
436
440
  InvalidContentBlob: 102,
437
441
  TrackPageActionEventFailed: 103,
438
- FailedAddingCustomDefinedRequestContext: 104
442
+ FailedAddingCustomDefinedRequestContext: 104,
443
+ InMemoryStorageBufferFull: 105
439
444
  };
440
445
 
441
446
  var strOnPrefix = "on";
@@ -443,6 +448,7 @@
443
448
  var strAddEventHelper = "addEventListener";
444
449
  var strDetachEvent = "detachEvent";
445
450
  var strRemoveEventListener = "removeEventListener";
451
+ var strToISOString = "toISOString";
446
452
  var _objDefineProperty = ObjDefineProperty;
447
453
  function objToString(obj) {
448
454
  return ObjProto.toString.call(obj);
@@ -582,22 +588,27 @@
582
588
  return typeof value === "boolean";
583
589
  }
584
590
  function toISOString(date) {
585
- if (isDate(date)) {
586
- var pad = function (num) {
587
- var r = String(num);
588
- if (r.length === 1) {
589
- r = "0" + r;
590
- }
591
- return r;
592
- };
593
- return date.getUTCFullYear()
594
- + "-" + pad(date.getUTCMonth() + 1)
595
- + "-" + pad(date.getUTCDate())
596
- + "T" + pad(date.getUTCHours())
597
- + ":" + pad(date.getUTCMinutes())
598
- + ":" + pad(date.getUTCSeconds())
599
- + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
600
- + "Z";
591
+ if (date) {
592
+ if (date[strToISOString]) {
593
+ return date[strToISOString]();
594
+ }
595
+ if (isDate(date)) {
596
+ var pad = function (num) {
597
+ var r = String(num);
598
+ if (r.length === 1) {
599
+ r = "0" + r;
600
+ }
601
+ return r;
602
+ };
603
+ return date.getUTCFullYear()
604
+ + "-" + pad(date.getUTCMonth() + 1)
605
+ + "-" + pad(date.getUTCDate())
606
+ + "T" + pad(date.getUTCHours())
607
+ + ":" + pad(date.getUTCMinutes())
608
+ + ":" + pad(date.getUTCSeconds())
609
+ + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
610
+ + "Z";
611
+ }
601
612
  }
602
613
  }
603
614
  function arrForEach(arr, callbackfn, thisArg) {
@@ -670,20 +681,20 @@
670
681
  }
671
682
  return str.replace(/^\s+|\s+$/g, "");
672
683
  }
673
- var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString');
684
+ var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
674
685
  var _objKeysDontEnums = [
675
- 'toString',
676
- 'toLocaleString',
677
- 'valueOf',
678
- 'hasOwnProperty',
679
- 'isPrototypeOf',
680
- 'propertyIsEnumerable',
681
- 'constructor'
686
+ "toString",
687
+ "toLocaleString",
688
+ "valueOf",
689
+ "hasOwnProperty",
690
+ "isPrototypeOf",
691
+ "propertyIsEnumerable",
692
+ "constructor"
682
693
  ];
683
694
  function objKeys(obj) {
684
695
  var objType = typeof obj;
685
696
  if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
686
- throwTypeError('objKeys called on non-object');
697
+ throwTypeError("objKeys called on non-object");
687
698
  }
688
699
  var result = [];
689
700
  for (var prop in obj) {
@@ -813,6 +824,7 @@
813
824
 
814
825
  var strWindow = "window";
815
826
  var strDocument = "document";
827
+ var strDocumentMode = "documentMode";
816
828
  var strNavigator = "navigator";
817
829
  var strHistory = "history";
818
830
  var strLocation = "location";
@@ -963,7 +975,8 @@
963
975
  }
964
976
  var ua = (userAgentStr || "").toLowerCase();
965
977
  if (strContains(ua, strMsie)) {
966
- return parseInt(ua.split(strMsie)[1]);
978
+ var doc = getDocument() || {};
979
+ return Math.max(parseInt(ua.split(strMsie)[1]), (doc[strDocumentMode] || 0));
967
980
  }
968
981
  else if (strContains(ua, strTrident)) {
969
982
  var tridentVer = parseInt(ua.split(strTrident)[1]);
@@ -1006,7 +1019,7 @@
1006
1019
  }
1007
1020
  function useXDomainRequest() {
1008
1021
  if (_useXDomainRequest === null) {
1009
- _useXDomainRequest = (typeof XDomainRequest !== undefined);
1022
+ _useXDomainRequest = (typeof XDomainRequest !== "undefined");
1010
1023
  if (_useXDomainRequest && isXhrSupported()) {
1011
1024
  _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst("XMLHttpRequest"), "withCredentials");
1012
1025
  }
@@ -1024,15 +1037,68 @@
1024
1037
  return isSupported;
1025
1038
  }
1026
1039
 
1040
+ var listenerFuncs = ["eventsSent", "eventsDiscarded", "eventsSendRequest", "perfEvent"];
1041
+ var _aiNamespace = null;
1042
+ var _debugListener;
1043
+ function _listenerProxyFunc(name, config) {
1044
+ return function () {
1045
+ var args = arguments;
1046
+ var dbgExt = getDebugExt(config);
1047
+ if (dbgExt) {
1048
+ var listener = dbgExt.listener;
1049
+ if (listener && listener[name]) {
1050
+ listener[name].apply(listener, args);
1051
+ }
1052
+ }
1053
+ };
1054
+ }
1055
+ function _getExtensionNamespace() {
1056
+ var target = getGlobalInst("Microsoft");
1057
+ if (target) {
1058
+ _aiNamespace = target["ApplicationInsights"];
1059
+ }
1060
+ return _aiNamespace;
1061
+ }
1062
+ function getDebugExt(config) {
1063
+ var ns = _aiNamespace;
1064
+ if (!ns && config.disableDbgExt !== true) {
1065
+ ns = _aiNamespace || _getExtensionNamespace();
1066
+ }
1067
+ return ns ? ns["ChromeDbgExt"] : null;
1068
+ }
1069
+ function getDebugListener(config) {
1070
+ if (!_debugListener) {
1071
+ _debugListener = {};
1072
+ for (var lp = 0; lp < listenerFuncs.length; lp++) {
1073
+ _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);
1074
+ }
1075
+ }
1076
+ return _debugListener;
1077
+ }
1078
+
1027
1079
  var AiNonUserActionablePrefix = "AI (Internal): ";
1028
1080
  var AiUserActionablePrefix = "AI: ";
1029
1081
  var AIInternalMessagePrefix = "AITR_";
1082
+ var strErrorToConsole = "errorToConsole";
1083
+ var strWarnToConsole = "warnToConsole";
1030
1084
  function _sanitizeDiagnosticText(text) {
1031
1085
  if (text) {
1032
1086
  return "\"" + text.replace(/\"/g, "") + "\"";
1033
1087
  }
1034
1088
  return "";
1035
1089
  }
1090
+ function _logToConsole(func, message) {
1091
+ var theConsole = getConsole();
1092
+ if (!!theConsole) {
1093
+ var logFunc = "log";
1094
+ if (theConsole[func]) {
1095
+ logFunc = func;
1096
+ }
1097
+ if (isFunction(theConsole[logFunc])) {
1098
+ theConsole[logFunc](message);
1099
+ }
1100
+ }
1101
+ }
1036
1102
  var _InternalLogMessage = /** @class */ (function () {
1037
1103
  function _InternalLogMessage(msgId, msg, isUserAct, properties) {
1038
1104
  if (isUserAct === void 0) { isUserAct = false; }
@@ -1057,7 +1123,7 @@
1057
1123
  }
1058
1124
  var DiagnosticLogger = /** @class */ (function () {
1059
1125
  function DiagnosticLogger(config) {
1060
- this.identifier = 'DiagnosticLogger';
1126
+ this.identifier = "DiagnosticLogger";
1061
1127
  this.queue = [];
1062
1128
  var _messageCount = 0;
1063
1129
  var _messageLogged = {};
@@ -1065,10 +1131,10 @@
1065
1131
  if (isNullOrUndefined(config)) {
1066
1132
  config = {};
1067
1133
  }
1068
- _self.consoleLoggingLevel = function () { return _getConfigValue('loggingLevelConsole', 0); };
1069
- _self.telemetryLoggingLevel = function () { return _getConfigValue('loggingLevelTelemetry', 1); };
1070
- _self.maxInternalMessageLimit = function () { return _getConfigValue('maxMessageLimit', 25); };
1071
- _self.enableDebugExceptions = function () { return _getConfigValue('enableDebugExceptions', false); };
1134
+ _self.consoleLoggingLevel = function () { return _getConfigValue("loggingLevelConsole", 0); };
1135
+ _self.telemetryLoggingLevel = function () { return _getConfigValue("loggingLevelTelemetry", 1); };
1136
+ _self.maxInternalMessageLimit = function () { return _getConfigValue("maxMessageLimit", 25); };
1137
+ _self.enableDebugExceptions = function () { return _getConfigValue("enableDebugExceptions", false); };
1072
1138
  _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {
1073
1139
  if (isUserAct === void 0) { isUserAct = false; }
1074
1140
  var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);
@@ -1076,35 +1142,35 @@
1076
1142
  throw message;
1077
1143
  }
1078
1144
  else {
1145
+ var logFunc = severity === exports.LoggingSeverity.CRITICAL ? strErrorToConsole : strWarnToConsole;
1079
1146
  if (!isUndefined(message.message)) {
1080
1147
  var logLevel = _self.consoleLoggingLevel();
1081
1148
  if (isUserAct) {
1082
1149
  var messageKey = +message.messageId;
1083
- if (!_messageLogged[messageKey] && logLevel >= exports.LoggingSeverity.WARNING) {
1084
- _self.warnToConsole(message.message);
1150
+ if (!_messageLogged[messageKey] && logLevel >= severity) {
1151
+ _self[logFunc](message.message);
1085
1152
  _messageLogged[messageKey] = true;
1086
1153
  }
1087
1154
  }
1088
1155
  else {
1089
- if (logLevel >= exports.LoggingSeverity.WARNING) {
1090
- _self.warnToConsole(message.message);
1156
+ if (logLevel >= severity) {
1157
+ _self[logFunc](message.message);
1091
1158
  }
1092
1159
  }
1093
1160
  _self.logInternalMessage(severity, message);
1094
1161
  }
1162
+ else {
1163
+ _debugExtMsg("throw" + (severity === exports.LoggingSeverity.CRITICAL ? "Critical" : "Warning"), message);
1164
+ }
1095
1165
  }
1096
1166
  };
1097
1167
  _self.warnToConsole = function (message) {
1098
- var theConsole = getConsole();
1099
- if (!!theConsole) {
1100
- var logFunc = 'log';
1101
- if (theConsole.warn) {
1102
- logFunc = 'warn';
1103
- }
1104
- if (isFunction(theConsole[logFunc])) {
1105
- theConsole[logFunc](message);
1106
- }
1107
- }
1168
+ _logToConsole("warn", message);
1169
+ _debugExtMsg("warning", message);
1170
+ };
1171
+ _self.errorToConsole = function (message) {
1172
+ _logToConsole("error", message);
1173
+ _debugExtMsg("error", message);
1108
1174
  };
1109
1175
  _self.resetInternalMessageCount = function () {
1110
1176
  _messageCount = 0;
@@ -1126,12 +1192,18 @@
1126
1192
  if (severity <= _self.telemetryLoggingLevel()) {
1127
1193
  _self.queue.push(message);
1128
1194
  _messageCount++;
1195
+ _debugExtMsg((severity === exports.LoggingSeverity.CRITICAL ? "error" : "warn"), message);
1129
1196
  }
1130
1197
  if (_messageCount === _self.maxInternalMessageLimit()) {
1131
1198
  var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
1132
1199
  var throttleMessage = new _InternalLogMessage(_InternalMessageId.MessageLimitPerPVExceeded, throttleLimitMessage, false);
1133
1200
  _self.queue.push(throttleMessage);
1134
- _self.warnToConsole(throttleLimitMessage);
1201
+ if (severity === exports.LoggingSeverity.CRITICAL) {
1202
+ _self.errorToConsole(throttleLimitMessage);
1203
+ }
1204
+ else {
1205
+ _self.warnToConsole(throttleLimitMessage);
1206
+ }
1135
1207
  }
1136
1208
  }
1137
1209
  };
@@ -1145,6 +1217,12 @@
1145
1217
  function _areInternalMessagesThrottled() {
1146
1218
  return _messageCount >= _self.maxInternalMessageLimit();
1147
1219
  }
1220
+ function _debugExtMsg(name, data) {
1221
+ var dbgExt = getDebugExt(config);
1222
+ if (dbgExt && dbgExt.diagLog) {
1223
+ dbgExt.diagLog(name, data);
1224
+ }
1225
+ }
1148
1226
  });
1149
1227
  }
1150
1228
  return DiagnosticLogger;
@@ -1162,7 +1240,7 @@
1162
1240
  _self.isChildEvt = function () { return false; };
1163
1241
  if (isFunction(payloadDetails)) {
1164
1242
  var theDetails_1;
1165
- accessorDefined = objDefineAccessors(_self, 'payload', function () {
1243
+ accessorDefined = objDefineAccessors(_self, "payload", function () {
1166
1244
  if (!theDetails_1 && isFunction(payloadDetails)) {
1167
1245
  theDetails_1 = payloadDetails();
1168
1246
  payloadDetails = null;
@@ -1920,12 +1998,7 @@
1920
1998
  dynamicProto(BaseCore, this, function (_self) {
1921
1999
  _self._extensions = new Array();
1922
2000
  _channelController = new ChannelController();
1923
- _self.logger = objCreateFn({
1924
- throwInternal: function (severity, msgId, msg, properties, isUserAct) {
1925
- },
1926
- warnToConsole: function (message) { },
1927
- resetInternalMessageCount: function () { }
1928
- });
2001
+ _self.logger = new DiagnosticLogger({ loggingLevelConsole: exports.LoggingSeverity.CRITICAL });
1929
2002
  _eventQueue = [];
1930
2003
  _self.isInitialized = function () { return _isInitialized; };
1931
2004
  _self.initialize = function (config, extensions, logger, notificationManager) {
@@ -1938,6 +2011,9 @@
1938
2011
  _notificationManager = notificationManager;
1939
2012
  _self[strNotificationManager] = notificationManager;
1940
2013
  _self.config = config || {};
2014
+ if (notificationManager && _self.config.disableDbgExt !== true) {
2015
+ notificationManager.addNotificationListener(getDebugListener(config));
2016
+ }
1941
2017
  if (_self.config.enablePerfMgr) {
1942
2018
  setValue(_self.config, "createPerfMgr", _createPerfManager);
1943
2019
  }
@@ -2128,6 +2204,7 @@
2128
2204
  __extendsFn(AppInsightsCore, _super);
2129
2205
  function AppInsightsCore() {
2130
2206
  var _this = _super.call(this) || this;
2207
+ var _internalLogPoller = 0;
2131
2208
  dynamicProto(AppInsightsCore, _this, function (_self, _base) {
2132
2209
  _self.initialize = function (config, extensions, logger, notificationManager) {
2133
2210
  _base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));
@@ -2159,7 +2236,10 @@
2159
2236
  if (!interval || !(interval > 0)) {
2160
2237
  interval = 10000;
2161
2238
  }
2162
- return setInterval(function () {
2239
+ if (_internalLogPoller) {
2240
+ _self.stopPollingInternalLogs();
2241
+ }
2242
+ _internalLogPoller = setInterval(function () {
2163
2243
  var queue = _self.logger ? _self.logger.queue : [];
2164
2244
  arrForEach(queue, function (logMessage) {
2165
2245
  var item = {
@@ -2173,6 +2253,13 @@
2173
2253
  });
2174
2254
  queue.length = 0;
2175
2255
  }, interval);
2256
+ return _internalLogPoller;
2257
+ };
2258
+ _self.stopPollingInternalLogs = function () {
2259
+ if (!_internalLogPoller)
2260
+ return;
2261
+ clearInterval(_internalLogPoller);
2262
+ _internalLogPoller = 0;
2176
2263
  };
2177
2264
  function _validateTelemetryItem(telemetryItem) {
2178
2265
  if (isNullOrUndefined(telemetryItem.name)) {
@@ -2257,6 +2344,9 @@
2257
2344
  return value;
2258
2345
  }
2259
2346
 
2347
+ var strVisibilityChangeEvt = "visibilitychange";
2348
+ var strPageHide = "pagehide";
2349
+ var strPageShow = "pageshow";
2260
2350
  function addEventHandler(eventName, callback) {
2261
2351
  var result = false;
2262
2352
  var w = getWindow();
@@ -2270,12 +2360,73 @@
2270
2360
  }
2271
2361
  return result;
2272
2362
  }
2363
+ function addEventListeners(events, listener, excludeEvents) {
2364
+ var added = false;
2365
+ if (listener && events && isArray(events)) {
2366
+ var excluded_1 = [];
2367
+ arrForEach(events, function (name) {
2368
+ if (isString(name)) {
2369
+ if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {
2370
+ added = addEventHandler(name, listener) || added;
2371
+ }
2372
+ else {
2373
+ excluded_1.push(name);
2374
+ }
2375
+ }
2376
+ });
2377
+ if (!added && excluded_1.length > 0) {
2378
+ added = addEventListeners(excluded_1, listener);
2379
+ }
2380
+ }
2381
+ return added;
2382
+ }
2383
+ function addPageUnloadEventListener(listener, excludeEvents) {
2384
+ return addEventListeners(["beforeunload", "unload", "pagehide"], listener, excludeEvents);
2385
+ }
2386
+ function addPageHideEventListener(listener, excludeEvents) {
2387
+ function _handlePageVisibility(evt) {
2388
+ var doc = getDocument();
2389
+ if (listener && doc && doc.visibilityState === "hidden") {
2390
+ listener(evt);
2391
+ }
2392
+ }
2393
+ var pageUnloadAdded = false;
2394
+ if (!excludeEvents || arrIndexOf(excludeEvents, strPageHide) === -1) {
2395
+ pageUnloadAdded = addEventHandler(strPageHide, listener);
2396
+ }
2397
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2398
+ pageUnloadAdded = addEventHandler(strVisibilityChangeEvt, _handlePageVisibility) || pageUnloadAdded;
2399
+ }
2400
+ if (!pageUnloadAdded && excludeEvents) {
2401
+ pageUnloadAdded = addPageHideEventListener(listener);
2402
+ }
2403
+ return pageUnloadAdded;
2404
+ }
2405
+ function addPageShowEventListener(listener, excludeEvents) {
2406
+ function _handlePageVisibility(evt) {
2407
+ var doc = getDocument();
2408
+ if (listener && doc && doc.visibilityState === "visible") {
2409
+ listener(evt);
2410
+ }
2411
+ }
2412
+ var pageShowAdded = false;
2413
+ if (!excludeEvents || arrIndexOf(excludeEvents, strPageShow) === -1) {
2414
+ pageShowAdded = addEventHandler(strPageShow, listener);
2415
+ }
2416
+ if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {
2417
+ pageShowAdded = addEventHandler(strVisibilityChangeEvt, _handlePageVisibility) || pageShowAdded;
2418
+ }
2419
+ if (!pageShowAdded && excludeEvents) {
2420
+ pageShowAdded = addPageShowEventListener(listener);
2421
+ }
2422
+ return pageShowAdded;
2423
+ }
2273
2424
  function newGuid() {
2274
2425
  function randomHexDigit() {
2275
2426
  return randomValue(15);
2276
2427
  }
2277
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {
2278
- var r = (randomHexDigit() | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);
2428
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(GuidRegex, function (c) {
2429
+ var r = (randomHexDigit() | 0), v = (c === "x" ? r : r & 0x3 | 0x8);
2279
2430
  return v.toString(16);
2280
2431
  });
2281
2432
  }
@@ -2288,7 +2439,7 @@
2288
2439
  }
2289
2440
  function newId(maxLength) {
2290
2441
  if (maxLength === void 0) { maxLength = 22; }
2291
- var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
2442
+ var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2292
2443
  var number = random32() >>> 0;
2293
2444
  var chars = 0;
2294
2445
  var result = "";
@@ -2377,8 +2528,10 @@
2377
2528
  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 });
2378
2529
 
2379
2530
  var _a;
2380
- var Version = '3.1.6';
2531
+ var Version = '3.1.10';
2381
2532
  var FullVersionString = "1DS-Web-JS-" + Version;
2533
+ var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
2534
+ var strWithCredentials = "withCredentials";
2382
2535
  var _fieldTypeEventPropMap = (_a = {},
2383
2536
  _a[0 ] = EventPropertyType.Unspecified,
2384
2537
  _a[2 ] = EventPropertyType.Double,
@@ -2580,31 +2733,6 @@
2580
2733
  function isArrayValid(value) {
2581
2734
  return value.length > 0;
2582
2735
  }
2583
- function addPageHideEventListener(listener) {
2584
- function _handlePageVisibility(evt) {
2585
- var doc = getDocument();
2586
- if (listener && doc && doc.visibilityState === 'hidden') {
2587
- listener(evt);
2588
- }
2589
- }
2590
- var pageUnloadAdded = addEventHandler("pagehide", listener);
2591
- return addEventHandler("visibilitychange", _handlePageVisibility) || pageUnloadAdded;
2592
- }
2593
- function addPageShowEventListener(listener) {
2594
- function _handlePageVisibility(evt) {
2595
- var doc = getDocument();
2596
- if (listener && doc && doc.visibilityState === 'visible') {
2597
- listener(evt);
2598
- }
2599
- }
2600
- var pageUnloadAdded = addEventHandler("pageshow", listener);
2601
- return addEventHandler("visibilitychange", _handlePageVisibility) || pageUnloadAdded;
2602
- }
2603
- function addPageUnloadEventListener(listener) {
2604
- var pageUnloadAdded = addEventHandler("beforeunload", listener);
2605
- pageUnloadAdded = addEventHandler("unload", listener) || pageUnloadAdded;
2606
- return addEventHandler("pagehide", listener) || pageUnloadAdded;
2607
- }
2608
2736
  function setProcessTelemetryTimings(event, identifier) {
2609
2737
  var evt = event;
2610
2738
  evt.timings = evt.timings || {};
@@ -2727,6 +2855,29 @@
2727
2855
  function isChromium() {
2728
2856
  return !!getGlobalInst("chrome");
2729
2857
  }
2858
+ function openXhr(method, urlString, withCredentials, disabled, isSync) {
2859
+ if (disabled === void 0) { disabled = false; }
2860
+ if (isSync === void 0) { isSync = false; }
2861
+ function _wrapSetXhrProp(xhr, prop, value) {
2862
+ try {
2863
+ xhr[prop] = value;
2864
+ }
2865
+ catch (e) {
2866
+ }
2867
+ }
2868
+ var xhr = new XMLHttpRequest();
2869
+ if (disabled) {
2870
+ _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);
2871
+ }
2872
+ if (withCredentials) {
2873
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2874
+ }
2875
+ xhr.open(method, urlString, !isSync);
2876
+ if (withCredentials) {
2877
+ _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
2878
+ }
2879
+ return xhr;
2880
+ }
2730
2881
 
2731
2882
  var PropVersion = "version";
2732
2883
  var properties = "properties";
@@ -2737,6 +2888,9 @@
2737
2888
  _this.pluginVersionStringArr = [];
2738
2889
  _this.pluginVersionString = "";
2739
2890
  dynamicProto(AppInsightsCore, _this, function (_self, _base) {
2891
+ if (!_self.logger || !_self.logger.queue) {
2892
+ _self.logger = new DiagnosticLogger({ loggingLevelConsole: exports.LoggingSeverity.CRITICAL });
2893
+ }
2740
2894
  _self.initialize = function (config, extensions, logger, notificationManager) {
2741
2895
  doPerf(_self, function () { return "AppInsightsCore.initialize"; }, function () {
2742
2896
  if (config) {
@@ -2774,11 +2928,16 @@
2774
2928
  _self.pluginVersionString = _self.pluginVersionStringArr.join(";");
2775
2929
  try {
2776
2930
  _base.initialize(config, extensions, logger, notificationManager);
2931
+ _self.pollInternalLogs("InternalLog");
2777
2932
  }
2778
2933
  catch (e) {
2779
- _self.logger.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.ErrorProvidedChannels, "Channels must be provided through config.channels only");
2934
+ var logger_1 = _self.logger;
2935
+ var message = dumpObj(e);
2936
+ if (message.indexOf("channels") !== -1) {
2937
+ message += "\n - Channels must be provided through config.channels only!";
2938
+ }
2939
+ logger_1.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.FailedToInitializeSDK, "SDK Initialization Failed - no telemetry will be sent: " + message);
2780
2940
  }
2781
- _self.pollInternalLogs("InternalLog");
2782
2941
  }, function () { return ({ config: config, extensions: extensions, logger: logger, notificationManager: notificationManager }); });
2783
2942
  };
2784
2943
  _self.track = function (item) {
@@ -2821,10 +2980,8 @@
2821
2980
  var _this = _super.call(this) || this;
2822
2981
  dynamicProto(BaseCore, _this, function (_self, _base) {
2823
2982
  _self.initialize = function (config, extensions, logger, notificationManager) {
2824
- if (config) {
2825
- if (!config.endpointUrl) {
2826
- config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
2827
- }
2983
+ if (config && !config.endpointUrl) {
2984
+ config.endpointUrl = "https://browser.events.data.microsoft.com/OneCollector/1.0/";
2828
2985
  }
2829
2986
  _self.getWParam = function () {
2830
2987
  return isDocumentObjectAvailable ? 0 : -1;
@@ -2833,7 +2990,7 @@
2833
2990
  _base.initialize(config, extensions, logger, notificationManager);
2834
2991
  }
2835
2992
  catch (e) {
2836
- _self.logger.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.ErrorProvidedChannels, "Channels must be provided through config.channels only");
2993
+ _self.logger.throwInternal(exports.LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.FailedToInitializeSDK, "Initialization Failed: " + dumpObj(e) + "\n - Note: Channels must be provided through config.channels only");
2837
2994
  }
2838
2995
  };
2839
2996
  _self.track = function (item) {
@@ -3435,6 +3592,8 @@
3435
3592
  exports.EventPropertyType = EventPropertyType;
3436
3593
  exports.EventsDiscardedReason = EventsDiscardedReason;
3437
3594
  exports.FullVersionString = FullVersionString;
3595
+ exports.InternalAppInsightsCore = AppInsightsCore$2;
3596
+ exports.InternalBaseCore = BaseCore$2;
3438
3597
  exports.MinChannelPriorty = MinChannelPriorty;
3439
3598
  exports.NotificationManager = NotificationManager;
3440
3599
  exports.PerfEvent = PerfEvent;
@@ -3447,7 +3606,10 @@
3447
3606
  exports.ValueSanitizer = ValueSanitizer;
3448
3607
  exports.Version = Version;
3449
3608
  exports._ExtendedInternalMessageId = _ExtendedInternalMessageId;
3609
+ exports._InternalLogMessage = _InternalLogMessage;
3610
+ exports._InternalMessageId = _InternalMessageId;
3450
3611
  exports.addEventHandler = addEventHandler;
3612
+ exports.addEventListeners = addEventListeners;
3451
3613
  exports.addPageHideEventListener = addPageHideEventListener;
3452
3614
  exports.addPageShowEventListener = addPageShowEventListener;
3453
3615
  exports.addPageUnloadEventListener = addPageUnloadEventListener;
@@ -3530,6 +3692,7 @@
3530
3692
  exports.objDefineAccessors = objDefineAccessors;
3531
3693
  exports.objForEachKey = objForEachKey;
3532
3694
  exports.objKeys = objKeys;
3695
+ exports.openXhr = openXhr;
3533
3696
  exports.optimizeObject = optimizeObject;
3534
3697
  exports.perfNow = perfNow;
3535
3698
  exports.proxyAssign = proxyAssign;
@@ -3558,5 +3721,5 @@
3558
3721
 
3559
3722
  (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 });
3560
3723
 
3561
- })));
3562
- //# sourceMappingURL=ms.core-test.js.map
3724
+ }));
3725
+ //# sourceMappingURL=ms.core-3.1.10.js.map