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