@microsoft/applicationinsights-core-js 3.4.0-nightlybeta3.2504-05 → 3.4.0-nightlybeta3.2504-20

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,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2504-05
2
+ * Application Insights JavaScript SDK - Core, 3.4.0-nightlybeta3.2504-20
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2504_05", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2504-05";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_4_0_nightlybeta3_2504_20", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.4.0-nightlybeta3.2504-20";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -32,7 +32,7 @@
32
32
 
33
33
  var MinChannelPriorty = 100;
34
34
 
35
- /*! https://github.com/nevware21/ts-utils v0.11.8 */
35
+ /*! https://github.com/nevware21/ts-utils v0.12.2 */
36
36
  /*#__NO_SIDE_EFFECTS__*/
37
37
  function _pureAssign(func1, func2) {
38
38
  return func1 || func2;
@@ -51,7 +51,6 @@ var __PROTO__ = "__proto__";
51
51
  var UNDEFINED = "undefined";
52
52
  var CONSTRUCTOR = "constructor";
53
53
  var SYMBOL = "Symbol";
54
- var POLYFILL_TAG = "_polyfill";
55
54
  var LENGTH = "length";
56
55
  var NAME = "name";
57
56
  var CALL = "call";
@@ -64,6 +63,11 @@ var MathCls = ( /*#__PURE__*/_pureAssign(Math));
64
63
  var ArrCls = ( /*#__PURE__*/_pureAssign(Array));
65
64
  var ArrProto = ( /*#__PURE__*/_pureRef(ArrCls, PROTOTYPE));
66
65
  var ArrSlice = ( /*#__PURE__*/_pureRef(ArrProto, "slice"));
66
+ var POLYFILL_TAG = "_polyfill";
67
+ var POLYFILL_TYPE_NAME = "__nw21$polytype__";
68
+ function _isPolyfillType(obj, polyfillTypeName) {
69
+ return !!(obj && obj[POLYFILL_TYPE_NAME] === polyfillTypeName);
70
+ }
67
71
  function safe(func, argArray) {
68
72
  try {
69
73
  return {
@@ -87,6 +91,12 @@ function _createIs(theType) {
87
91
  };
88
92
  }
89
93
  /*#__NO_SIDE_EFFECTS__*/
94
+ function _createIsWithPoly(theType) {
95
+ return function (value) {
96
+ return typeof value === theType || _isPolyfillType(value, theType);
97
+ };
98
+ }
99
+ /*#__NO_SIDE_EFFECTS__*/
90
100
  function _createObjIs(theName) {
91
101
  var theType = "[object " + theName + "]";
92
102
  return function (value) {
@@ -107,7 +117,7 @@ function isUndefined(value) {
107
117
  }
108
118
  /*#__NO_SIDE_EFFECTS__*/
109
119
  function isStrictUndefined(arg) {
110
- return !isDefined(arg);
120
+ return arg === UNDEF_VALUE;
111
121
  }
112
122
  /*#__NO_SIDE_EFFECTS__*/
113
123
  function isNullOrUndefined(value) {
@@ -115,7 +125,7 @@ function isNullOrUndefined(value) {
115
125
  }
116
126
  /*#__NO_SIDE_EFFECTS__*/
117
127
  function isStrictNullOrUndefined(value) {
118
- return value === NULL_VALUE || !isDefined(value);
128
+ return value === NULL_VALUE || value === UNDEF_VALUE;
119
129
  }
120
130
  /*#__NO_SIDE_EFFECTS__*/
121
131
  function isDefined(arg) {
@@ -152,18 +162,56 @@ function isNotTruthy(value) {
152
162
  function isTruthy(value) {
153
163
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
154
164
  }
155
- var objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureRef(ObjClass$1, "getOwnPropertyDescriptor"));
165
+ var asString = ( /* #__PURE__ */_pureAssign(StrCls));
166
+ var ERROR_TYPE = "[object Error]";
167
+ /*#__NO_SIDE_EFFECTS__*/
168
+ function dumpObj(object, format) {
169
+ var propertyValueDump = EMPTY;
170
+ var objType = ObjProto[TO_STRING][CALL](object);
171
+ if (objType === ERROR_TYPE) {
172
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
173
+ }
174
+ try {
175
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
176
+ propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
177
+ }
178
+ catch (e) {
179
+ propertyValueDump = " - " + dumpObj(e, format);
180
+ }
181
+ return objType + ": " + propertyValueDump;
182
+ }
183
+ function throwError(message) {
184
+ throw new Error(message);
185
+ }
186
+ function throwTypeError(message) {
187
+ throw new TypeError(message);
188
+ }
189
+ function _throwIfNullOrUndefined(obj) {
190
+ if (isStrictNullOrUndefined(obj)) {
191
+ throwTypeError("Cannot convert undefined or null to object");
192
+ }
193
+ }
194
+ function _throwIfNotString(value) {
195
+ if (!isString(value)) {
196
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
197
+ }
198
+ }
199
+ function _returnNothing() {
200
+ return UNDEF_VALUE;
201
+ }
202
+ var objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "getOwnPropertyDescriptor")), _returnNothing));
156
203
  /*#__NO_SIDE_EFFECTS__*/
157
204
  function objHasOwnProperty(obj, prop) {
158
205
  return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
159
206
  }
160
- var objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
161
207
  /*#__NO_SIDE_EFFECTS__*/
162
208
  function polyObjHasOwn(obj, prop) {
209
+ _throwIfNullOrUndefined(obj);
163
210
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
164
211
  }
212
+ var objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
165
213
  function objForEachKey(theObject, callbackfn, thisArg) {
166
- if (theObject && isObject(theObject)) {
214
+ if (theObject && (isObject(theObject) || isFunction(theObject))) {
167
215
  for (var prop in theObject) {
168
216
  if (objHasOwn(theObject, prop)) {
169
217
  if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
@@ -173,6 +221,37 @@ function objForEachKey(theObject, callbackfn, thisArg) {
173
221
  }
174
222
  }
175
223
  }
224
+ function arrForEach(theArray, callbackfn, thisArg) {
225
+ if (theArray) {
226
+ var len = theArray[LENGTH] >>> 0;
227
+ for (var idx = 0; idx < len; idx++) {
228
+ if (idx in theArray) {
229
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
230
+ break;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
236
+ var _unwrapFunction = ( _unwrapFunctionWithPoly);
237
+ /*#__NO_SIDE_EFFECTS__*/
238
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
239
+ var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
240
+ return function (thisArg) {
241
+ var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
242
+ if (theFunc || polyFunc) {
243
+ var theArgs = arguments;
244
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
245
+ }
246
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
247
+ };
248
+ }
249
+ /*#__NO_SIDE_EFFECTS__*/
250
+ function _unwrapProp(propName) {
251
+ return function (thisArg) {
252
+ return thisArg[propName];
253
+ };
254
+ }
176
255
  var propMap = {
177
256
  e: "enumerable",
178
257
  c: "configurable",
@@ -201,6 +280,7 @@ function _createProp(value) {
201
280
  return prop;
202
281
  }
203
282
  var objDefineProp = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperty"));
283
+ var objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperties"));
204
284
  function objDefineAccessors(target, prop, getProp, setProp, configurable, enumerable) {
205
285
  var desc = {
206
286
  e: enumerable,
@@ -233,49 +313,38 @@ function _assignMapValue(theMap, key, value, writable) {
233
313
  writable: false
234
314
  });
235
315
  }
236
- var asString = ( /* #__PURE__ */_pureAssign(StrCls));
237
- var ERROR_TYPE = "[object Error]";
238
- /*#__NO_SIDE_EFFECTS__*/
239
- function dumpObj(object, format) {
240
- var propertyValueDump = EMPTY;
241
- var objType = ObjProto[TO_STRING][CALL](object);
242
- if (objType === ERROR_TYPE) {
243
- object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
244
- }
245
- try {
246
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
247
- propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
248
- }
249
- catch (e) {
250
- propertyValueDump = " - " + dumpObj(e, format);
251
- }
252
- return objType + ": " + propertyValueDump;
253
- }
254
- function throwError(message) {
255
- throw new Error(message);
256
- }
257
- function throwTypeError(message) {
258
- throw new TypeError(message);
316
+ function _returnFalse() {
317
+ return false;
259
318
  }
319
+ var objIsFrozen = ( /* #__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "isFrozen")), _returnFalse));
260
320
  var _objFreeze = ( /* #__PURE__ */_pureRef(ObjClass$1, "freeze"));
261
321
  function _doNothing(value) {
262
322
  return value;
263
323
  }
264
324
  /*#__NO_SIDE_EFFECTS__*/
265
325
  function _getProto(value) {
326
+ _throwIfNullOrUndefined(value);
266
327
  return value[__PROTO__] || NULL_VALUE;
267
328
  }
268
329
  var objAssign = ( /*#__PURE__*/_pureRef(ObjClass$1, "assign"));
269
330
  var objKeys = ( /*#__PURE__*/_pureRef(ObjClass$1, "keys"));
270
- function objDeepFreeze(value) {
271
- if (_objFreeze) {
272
- objForEachKey(value, function (key, value) {
273
- if (isArray(value) || isObject(value)) {
274
- objDeepFreeze(value);
331
+ function _deepFreeze(val, visited) {
332
+ if ((isArray(val) || isObject(val) || isFunction(val)) && !objIsFrozen(val)) {
333
+ for (var lp = 0; lp < visited.length; lp++) {
334
+ if (visited[lp] === val) {
335
+ return val;
275
336
  }
337
+ }
338
+ visited.push(val);
339
+ objForEachKey(val, function (_key, propValue) {
340
+ _deepFreeze(propValue, visited);
276
341
  });
342
+ objFreeze(val);
277
343
  }
278
- return objFreeze(value);
344
+ return val;
345
+ }
346
+ function objDeepFreeze(value) {
347
+ return _objFreeze ? _deepFreeze(value, []) : value;
279
348
  }
280
349
  var objFreeze = ( /* #__PURE__*/_pureAssign(_objFreeze, _doNothing));
281
350
  var objSeal = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "seal")), _doNothing));
@@ -343,34 +412,13 @@ function _getGlobalConfig() {
343
412
  }
344
413
  return _globalCfg;
345
414
  }
346
- var _unwrapFunction = ( _unwrapFunctionWithPoly);
347
- /*#__NO_SIDE_EFFECTS__*/
348
- function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
349
- var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
350
- return function (thisArg) {
351
- var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
352
- if (theFunc || polyFunc) {
353
- var theArgs = arguments;
354
- return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
355
- }
356
- throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
357
- };
358
- }
359
- /*#__NO_SIDE_EFFECTS__*/
360
- function _unwrapProp(propName) {
361
- return function (thisArg) {
362
- return thisArg[propName];
363
- };
364
- }
365
415
  var mathMax = ( /*#__PURE__*/_pureRef(MathCls, "max"));
366
416
  var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
367
417
  var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
368
418
  var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
369
419
  /*#__NO_SIDE_EFFECTS__*/
370
420
  function polyStrSubstr(value, start, length) {
371
- if (isNullOrUndefined(value)) {
372
- throwTypeError("Invalid " + dumpObj(value));
373
- }
421
+ _throwIfNullOrUndefined(value);
374
422
  if (length < 0) {
375
423
  return EMPTY;
376
424
  }
@@ -387,8 +435,94 @@ function polyStrSubstr(value, start, length) {
387
435
  function strLeft(value, count) {
388
436
  return strSubstring(value, 0, count);
389
437
  }
438
+ function _tagAsPolyfill(target, polyfillTypeName) {
439
+ if (target) {
440
+ safe(function () {
441
+ target[POLYFILL_TAG] = true;
442
+ target[POLYFILL_TYPE_NAME] = polyfillTypeName;
443
+ });
444
+ safe(objDefine, [target, POLYFILL_TAG, {
445
+ v: true,
446
+ w: false,
447
+ e: false
448
+ }]);
449
+ safe(objDefine, [target, POLYFILL_TYPE_NAME, {
450
+ v: polyfillTypeName,
451
+ w: false,
452
+ e: false
453
+ }]);
454
+ }
455
+ return target;
456
+ }
457
+ var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
458
+ /*#__NO_SIDE_EFFECTS__*/
459
+ function polyObjCreate(obj, properties) {
460
+ var newObj = null;
461
+ function tempFunc() { }
462
+ if (!isStrictNullOrUndefined(obj)) {
463
+ var type = typeof obj;
464
+ if (type !== OBJECT && type !== FUNCTION) {
465
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
466
+ }
467
+ tempFunc[PROTOTYPE] = obj;
468
+ safe(function () {
469
+ tempFunc[__PROTO__] = obj;
470
+ });
471
+ newObj = new tempFunc();
472
+ }
473
+ else {
474
+ newObj = {};
475
+ }
476
+ if (properties) {
477
+ safe(objDefineProperties, [newObj, properties]);
478
+ }
479
+ return newObj;
480
+ }
481
+ /*#__NO_SIDE_EFFECTS__*/
482
+ function utcNow() {
483
+ return (Date.now || polyUtcNow)();
484
+ }
485
+ /*#__NO_SIDE_EFFECTS__*/
486
+ function polyUtcNow() {
487
+ return new Date().getTime();
488
+ }
489
+ var _globalLazyTestHooks;
490
+ function _initTestHooks() {
491
+ _globalLazyTestHooks = _getGlobalConfig();
492
+ }
493
+ /*#__NO_SIDE_EFFECTS__*/
494
+ function getLazy(cb) {
495
+ var lazyValue = {};
496
+ !_globalLazyTestHooks && _initTestHooks();
497
+ lazyValue.b = _globalLazyTestHooks.lzy;
498
+ objDefineProp(lazyValue, "v", {
499
+ configurable: true,
500
+ get: function () {
501
+ var result = cb();
502
+ if (!_globalLazyTestHooks.lzy) {
503
+ objDefineProp(lazyValue, "v", {
504
+ value: result
505
+ });
506
+ }
507
+ lazyValue.b = _globalLazyTestHooks.lzy;
508
+ return result;
509
+ }
510
+ });
511
+ return lazyValue;
512
+ }
513
+ var mathRandom = ( /*#__PURE__*/_pureRef(MathCls, "random"));
514
+ var _uniqueInstanceId = ( /*#__PURE__*/getLazy(function () {
515
+ var value = (utcNow().toString(36).slice(2));
516
+ while (value.length < 16) {
517
+ value += mathRandom().toString(36).slice(2);
518
+ }
519
+ value = value.substring(0, 16);
520
+ return value;
521
+ }));
390
522
  var UNIQUE_REGISTRY_ID = "_urid";
523
+ var POLY_SYM = "$nw21sym";
391
524
  var _polySymbols;
525
+ var _polyId = 0;
392
526
  /*#__NO_SIDE_EFFECTS__*/
393
527
  function _globalSymbolRegistry() {
394
528
  if (!_polySymbols) {
@@ -400,12 +534,22 @@ function _globalSymbolRegistry() {
400
534
  var _wellKnownSymbolCache;
401
535
  /*#__NO_SIDE_EFFECTS__*/
402
536
  function polyNewSymbol(description) {
403
- var theSymbol = {
404
- description: asString(description),
405
- toString: function () { return SYMBOL + "(" + description + ")"; }
406
- };
407
- theSymbol[POLYFILL_TAG] = true;
408
- return theSymbol;
537
+ var uniqueId = "_" + _polyId++ + "_" + _uniqueInstanceId.v;
538
+ var symString = SYMBOL + "(" + description + ")";
539
+ function _setProp(name, value) {
540
+ objDefine(theSymbol, name, {
541
+ v: value,
542
+ e: false,
543
+ w: false
544
+ });
545
+ }
546
+ var theSymbol = objCreate(null);
547
+ _setProp("description", asString(description));
548
+ _setProp(TO_STRING, function () { return symString + POLY_SYM + uniqueId; });
549
+ _setProp("valueOf", function () { return theSymbol; });
550
+ _setProp("v", symString);
551
+ _setProp("_uid", uniqueId);
552
+ return _tagAsPolyfill(theSymbol, "symbol");
409
553
  }
410
554
  /*#__NO_SIDE_EFFECTS__*/
411
555
  function polySymbolFor(key) {
@@ -429,30 +573,6 @@ function polyGetKnownSymbol(name) {
429
573
  }
430
574
  return result;
431
575
  }
432
- var _globalLazyTestHooks;
433
- function _initTestHooks() {
434
- _globalLazyTestHooks = _getGlobalConfig();
435
- }
436
- /*#__NO_SIDE_EFFECTS__*/
437
- function getLazy(cb) {
438
- var lazyValue = {};
439
- !_globalLazyTestHooks && _initTestHooks();
440
- lazyValue.b = _globalLazyTestHooks.lzy;
441
- objDefineProp(lazyValue, "v", {
442
- configurable: true,
443
- get: function () {
444
- var result = cb();
445
- if (!_globalLazyTestHooks.lzy) {
446
- objDefineProp(lazyValue, "v", {
447
- value: result
448
- });
449
- }
450
- lazyValue.b = _globalLazyTestHooks.lzy;
451
- return result;
452
- }
453
- });
454
- return lazyValue;
455
- }
456
576
  /*#__NO_SIDE_EFFECTS__*/
457
577
  function createCachedValue(value) {
458
578
  return objDefineProp({
@@ -533,7 +653,7 @@ function _getSymbolKey(key) {
533
653
  var gblSym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());
534
654
  return (gblSym.v ? gblSym.v[key] : UNDEF_VALUE);
535
655
  }
536
- var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
656
+ var isSymbol = ( /*#__PURE__*/_createIsWithPoly("symbol"));
537
657
  /*#__NO_SIDE_EFFECTS__*/
538
658
  function hasSymbol() {
539
659
  return !!( /*#__PURE__*/getSymbol());
@@ -630,47 +750,19 @@ function arrAppend(target, elms) {
630
750
  }
631
751
  return target;
632
752
  }
633
- function arrForEach(theArray, callbackfn, thisArg) {
634
- if (theArray) {
635
- var len = theArray[LENGTH] >>> 0;
636
- for (var idx = 0; idx < len; idx++) {
637
- if (idx in theArray) {
638
- if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
639
- break;
640
- }
641
- }
642
- }
643
- }
644
- }
645
753
  var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
646
754
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
647
755
  function arrSlice(theArray, start, end) {
648
756
  return ((theArray ? theArray["slice"] : NULL_VALUE) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
649
757
  }
650
758
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
651
- var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
652
- /*#__NO_SIDE_EFFECTS__*/
653
- function polyObjCreate(obj) {
654
- if (!obj) {
655
- return {};
656
- }
657
- var type = typeof obj;
658
- if (type !== OBJECT && type !== FUNCTION) {
659
- throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
660
- }
661
- function tempFunc() { }
662
- tempFunc[PROTOTYPE] = obj;
663
- return new tempFunc();
664
- }
665
759
  var _isProtoArray;
666
- function objSetPrototypeOf(obj, proto) {
667
- var fn = ObjClass$1["setPrototypeOf"] ||
668
- function (d, b) {
669
- var _a;
670
- !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
671
- _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
672
- };
673
- return fn(obj, proto);
760
+ var objSetPrototypeOf = ( /* #__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "setPrototypeOf")), _polyObjSetPrototypeOf));
761
+ function _polyObjSetPrototypeOf(obj, proto) {
762
+ var _a;
763
+ !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
764
+ _isProtoArray.v ? obj[__PROTO__] = proto : objForEachKey(proto, function (key, value) { return obj[key] = value; });
765
+ return obj;
674
766
  }
675
767
  /*#__NO_SIDE_EFFECTS__*/
676
768
  function _createCustomError(name, d, b) {
@@ -713,19 +805,9 @@ function createCustomError(name, constructCb, errorBase) {
713
805
  }, theBaseClass);
714
806
  }
715
807
  /*#__NO_SIDE_EFFECTS__*/
716
- function utcNow() {
717
- return (Date.now || polyUtcNow)();
718
- }
719
- /*#__NO_SIDE_EFFECTS__*/
720
- function polyUtcNow() {
721
- return new Date().getTime();
722
- }
723
- /*#__NO_SIDE_EFFECTS__*/
724
808
  function _createTrimFn(exp) {
725
809
  return function _doTrim(value) {
726
- if (isNullOrUndefined(value)) {
727
- throwTypeError("strTrim called [" + dumpObj(value) + "]");
728
- }
810
+ _throwIfNullOrUndefined(value);
729
811
  if (value && value.replace) {
730
812
  value = value.replace(exp, EMPTY);
731
813
  }
@@ -937,9 +1019,7 @@ function perfNow() {
937
1019
  var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
938
1020
  /*#__NO_SIDE_EFFECTS__*/
939
1021
  function polyStrEndsWith(value, searchString, length) {
940
- if (!isString(value)) {
941
- throwTypeError("'" + dumpObj(value) + "' is not a string");
942
- }
1022
+ _throwIfNotString(value);
943
1023
  var searchValue = isString(searchString) ? searchString : asString(searchString);
944
1024
  var end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];
945
1025
  return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
@@ -948,9 +1028,7 @@ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
948
1028
  var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
949
1029
  /*#__NO_SIDE_EFFECTS__*/
950
1030
  function polyStrStartsWith(value, searchString, position) {
951
- if (!isString(value)) {
952
- throwTypeError("'" + dumpObj(value) + "' is not a string");
953
- }
1031
+ _throwIfNotString(value);
954
1032
  var searchValue = isString(searchString) ? searchString : asString(searchString);
955
1033
  var pos = position > 0 ? position : 0;
956
1034
  return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
@@ -1082,12 +1160,12 @@ var _DYN_IDENTIFIER = "identifier";
1082
1160
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1083
1161
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1084
1162
  var _DYN_IS_INITIALIZED = "isInitialized";
1085
- var _DYN_VALUE = "value";
1086
1163
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1087
1164
  var _DYN_GET_PLUGIN = "getPlugin";
1088
1165
  var _DYN_NAME = "name";
1089
1166
  var _DYN_PROCESS_NEXT = "processNext";
1090
1167
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1168
+ var _DYN_VALUE = "value";
1091
1169
  var _DYN_ENABLED = "enabled";
1092
1170
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1093
1171
  var _DYN_UNLOAD = "unload";
@@ -1109,6 +1187,7 @@ var _DYN_REPLACE = "replace";
1109
1187
  var _DYN_TYPE = "type";
1110
1188
  var _DYN_EVT_NAME = "evtName";
1111
1189
  var _DYN_STATUS = "status";
1190
+ var _DYN_INDEX_OF = "indexOf";
1112
1191
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1113
1192
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1114
1193
  var _DYN_DATA = "data";
@@ -1853,6 +1932,60 @@ var STR_DOMAIN = "domain";
1853
1932
  var STR_PATH = "path";
1854
1933
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1855
1934
 
1935
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
1936
+ if (!theValue && isNullOrUndefined(theValue)) {
1937
+ return defaultValue;
1938
+ }
1939
+ if (isBoolean(theValue)) {
1940
+ return theValue;
1941
+ }
1942
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
1943
+ }
1944
+ function cfgDfMerge(defaultValue) {
1945
+ return {
1946
+ mrg: true,
1947
+ v: defaultValue
1948
+ };
1949
+ }
1950
+ function cfgDfSet(setter, defaultValue) {
1951
+ return {
1952
+ set: setter,
1953
+ v: defaultValue
1954
+ };
1955
+ }
1956
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
1957
+ return {
1958
+ fb: fallBackName,
1959
+ isVal: validator,
1960
+ v: defaultValue
1961
+ };
1962
+ }
1963
+ function cfgDfBoolean(defaultValue, fallBackName) {
1964
+ return {
1965
+ fb: fallBackName,
1966
+ set: _stringToBoolOrDefault,
1967
+ v: !!defaultValue
1968
+ };
1969
+ }
1970
+ function cfgDfFunc(defaultValue) {
1971
+ return {
1972
+ isVal: isFunction,
1973
+ v: defaultValue || null
1974
+ };
1975
+ }
1976
+ function cfgDfString(defaultValue) {
1977
+ return {
1978
+ isVal: isString,
1979
+ v: asString(defaultValue || STR_EMPTY$1)
1980
+ };
1981
+ }
1982
+ function cfgDfBlockPropValue(defaultValue) {
1983
+ return {
1984
+ blkVal: true,
1985
+ v: defaultValue
1986
+ };
1987
+ }
1988
+
1856
1989
  var strGetPrototypeOf = "getPrototypeOf";
1857
1990
  var rCamelCase = /-([a-z])/g;
1858
1991
  var rNormalizeInvalid = /([^\w\d_$])/g;
@@ -2122,7 +2255,7 @@ function convertAllHeadersToMap(headersString) {
2122
2255
  var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2123
2256
  arrForEach(headersArray, function (headerEntry) {
2124
2257
  if (headerEntry) {
2125
- var idx = headerEntry.indexOf(": ");
2258
+ var idx = headerEntry[_DYN_INDEX_OF ](": ");
2126
2259
  if (idx !== -1) {
2127
2260
  var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2128
2261
  var value = strTrim(headerEntry.substring(idx + 1));
@@ -2468,7 +2601,7 @@ function newId(maxLength) {
2468
2601
  return result;
2469
2602
  }
2470
2603
 
2471
- var version = '3.4.0-nightlybeta3.2504-05';
2604
+ var version = '3.4.0-nightlybeta3.2504-20';
2472
2605
  var instanceName = "." + newId(6);
2473
2606
  var _dataUid = 0;
2474
2607
  function _canAcceptData(target) {
@@ -3170,60 +3303,6 @@ function doUnloadAll(targets, isAsync, done) {
3170
3303
  var ChannelControllerPriority = 500;
3171
3304
  var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3172
3305
 
3173
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3174
- if (!theValue && isNullOrUndefined(theValue)) {
3175
- return defaultValue;
3176
- }
3177
- if (isBoolean(theValue)) {
3178
- return theValue;
3179
- }
3180
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3181
- }
3182
- function cfgDfMerge(defaultValue) {
3183
- return {
3184
- mrg: true,
3185
- v: defaultValue
3186
- };
3187
- }
3188
- function cfgDfSet(setter, defaultValue) {
3189
- return {
3190
- set: setter,
3191
- v: defaultValue
3192
- };
3193
- }
3194
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3195
- return {
3196
- fb: fallBackName,
3197
- isVal: validator,
3198
- v: defaultValue
3199
- };
3200
- }
3201
- function cfgDfBoolean(defaultValue, fallBackName) {
3202
- return {
3203
- fb: fallBackName,
3204
- set: _stringToBoolOrDefault,
3205
- v: !!defaultValue
3206
- };
3207
- }
3208
- function cfgDfFunc(defaultValue) {
3209
- return {
3210
- isVal: isFunction,
3211
- v: defaultValue || null
3212
- };
3213
- }
3214
- function cfgDfString(defaultValue) {
3215
- return {
3216
- isVal: isString,
3217
- v: asString(defaultValue || STR_EMPTY$1)
3218
- };
3219
- }
3220
- function cfgDfBlockPropValue(defaultValue) {
3221
- return {
3222
- blkVal: true,
3223
- v: defaultValue
3224
- };
3225
- }
3226
-
3227
3306
  var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3228
3307
  var _aiNamespace = null;
3229
3308
  var _debugListener;
@@ -4106,7 +4185,7 @@ function parseTraceParent(value, selectIdx) {
4106
4185
  if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
4107
4186
  return null;
4108
4187
  }
4109
- if (value.indexOf(",") !== -1) {
4188
+ if (value[_DYN_INDEX_OF ](",") !== -1) {
4110
4189
  var values = value[_DYN_SPLIT ](",");
4111
4190
  value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
4112
4191
  }
@@ -4961,6 +5040,9 @@ var defaultConfig = objDeepFreeze((_a = {
4961
5040
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
4962
5041
  _a.loggingLevelConsole = 0 ,
4963
5042
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
5043
+ _a._sdk = cfgDfMerge({
5044
+ stats: false
5045
+ }),
4964
5046
  _a));
4965
5047
  function _createPerfManager(core, notificationMgr) {
4966
5048
  return new PerfManager(notificationMgr);
@@ -5087,6 +5169,7 @@ var AppInsightsCore = /** @class */ (function () {
5087
5169
  var _logger;
5088
5170
  var _eventQueue;
5089
5171
  var _notificationManager;
5172
+ var _statsBeat;
5090
5173
  var _perfManager;
5091
5174
  var _cfgPerfManager;
5092
5175
  var _cookieManager;
@@ -5111,6 +5194,7 @@ var AppInsightsCore = /** @class */ (function () {
5111
5194
  var _endpoint;
5112
5195
  var _initInMemoMaxSize;
5113
5196
  var _isStatusSet;
5197
+ var _initTimer;
5114
5198
  var _internalLogPoller;
5115
5199
  var _internalLogPollerListening;
5116
5200
  var _forceStopInternalLogPoller;
@@ -5135,83 +5219,8 @@ var AppInsightsCore = /** @class */ (function () {
5135
5219
  config = _configHandler.cfg;
5136
5220
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5137
5221
  var rootCfg = details.cfg;
5138
- var isPending = _activeStatus === 3 ;
5139
- if (isPending) {
5140
- return;
5141
- }
5142
5222
  _initInMemoMaxSize = rootCfg.initInMemoMaxSize || maxInitQueueSize;
5143
- var ikey = rootCfg.instrumentationKey;
5144
- var endpointUrl = rootCfg.endpointUrl;
5145
- if (isNullOrUndefined(ikey)) {
5146
- _instrumentationKey = null;
5147
- _activeStatus = ActiveStatus.INACTIVE;
5148
- var msg = "Please provide instrumentation key";
5149
- if (!_isInitialized) {
5150
- throwError(msg);
5151
- }
5152
- else {
5153
- _throwInternal(_logger, 1 , 100 , msg);
5154
- _releaseQueues();
5155
- }
5156
- return;
5157
- }
5158
- var promises = [];
5159
- if (isPromiseLike(ikey)) {
5160
- promises[_DYN_PUSH ](ikey);
5161
- _instrumentationKey = null;
5162
- }
5163
- else {
5164
- _instrumentationKey = ikey;
5165
- }
5166
- if (isPromiseLike(endpointUrl)) {
5167
- promises[_DYN_PUSH ](endpointUrl);
5168
- _endpoint = null;
5169
- }
5170
- else {
5171
- _endpoint = endpointUrl;
5172
- }
5173
- if (promises[_DYN_LENGTH ]) {
5174
- _isStatusSet = false;
5175
- _activeStatus = 3 ;
5176
- var initTimeout = isNotNullOrUndefined(rootCfg.initTimeOut) ? rootCfg.initTimeOut : maxInitTimeout;
5177
- var allPromises = createSyncAllSettledPromise(promises);
5178
- scheduleTimeout(function () {
5179
- if (!_isStatusSet) {
5180
- _setStatus();
5181
- }
5182
- }, initTimeout);
5183
- doAwaitResponse(allPromises, function (response) {
5184
- try {
5185
- if (_isStatusSet) {
5186
- return;
5187
- }
5188
- if (!response.rejected) {
5189
- var values = response[_DYN_VALUE ];
5190
- if (values && values[_DYN_LENGTH ]) {
5191
- var ikeyRes = values[0];
5192
- _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
5193
- if (values[_DYN_LENGTH ] > 1) {
5194
- var endpointRes = values[1];
5195
- _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
5196
- }
5197
- }
5198
- if (_instrumentationKey) {
5199
- config.instrumentationKey = _instrumentationKey;
5200
- config.endpointUrl = _endpoint;
5201
- }
5202
- }
5203
- _setStatus();
5204
- }
5205
- catch (e) {
5206
- if (!_isStatusSet) {
5207
- _setStatus();
5208
- }
5209
- }
5210
- });
5211
- }
5212
- else {
5213
- _setStatus();
5214
- }
5223
+ _handleIKeyEndpointPromises(rootCfg);
5215
5224
  var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);
5216
5225
  objForEachKey(extCfg, function (key) {
5217
5226
  details.ref(extCfg, key);
@@ -5305,6 +5314,9 @@ var AppInsightsCore = /** @class */ (function () {
5305
5314
  _self[STR_GET_PERF_MGR ] = function () {
5306
5315
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
5307
5316
  };
5317
+ _self.getStatsBeat = function (statsBeatConfig) {
5318
+ return _statsBeat;
5319
+ };
5308
5320
  _self.setPerfMgr = function (perfMgr) {
5309
5321
  _perfManager = perfMgr;
5310
5322
  };
@@ -5332,6 +5344,89 @@ var AppInsightsCore = /** @class */ (function () {
5332
5344
  _internalLogPoller && _internalLogPoller[_DYN_CANCEL ]();
5333
5345
  return _startLogPoller(true);
5334
5346
  };
5347
+ function _handleIKeyEndpointPromises(theConfig) {
5348
+ var ikey = theConfig.instrumentationKey;
5349
+ var endpointUrl = theConfig.endpointUrl;
5350
+ if (_activeStatus !== 3 ) {
5351
+ if (isNullOrUndefined(ikey)) {
5352
+ _instrumentationKey = null;
5353
+ _activeStatus = ActiveStatus.INACTIVE;
5354
+ var msg = "Please provide instrumentation key";
5355
+ if (!_isInitialized) {
5356
+ throwError(msg);
5357
+ }
5358
+ else {
5359
+ _throwInternal(_logger, 1 , 100 , msg);
5360
+ _releaseQueues();
5361
+ }
5362
+ return;
5363
+ }
5364
+ var promises = [];
5365
+ if (isPromiseLike(ikey)) {
5366
+ promises[_DYN_PUSH ](ikey);
5367
+ _instrumentationKey = null;
5368
+ }
5369
+ else {
5370
+ _instrumentationKey = ikey;
5371
+ }
5372
+ if (isPromiseLike(endpointUrl)) {
5373
+ promises[_DYN_PUSH ](endpointUrl);
5374
+ _endpoint = null;
5375
+ }
5376
+ else {
5377
+ _endpoint = endpointUrl;
5378
+ }
5379
+ if (promises[_DYN_LENGTH ]) {
5380
+ _waitForInitPromises(theConfig, promises);
5381
+ }
5382
+ else {
5383
+ _setStatus();
5384
+ }
5385
+ }
5386
+ }
5387
+ function _waitForInitPromises(theConfig, promises) {
5388
+ _isStatusSet = false;
5389
+ _activeStatus = 3 ;
5390
+ var initTimeout = isNotNullOrUndefined(theConfig.initTimeOut) ? theConfig.initTimeOut : maxInitTimeout;
5391
+ var allPromises = createSyncAllSettledPromise(promises);
5392
+ if (_initTimer) {
5393
+ _initTimer[_DYN_CANCEL ]();
5394
+ }
5395
+ _initTimer = scheduleTimeout(function () {
5396
+ _initTimer = null;
5397
+ if (!_isStatusSet) {
5398
+ _setStatus();
5399
+ }
5400
+ }, initTimeout);
5401
+ doAwaitResponse(allPromises, function (response) {
5402
+ try {
5403
+ if (_isStatusSet) {
5404
+ return;
5405
+ }
5406
+ if (!response.rejected) {
5407
+ var values = response[_DYN_VALUE ];
5408
+ if (values && values[_DYN_LENGTH ]) {
5409
+ var ikeyRes = values[0];
5410
+ _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
5411
+ if (values[_DYN_LENGTH ] > 1) {
5412
+ var endpointRes = values[1];
5413
+ _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
5414
+ }
5415
+ }
5416
+ if (_instrumentationKey) {
5417
+ theConfig.instrumentationKey = _instrumentationKey;
5418
+ theConfig.endpointUrl = _endpoint;
5419
+ }
5420
+ }
5421
+ _setStatus();
5422
+ }
5423
+ catch (e) {
5424
+ if (!_isStatusSet) {
5425
+ _setStatus();
5426
+ }
5427
+ }
5428
+ });
5429
+ }
5335
5430
  function _setStatus() {
5336
5431
  _isStatusSet = true;
5337
5432
  if (isNullOrUndefined(_instrumentationKey)) {
@@ -5600,6 +5695,7 @@ var AppInsightsCore = /** @class */ (function () {
5600
5695
  runTargetUnload(_notificationManager, false);
5601
5696
  _notificationManager = null;
5602
5697
  _perfManager = null;
5698
+ _statsBeat = null;
5603
5699
  _cfgPerfManager = null;
5604
5700
  runTargetUnload(_cookieManager, false);
5605
5701
  _cookieManager = null;
@@ -5624,6 +5720,7 @@ var AppInsightsCore = /** @class */ (function () {
5624
5720
  _endpoint = null;
5625
5721
  _initInMemoMaxSize = null;
5626
5722
  _isStatusSet = false;
5723
+ _initTimer = null;
5627
5724
  }
5628
5725
  function _createTelCtx() {
5629
5726
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -6180,8 +6277,13 @@ var SenderPostManager = /** @class */ (function () {
6180
6277
  resolveFunc && resolveFunc(false);
6181
6278
  return;
6182
6279
  }
6183
- function _handleError(res) {
6184
- _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
6280
+ function _handleError(res, statusCode) {
6281
+ if (statusCode) {
6282
+ _doOnComplete(oncomplete, _isOneDs ? 0 : statusCode, {}, _isOneDs ? STR_EMPTY : res);
6283
+ }
6284
+ else {
6285
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
6286
+ }
6185
6287
  }
6186
6288
  function _onFetchComplete(response, payload, value) {
6187
6289
  var status = response[_DYN_STATUS ];
@@ -6205,7 +6307,12 @@ var SenderPostManager = /** @class */ (function () {
6205
6307
  var response_1 = result[_DYN_VALUE ];
6206
6308
  try {
6207
6309
  if (!_isOneDs && !response_1.ok) {
6208
- _handleError(response_1.statusText);
6310
+ if (response_1[_DYN_STATUS ]) {
6311
+ _handleError(response_1.statusText, response_1[_DYN_STATUS ]);
6312
+ }
6313
+ else {
6314
+ _handleError(response_1.statusText, 499);
6315
+ }
6209
6316
  resolveFunc && resolveFunc(false);
6210
6317
  }
6211
6318
  else {
@@ -6222,12 +6329,17 @@ var SenderPostManager = /** @class */ (function () {
6222
6329
  }
6223
6330
  }
6224
6331
  catch (e) {
6225
- _handleError(dumpObj(e));
6332
+ if (response_1 && response_1[_DYN_STATUS ]) {
6333
+ _handleError(dumpObj(e), response_1[_DYN_STATUS ]);
6334
+ }
6335
+ else {
6336
+ _handleError(dumpObj(e), 499);
6337
+ }
6226
6338
  rejectFunc && rejectFunc(e);
6227
6339
  }
6228
6340
  }
6229
6341
  else {
6230
- _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
6342
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ], 499);
6231
6343
  rejectFunc && rejectFunc(result.reason);
6232
6344
  }
6233
6345
  }
@@ -6235,7 +6347,7 @@ var SenderPostManager = /** @class */ (function () {
6235
6347
  }
6236
6348
  catch (e) {
6237
6349
  if (!responseHandled) {
6238
- _handleError(dumpObj(e));
6350
+ _handleError(dumpObj(e), 499);
6239
6351
  rejectFunc && rejectFunc(e);
6240
6352
  }
6241
6353
  }