@microsoft/applicationinsights-core-js 3.4.0-nightlybeta.2504-03 → 3.4.0-nightlybeta3.2504-17

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 (109) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +393 -281
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +395 -283
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +395 -283
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-core-js.js +393 -281
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +1 -1
  21. package/dist-es5/Config/DynamicProperty.js +1 -1
  22. package/dist-es5/Config/DynamicState.js +1 -1
  23. package/dist-es5/Config/DynamicSupport.js +1 -1
  24. package/dist-es5/Config/IConfigDefaults.js +1 -1
  25. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  26. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  28. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  29. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +132 -99
  31. package/dist-es5/JavaScriptSDK/AppInsightsCore.js.map +1 -1
  32. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  33. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  34. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  35. package/dist-es5/JavaScriptSDK/CookieMgr.js +1 -1
  36. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  37. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +2 -2
  38. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  39. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  40. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  41. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  42. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  43. package/dist-es5/JavaScriptSDK/HelperFuncs.js +3 -3
  44. package/dist-es5/JavaScriptSDK/HelperFuncs.js.map +1 -1
  45. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  46. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  47. package/dist-es5/JavaScriptSDK/NetworkStatsbeat.js +20 -0
  48. package/dist-es5/JavaScriptSDK/NetworkStatsbeat.js.map +1 -0
  49. package/dist-es5/JavaScriptSDK/NotificationManager.js +1 -1
  50. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  51. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  52. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  53. package/dist-es5/JavaScriptSDK/ResponseHelpers.js +1 -1
  54. package/dist-es5/JavaScriptSDK/SenderPostManager.js +23 -8
  55. package/dist-es5/JavaScriptSDK/SenderPostManager.js.map +1 -1
  56. package/dist-es5/JavaScriptSDK/StatsBeat.js +176 -0
  57. package/dist-es5/JavaScriptSDK/StatsBeat.js.map +1 -0
  58. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  59. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  60. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  61. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +1 -1
  62. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +3 -3
  63. package/dist-es5/JavaScriptSDK/W3cTraceParent.js.map +1 -1
  64. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Enums/InitActiveStatusEnum.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/IExceptionConfig.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  86. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  87. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  88. package/dist-es5/JavaScriptSDK.Interfaces/ISenderPostManager.js +1 -1
  89. package/dist-es5/JavaScriptSDK.Interfaces/IStatsBeat.js +6 -0
  90. package/dist-es5/JavaScriptSDK.Interfaces/IStatsBeat.js.map +1 -0
  91. package/dist-es5/JavaScriptSDK.Interfaces/IStatsBeatEvent.js +8 -0
  92. package/dist-es5/JavaScriptSDK.Interfaces/IStatsBeatEvent.js.map +1 -0
  93. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  94. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  95. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  96. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  97. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  98. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  99. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  100. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  101. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  102. package/dist-es5/JavaScriptSDK.Interfaces/IXDomainRequest.js +1 -1
  103. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  104. package/dist-es5/__DynamicConstants.js +13 -7
  105. package/dist-es5/__DynamicConstants.js.map +1 -1
  106. package/dist-es5/applicationinsights-core-js.js +1 -1
  107. package/package.json +1 -1
  108. package/types/applicationinsights-core-js.d.ts +42 -1
  109. package/types/applicationinsights-core-js.namespaced.d.ts +68 -1
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta.2504-03
2
+ * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2504-17
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta_2504_03", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta.2504-03";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2504_17", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2504-17";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -28,7 +28,7 @@
28
28
 
29
29
  var MinChannelPriorty = 100;
30
30
 
31
- /*! https://github.com/nevware21/ts-utils v0.11.8 */
31
+ /*! https://github.com/nevware21/ts-utils v0.12.2 */
32
32
  /*#__NO_SIDE_EFFECTS__*/
33
33
  function _pureAssign(func1, func2) {
34
34
  return func1 || func2;
@@ -47,7 +47,6 @@ var __PROTO__ = "__proto__";
47
47
  var UNDEFINED = "undefined";
48
48
  var CONSTRUCTOR = "constructor";
49
49
  var SYMBOL = "Symbol";
50
- var POLYFILL_TAG = "_polyfill";
51
50
  var LENGTH = "length";
52
51
  var NAME = "name";
53
52
  var CALL = "call";
@@ -60,6 +59,11 @@ var MathCls = ( /*#__PURE__*/_pureAssign(Math));
60
59
  var ArrCls = ( /*#__PURE__*/_pureAssign(Array));
61
60
  var ArrProto = ( /*#__PURE__*/_pureRef(ArrCls, PROTOTYPE));
62
61
  var ArrSlice = ( /*#__PURE__*/_pureRef(ArrProto, "slice"));
62
+ var POLYFILL_TAG = "_polyfill";
63
+ var POLYFILL_TYPE_NAME = "__nw21$polytype__";
64
+ function _isPolyfillType(obj, polyfillTypeName) {
65
+ return !!(obj && obj[POLYFILL_TYPE_NAME] === polyfillTypeName);
66
+ }
63
67
  function safe(func, argArray) {
64
68
  try {
65
69
  return {
@@ -83,6 +87,12 @@ function _createIs(theType) {
83
87
  };
84
88
  }
85
89
  /*#__NO_SIDE_EFFECTS__*/
90
+ function _createIsWithPoly(theType) {
91
+ return function (value) {
92
+ return typeof value === theType || _isPolyfillType(value, theType);
93
+ };
94
+ }
95
+ /*#__NO_SIDE_EFFECTS__*/
86
96
  function _createObjIs(theName) {
87
97
  var theType = "[object " + theName + "]";
88
98
  return function (value) {
@@ -103,7 +113,7 @@ function isUndefined(value) {
103
113
  }
104
114
  /*#__NO_SIDE_EFFECTS__*/
105
115
  function isStrictUndefined(arg) {
106
- return !isDefined(arg);
116
+ return arg === UNDEF_VALUE;
107
117
  }
108
118
  /*#__NO_SIDE_EFFECTS__*/
109
119
  function isNullOrUndefined(value) {
@@ -111,7 +121,7 @@ function isNullOrUndefined(value) {
111
121
  }
112
122
  /*#__NO_SIDE_EFFECTS__*/
113
123
  function isStrictNullOrUndefined(value) {
114
- return value === NULL_VALUE || !isDefined(value);
124
+ return value === NULL_VALUE || value === UNDEF_VALUE;
115
125
  }
116
126
  /*#__NO_SIDE_EFFECTS__*/
117
127
  function isDefined(arg) {
@@ -148,18 +158,56 @@ function isNotTruthy(value) {
148
158
  function isTruthy(value) {
149
159
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
150
160
  }
151
- var objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureRef(ObjClass$1, "getOwnPropertyDescriptor"));
161
+ var asString = ( /* #__PURE__ */_pureAssign(StrCls));
162
+ var ERROR_TYPE = "[object Error]";
163
+ /*#__NO_SIDE_EFFECTS__*/
164
+ function dumpObj(object, format) {
165
+ var propertyValueDump = EMPTY;
166
+ var objType = ObjProto[TO_STRING][CALL](object);
167
+ if (objType === ERROR_TYPE) {
168
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
169
+ }
170
+ try {
171
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
172
+ propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
173
+ }
174
+ catch (e) {
175
+ propertyValueDump = " - " + dumpObj(e, format);
176
+ }
177
+ return objType + ": " + propertyValueDump;
178
+ }
179
+ function throwError(message) {
180
+ throw new Error(message);
181
+ }
182
+ function throwTypeError(message) {
183
+ throw new TypeError(message);
184
+ }
185
+ function _throwIfNullOrUndefined(obj) {
186
+ if (isStrictNullOrUndefined(obj)) {
187
+ throwTypeError("Cannot convert undefined or null to object");
188
+ }
189
+ }
190
+ function _throwIfNotString(value) {
191
+ if (!isString(value)) {
192
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
193
+ }
194
+ }
195
+ function _returnNothing() {
196
+ return UNDEF_VALUE;
197
+ }
198
+ var objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "getOwnPropertyDescriptor")), _returnNothing));
152
199
  /*#__NO_SIDE_EFFECTS__*/
153
200
  function objHasOwnProperty(obj, prop) {
154
201
  return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
155
202
  }
156
- var objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
157
203
  /*#__NO_SIDE_EFFECTS__*/
158
204
  function polyObjHasOwn(obj, prop) {
205
+ _throwIfNullOrUndefined(obj);
159
206
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
160
207
  }
208
+ var objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
161
209
  function objForEachKey(theObject, callbackfn, thisArg) {
162
- if (theObject && isObject(theObject)) {
210
+ if (theObject && (isObject(theObject) || isFunction(theObject))) {
163
211
  for (var prop in theObject) {
164
212
  if (objHasOwn(theObject, prop)) {
165
213
  if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
@@ -169,6 +217,37 @@ function objForEachKey(theObject, callbackfn, thisArg) {
169
217
  }
170
218
  }
171
219
  }
220
+ function arrForEach(theArray, callbackfn, thisArg) {
221
+ if (theArray) {
222
+ var len = theArray[LENGTH] >>> 0;
223
+ for (var idx = 0; idx < len; idx++) {
224
+ if (idx in theArray) {
225
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
226
+ break;
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }
232
+ var _unwrapFunction = ( _unwrapFunctionWithPoly);
233
+ /*#__NO_SIDE_EFFECTS__*/
234
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
235
+ var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
236
+ return function (thisArg) {
237
+ var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
238
+ if (theFunc || polyFunc) {
239
+ var theArgs = arguments;
240
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
241
+ }
242
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
243
+ };
244
+ }
245
+ /*#__NO_SIDE_EFFECTS__*/
246
+ function _unwrapProp(propName) {
247
+ return function (thisArg) {
248
+ return thisArg[propName];
249
+ };
250
+ }
172
251
  var propMap = {
173
252
  e: "enumerable",
174
253
  c: "configurable",
@@ -197,6 +276,7 @@ function _createProp(value) {
197
276
  return prop;
198
277
  }
199
278
  var objDefineProp = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperty"));
279
+ var objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperties"));
200
280
  function objDefineAccessors(target, prop, getProp, setProp, configurable, enumerable) {
201
281
  var desc = {
202
282
  e: enumerable,
@@ -229,49 +309,38 @@ function _assignMapValue(theMap, key, value, writable) {
229
309
  writable: false
230
310
  });
231
311
  }
232
- var asString = ( /* #__PURE__ */_pureAssign(StrCls));
233
- var ERROR_TYPE = "[object Error]";
234
- /*#__NO_SIDE_EFFECTS__*/
235
- function dumpObj(object, format) {
236
- var propertyValueDump = EMPTY;
237
- var objType = ObjProto[TO_STRING][CALL](object);
238
- if (objType === ERROR_TYPE) {
239
- object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
240
- }
241
- try {
242
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
243
- propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
244
- }
245
- catch (e) {
246
- propertyValueDump = " - " + dumpObj(e, format);
247
- }
248
- return objType + ": " + propertyValueDump;
249
- }
250
- function throwError(message) {
251
- throw new Error(message);
252
- }
253
- function throwTypeError(message) {
254
- throw new TypeError(message);
312
+ function _returnFalse() {
313
+ return false;
255
314
  }
315
+ var objIsFrozen = ( /* #__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "isFrozen")), _returnFalse));
256
316
  var _objFreeze = ( /* #__PURE__ */_pureRef(ObjClass$1, "freeze"));
257
317
  function _doNothing(value) {
258
318
  return value;
259
319
  }
260
320
  /*#__NO_SIDE_EFFECTS__*/
261
321
  function _getProto(value) {
322
+ _throwIfNullOrUndefined(value);
262
323
  return value[__PROTO__] || NULL_VALUE;
263
324
  }
264
325
  var objAssign = ( /*#__PURE__*/_pureRef(ObjClass$1, "assign"));
265
326
  var objKeys = ( /*#__PURE__*/_pureRef(ObjClass$1, "keys"));
266
- function objDeepFreeze(value) {
267
- if (_objFreeze) {
268
- objForEachKey(value, function (key, value) {
269
- if (isArray(value) || isObject(value)) {
270
- objDeepFreeze(value);
327
+ function _deepFreeze(val, visited) {
328
+ if ((isArray(val) || isObject(val) || isFunction(val)) && !objIsFrozen(val)) {
329
+ for (var lp = 0; lp < visited.length; lp++) {
330
+ if (visited[lp] === val) {
331
+ return val;
271
332
  }
333
+ }
334
+ visited.push(val);
335
+ objForEachKey(val, function (_key, propValue) {
336
+ _deepFreeze(propValue, visited);
272
337
  });
338
+ objFreeze(val);
273
339
  }
274
- return objFreeze(value);
340
+ return val;
341
+ }
342
+ function objDeepFreeze(value) {
343
+ return _objFreeze ? _deepFreeze(value, []) : value;
275
344
  }
276
345
  var objFreeze = ( /* #__PURE__*/_pureAssign(_objFreeze, _doNothing));
277
346
  var objSeal = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "seal")), _doNothing));
@@ -339,34 +408,13 @@ function _getGlobalConfig() {
339
408
  }
340
409
  return _globalCfg;
341
410
  }
342
- var _unwrapFunction = ( _unwrapFunctionWithPoly);
343
- /*#__NO_SIDE_EFFECTS__*/
344
- function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
345
- var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
346
- return function (thisArg) {
347
- var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
348
- if (theFunc || polyFunc) {
349
- var theArgs = arguments;
350
- return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
351
- }
352
- throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
353
- };
354
- }
355
- /*#__NO_SIDE_EFFECTS__*/
356
- function _unwrapProp(propName) {
357
- return function (thisArg) {
358
- return thisArg[propName];
359
- };
360
- }
361
411
  var mathMax = ( /*#__PURE__*/_pureRef(MathCls, "max"));
362
412
  var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
363
413
  var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
364
414
  var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
365
415
  /*#__NO_SIDE_EFFECTS__*/
366
416
  function polyStrSubstr(value, start, length) {
367
- if (isNullOrUndefined(value)) {
368
- throwTypeError("Invalid " + dumpObj(value));
369
- }
417
+ _throwIfNullOrUndefined(value);
370
418
  if (length < 0) {
371
419
  return EMPTY;
372
420
  }
@@ -383,8 +431,94 @@ function polyStrSubstr(value, start, length) {
383
431
  function strLeft(value, count) {
384
432
  return strSubstring(value, 0, count);
385
433
  }
434
+ function _tagAsPolyfill(target, polyfillTypeName) {
435
+ if (target) {
436
+ safe(function () {
437
+ target[POLYFILL_TAG] = true;
438
+ target[POLYFILL_TYPE_NAME] = polyfillTypeName;
439
+ });
440
+ safe(objDefine, [target, POLYFILL_TAG, {
441
+ v: true,
442
+ w: false,
443
+ e: false
444
+ }]);
445
+ safe(objDefine, [target, POLYFILL_TYPE_NAME, {
446
+ v: polyfillTypeName,
447
+ w: false,
448
+ e: false
449
+ }]);
450
+ }
451
+ return target;
452
+ }
453
+ var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
454
+ /*#__NO_SIDE_EFFECTS__*/
455
+ function polyObjCreate(obj, properties) {
456
+ var newObj = null;
457
+ function tempFunc() { }
458
+ if (!isStrictNullOrUndefined(obj)) {
459
+ var type = typeof obj;
460
+ if (type !== OBJECT && type !== FUNCTION) {
461
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
462
+ }
463
+ tempFunc[PROTOTYPE] = obj;
464
+ safe(function () {
465
+ tempFunc[__PROTO__] = obj;
466
+ });
467
+ newObj = new tempFunc();
468
+ }
469
+ else {
470
+ newObj = {};
471
+ }
472
+ if (properties) {
473
+ safe(objDefineProperties, [newObj, properties]);
474
+ }
475
+ return newObj;
476
+ }
477
+ /*#__NO_SIDE_EFFECTS__*/
478
+ function utcNow() {
479
+ return (Date.now || polyUtcNow)();
480
+ }
481
+ /*#__NO_SIDE_EFFECTS__*/
482
+ function polyUtcNow() {
483
+ return new Date().getTime();
484
+ }
485
+ var _globalLazyTestHooks;
486
+ function _initTestHooks() {
487
+ _globalLazyTestHooks = _getGlobalConfig();
488
+ }
489
+ /*#__NO_SIDE_EFFECTS__*/
490
+ function getLazy(cb) {
491
+ var lazyValue = {};
492
+ !_globalLazyTestHooks && _initTestHooks();
493
+ lazyValue.b = _globalLazyTestHooks.lzy;
494
+ objDefineProp(lazyValue, "v", {
495
+ configurable: true,
496
+ get: function () {
497
+ var result = cb();
498
+ if (!_globalLazyTestHooks.lzy) {
499
+ objDefineProp(lazyValue, "v", {
500
+ value: result
501
+ });
502
+ }
503
+ lazyValue.b = _globalLazyTestHooks.lzy;
504
+ return result;
505
+ }
506
+ });
507
+ return lazyValue;
508
+ }
509
+ var mathRandom = ( /*#__PURE__*/_pureRef(MathCls, "random"));
510
+ var _uniqueInstanceId = ( /*#__PURE__*/getLazy(function () {
511
+ var value = (utcNow().toString(36).slice(2));
512
+ while (value.length < 16) {
513
+ value += mathRandom().toString(36).slice(2);
514
+ }
515
+ value = value.substring(0, 16);
516
+ return value;
517
+ }));
386
518
  var UNIQUE_REGISTRY_ID = "_urid";
519
+ var POLY_SYM = "$nw21sym";
387
520
  var _polySymbols;
521
+ var _polyId = 0;
388
522
  /*#__NO_SIDE_EFFECTS__*/
389
523
  function _globalSymbolRegistry() {
390
524
  if (!_polySymbols) {
@@ -396,12 +530,22 @@ function _globalSymbolRegistry() {
396
530
  var _wellKnownSymbolCache;
397
531
  /*#__NO_SIDE_EFFECTS__*/
398
532
  function polyNewSymbol(description) {
399
- var theSymbol = {
400
- description: asString(description),
401
- toString: function () { return SYMBOL + "(" + description + ")"; }
402
- };
403
- theSymbol[POLYFILL_TAG] = true;
404
- return theSymbol;
533
+ var uniqueId = "_" + _polyId++ + "_" + _uniqueInstanceId.v;
534
+ var symString = SYMBOL + "(" + description + ")";
535
+ function _setProp(name, value) {
536
+ objDefine(theSymbol, name, {
537
+ v: value,
538
+ e: false,
539
+ w: false
540
+ });
541
+ }
542
+ var theSymbol = objCreate(null);
543
+ _setProp("description", asString(description));
544
+ _setProp(TO_STRING, function () { return symString + POLY_SYM + uniqueId; });
545
+ _setProp("valueOf", function () { return theSymbol; });
546
+ _setProp("v", symString);
547
+ _setProp("_uid", uniqueId);
548
+ return _tagAsPolyfill(theSymbol, "symbol");
405
549
  }
406
550
  /*#__NO_SIDE_EFFECTS__*/
407
551
  function polySymbolFor(key) {
@@ -425,30 +569,6 @@ function polyGetKnownSymbol(name) {
425
569
  }
426
570
  return result;
427
571
  }
428
- var _globalLazyTestHooks;
429
- function _initTestHooks() {
430
- _globalLazyTestHooks = _getGlobalConfig();
431
- }
432
- /*#__NO_SIDE_EFFECTS__*/
433
- function getLazy(cb) {
434
- var lazyValue = {};
435
- !_globalLazyTestHooks && _initTestHooks();
436
- lazyValue.b = _globalLazyTestHooks.lzy;
437
- objDefineProp(lazyValue, "v", {
438
- configurable: true,
439
- get: function () {
440
- var result = cb();
441
- if (!_globalLazyTestHooks.lzy) {
442
- objDefineProp(lazyValue, "v", {
443
- value: result
444
- });
445
- }
446
- lazyValue.b = _globalLazyTestHooks.lzy;
447
- return result;
448
- }
449
- });
450
- return lazyValue;
451
- }
452
572
  /*#__NO_SIDE_EFFECTS__*/
453
573
  function createCachedValue(value) {
454
574
  return objDefineProp({
@@ -529,7 +649,7 @@ function _getSymbolKey(key) {
529
649
  var gblSym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());
530
650
  return (gblSym.v ? gblSym.v[key] : UNDEF_VALUE);
531
651
  }
532
- var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
652
+ var isSymbol = ( /*#__PURE__*/_createIsWithPoly("symbol"));
533
653
  /*#__NO_SIDE_EFFECTS__*/
534
654
  function hasSymbol() {
535
655
  return !!( /*#__PURE__*/getSymbol());
@@ -626,47 +746,19 @@ function arrAppend(target, elms) {
626
746
  }
627
747
  return target;
628
748
  }
629
- function arrForEach(theArray, callbackfn, thisArg) {
630
- if (theArray) {
631
- var len = theArray[LENGTH] >>> 0;
632
- for (var idx = 0; idx < len; idx++) {
633
- if (idx in theArray) {
634
- if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
635
- break;
636
- }
637
- }
638
- }
639
- }
640
- }
641
749
  var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
642
750
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
643
751
  function arrSlice(theArray, start, end) {
644
752
  return ((theArray ? theArray["slice"] : NULL_VALUE) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
645
753
  }
646
754
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
647
- var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
648
- /*#__NO_SIDE_EFFECTS__*/
649
- function polyObjCreate(obj) {
650
- if (!obj) {
651
- return {};
652
- }
653
- var type = typeof obj;
654
- if (type !== OBJECT && type !== FUNCTION) {
655
- throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
656
- }
657
- function tempFunc() { }
658
- tempFunc[PROTOTYPE] = obj;
659
- return new tempFunc();
660
- }
661
755
  var _isProtoArray;
662
- function objSetPrototypeOf(obj, proto) {
663
- var fn = ObjClass$1["setPrototypeOf"] ||
664
- function (d, b) {
665
- var _a;
666
- !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
667
- _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
668
- };
669
- return fn(obj, proto);
756
+ var objSetPrototypeOf = ( /* #__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "setPrototypeOf")), _polyObjSetPrototypeOf));
757
+ function _polyObjSetPrototypeOf(obj, proto) {
758
+ var _a;
759
+ !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
760
+ _isProtoArray.v ? obj[__PROTO__] = proto : objForEachKey(proto, function (key, value) { return obj[key] = value; });
761
+ return obj;
670
762
  }
671
763
  /*#__NO_SIDE_EFFECTS__*/
672
764
  function _createCustomError(name, d, b) {
@@ -709,19 +801,9 @@ function createCustomError(name, constructCb, errorBase) {
709
801
  }, theBaseClass);
710
802
  }
711
803
  /*#__NO_SIDE_EFFECTS__*/
712
- function utcNow() {
713
- return (Date.now || polyUtcNow)();
714
- }
715
- /*#__NO_SIDE_EFFECTS__*/
716
- function polyUtcNow() {
717
- return new Date().getTime();
718
- }
719
- /*#__NO_SIDE_EFFECTS__*/
720
804
  function _createTrimFn(exp) {
721
805
  return function _doTrim(value) {
722
- if (isNullOrUndefined(value)) {
723
- throwTypeError("strTrim called [" + dumpObj(value) + "]");
724
- }
806
+ _throwIfNullOrUndefined(value);
725
807
  if (value && value.replace) {
726
808
  value = value.replace(exp, EMPTY);
727
809
  }
@@ -933,9 +1015,7 @@ function perfNow() {
933
1015
  var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
934
1016
  /*#__NO_SIDE_EFFECTS__*/
935
1017
  function polyStrEndsWith(value, searchString, length) {
936
- if (!isString(value)) {
937
- throwTypeError("'" + dumpObj(value) + "' is not a string");
938
- }
1018
+ _throwIfNotString(value);
939
1019
  var searchValue = isString(searchString) ? searchString : asString(searchString);
940
1020
  var end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];
941
1021
  return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
@@ -944,9 +1024,7 @@ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
944
1024
  var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
945
1025
  /*#__NO_SIDE_EFFECTS__*/
946
1026
  function polyStrStartsWith(value, searchString, position) {
947
- if (!isString(value)) {
948
- throwTypeError("'" + dumpObj(value) + "' is not a string");
949
- }
1027
+ _throwIfNotString(value);
950
1028
  var searchValue = isString(searchString) ? searchString : asString(searchString);
951
1029
  var pos = position > 0 ? position : 0;
952
1030
  return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
@@ -1078,12 +1156,12 @@ var _DYN_IDENTIFIER = "identifier";
1078
1156
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1079
1157
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1080
1158
  var _DYN_IS_INITIALIZED = "isInitialized";
1081
- var _DYN_VALUE = "value";
1082
1159
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1083
1160
  var _DYN_GET_PLUGIN = "getPlugin";
1084
1161
  var _DYN_NAME = "name";
1085
1162
  var _DYN_PROCESS_NEXT = "processNext";
1086
1163
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1164
+ var _DYN_VALUE = "value";
1087
1165
  var _DYN_ENABLED = "enabled";
1088
1166
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1089
1167
  var _DYN_UNLOAD = "unload";
@@ -1105,6 +1183,7 @@ var _DYN_REPLACE = "replace";
1105
1183
  var _DYN_TYPE = "type";
1106
1184
  var _DYN_EVT_NAME = "evtName";
1107
1185
  var _DYN_STATUS = "status";
1186
+ var _DYN_INDEX_OF = "indexOf";
1108
1187
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1109
1188
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1110
1189
  var _DYN_DATA = "data";
@@ -1849,6 +1928,60 @@ var STR_DOMAIN = "domain";
1849
1928
  var STR_PATH = "path";
1850
1929
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1851
1930
 
1931
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
1932
+ if (!theValue && isNullOrUndefined(theValue)) {
1933
+ return defaultValue;
1934
+ }
1935
+ if (isBoolean(theValue)) {
1936
+ return theValue;
1937
+ }
1938
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
1939
+ }
1940
+ function cfgDfMerge(defaultValue) {
1941
+ return {
1942
+ mrg: true,
1943
+ v: defaultValue
1944
+ };
1945
+ }
1946
+ function cfgDfSet(setter, defaultValue) {
1947
+ return {
1948
+ set: setter,
1949
+ v: defaultValue
1950
+ };
1951
+ }
1952
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
1953
+ return {
1954
+ fb: fallBackName,
1955
+ isVal: validator,
1956
+ v: defaultValue
1957
+ };
1958
+ }
1959
+ function cfgDfBoolean(defaultValue, fallBackName) {
1960
+ return {
1961
+ fb: fallBackName,
1962
+ set: _stringToBoolOrDefault,
1963
+ v: !!defaultValue
1964
+ };
1965
+ }
1966
+ function cfgDfFunc(defaultValue) {
1967
+ return {
1968
+ isVal: isFunction,
1969
+ v: defaultValue || null
1970
+ };
1971
+ }
1972
+ function cfgDfString(defaultValue) {
1973
+ return {
1974
+ isVal: isString,
1975
+ v: asString(defaultValue || STR_EMPTY$1)
1976
+ };
1977
+ }
1978
+ function cfgDfBlockPropValue(defaultValue) {
1979
+ return {
1980
+ blkVal: true,
1981
+ v: defaultValue
1982
+ };
1983
+ }
1984
+
1852
1985
  var strGetPrototypeOf = "getPrototypeOf";
1853
1986
  var rCamelCase = /-([a-z])/g;
1854
1987
  var rNormalizeInvalid = /([^\w\d_$])/g;
@@ -2118,7 +2251,7 @@ function convertAllHeadersToMap(headersString) {
2118
2251
  var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2119
2252
  arrForEach(headersArray, function (headerEntry) {
2120
2253
  if (headerEntry) {
2121
- var idx = headerEntry.indexOf(": ");
2254
+ var idx = headerEntry[_DYN_INDEX_OF ](": ");
2122
2255
  if (idx !== -1) {
2123
2256
  var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2124
2257
  var value = strTrim(headerEntry.substring(idx + 1));
@@ -2464,7 +2597,7 @@ function newId(maxLength) {
2464
2597
  return result;
2465
2598
  }
2466
2599
 
2467
- var version = '3.4.0-nightlybeta.2504-03';
2600
+ var version = '3.4.0-nightlybeta3.2504-17';
2468
2601
  var instanceName = "." + newId(6);
2469
2602
  var _dataUid = 0;
2470
2603
  function _canAcceptData(target) {
@@ -3166,60 +3299,6 @@ function doUnloadAll(targets, isAsync, done) {
3166
3299
  var ChannelControllerPriority = 500;
3167
3300
  var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3168
3301
 
3169
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3170
- if (!theValue && isNullOrUndefined(theValue)) {
3171
- return defaultValue;
3172
- }
3173
- if (isBoolean(theValue)) {
3174
- return theValue;
3175
- }
3176
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3177
- }
3178
- function cfgDfMerge(defaultValue) {
3179
- return {
3180
- mrg: true,
3181
- v: defaultValue
3182
- };
3183
- }
3184
- function cfgDfSet(setter, defaultValue) {
3185
- return {
3186
- set: setter,
3187
- v: defaultValue
3188
- };
3189
- }
3190
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3191
- return {
3192
- fb: fallBackName,
3193
- isVal: validator,
3194
- v: defaultValue
3195
- };
3196
- }
3197
- function cfgDfBoolean(defaultValue, fallBackName) {
3198
- return {
3199
- fb: fallBackName,
3200
- set: _stringToBoolOrDefault,
3201
- v: !!defaultValue
3202
- };
3203
- }
3204
- function cfgDfFunc(defaultValue) {
3205
- return {
3206
- isVal: isFunction,
3207
- v: defaultValue || null
3208
- };
3209
- }
3210
- function cfgDfString(defaultValue) {
3211
- return {
3212
- isVal: isString,
3213
- v: asString(defaultValue || STR_EMPTY$1)
3214
- };
3215
- }
3216
- function cfgDfBlockPropValue(defaultValue) {
3217
- return {
3218
- blkVal: true,
3219
- v: defaultValue
3220
- };
3221
- }
3222
-
3223
3302
  var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3224
3303
  var _aiNamespace = null;
3225
3304
  var _debugListener;
@@ -4102,7 +4181,7 @@ function parseTraceParent(value, selectIdx) {
4102
4181
  if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
4103
4182
  return null;
4104
4183
  }
4105
- if (value.indexOf(",") !== -1) {
4184
+ if (value[_DYN_INDEX_OF ](",") !== -1) {
4106
4185
  var values = value[_DYN_SPLIT ](",");
4107
4186
  value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
4108
4187
  }
@@ -4957,6 +5036,9 @@ var defaultConfig = objDeepFreeze((_a = {
4957
5036
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
4958
5037
  _a.loggingLevelConsole = 0 ,
4959
5038
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
5039
+ _a._sdk = cfgDfMerge({
5040
+ stats: false
5041
+ }),
4960
5042
  _a));
4961
5043
  function _createPerfManager(core, notificationMgr) {
4962
5044
  return new PerfManager(notificationMgr);
@@ -5083,6 +5165,7 @@ var AppInsightsCore = /** @class */ (function () {
5083
5165
  var _logger;
5084
5166
  var _eventQueue;
5085
5167
  var _notificationManager;
5168
+ var _statsBeat;
5086
5169
  var _perfManager;
5087
5170
  var _cfgPerfManager;
5088
5171
  var _cookieManager;
@@ -5107,6 +5190,7 @@ var AppInsightsCore = /** @class */ (function () {
5107
5190
  var _endpoint;
5108
5191
  var _initInMemoMaxSize;
5109
5192
  var _isStatusSet;
5193
+ var _initTimer;
5110
5194
  var _internalLogPoller;
5111
5195
  var _internalLogPollerListening;
5112
5196
  var _forceStopInternalLogPoller;
@@ -5131,83 +5215,8 @@ var AppInsightsCore = /** @class */ (function () {
5131
5215
  config = _configHandler.cfg;
5132
5216
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5133
5217
  var rootCfg = details.cfg;
5134
- var isPending = _activeStatus === 3 ;
5135
- if (isPending) {
5136
- return;
5137
- }
5138
5218
  _initInMemoMaxSize = rootCfg.initInMemoMaxSize || maxInitQueueSize;
5139
- var ikey = rootCfg.instrumentationKey;
5140
- var endpointUrl = rootCfg.endpointUrl;
5141
- if (isNullOrUndefined(ikey)) {
5142
- _instrumentationKey = null;
5143
- _activeStatus = ActiveStatus.INACTIVE;
5144
- var msg = "Please provide instrumentation key";
5145
- if (!_isInitialized) {
5146
- throwError(msg);
5147
- }
5148
- else {
5149
- _throwInternal(_logger, 1 , 100 , msg);
5150
- _releaseQueues();
5151
- }
5152
- return;
5153
- }
5154
- var promises = [];
5155
- if (isPromiseLike(ikey)) {
5156
- promises[_DYN_PUSH ](ikey);
5157
- _instrumentationKey = null;
5158
- }
5159
- else {
5160
- _instrumentationKey = ikey;
5161
- }
5162
- if (isPromiseLike(endpointUrl)) {
5163
- promises[_DYN_PUSH ](endpointUrl);
5164
- _endpoint = null;
5165
- }
5166
- else {
5167
- _endpoint = endpointUrl;
5168
- }
5169
- if (promises[_DYN_LENGTH ]) {
5170
- _isStatusSet = false;
5171
- _activeStatus = 3 ;
5172
- var initTimeout = isNotNullOrUndefined(rootCfg.initTimeOut) ? rootCfg.initTimeOut : maxInitTimeout;
5173
- var allPromises = createSyncAllSettledPromise(promises);
5174
- scheduleTimeout(function () {
5175
- if (!_isStatusSet) {
5176
- _setStatus();
5177
- }
5178
- }, initTimeout);
5179
- doAwaitResponse(allPromises, function (response) {
5180
- try {
5181
- if (_isStatusSet) {
5182
- return;
5183
- }
5184
- if (!response.rejected) {
5185
- var values = response[_DYN_VALUE ];
5186
- if (values && values[_DYN_LENGTH ]) {
5187
- var ikeyRes = values[0];
5188
- _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
5189
- if (values[_DYN_LENGTH ] > 1) {
5190
- var endpointRes = values[1];
5191
- _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
5192
- }
5193
- }
5194
- if (_instrumentationKey) {
5195
- config.instrumentationKey = _instrumentationKey;
5196
- config.endpointUrl = _endpoint;
5197
- }
5198
- }
5199
- _setStatus();
5200
- }
5201
- catch (e) {
5202
- if (!_isStatusSet) {
5203
- _setStatus();
5204
- }
5205
- }
5206
- });
5207
- }
5208
- else {
5209
- _setStatus();
5210
- }
5219
+ _handleIKeyEndpointPromises(rootCfg);
5211
5220
  var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);
5212
5221
  objForEachKey(extCfg, function (key) {
5213
5222
  details.ref(extCfg, key);
@@ -5301,6 +5310,9 @@ var AppInsightsCore = /** @class */ (function () {
5301
5310
  _self[STR_GET_PERF_MGR ] = function () {
5302
5311
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
5303
5312
  };
5313
+ _self.getStatsBeat = function (statsBeatConfig) {
5314
+ return _statsBeat;
5315
+ };
5304
5316
  _self.setPerfMgr = function (perfMgr) {
5305
5317
  _perfManager = perfMgr;
5306
5318
  };
@@ -5328,6 +5340,89 @@ var AppInsightsCore = /** @class */ (function () {
5328
5340
  _internalLogPoller && _internalLogPoller[_DYN_CANCEL ]();
5329
5341
  return _startLogPoller(true);
5330
5342
  };
5343
+ function _handleIKeyEndpointPromises(theConfig) {
5344
+ var ikey = theConfig.instrumentationKey;
5345
+ var endpointUrl = theConfig.endpointUrl;
5346
+ if (_activeStatus !== 3 ) {
5347
+ if (isNullOrUndefined(ikey)) {
5348
+ _instrumentationKey = null;
5349
+ _activeStatus = ActiveStatus.INACTIVE;
5350
+ var msg = "Please provide instrumentation key";
5351
+ if (!_isInitialized) {
5352
+ throwError(msg);
5353
+ }
5354
+ else {
5355
+ _throwInternal(_logger, 1 , 100 , msg);
5356
+ _releaseQueues();
5357
+ }
5358
+ return;
5359
+ }
5360
+ var promises = [];
5361
+ if (isPromiseLike(ikey)) {
5362
+ promises[_DYN_PUSH ](ikey);
5363
+ _instrumentationKey = null;
5364
+ }
5365
+ else {
5366
+ _instrumentationKey = ikey;
5367
+ }
5368
+ if (isPromiseLike(endpointUrl)) {
5369
+ promises[_DYN_PUSH ](endpointUrl);
5370
+ _endpoint = null;
5371
+ }
5372
+ else {
5373
+ _endpoint = endpointUrl;
5374
+ }
5375
+ if (promises[_DYN_LENGTH ]) {
5376
+ _waitForInitPromises(theConfig, promises);
5377
+ }
5378
+ else {
5379
+ _setStatus();
5380
+ }
5381
+ }
5382
+ }
5383
+ function _waitForInitPromises(theConfig, promises) {
5384
+ _isStatusSet = false;
5385
+ _activeStatus = 3 ;
5386
+ var initTimeout = isNotNullOrUndefined(theConfig.initTimeOut) ? theConfig.initTimeOut : maxInitTimeout;
5387
+ var allPromises = createSyncAllSettledPromise(promises);
5388
+ if (_initTimer) {
5389
+ _initTimer[_DYN_CANCEL ]();
5390
+ }
5391
+ _initTimer = scheduleTimeout(function () {
5392
+ _initTimer = null;
5393
+ if (!_isStatusSet) {
5394
+ _setStatus();
5395
+ }
5396
+ }, initTimeout);
5397
+ doAwaitResponse(allPromises, function (response) {
5398
+ try {
5399
+ if (_isStatusSet) {
5400
+ return;
5401
+ }
5402
+ if (!response.rejected) {
5403
+ var values = response[_DYN_VALUE ];
5404
+ if (values && values[_DYN_LENGTH ]) {
5405
+ var ikeyRes = values[0];
5406
+ _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
5407
+ if (values[_DYN_LENGTH ] > 1) {
5408
+ var endpointRes = values[1];
5409
+ _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
5410
+ }
5411
+ }
5412
+ if (_instrumentationKey) {
5413
+ theConfig.instrumentationKey = _instrumentationKey;
5414
+ theConfig.endpointUrl = _endpoint;
5415
+ }
5416
+ }
5417
+ _setStatus();
5418
+ }
5419
+ catch (e) {
5420
+ if (!_isStatusSet) {
5421
+ _setStatus();
5422
+ }
5423
+ }
5424
+ });
5425
+ }
5331
5426
  function _setStatus() {
5332
5427
  _isStatusSet = true;
5333
5428
  if (isNullOrUndefined(_instrumentationKey)) {
@@ -5596,6 +5691,7 @@ var AppInsightsCore = /** @class */ (function () {
5596
5691
  runTargetUnload(_notificationManager, false);
5597
5692
  _notificationManager = null;
5598
5693
  _perfManager = null;
5694
+ _statsBeat = null;
5599
5695
  _cfgPerfManager = null;
5600
5696
  runTargetUnload(_cookieManager, false);
5601
5697
  _cookieManager = null;
@@ -5620,6 +5716,7 @@ var AppInsightsCore = /** @class */ (function () {
5620
5716
  _endpoint = null;
5621
5717
  _initInMemoMaxSize = null;
5622
5718
  _isStatusSet = false;
5719
+ _initTimer = null;
5623
5720
  }
5624
5721
  function _createTelCtx() {
5625
5722
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -6176,8 +6273,13 @@ var SenderPostManager = /** @class */ (function () {
6176
6273
  resolveFunc && resolveFunc(false);
6177
6274
  return;
6178
6275
  }
6179
- function _handleError(res) {
6180
- _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
6276
+ function _handleError(res, statusCode) {
6277
+ if (statusCode) {
6278
+ _doOnComplete(oncomplete, _isOneDs ? 0 : statusCode, {}, _isOneDs ? STR_EMPTY : res);
6279
+ }
6280
+ else {
6281
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
6282
+ }
6181
6283
  }
6182
6284
  function _onFetchComplete(response, payload, value) {
6183
6285
  var status = response[_DYN_STATUS ];
@@ -6201,7 +6303,12 @@ var SenderPostManager = /** @class */ (function () {
6201
6303
  var response_1 = result[_DYN_VALUE ];
6202
6304
  try {
6203
6305
  if (!_isOneDs && !response_1.ok) {
6204
- _handleError(response_1.statusText);
6306
+ if (response_1[_DYN_STATUS ]) {
6307
+ _handleError(response_1.statusText, response_1[_DYN_STATUS ]);
6308
+ }
6309
+ else {
6310
+ _handleError(response_1.statusText, 499);
6311
+ }
6205
6312
  resolveFunc && resolveFunc(false);
6206
6313
  }
6207
6314
  else {
@@ -6218,12 +6325,17 @@ var SenderPostManager = /** @class */ (function () {
6218
6325
  }
6219
6326
  }
6220
6327
  catch (e) {
6221
- _handleError(dumpObj(e));
6328
+ if (response_1 && response_1[_DYN_STATUS ]) {
6329
+ _handleError(dumpObj(e), response_1[_DYN_STATUS ]);
6330
+ }
6331
+ else {
6332
+ _handleError(dumpObj(e), 499);
6333
+ }
6222
6334
  rejectFunc && rejectFunc(e);
6223
6335
  }
6224
6336
  }
6225
6337
  else {
6226
- _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
6338
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ], 499);
6227
6339
  rejectFunc && rejectFunc(result.reason);
6228
6340
  }
6229
6341
  }
@@ -6231,7 +6343,7 @@ var SenderPostManager = /** @class */ (function () {
6231
6343
  }
6232
6344
  catch (e) {
6233
6345
  if (!responseHandled) {
6234
- _handleError(dumpObj(e));
6346
+ _handleError(dumpObj(e), 499);
6235
6347
  rejectFunc && rejectFunc(e);
6236
6348
  }
6237
6349
  }