@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
  'use strict';
@@ -7,7 +7,7 @@
7
7
 
8
8
  var MinChannelPriorty = 100;
9
9
 
10
- /*! https://github.com/nevware21/ts-utils v0.11.8 */
10
+ /*! https://github.com/nevware21/ts-utils v0.12.2 */
11
11
  /*#__NO_SIDE_EFFECTS__*/
12
12
  function _pureAssign(func1, func2) {
13
13
  return func1 || func2;
@@ -26,7 +26,6 @@ var __PROTO__ = "__proto__";
26
26
  var UNDEFINED = "undefined";
27
27
  var CONSTRUCTOR = "constructor";
28
28
  var SYMBOL = "Symbol";
29
- var POLYFILL_TAG = "_polyfill";
30
29
  var LENGTH = "length";
31
30
  var NAME = "name";
32
31
  var CALL = "call";
@@ -39,6 +38,11 @@ var MathCls = ( /*#__PURE__*/_pureAssign(Math));
39
38
  var ArrCls = ( /*#__PURE__*/_pureAssign(Array));
40
39
  var ArrProto = ( /*#__PURE__*/_pureRef(ArrCls, PROTOTYPE));
41
40
  var ArrSlice = ( /*#__PURE__*/_pureRef(ArrProto, "slice"));
41
+ var POLYFILL_TAG = "_polyfill";
42
+ var POLYFILL_TYPE_NAME = "__nw21$polytype__";
43
+ function _isPolyfillType(obj, polyfillTypeName) {
44
+ return !!(obj && obj[POLYFILL_TYPE_NAME] === polyfillTypeName);
45
+ }
42
46
  function safe(func, argArray) {
43
47
  try {
44
48
  return {
@@ -62,6 +66,12 @@ function _createIs(theType) {
62
66
  };
63
67
  }
64
68
  /*#__NO_SIDE_EFFECTS__*/
69
+ function _createIsWithPoly(theType) {
70
+ return function (value) {
71
+ return typeof value === theType || _isPolyfillType(value, theType);
72
+ };
73
+ }
74
+ /*#__NO_SIDE_EFFECTS__*/
65
75
  function _createObjIs(theName) {
66
76
  var theType = "[object " + theName + "]";
67
77
  return function (value) {
@@ -82,7 +92,7 @@ function isUndefined(value) {
82
92
  }
83
93
  /*#__NO_SIDE_EFFECTS__*/
84
94
  function isStrictUndefined(arg) {
85
- return !isDefined(arg);
95
+ return arg === UNDEF_VALUE;
86
96
  }
87
97
  /*#__NO_SIDE_EFFECTS__*/
88
98
  function isNullOrUndefined(value) {
@@ -90,7 +100,7 @@ function isNullOrUndefined(value) {
90
100
  }
91
101
  /*#__NO_SIDE_EFFECTS__*/
92
102
  function isStrictNullOrUndefined(value) {
93
- return value === NULL_VALUE || !isDefined(value);
103
+ return value === NULL_VALUE || value === UNDEF_VALUE;
94
104
  }
95
105
  /*#__NO_SIDE_EFFECTS__*/
96
106
  function isDefined(arg) {
@@ -127,18 +137,56 @@ function isNotTruthy(value) {
127
137
  function isTruthy(value) {
128
138
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
129
139
  }
130
- var objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureRef(ObjClass$1, "getOwnPropertyDescriptor"));
140
+ var asString = ( /* #__PURE__ */_pureAssign(StrCls));
141
+ var ERROR_TYPE = "[object Error]";
142
+ /*#__NO_SIDE_EFFECTS__*/
143
+ function dumpObj(object, format) {
144
+ var propertyValueDump = EMPTY;
145
+ var objType = ObjProto[TO_STRING][CALL](object);
146
+ if (objType === ERROR_TYPE) {
147
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
148
+ }
149
+ try {
150
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
151
+ propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
152
+ }
153
+ catch (e) {
154
+ propertyValueDump = " - " + dumpObj(e, format);
155
+ }
156
+ return objType + ": " + propertyValueDump;
157
+ }
158
+ function throwError(message) {
159
+ throw new Error(message);
160
+ }
161
+ function throwTypeError(message) {
162
+ throw new TypeError(message);
163
+ }
164
+ function _throwIfNullOrUndefined(obj) {
165
+ if (isStrictNullOrUndefined(obj)) {
166
+ throwTypeError("Cannot convert undefined or null to object");
167
+ }
168
+ }
169
+ function _throwIfNotString(value) {
170
+ if (!isString(value)) {
171
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
172
+ }
173
+ }
174
+ function _returnNothing() {
175
+ return UNDEF_VALUE;
176
+ }
177
+ var objGetOwnPropertyDescriptor = ( /* #__PURE__ */_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "getOwnPropertyDescriptor")), _returnNothing));
131
178
  /*#__NO_SIDE_EFFECTS__*/
132
179
  function objHasOwnProperty(obj, prop) {
133
180
  return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
134
181
  }
135
- var objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
136
182
  /*#__NO_SIDE_EFFECTS__*/
137
183
  function polyObjHasOwn(obj, prop) {
184
+ _throwIfNullOrUndefined(obj);
138
185
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
139
186
  }
187
+ var objHasOwn = ( /*#__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "hasOwn")), polyObjHasOwn));
140
188
  function objForEachKey(theObject, callbackfn, thisArg) {
141
- if (theObject && isObject(theObject)) {
189
+ if (theObject && (isObject(theObject) || isFunction(theObject))) {
142
190
  for (var prop in theObject) {
143
191
  if (objHasOwn(theObject, prop)) {
144
192
  if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
@@ -148,6 +196,37 @@ function objForEachKey(theObject, callbackfn, thisArg) {
148
196
  }
149
197
  }
150
198
  }
199
+ function arrForEach(theArray, callbackfn, thisArg) {
200
+ if (theArray) {
201
+ var len = theArray[LENGTH] >>> 0;
202
+ for (var idx = 0; idx < len; idx++) {
203
+ if (idx in theArray) {
204
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
205
+ break;
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ var _unwrapFunction = ( _unwrapFunctionWithPoly);
212
+ /*#__NO_SIDE_EFFECTS__*/
213
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
214
+ var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
215
+ return function (thisArg) {
216
+ var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
217
+ if (theFunc || polyFunc) {
218
+ var theArgs = arguments;
219
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
220
+ }
221
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
222
+ };
223
+ }
224
+ /*#__NO_SIDE_EFFECTS__*/
225
+ function _unwrapProp(propName) {
226
+ return function (thisArg) {
227
+ return thisArg[propName];
228
+ };
229
+ }
151
230
  var propMap = {
152
231
  e: "enumerable",
153
232
  c: "configurable",
@@ -176,6 +255,7 @@ function _createProp(value) {
176
255
  return prop;
177
256
  }
178
257
  var objDefineProp = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperty"));
258
+ var objDefineProperties = ( /*#__PURE__*/_pureRef(ObjClass$1, "defineProperties"));
179
259
  function objDefineAccessors(target, prop, getProp, setProp, configurable, enumerable) {
180
260
  var desc = {
181
261
  e: enumerable,
@@ -208,49 +288,38 @@ function _assignMapValue(theMap, key, value, writable) {
208
288
  writable: false
209
289
  });
210
290
  }
211
- var asString = ( /* #__PURE__ */_pureAssign(StrCls));
212
- var ERROR_TYPE = "[object Error]";
213
- /*#__NO_SIDE_EFFECTS__*/
214
- function dumpObj(object, format) {
215
- var propertyValueDump = EMPTY;
216
- var objType = ObjProto[TO_STRING][CALL](object);
217
- if (objType === ERROR_TYPE) {
218
- object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
219
- }
220
- try {
221
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
222
- propertyValueDump = (propertyValueDump ? propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ") : NULL_VALUE) || asString(object);
223
- }
224
- catch (e) {
225
- propertyValueDump = " - " + dumpObj(e, format);
226
- }
227
- return objType + ": " + propertyValueDump;
228
- }
229
- function throwError(message) {
230
- throw new Error(message);
231
- }
232
- function throwTypeError(message) {
233
- throw new TypeError(message);
291
+ function _returnFalse() {
292
+ return false;
234
293
  }
294
+ var objIsFrozen = ( /* #__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "isFrozen")), _returnFalse));
235
295
  var _objFreeze = ( /* #__PURE__ */_pureRef(ObjClass$1, "freeze"));
236
296
  function _doNothing(value) {
237
297
  return value;
238
298
  }
239
299
  /*#__NO_SIDE_EFFECTS__*/
240
300
  function _getProto(value) {
301
+ _throwIfNullOrUndefined(value);
241
302
  return value[__PROTO__] || NULL_VALUE;
242
303
  }
243
304
  var objAssign = ( /*#__PURE__*/_pureRef(ObjClass$1, "assign"));
244
305
  var objKeys = ( /*#__PURE__*/_pureRef(ObjClass$1, "keys"));
245
- function objDeepFreeze(value) {
246
- if (_objFreeze) {
247
- objForEachKey(value, function (key, value) {
248
- if (isArray(value) || isObject(value)) {
249
- objDeepFreeze(value);
306
+ function _deepFreeze(val, visited) {
307
+ if ((isArray(val) || isObject(val) || isFunction(val)) && !objIsFrozen(val)) {
308
+ for (var lp = 0; lp < visited.length; lp++) {
309
+ if (visited[lp] === val) {
310
+ return val;
250
311
  }
312
+ }
313
+ visited.push(val);
314
+ objForEachKey(val, function (_key, propValue) {
315
+ _deepFreeze(propValue, visited);
251
316
  });
317
+ objFreeze(val);
252
318
  }
253
- return objFreeze(value);
319
+ return val;
320
+ }
321
+ function objDeepFreeze(value) {
322
+ return _objFreeze ? _deepFreeze(value, []) : value;
254
323
  }
255
324
  var objFreeze = ( /* #__PURE__*/_pureAssign(_objFreeze, _doNothing));
256
325
  var objSeal = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "seal")), _doNothing));
@@ -318,34 +387,13 @@ function _getGlobalConfig() {
318
387
  }
319
388
  return _globalCfg;
320
389
  }
321
- var _unwrapFunction = ( _unwrapFunctionWithPoly);
322
- /*#__NO_SIDE_EFFECTS__*/
323
- function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
324
- var clsFn = clsProto ? clsProto[funcName] : NULL_VALUE;
325
- return function (thisArg) {
326
- var theFunc = (thisArg ? thisArg[funcName] : NULL_VALUE) || clsFn;
327
- if (theFunc || polyFunc) {
328
- var theArgs = arguments;
329
- return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
330
- }
331
- throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
332
- };
333
- }
334
- /*#__NO_SIDE_EFFECTS__*/
335
- function _unwrapProp(propName) {
336
- return function (thisArg) {
337
- return thisArg[propName];
338
- };
339
- }
340
390
  var mathMax = ( /*#__PURE__*/_pureRef(MathCls, "max"));
341
391
  var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
342
392
  var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
343
393
  var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
344
394
  /*#__NO_SIDE_EFFECTS__*/
345
395
  function polyStrSubstr(value, start, length) {
346
- if (isNullOrUndefined(value)) {
347
- throwTypeError("Invalid " + dumpObj(value));
348
- }
396
+ _throwIfNullOrUndefined(value);
349
397
  if (length < 0) {
350
398
  return EMPTY;
351
399
  }
@@ -362,8 +410,94 @@ function polyStrSubstr(value, start, length) {
362
410
  function strLeft(value, count) {
363
411
  return strSubstring(value, 0, count);
364
412
  }
413
+ function _tagAsPolyfill(target, polyfillTypeName) {
414
+ if (target) {
415
+ safe(function () {
416
+ target[POLYFILL_TAG] = true;
417
+ target[POLYFILL_TYPE_NAME] = polyfillTypeName;
418
+ });
419
+ safe(objDefine, [target, POLYFILL_TAG, {
420
+ v: true,
421
+ w: false,
422
+ e: false
423
+ }]);
424
+ safe(objDefine, [target, POLYFILL_TYPE_NAME, {
425
+ v: polyfillTypeName,
426
+ w: false,
427
+ e: false
428
+ }]);
429
+ }
430
+ return target;
431
+ }
432
+ var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
433
+ /*#__NO_SIDE_EFFECTS__*/
434
+ function polyObjCreate(obj, properties) {
435
+ var newObj = null;
436
+ function tempFunc() { }
437
+ if (!isStrictNullOrUndefined(obj)) {
438
+ var type = typeof obj;
439
+ if (type !== OBJECT && type !== FUNCTION) {
440
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
441
+ }
442
+ tempFunc[PROTOTYPE] = obj;
443
+ safe(function () {
444
+ tempFunc[__PROTO__] = obj;
445
+ });
446
+ newObj = new tempFunc();
447
+ }
448
+ else {
449
+ newObj = {};
450
+ }
451
+ if (properties) {
452
+ safe(objDefineProperties, [newObj, properties]);
453
+ }
454
+ return newObj;
455
+ }
456
+ /*#__NO_SIDE_EFFECTS__*/
457
+ function utcNow() {
458
+ return (Date.now || polyUtcNow)();
459
+ }
460
+ /*#__NO_SIDE_EFFECTS__*/
461
+ function polyUtcNow() {
462
+ return new Date().getTime();
463
+ }
464
+ var _globalLazyTestHooks;
465
+ function _initTestHooks() {
466
+ _globalLazyTestHooks = _getGlobalConfig();
467
+ }
468
+ /*#__NO_SIDE_EFFECTS__*/
469
+ function getLazy(cb) {
470
+ var lazyValue = {};
471
+ !_globalLazyTestHooks && _initTestHooks();
472
+ lazyValue.b = _globalLazyTestHooks.lzy;
473
+ objDefineProp(lazyValue, "v", {
474
+ configurable: true,
475
+ get: function () {
476
+ var result = cb();
477
+ if (!_globalLazyTestHooks.lzy) {
478
+ objDefineProp(lazyValue, "v", {
479
+ value: result
480
+ });
481
+ }
482
+ lazyValue.b = _globalLazyTestHooks.lzy;
483
+ return result;
484
+ }
485
+ });
486
+ return lazyValue;
487
+ }
488
+ var mathRandom = ( /*#__PURE__*/_pureRef(MathCls, "random"));
489
+ var _uniqueInstanceId = ( /*#__PURE__*/getLazy(function () {
490
+ var value = (utcNow().toString(36).slice(2));
491
+ while (value.length < 16) {
492
+ value += mathRandom().toString(36).slice(2);
493
+ }
494
+ value = value.substring(0, 16);
495
+ return value;
496
+ }));
365
497
  var UNIQUE_REGISTRY_ID = "_urid";
498
+ var POLY_SYM = "$nw21sym";
366
499
  var _polySymbols;
500
+ var _polyId = 0;
367
501
  /*#__NO_SIDE_EFFECTS__*/
368
502
  function _globalSymbolRegistry() {
369
503
  if (!_polySymbols) {
@@ -375,12 +509,22 @@ function _globalSymbolRegistry() {
375
509
  var _wellKnownSymbolCache;
376
510
  /*#__NO_SIDE_EFFECTS__*/
377
511
  function polyNewSymbol(description) {
378
- var theSymbol = {
379
- description: asString(description),
380
- toString: function () { return SYMBOL + "(" + description + ")"; }
381
- };
382
- theSymbol[POLYFILL_TAG] = true;
383
- return theSymbol;
512
+ var uniqueId = "_" + _polyId++ + "_" + _uniqueInstanceId.v;
513
+ var symString = SYMBOL + "(" + description + ")";
514
+ function _setProp(name, value) {
515
+ objDefine(theSymbol, name, {
516
+ v: value,
517
+ e: false,
518
+ w: false
519
+ });
520
+ }
521
+ var theSymbol = objCreate(null);
522
+ _setProp("description", asString(description));
523
+ _setProp(TO_STRING, function () { return symString + POLY_SYM + uniqueId; });
524
+ _setProp("valueOf", function () { return theSymbol; });
525
+ _setProp("v", symString);
526
+ _setProp("_uid", uniqueId);
527
+ return _tagAsPolyfill(theSymbol, "symbol");
384
528
  }
385
529
  /*#__NO_SIDE_EFFECTS__*/
386
530
  function polySymbolFor(key) {
@@ -404,30 +548,6 @@ function polyGetKnownSymbol(name) {
404
548
  }
405
549
  return result;
406
550
  }
407
- var _globalLazyTestHooks;
408
- function _initTestHooks() {
409
- _globalLazyTestHooks = _getGlobalConfig();
410
- }
411
- /*#__NO_SIDE_EFFECTS__*/
412
- function getLazy(cb) {
413
- var lazyValue = {};
414
- !_globalLazyTestHooks && _initTestHooks();
415
- lazyValue.b = _globalLazyTestHooks.lzy;
416
- objDefineProp(lazyValue, "v", {
417
- configurable: true,
418
- get: function () {
419
- var result = cb();
420
- if (!_globalLazyTestHooks.lzy) {
421
- objDefineProp(lazyValue, "v", {
422
- value: result
423
- });
424
- }
425
- lazyValue.b = _globalLazyTestHooks.lzy;
426
- return result;
427
- }
428
- });
429
- return lazyValue;
430
- }
431
551
  /*#__NO_SIDE_EFFECTS__*/
432
552
  function createCachedValue(value) {
433
553
  return objDefineProp({
@@ -508,7 +628,7 @@ function _getSymbolKey(key) {
508
628
  var gblSym = ((!_globalLazyTestHooks.lzy ? _symbol : 0) || _initSymbol());
509
629
  return (gblSym.v ? gblSym.v[key] : UNDEF_VALUE);
510
630
  }
511
- var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
631
+ var isSymbol = ( /*#__PURE__*/_createIsWithPoly("symbol"));
512
632
  /*#__NO_SIDE_EFFECTS__*/
513
633
  function hasSymbol() {
514
634
  return !!( /*#__PURE__*/getSymbol());
@@ -605,47 +725,19 @@ function arrAppend(target, elms) {
605
725
  }
606
726
  return target;
607
727
  }
608
- function arrForEach(theArray, callbackfn, thisArg) {
609
- if (theArray) {
610
- var len = theArray[LENGTH] >>> 0;
611
- for (var idx = 0; idx < len; idx++) {
612
- if (idx in theArray) {
613
- if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
614
- break;
615
- }
616
- }
617
- }
618
- }
619
- }
620
728
  var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
621
729
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
622
730
  function arrSlice(theArray, start, end) {
623
731
  return ((theArray ? theArray["slice"] : NULL_VALUE) || ArrSlice).apply(theArray, ArrSlice[CALL](arguments, 1));
624
732
  }
625
733
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
626
- var objCreate = ( /* #__PURE__*/_pureAssign(( /* #__PURE__*/_pureRef(ObjClass$1, "create")), polyObjCreate));
627
- /*#__NO_SIDE_EFFECTS__*/
628
- function polyObjCreate(obj) {
629
- if (!obj) {
630
- return {};
631
- }
632
- var type = typeof obj;
633
- if (type !== OBJECT && type !== FUNCTION) {
634
- throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
635
- }
636
- function tempFunc() { }
637
- tempFunc[PROTOTYPE] = obj;
638
- return new tempFunc();
639
- }
640
734
  var _isProtoArray;
641
- function objSetPrototypeOf(obj, proto) {
642
- var fn = ObjClass$1["setPrototypeOf"] ||
643
- function (d, b) {
644
- var _a;
645
- !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
646
- _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
647
- };
648
- return fn(obj, proto);
735
+ var objSetPrototypeOf = ( /* #__PURE__*/_pureAssign(( /* #__PURE__ */_pureRef(ObjClass$1, "setPrototypeOf")), _polyObjSetPrototypeOf));
736
+ function _polyObjSetPrototypeOf(obj, proto) {
737
+ var _a;
738
+ !_isProtoArray && (_isProtoArray = createCachedValue((_a = {}, _a[__PROTO__] = [], _a) instanceof Array));
739
+ _isProtoArray.v ? obj[__PROTO__] = proto : objForEachKey(proto, function (key, value) { return obj[key] = value; });
740
+ return obj;
649
741
  }
650
742
  /*#__NO_SIDE_EFFECTS__*/
651
743
  function _createCustomError(name, d, b) {
@@ -688,19 +780,9 @@ function createCustomError(name, constructCb, errorBase) {
688
780
  }, theBaseClass);
689
781
  }
690
782
  /*#__NO_SIDE_EFFECTS__*/
691
- function utcNow() {
692
- return (Date.now || polyUtcNow)();
693
- }
694
- /*#__NO_SIDE_EFFECTS__*/
695
- function polyUtcNow() {
696
- return new Date().getTime();
697
- }
698
- /*#__NO_SIDE_EFFECTS__*/
699
783
  function _createTrimFn(exp) {
700
784
  return function _doTrim(value) {
701
- if (isNullOrUndefined(value)) {
702
- throwTypeError("strTrim called [" + dumpObj(value) + "]");
703
- }
785
+ _throwIfNullOrUndefined(value);
704
786
  if (value && value.replace) {
705
787
  value = value.replace(exp, EMPTY);
706
788
  }
@@ -912,9 +994,7 @@ function perfNow() {
912
994
  var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
913
995
  /*#__NO_SIDE_EFFECTS__*/
914
996
  function polyStrEndsWith(value, searchString, length) {
915
- if (!isString(value)) {
916
- throwTypeError("'" + dumpObj(value) + "' is not a string");
917
- }
997
+ _throwIfNotString(value);
918
998
  var searchValue = isString(searchString) ? searchString : asString(searchString);
919
999
  var end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];
920
1000
  return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
@@ -923,9 +1003,7 @@ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
923
1003
  var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
924
1004
  /*#__NO_SIDE_EFFECTS__*/
925
1005
  function polyStrStartsWith(value, searchString, position) {
926
- if (!isString(value)) {
927
- throwTypeError("'" + dumpObj(value) + "' is not a string");
928
- }
1006
+ _throwIfNotString(value);
929
1007
  var searchValue = isString(searchString) ? searchString : asString(searchString);
930
1008
  var pos = position > 0 ? position : 0;
931
1009
  return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
@@ -1057,12 +1135,12 @@ var _DYN_IDENTIFIER = "identifier";
1057
1135
  var _DYN_REMOVE_NOTIFICATION_0 = "removeNotificationListener";
1058
1136
  var _DYN_ADD_NOTIFICATION_LIS1 = "addNotificationListener";
1059
1137
  var _DYN_IS_INITIALIZED = "isInitialized";
1060
- var _DYN_VALUE = "value";
1061
1138
  var _DYN_GET_NOTIFY_MGR = "getNotifyMgr";
1062
1139
  var _DYN_GET_PLUGIN = "getPlugin";
1063
1140
  var _DYN_NAME = "name";
1064
1141
  var _DYN_PROCESS_NEXT = "processNext";
1065
1142
  var _DYN_GET_PROCESS_TEL_CONT2 = "getProcessTelContext";
1143
+ var _DYN_VALUE = "value";
1066
1144
  var _DYN_ENABLED = "enabled";
1067
1145
  var _DYN_STOP_POLLING_INTERNA3 = "stopPollingInternalLogs";
1068
1146
  var _DYN_UNLOAD = "unload";
@@ -1084,6 +1162,7 @@ var _DYN_REPLACE = "replace";
1084
1162
  var _DYN_TYPE = "type";
1085
1163
  var _DYN_EVT_NAME = "evtName";
1086
1164
  var _DYN_STATUS = "status";
1165
+ var _DYN_INDEX_OF = "indexOf";
1087
1166
  var _DYN_GET_ALL_RESPONSE_HEA5 = "getAllResponseHeaders";
1088
1167
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1089
1168
  var _DYN_DATA = "data";
@@ -1828,6 +1907,60 @@ var STR_DOMAIN = "domain";
1828
1907
  var STR_PATH = "path";
1829
1908
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1830
1909
 
1910
+ function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
1911
+ if (!theValue && isNullOrUndefined(theValue)) {
1912
+ return defaultValue;
1913
+ }
1914
+ if (isBoolean(theValue)) {
1915
+ return theValue;
1916
+ }
1917
+ return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
1918
+ }
1919
+ function cfgDfMerge(defaultValue) {
1920
+ return {
1921
+ mrg: true,
1922
+ v: defaultValue
1923
+ };
1924
+ }
1925
+ function cfgDfSet(setter, defaultValue) {
1926
+ return {
1927
+ set: setter,
1928
+ v: defaultValue
1929
+ };
1930
+ }
1931
+ function cfgDfValidate(validator, defaultValue, fallBackName) {
1932
+ return {
1933
+ fb: fallBackName,
1934
+ isVal: validator,
1935
+ v: defaultValue
1936
+ };
1937
+ }
1938
+ function cfgDfBoolean(defaultValue, fallBackName) {
1939
+ return {
1940
+ fb: fallBackName,
1941
+ set: _stringToBoolOrDefault,
1942
+ v: !!defaultValue
1943
+ };
1944
+ }
1945
+ function cfgDfFunc(defaultValue) {
1946
+ return {
1947
+ isVal: isFunction,
1948
+ v: defaultValue || null
1949
+ };
1950
+ }
1951
+ function cfgDfString(defaultValue) {
1952
+ return {
1953
+ isVal: isString,
1954
+ v: asString(defaultValue || STR_EMPTY$1)
1955
+ };
1956
+ }
1957
+ function cfgDfBlockPropValue(defaultValue) {
1958
+ return {
1959
+ blkVal: true,
1960
+ v: defaultValue
1961
+ };
1962
+ }
1963
+
1831
1964
  var strGetPrototypeOf = "getPrototypeOf";
1832
1965
  var rCamelCase = /-([a-z])/g;
1833
1966
  var rNormalizeInvalid = /([^\w\d_$])/g;
@@ -2097,7 +2230,7 @@ function convertAllHeadersToMap(headersString) {
2097
2230
  var headersArray = strTrim(headersString)[_DYN_SPLIT ](/[\r\n]+/);
2098
2231
  arrForEach(headersArray, function (headerEntry) {
2099
2232
  if (headerEntry) {
2100
- var idx = headerEntry.indexOf(": ");
2233
+ var idx = headerEntry[_DYN_INDEX_OF ](": ");
2101
2234
  if (idx !== -1) {
2102
2235
  var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE ]();
2103
2236
  var value = strTrim(headerEntry.substring(idx + 1));
@@ -2443,7 +2576,7 @@ function newId(maxLength) {
2443
2576
  return result;
2444
2577
  }
2445
2578
 
2446
- var version = '3.4.0-nightlybeta3.2504-05';
2579
+ var version = '3.4.0-nightlybeta3.2504-20';
2447
2580
  var instanceName = "." + newId(6);
2448
2581
  var _dataUid = 0;
2449
2582
  function _canAcceptData(target) {
@@ -3145,60 +3278,6 @@ function doUnloadAll(targets, isAsync, done) {
3145
3278
  var ChannelControllerPriority = 500;
3146
3279
  var DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
3147
3280
 
3148
- function _stringToBoolOrDefault(theValue, defaultValue, theConfig) {
3149
- if (!theValue && isNullOrUndefined(theValue)) {
3150
- return defaultValue;
3151
- }
3152
- if (isBoolean(theValue)) {
3153
- return theValue;
3154
- }
3155
- return asString(theValue)[_DYN_TO_LOWER_CASE ]() === "true";
3156
- }
3157
- function cfgDfMerge(defaultValue) {
3158
- return {
3159
- mrg: true,
3160
- v: defaultValue
3161
- };
3162
- }
3163
- function cfgDfSet(setter, defaultValue) {
3164
- return {
3165
- set: setter,
3166
- v: defaultValue
3167
- };
3168
- }
3169
- function cfgDfValidate(validator, defaultValue, fallBackName) {
3170
- return {
3171
- fb: fallBackName,
3172
- isVal: validator,
3173
- v: defaultValue
3174
- };
3175
- }
3176
- function cfgDfBoolean(defaultValue, fallBackName) {
3177
- return {
3178
- fb: fallBackName,
3179
- set: _stringToBoolOrDefault,
3180
- v: !!defaultValue
3181
- };
3182
- }
3183
- function cfgDfFunc(defaultValue) {
3184
- return {
3185
- isVal: isFunction,
3186
- v: defaultValue || null
3187
- };
3188
- }
3189
- function cfgDfString(defaultValue) {
3190
- return {
3191
- isVal: isString,
3192
- v: asString(defaultValue || STR_EMPTY$1)
3193
- };
3194
- }
3195
- function cfgDfBlockPropValue(defaultValue) {
3196
- return {
3197
- blkVal: true,
3198
- v: defaultValue
3199
- };
3200
- }
3201
-
3202
3281
  var listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];
3203
3282
  var _aiNamespace = null;
3204
3283
  var _debugListener;
@@ -4081,7 +4160,7 @@ function parseTraceParent(value, selectIdx) {
4081
4160
  if (!value || !isString(value) || value[_DYN_LENGTH ] > 8192) {
4082
4161
  return null;
4083
4162
  }
4084
- if (value.indexOf(",") !== -1) {
4163
+ if (value[_DYN_INDEX_OF ](",") !== -1) {
4085
4164
  var values = value[_DYN_SPLIT ](",");
4086
4165
  value = values[selectIdx > 0 && values[_DYN_LENGTH ] > selectIdx ? selectIdx : 0];
4087
4166
  }
@@ -4936,6 +5015,9 @@ var defaultConfig = objDeepFreeze((_a = {
4936
5015
  _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,
4937
5016
  _a.loggingLevelConsole = 0 ,
4938
5017
  _a.diagnosticLogInterval = UNDEFINED_VALUE,
5018
+ _a._sdk = cfgDfMerge({
5019
+ stats: false
5020
+ }),
4939
5021
  _a));
4940
5022
  function _createPerfManager(core, notificationMgr) {
4941
5023
  return new PerfManager(notificationMgr);
@@ -5062,6 +5144,7 @@ var AppInsightsCore = /** @class */ (function () {
5062
5144
  var _logger;
5063
5145
  var _eventQueue;
5064
5146
  var _notificationManager;
5147
+ var _statsBeat;
5065
5148
  var _perfManager;
5066
5149
  var _cfgPerfManager;
5067
5150
  var _cookieManager;
@@ -5086,6 +5169,7 @@ var AppInsightsCore = /** @class */ (function () {
5086
5169
  var _endpoint;
5087
5170
  var _initInMemoMaxSize;
5088
5171
  var _isStatusSet;
5172
+ var _initTimer;
5089
5173
  var _internalLogPoller;
5090
5174
  var _internalLogPollerListening;
5091
5175
  var _forceStopInternalLogPoller;
@@ -5110,83 +5194,8 @@ var AppInsightsCore = /** @class */ (function () {
5110
5194
  config = _configHandler.cfg;
5111
5195
  _addUnloadHook(_configHandler[_DYN_WATCH ](function (details) {
5112
5196
  var rootCfg = details.cfg;
5113
- var isPending = _activeStatus === 3 ;
5114
- if (isPending) {
5115
- return;
5116
- }
5117
5197
  _initInMemoMaxSize = rootCfg.initInMemoMaxSize || maxInitQueueSize;
5118
- var ikey = rootCfg.instrumentationKey;
5119
- var endpointUrl = rootCfg.endpointUrl;
5120
- if (isNullOrUndefined(ikey)) {
5121
- _instrumentationKey = null;
5122
- _activeStatus = ActiveStatus.INACTIVE;
5123
- var msg = "Please provide instrumentation key";
5124
- if (!_isInitialized) {
5125
- throwError(msg);
5126
- }
5127
- else {
5128
- _throwInternal(_logger, 1 , 100 , msg);
5129
- _releaseQueues();
5130
- }
5131
- return;
5132
- }
5133
- var promises = [];
5134
- if (isPromiseLike(ikey)) {
5135
- promises[_DYN_PUSH ](ikey);
5136
- _instrumentationKey = null;
5137
- }
5138
- else {
5139
- _instrumentationKey = ikey;
5140
- }
5141
- if (isPromiseLike(endpointUrl)) {
5142
- promises[_DYN_PUSH ](endpointUrl);
5143
- _endpoint = null;
5144
- }
5145
- else {
5146
- _endpoint = endpointUrl;
5147
- }
5148
- if (promises[_DYN_LENGTH ]) {
5149
- _isStatusSet = false;
5150
- _activeStatus = 3 ;
5151
- var initTimeout = isNotNullOrUndefined(rootCfg.initTimeOut) ? rootCfg.initTimeOut : maxInitTimeout;
5152
- var allPromises = createSyncAllSettledPromise(promises);
5153
- scheduleTimeout(function () {
5154
- if (!_isStatusSet) {
5155
- _setStatus();
5156
- }
5157
- }, initTimeout);
5158
- doAwaitResponse(allPromises, function (response) {
5159
- try {
5160
- if (_isStatusSet) {
5161
- return;
5162
- }
5163
- if (!response.rejected) {
5164
- var values = response[_DYN_VALUE ];
5165
- if (values && values[_DYN_LENGTH ]) {
5166
- var ikeyRes = values[0];
5167
- _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
5168
- if (values[_DYN_LENGTH ] > 1) {
5169
- var endpointRes = values[1];
5170
- _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
5171
- }
5172
- }
5173
- if (_instrumentationKey) {
5174
- config.instrumentationKey = _instrumentationKey;
5175
- config.endpointUrl = _endpoint;
5176
- }
5177
- }
5178
- _setStatus();
5179
- }
5180
- catch (e) {
5181
- if (!_isStatusSet) {
5182
- _setStatus();
5183
- }
5184
- }
5185
- });
5186
- }
5187
- else {
5188
- _setStatus();
5189
- }
5198
+ _handleIKeyEndpointPromises(rootCfg);
5190
5199
  var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);
5191
5200
  objForEachKey(extCfg, function (key) {
5192
5201
  details.ref(extCfg, key);
@@ -5280,6 +5289,9 @@ var AppInsightsCore = /** @class */ (function () {
5280
5289
  _self[STR_GET_PERF_MGR ] = function () {
5281
5290
  return _perfManager || _cfgPerfManager || getGblPerfMgr();
5282
5291
  };
5292
+ _self.getStatsBeat = function (statsBeatConfig) {
5293
+ return _statsBeat;
5294
+ };
5283
5295
  _self.setPerfMgr = function (perfMgr) {
5284
5296
  _perfManager = perfMgr;
5285
5297
  };
@@ -5307,6 +5319,89 @@ var AppInsightsCore = /** @class */ (function () {
5307
5319
  _internalLogPoller && _internalLogPoller[_DYN_CANCEL ]();
5308
5320
  return _startLogPoller(true);
5309
5321
  };
5322
+ function _handleIKeyEndpointPromises(theConfig) {
5323
+ var ikey = theConfig.instrumentationKey;
5324
+ var endpointUrl = theConfig.endpointUrl;
5325
+ if (_activeStatus !== 3 ) {
5326
+ if (isNullOrUndefined(ikey)) {
5327
+ _instrumentationKey = null;
5328
+ _activeStatus = ActiveStatus.INACTIVE;
5329
+ var msg = "Please provide instrumentation key";
5330
+ if (!_isInitialized) {
5331
+ throwError(msg);
5332
+ }
5333
+ else {
5334
+ _throwInternal(_logger, 1 , 100 , msg);
5335
+ _releaseQueues();
5336
+ }
5337
+ return;
5338
+ }
5339
+ var promises = [];
5340
+ if (isPromiseLike(ikey)) {
5341
+ promises[_DYN_PUSH ](ikey);
5342
+ _instrumentationKey = null;
5343
+ }
5344
+ else {
5345
+ _instrumentationKey = ikey;
5346
+ }
5347
+ if (isPromiseLike(endpointUrl)) {
5348
+ promises[_DYN_PUSH ](endpointUrl);
5349
+ _endpoint = null;
5350
+ }
5351
+ else {
5352
+ _endpoint = endpointUrl;
5353
+ }
5354
+ if (promises[_DYN_LENGTH ]) {
5355
+ _waitForInitPromises(theConfig, promises);
5356
+ }
5357
+ else {
5358
+ _setStatus();
5359
+ }
5360
+ }
5361
+ }
5362
+ function _waitForInitPromises(theConfig, promises) {
5363
+ _isStatusSet = false;
5364
+ _activeStatus = 3 ;
5365
+ var initTimeout = isNotNullOrUndefined(theConfig.initTimeOut) ? theConfig.initTimeOut : maxInitTimeout;
5366
+ var allPromises = createSyncAllSettledPromise(promises);
5367
+ if (_initTimer) {
5368
+ _initTimer[_DYN_CANCEL ]();
5369
+ }
5370
+ _initTimer = scheduleTimeout(function () {
5371
+ _initTimer = null;
5372
+ if (!_isStatusSet) {
5373
+ _setStatus();
5374
+ }
5375
+ }, initTimeout);
5376
+ doAwaitResponse(allPromises, function (response) {
5377
+ try {
5378
+ if (_isStatusSet) {
5379
+ return;
5380
+ }
5381
+ if (!response.rejected) {
5382
+ var values = response[_DYN_VALUE ];
5383
+ if (values && values[_DYN_LENGTH ]) {
5384
+ var ikeyRes = values[0];
5385
+ _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE ];
5386
+ if (values[_DYN_LENGTH ] > 1) {
5387
+ var endpointRes = values[1];
5388
+ _endpoint = endpointRes && endpointRes[_DYN_VALUE ];
5389
+ }
5390
+ }
5391
+ if (_instrumentationKey) {
5392
+ theConfig.instrumentationKey = _instrumentationKey;
5393
+ theConfig.endpointUrl = _endpoint;
5394
+ }
5395
+ }
5396
+ _setStatus();
5397
+ }
5398
+ catch (e) {
5399
+ if (!_isStatusSet) {
5400
+ _setStatus();
5401
+ }
5402
+ }
5403
+ });
5404
+ }
5310
5405
  function _setStatus() {
5311
5406
  _isStatusSet = true;
5312
5407
  if (isNullOrUndefined(_instrumentationKey)) {
@@ -5575,6 +5670,7 @@ var AppInsightsCore = /** @class */ (function () {
5575
5670
  runTargetUnload(_notificationManager, false);
5576
5671
  _notificationManager = null;
5577
5672
  _perfManager = null;
5673
+ _statsBeat = null;
5578
5674
  _cfgPerfManager = null;
5579
5675
  runTargetUnload(_cookieManager, false);
5580
5676
  _cookieManager = null;
@@ -5599,6 +5695,7 @@ var AppInsightsCore = /** @class */ (function () {
5599
5695
  _endpoint = null;
5600
5696
  _initInMemoMaxSize = null;
5601
5697
  _isStatusSet = false;
5698
+ _initTimer = null;
5602
5699
  }
5603
5700
  function _createTelCtx() {
5604
5701
  var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);
@@ -6155,8 +6252,13 @@ var SenderPostManager = /** @class */ (function () {
6155
6252
  resolveFunc && resolveFunc(false);
6156
6253
  return;
6157
6254
  }
6158
- function _handleError(res) {
6159
- _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
6255
+ function _handleError(res, statusCode) {
6256
+ if (statusCode) {
6257
+ _doOnComplete(oncomplete, _isOneDs ? 0 : statusCode, {}, _isOneDs ? STR_EMPTY : res);
6258
+ }
6259
+ else {
6260
+ _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);
6261
+ }
6160
6262
  }
6161
6263
  function _onFetchComplete(response, payload, value) {
6162
6264
  var status = response[_DYN_STATUS ];
@@ -6180,7 +6282,12 @@ var SenderPostManager = /** @class */ (function () {
6180
6282
  var response_1 = result[_DYN_VALUE ];
6181
6283
  try {
6182
6284
  if (!_isOneDs && !response_1.ok) {
6183
- _handleError(response_1.statusText);
6285
+ if (response_1[_DYN_STATUS ]) {
6286
+ _handleError(response_1.statusText, response_1[_DYN_STATUS ]);
6287
+ }
6288
+ else {
6289
+ _handleError(response_1.statusText, 499);
6290
+ }
6184
6291
  resolveFunc && resolveFunc(false);
6185
6292
  }
6186
6293
  else {
@@ -6197,12 +6304,17 @@ var SenderPostManager = /** @class */ (function () {
6197
6304
  }
6198
6305
  }
6199
6306
  catch (e) {
6200
- _handleError(dumpObj(e));
6307
+ if (response_1 && response_1[_DYN_STATUS ]) {
6308
+ _handleError(dumpObj(e), response_1[_DYN_STATUS ]);
6309
+ }
6310
+ else {
6311
+ _handleError(dumpObj(e), 499);
6312
+ }
6201
6313
  rejectFunc && rejectFunc(e);
6202
6314
  }
6203
6315
  }
6204
6316
  else {
6205
- _handleError(result.reason && result.reason[_DYN_MESSAGE ]);
6317
+ _handleError(result.reason && result.reason[_DYN_MESSAGE ], 499);
6206
6318
  rejectFunc && rejectFunc(result.reason);
6207
6319
  }
6208
6320
  }
@@ -6210,7 +6322,7 @@ var SenderPostManager = /** @class */ (function () {
6210
6322
  }
6211
6323
  catch (e) {
6212
6324
  if (!responseHandled) {
6213
- _handleError(dumpObj(e));
6325
+ _handleError(dumpObj(e), 499);
6214
6326
  rejectFunc && rejectFunc(e);
6215
6327
  }
6216
6328
  }