@microsoft/applicationinsights-core-js 3.0.3-nightly3.2306-01 → 3.0.3-nightly3.2307-24

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 (90) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +221 -157
  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 +223 -159
  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 +223 -159
  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 +221 -157
  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 +5 -1
  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 +43 -6
  42. package/dist-es5/JavaScriptSDK/EnvUtils.js.map +1 -1
  43. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  44. package/dist-es5/JavaScriptSDK/HelperFuncs.js +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/NotificationManager.js +1 -1
  48. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  49. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  50. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  51. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  52. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  53. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  54. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +1 -1
  55. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  56. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  57. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  58. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  59. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  60. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  85. package/dist-es5/__DynamicConstants.js +1 -1
  86. package/dist-es5/applicationinsights-core-js.js +2 -2
  87. package/dist-es5/applicationinsights-core-js.js.map +1 -1
  88. package/package.json +7 -5
  89. package/types/applicationinsights-core-js.d.ts +21 -52
  90. package/types/applicationinsights-core-js.namespaced.d.ts +70 -101
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.3-nightly3.2306-01
2
+ * Application Insights JavaScript SDK - Core, 3.0.3-nightly3.2307-24
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_0_3_nightly3_2306_01", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.0.3-nightly3.2306-01";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_core_js_3_0_3_nightly3_2307_24", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.0.3-nightly3.2307-24";
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]||{});
@@ -33,12 +33,14 @@
33
33
  var MinChannelPriorty = 100;
34
34
 
35
35
  var UNDEF_VALUE = undefined;
36
+ var NULL_VALUE = null;
36
37
  var EMPTY = "";
37
38
  var BOOLEAN = "boolean";
38
39
  var FUNCTION = "function";
39
40
  var NUMBER = "number";
40
41
  var OBJECT = "object";
41
42
  var PROTOTYPE = "prototype";
43
+ var __PROTO__ = "__proto__";
42
44
  var STRING = "string";
43
45
  var UNDEFINED = "undefined";
44
46
  var CONSTRUCTOR = "constructor";
@@ -90,21 +92,17 @@ function isUndefined(value) {
90
92
  return typeof value === UNDEFINED || value === UNDEFINED;
91
93
  }
92
94
  function isNullOrUndefined(value) {
93
- return value === null || isUndefined(value);
95
+ return value === NULL_VALUE || isUndefined(value);
94
96
  }
95
97
  function isStrictNullOrUndefined(value) {
96
- return value === null || !isDefined(value);
98
+ return value === NULL_VALUE || !isDefined(value);
97
99
  }
98
100
  function isDefined(arg) {
99
101
  return !!arg || arg !== UNDEF_VALUE;
100
102
  }
101
- function isPrimitive(value) {
102
- var theType = typeof value;
103
- if (value && theType === OBJECT) {
104
- return false;
105
- }
106
- return value === null || PRIMITIVE_TYPES.indexOf(theType) !== -1;
107
- }
103
+ var isPrimitiveType = function (theType) {
104
+ return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
105
+ };
108
106
  var isString = _createIs(STRING);
109
107
  var isFunction = _createIs(FUNCTION);
110
108
  function isObject(value) {
@@ -169,9 +167,10 @@ function throwTypeError(message) {
169
167
 
170
168
  var _objFreeze = ObjClass$1["freeze"];
171
169
  var _doNothing = function (value) { return value; };
170
+ var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
172
171
  var objAssign = ObjClass$1["assign"];
173
172
  function objKeys(value) {
174
- if (!isObject(value) || value === null) {
173
+ if (!isObject(value) || value === NULL_VALUE) {
175
174
  throwTypeError("objKeys called on non-object");
176
175
  }
177
176
  return ObjClass$1.keys(value);
@@ -188,7 +187,7 @@ function objDeepFreeze(value) {
188
187
  }
189
188
  var objFreeze = _objFreeze || _doNothing;
190
189
  var objSeal = ObjClass$1["seal"] || _doNothing;
191
- var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _doNothing;
190
+ var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
192
191
 
193
192
  function createEnum(values) {
194
193
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
@@ -259,7 +258,7 @@ function dumpObj(object, format) {
259
258
  }
260
259
  else {
261
260
  try {
262
- propertyValueDump = JSON.stringify(object, null, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
261
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
263
262
  }
264
263
  catch (e) {
265
264
  propertyValueDump = " - " + dumpObj(e, format);
@@ -268,16 +267,36 @@ function dumpObj(object, format) {
268
267
  return objToString(object) + ": " + propertyValueDump;
269
268
  }
270
269
 
271
- function _unwrapFunction(funcName, target, polyFunc) {
270
+ var _arrSlice = ArrProto[SLICE];
271
+ var _throwMissingFunction = function (funcName, thisArg) {
272
+ throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
273
+ };
274
+ var _unwrapInstFunction = function (funcName) {
275
+ return function (thisArg) {
276
+ return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
277
+ };
278
+ };
279
+ var _unwrapFunction = function (funcName, clsProto) {
280
+ var clsFn = clsProto && clsProto[funcName];
281
+ return function (thisArg) {
282
+ var theFunc = (thisArg && thisArg[funcName]) || clsFn;
283
+ if (theFunc) {
284
+ return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
285
+ }
286
+ _throwMissingFunction(funcName, thisArg);
287
+ };
288
+ };
289
+ var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
290
+ var clsFn = clsProto && clsProto[funcName];
272
291
  return function (thisArg) {
273
- var theFunc = (thisArg && thisArg[funcName]) || (target && target[funcName]);
292
+ var theFunc = (thisArg && thisArg[funcName]) || clsFn;
274
293
  if (theFunc || polyFunc) {
275
294
  var theArgs = arguments;
276
- return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrProto[SLICE].call(theArgs, 1) : theArgs);
295
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
277
296
  }
278
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
297
+ _throwMissingFunction(funcName, thisArg);
279
298
  };
280
- }
299
+ };
281
300
  function _unwrapProp(propName) {
282
301
  return function (thisArg) {
283
302
  return thisArg[propName];
@@ -289,7 +308,7 @@ var mathMax = MathCls.max;
289
308
  var strSlice = _unwrapFunction(SLICE, StrProto);
290
309
 
291
310
  var strSubstring = _unwrapFunction("substring", StrProto);
292
- var strSubstr = _unwrapFunction("substr", StrProto, polyStrSubstr);
311
+ var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
293
312
  function polyStrSubstr(value, start, length) {
294
313
  if (isNullOrUndefined(value)) {
295
314
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -310,7 +329,7 @@ function strLeft(value, count) {
310
329
  return strSubstring(value, 0, count);
311
330
  }
312
331
 
313
- var strStartsWith = _unwrapFunction("startsWith", StrProto, polyStrStartsWith);
332
+ var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
314
333
  function polyStrStartsWith(value, searchString, position) {
315
334
  if (!isString(value)) {
316
335
  throwTypeError("'" + dumpObj(value) + "' is not a string");
@@ -403,7 +422,7 @@ function objDefine(target, key, propDesc) {
403
422
  var _globalLazyTestHooks;
404
423
  var _fetchLazyTestHooks = function () {
405
424
  _globalLazyTestHooks = _getGlobalConfig();
406
- _fetchLazyTestHooks = null;
425
+ _fetchLazyTestHooks = NULL_VALUE;
407
426
  };
408
427
  function getLazy(cb) {
409
428
  var lazyValue = {};
@@ -441,55 +460,45 @@ var _cachedDocument;
441
460
  var _cachedNavigator;
442
461
  var _cachedHistory;
443
462
  var _isNode;
444
- function lazySafeGetInst(name) {
445
- return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE);
446
- }
447
- function getGlobal(useCached) {
448
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, null));
463
+ var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
464
+ var getGlobal = function (useCached) {
465
+ (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
449
466
  return _cachedGlobal.v;
450
- }
451
- function getInst(name, useCached) {
452
- var gbl = getGlobal(useCached);
467
+ };
468
+ var getInst = function (name, useCached) {
469
+ var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
453
470
  if (gbl && gbl[name]) {
454
471
  return gbl[name];
455
472
  }
456
473
  if (name === WINDOW && _cachedWindow) {
457
474
  return _cachedWindow.v;
458
475
  }
459
- return null;
460
- }
461
- function hasDocument() {
462
- return !!getDocument();
463
- }
464
- function getDocument() {
465
- (!_cachedDocument || (_globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
476
+ return NULL_VALUE;
477
+ };
478
+ var hasDocument = function () { return !!getDocument(); };
479
+ var getDocument = function () {
480
+ (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
466
481
  return _cachedDocument.v;
467
- }
468
- function hasWindow() {
469
- return !!getWindow();
470
- }
471
- function getWindow() {
472
- (!_cachedWindow || (_globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
482
+ };
483
+ var hasWindow = function () { return !!getWindow(); };
484
+ var getWindow = function () {
485
+ (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
473
486
  return _cachedWindow.v;
474
- }
475
- function hasNavigator() {
476
- return !!getNavigator();
477
- }
478
- function getNavigator() {
479
- (!_cachedNavigator || (_globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
487
+ };
488
+ var hasNavigator = function () { return !!getNavigator(); };
489
+ var getNavigator = function () {
490
+ (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
480
491
  return _cachedNavigator.v;
481
- }
482
- function hasHistory() {
483
- return !!getHistory();
484
- }
485
- function getHistory() {
486
- (!_cachedHistory || (_globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
492
+ };
493
+ var hasHistory = function () { return !!getHistory(); };
494
+ var getHistory = function () {
495
+ (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
487
496
  return _cachedHistory.v;
488
- }
489
- function isNode() {
497
+ };
498
+ var isNode = function () {
490
499
  !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
491
500
  return _isNode.v;
492
- }
501
+ };
493
502
 
494
503
  var _symbol;
495
504
  var _symbolFor;
@@ -517,7 +526,7 @@ function getKnownSymbol(name, noPoly) {
517
526
  }
518
527
  function newSymbol(description, noPoly) {
519
528
  (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
520
- return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : null);
529
+ return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
521
530
  }
522
531
  function symbolFor(key) {
523
532
  (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
@@ -531,36 +540,54 @@ function isIterable(value) {
531
540
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
532
541
  }
533
542
 
543
+ var _iterSymbol;
534
544
  function iterForOf(iter, callbackfn, thisArg) {
535
545
  if (iter) {
536
546
  if (!isIterator(iter)) {
537
- var itSymbol = getKnownSymbol(3 );
538
- iter = iter[itSymbol] ? iter[itSymbol]() : null;
547
+ !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
548
+ iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
539
549
  }
540
550
  if (isIterator(iter)) {
551
+ var err = void 0;
552
+ var iterResult = void 0;
541
553
  try {
542
554
  var count = 0;
543
- var value = iter.next();
544
- while (!value[DONE]) {
545
- if (callbackfn.call(thisArg || iter, value[VALUE], count, iter) === -1) {
555
+ while (!(iterResult = iter.next())[DONE]) {
556
+ if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
546
557
  break;
547
558
  }
548
559
  count++;
549
- value = iter.next();
550
560
  }
551
- iter.return && iter.return(value);
552
561
  }
553
- catch (e) {
554
- iter.throw && iter.throw(e);
562
+ catch (failed) {
563
+ err = { e: failed };
564
+ if (iter.throw) {
565
+ iterResult = null;
566
+ iter.throw(err);
567
+ }
568
+ }
569
+ finally {
570
+ try {
571
+ if (iterResult && !iterResult[DONE]) {
572
+ iter.return && iter.return(iterResult);
573
+ }
574
+ }
575
+ finally {
576
+ if (err) {
577
+ throw err.e;
578
+ }
579
+ }
555
580
  }
556
581
  }
557
582
  }
558
583
  }
559
584
 
585
+ var fnApply = _unwrapInstFunction("apply");
586
+
560
587
  function arrAppend(target, elms) {
561
588
  if (!isUndefined(elms) && target) {
562
589
  if (isArray(elms)) {
563
- target.push.apply(target, elms);
590
+ fnApply(target.push, target, elms);
564
591
  }
565
592
  else if (isIterator(elms) || isIterable(elms)) {
566
593
  iterForOf(elms, function (elm) {
@@ -591,55 +618,87 @@ var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
591
618
 
592
619
  var arrMap = _unwrapFunction("map", ArrProto);
593
620
 
621
+ var arrSlice = _unwrapFunction(SLICE, ArrProto);
622
+
623
+ var fnCall = _unwrapInstFunction("call");
624
+
594
625
  var arrReduce = _unwrapFunction("reduce", ArrProto);
595
626
 
596
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
627
+ var _objCreate = ObjClass$1["create"];
628
+ var objCreate = _objCreate || polyObjCreate;
629
+ function polyObjCreate(obj) {
630
+ if (!obj) {
631
+ return {};
632
+ }
633
+ var type = typeof obj;
634
+ if (type !== OBJECT && type !== FUNCTION) {
635
+ throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
636
+ }
637
+ function tempFunc() { }
638
+ tempFunc[PROTOTYPE] = obj;
639
+ return new tempFunc();
640
+ }
597
641
 
642
+ var _isProtoArray;
598
643
  function objSetPrototypeOf(obj, proto) {
599
644
  var fn = ObjClass$1["setPrototypeOf"] ||
600
- ({ __proto__: [] } instanceof Array && function (d, b) {
601
- d.__proto__ = b;
602
- }) ||
603
645
  function (d, b) {
604
- objForEachKey(b, function (key, value) { return d[key] = value; });
646
+ !_isProtoArray && (_isProtoArray = getLazy(function () {
647
+ var _a;
648
+ return ((_a = {}, _a[__PROTO__] = [], _a) instanceof Array);
649
+ }));
650
+ _isProtoArray.v ? d[__PROTO__] = b : objForEachKey(b, function (key, value) { return d[key] = value; });
605
651
  };
606
652
  return fn(obj, proto);
607
653
  }
608
654
 
609
- function _createCustomError(name, d, baseClass) {
610
- objSetPrototypeOf(d, baseClass);
655
+ var _createCustomError = function (name, d, b) {
656
+ _safeDefineName(d, name);
657
+ d = objSetPrototypeOf(d, b);
611
658
  function __() {
612
659
  this.constructor = d;
613
- this[NAME] = name;
660
+ _safeDefineName(this, name);
614
661
  }
615
- __[PROTOTYPE] = baseClass[PROTOTYPE];
616
- d[PROTOTYPE] = new __();
662
+ d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
617
663
  return d;
618
- }
664
+ };
619
665
  var _safeSetName = function (baseClass, name) {
620
666
  try {
621
- baseClass[PROTOTYPE][NAME] = name;
667
+ name && (baseClass[NAME] = name);
622
668
  }
623
669
  catch (e) {
624
670
  }
625
671
  };
626
- function createCustomError(name, constructCb) {
627
- var baseClass = Error;
628
- var orgName = baseClass[PROTOTYPE][NAME];
629
- var customError = _createCustomError(name, function () {
672
+ var _safeDefineName = function (target, name) {
673
+ try {
674
+ objDefine(target, NAME, { v: name, c: true, e: false });
675
+ }
676
+ catch (e) {
677
+ }
678
+ };
679
+ function createCustomError(name, constructCb, errorBase) {
680
+ var theBaseClass = errorBase || Error;
681
+ var orgName = theBaseClass[PROTOTYPE][NAME];
682
+ var captureFn = Error.captureStackTrace;
683
+ return _createCustomError(name, function () {
630
684
  var _this = this;
631
685
  try {
632
- _safeSetName(baseClass, name);
633
- _this = baseClass.apply(_this, arguments) || _this;
634
- _this[NAME] = name;
635
- constructCb && constructCb(_this, arguments);
686
+ _safeSetName(theBaseClass, name);
687
+ var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
688
+ if (_self !== _this) {
689
+ var orgProto = objGetPrototypeOf(_this);
690
+ if (orgProto !== objGetPrototypeOf(_self)) {
691
+ objSetPrototypeOf(_self, orgProto);
692
+ }
693
+ }
694
+ captureFn && captureFn(_self, _this[CONSTRUCTOR]);
695
+ constructCb && constructCb(_self, arguments);
696
+ return _self;
636
697
  }
637
698
  finally {
638
- _safeSetName(baseClass, orgName);
699
+ _safeSetName(theBaseClass, orgName);
639
700
  }
640
- return _this;
641
- }, baseClass);
642
- return customError;
701
+ }, theBaseClass);
643
702
  }
644
703
 
645
704
  function utcNow() {
@@ -662,7 +721,7 @@ function _createTrimFn(exp) {
662
721
  }
663
722
  var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
664
723
 
665
- var strTrim = _unwrapFunction("trim", StrProto, polyStrTrim);
724
+ var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
666
725
 
667
726
  var _fnToString;
668
727
  var _objCtrFnString;
@@ -678,7 +737,7 @@ function isPlainObject(value) {
678
737
  if (value !== _gblWindow) {
679
738
  if (!_objCtrFnString) {
680
739
  _fnToString = Function[PROTOTYPE].toString;
681
- _objCtrFnString = _fnToString.call(ObjClass$1);
740
+ _objCtrFnString = fnCall(_fnToString, ObjClass$1);
682
741
  }
683
742
  try {
684
743
  var proto = objGetPrototypeOf(value);
@@ -696,11 +755,10 @@ function isPlainObject(value) {
696
755
  return result;
697
756
  }
698
757
 
699
- function _defaultDeepCopyHandler(details) {
700
- var target = details.result = {};
701
- details.copyTo(target, details.value);
758
+ var _defaultDeepCopyHandler = function (details) {
759
+ details.value && plainObjDeepCopyHandler(details);
702
760
  return true;
703
- }
761
+ };
704
762
  var defaultDeepCopyHandlers = [
705
763
  arrayDeepCopyHandler,
706
764
  plainObjDeepCopyHandler,
@@ -730,9 +788,19 @@ function _deepCopy(visitMap, value, ctx, key) {
730
788
  src: ctx.src,
731
789
  path: newPath
732
790
  };
791
+ var theType = typeof value;
792
+ var isPlain = false;
793
+ var isPrim = false;
794
+ if (value && theType === OBJECT) {
795
+ isPlain = isPlainObject(value);
796
+ }
797
+ else {
798
+ isPrim = value === NULL_VALUE || isPrimitiveType(theType);
799
+ }
733
800
  var details = {
734
- type: typeof value,
735
- isPrim: isPrimitive(value),
801
+ type: theType,
802
+ isPrim: isPrim,
803
+ isPlain: isPlain,
736
804
  value: value,
737
805
  result: value,
738
806
  path: newPath,
@@ -756,12 +824,12 @@ function _deepCopy(visitMap, value, ctx, key) {
756
824
  });
757
825
  var idx = 0;
758
826
  var handler = userHandler;
759
- while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler)).call(ctx, details)) {
760
- handler = null;
827
+ while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
828
+ handler = NULL_VALUE;
761
829
  }
762
830
  });
763
831
  }
764
- if (userHandler && userHandler.call(ctx, details)) {
832
+ if (userHandler && fnCall(userHandler, ctx, details)) {
765
833
  return details.result;
766
834
  }
767
835
  return value;
@@ -815,7 +883,7 @@ function functionDeepCopyHandler(details) {
815
883
  }
816
884
  function plainObjDeepCopyHandler(details) {
817
885
  var value = details.value;
818
- if (isPlainObject(value)) {
886
+ if (value && details.isPlain) {
819
887
  var target = details.result = {};
820
888
  details.copyTo(target, value);
821
889
  return true;
@@ -837,7 +905,7 @@ var getLength = _unwrapProp(LENGTH);
837
905
 
838
906
  var _perf;
839
907
  function getPerformance() {
840
- (!_perf || (_globalLazyTestHooks.lzy && !_perf.b)) && (_perf = lazySafeGetInst("performance"));
908
+ (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
841
909
  return _perf.v;
842
910
  }
843
911
  function perfNow() {
@@ -848,22 +916,7 @@ function perfNow() {
848
916
  return utcNow();
849
917
  }
850
918
 
851
- var _objCreate = ObjClass$1["create"];
852
- var objCreate = _objCreate || polyObjCreate;
853
- function polyObjCreate(obj) {
854
- if (!obj) {
855
- return {};
856
- }
857
- var type = typeof obj;
858
- if (type !== OBJECT && type !== FUNCTION) {
859
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
860
- }
861
- function tempFunc() { }
862
- tempFunc[PROTOTYPE] = obj;
863
- return new tempFunc();
864
- }
865
-
866
- var strEndsWith = _unwrapFunction("endsWith", StrProto, polyStrEndsWith);
919
+ var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
867
920
  function polyStrEndsWith(value, searchString, length) {
868
921
  if (!isString(value)) {
869
922
  throwTypeError("'" + dumpObj(value) + "' is not a string");
@@ -884,7 +937,7 @@ var ENABLED = "enabled";
884
937
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
885
938
  var _a;
886
939
  var ref = true;
887
- var timerId = startTimer ? refreshFn(null) : null;
940
+ var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
888
941
  var theTimerHandler;
889
942
  var _unref = function () {
890
943
  ref = false;
@@ -911,7 +964,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
911
964
  };
912
965
  var _cancel = function () {
913
966
  timerId && cancelFn(timerId);
914
- timerId = null;
967
+ timerId = NULL_VALUE;
915
968
  };
916
969
  var _setEnabled = function (value) {
917
970
  !value && timerId && _cancel();
@@ -933,7 +986,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
933
986
  return {
934
987
  h: theTimerHandler,
935
988
  dn: function () {
936
- timerId = null;
989
+ timerId = NULL_VALUE;
937
990
  }
938
991
  };
939
992
  }
@@ -946,7 +999,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
946
999
  var timerFn = theArgs[0];
947
1000
  theArgs[0] = function () {
948
1001
  handler.dn();
949
- timerFn.apply(self, arguments);
1002
+ fnApply(timerFn, self, arrSlice(arguments));
950
1003
  };
951
1004
  var handler = _createTimerHandler(startTimer, function (timerId) {
952
1005
  if (timerId) {
@@ -954,11 +1007,11 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
954
1007
  timerId.refresh();
955
1008
  return timerId;
956
1009
  }
957
- clearFn.call(self, timerId);
1010
+ fnApply(clearFn, self, [timerId]);
958
1011
  }
959
- return setFn.apply(self, theArgs);
1012
+ return fnApply(setFn, self, theArgs);
960
1013
  }, function (timerId) {
961
- clearFn.call(self, timerId);
1014
+ fnApply(clearFn, self, [timerId]);
962
1015
  });
963
1016
  return handler.h;
964
1017
  }
@@ -1393,13 +1446,6 @@ function doFinally(value, finallyFn) {
1393
1446
  return result;
1394
1447
  }
1395
1448
 
1396
- var _theLogger = null;
1397
- function _debugLog(id, message) {
1398
- if (_theLogger) {
1399
- _theLogger(id, message);
1400
- }
1401
- }
1402
-
1403
1449
  var STRING_STATES = [
1404
1450
  "pending", "resolving", "resolved", "rejected"
1405
1451
  ];
@@ -1462,14 +1508,11 @@ function _createPromise(newPromise, processor, executor) {
1462
1508
  _handled = true;
1463
1509
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1464
1510
  _unHandledRejectionHandler = null;
1465
- _debugLog(_toString(), "then(" + dumpFnObj(onResolved) + ", " + dumpFnObj(onResolved) + ")");
1466
1511
  var thenPromise = newPromise(function (resolve, reject) {
1467
1512
  _queue.push(function () {
1468
1513
  try {
1469
- _debugLog(_toString(), "Handling settled value " + dumpFnObj(_settledValue));
1470
1514
  var handler = _state === 2 ? onResolved : onRejected;
1471
1515
  var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);
1472
- _debugLog(_toString(), "Handling Result " + dumpFnObj(value));
1473
1516
  if (isPromiseLike(value)) {
1474
1517
  value.then(resolve, reject);
1475
1518
  }
@@ -1487,12 +1530,10 @@ function _createPromise(newPromise, processor, executor) {
1487
1530
  reject(e);
1488
1531
  }
1489
1532
  });
1490
- _debugLog(_toString(), "Added to Queue " + _queue.length);
1491
1533
  if (_hasResolved) {
1492
1534
  _processQueue();
1493
1535
  }
1494
1536
  }, additionalArgs);
1495
- _debugLog(_toString(), "Created -> " + thenPromise.toString());
1496
1537
  return thenPromise;
1497
1538
  }
1498
1539
  finally {
@@ -1523,49 +1564,37 @@ function _createPromise(newPromise, processor, executor) {
1523
1564
  if (_queue.length > 0) {
1524
1565
  var pending = _queue.slice();
1525
1566
  _queue = [];
1526
- _debugLog(_toString(), "Processing queue " + pending.length);
1527
1567
  _handled = true;
1528
1568
  processor(pending);
1529
- _debugLog(_toString(), "Processing done");
1530
1569
  _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1531
1570
  _unHandledRejectionHandler = null;
1532
1571
  }
1533
- else {
1534
- _debugLog(_toString(), "Empty Processing queue ");
1535
- }
1536
1572
  };
1537
1573
  var _createSettleIfFn = function (newState, allowState) {
1538
1574
  return function (theValue) {
1539
1575
  if (_state === allowState) {
1540
1576
  if (newState === 2 && isPromiseLike(theValue)) {
1541
1577
  _state = 1 ;
1542
- _debugLog(_toString(), "Resolving");
1543
1578
  theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));
1544
1579
  return;
1545
1580
  }
1546
1581
  _state = newState;
1547
1582
  _hasResolved = true;
1548
1583
  _settledValue = theValue;
1549
- _debugLog(_toString(), _strState());
1550
1584
  _processQueue();
1551
1585
  if (!_handled && newState === 3 && !_unHandledRejectionHandler) {
1552
1586
  _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);
1553
1587
  }
1554
1588
  }
1555
- else {
1556
- _debugLog(_toString(), "Already " + _strState());
1557
- }
1558
1589
  };
1559
1590
  };
1560
1591
  var _notifyUnhandledRejection = function () {
1561
1592
  if (!_handled) {
1562
1593
  if (isNode()) {
1563
- _debugLog(_toString(), "Emitting " + NODE_UNHANDLED_REJECTION);
1564
1594
  process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1565
1595
  }
1566
1596
  else {
1567
1597
  var gbl = getWindow() || getGlobal();
1568
- _debugLog(_toString(), "Emitting " + UNHANDLED_REJECTION);
1569
1598
  emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {
1570
1599
  objDefine(theEvt, "promise", { g: function () { return _thePromise; } });
1571
1600
  theEvt.reason = _settledValue;
@@ -1595,14 +1624,12 @@ function _createPromise(newPromise, processor, executor) {
1595
1624
  }
1596
1625
  var _rejectFn = _createSettleIfFn(3 , 0 );
1597
1626
  try {
1598
- _debugLog(_toString(), "Executing");
1599
1627
  executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);
1600
1628
  }
1601
1629
  catch (e) {
1602
1630
  _rejectFn(e);
1603
1631
  }
1604
1632
  })();
1605
- _debugLog(_toString(), "Returning");
1606
1633
  return _thePromise;
1607
1634
  }
1608
1635
  function _createAllPromise(newPromise) {
@@ -2028,8 +2055,8 @@ function isSafari(userAgentStr) {
2028
2055
  var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE ]();
2029
2056
  return (strIndexOf(ua, "safari") >= 0);
2030
2057
  }
2031
- function isBeaconsSupported() {
2032
- if (_beaconsSupported === null) {
2058
+ function isBeaconsSupported(useCached) {
2059
+ if (_beaconsSupported === null || useCached === false) {
2033
2060
  _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);
2034
2061
  }
2035
2062
  return _beaconsSupported;
@@ -2095,6 +2122,40 @@ function findNamedServerTiming(name) {
2095
2122
  }
2096
2123
  return value;
2097
2124
  }
2125
+ function dispatchEvent(target, evnt) {
2126
+ if (target && target.dispatchEvent && evnt) {
2127
+ target.dispatchEvent(evnt);
2128
+ return true;
2129
+ }
2130
+ return false;
2131
+ }
2132
+ function createCustomDomEvent(eventName, details) {
2133
+ var event = null;
2134
+ var detail = { detail: details || null };
2135
+ if (isFunction(CustomEvent)) {
2136
+ event = new CustomEvent(eventName, detail);
2137
+ }
2138
+ else {
2139
+ var doc = getDocument();
2140
+ if (doc && doc.createEvent) {
2141
+ event = doc.createEvent("CustomEvent");
2142
+ event.initCustomEvent(eventName, true, true, detail);
2143
+ }
2144
+ }
2145
+ return event;
2146
+ }
2147
+ function sendCustomEvent(evtName, cfg, customDetails) {
2148
+ var global = getGlobal();
2149
+ if (global && global.CustomEvent) {
2150
+ try {
2151
+ var details = { cfg: cfg || null, customDetails: customDetails || null };
2152
+ return dispatchEvent(global, createCustomDomEvent(evtName, details));
2153
+ }
2154
+ catch (e) {
2155
+ }
2156
+ }
2157
+ return false;
2158
+ }
2098
2159
 
2099
2160
  var UInt32Mask = 0x100000000;
2100
2161
  var MaxUInt32 = 0xffffffff;
@@ -2180,7 +2241,7 @@ function newId(maxLength) {
2180
2241
  return result;
2181
2242
  }
2182
2243
 
2183
- var version = "3.0.3-nightly3.2306-01";
2244
+ var version = '3.0.3-nightly3.2307-24';
2184
2245
  var instanceName = "." + newId(6);
2185
2246
  var _dataUid = 0;
2186
2247
  function _canAcceptData(target) {
@@ -5934,6 +5995,7 @@ exports.cfgDfString = cfgDfString;
5934
5995
  exports.cfgDfValidate = cfgDfValidate;
5935
5996
  exports.createClassFromInterface = createClassFromInterface;
5936
5997
  exports.createCookieMgr = createCookieMgr;
5998
+ exports.createCustomDomEvent = createCustomDomEvent;
5937
5999
  exports.createDynamicConfig = createDynamicConfig;
5938
6000
  exports.createEnumStyle = createEnumStyle;
5939
6001
  exports.createProcessTelemetryContext = createProcessTelemetryContext;
@@ -5945,6 +6007,7 @@ exports.createValueMap = createValueMap;
5945
6007
  exports.dateNow = utcNow;
5946
6008
  exports.deepFreeze = objDeepFreeze;
5947
6009
  exports.detachEvent = detachEvent;
6010
+ exports.dispatchEvent = dispatchEvent;
5948
6011
  exports.doPerf = doPerf;
5949
6012
  exports.doUnloadAll = doUnloadAll;
5950
6013
  exports.dumpObj = dumpObj;
@@ -6038,6 +6101,7 @@ exports.removePageUnloadEventListener = removePageUnloadEventListener;
6038
6101
  exports.runTargetUnload = runTargetUnload;
6039
6102
  exports.safeGetCookieMgr = safeGetCookieMgr;
6040
6103
  exports.safeGetLogger = safeGetLogger;
6104
+ exports.sendCustomEvent = sendCustomEvent;
6041
6105
  exports.setEnableEnvMocks = setEnableEnvMocks;
6042
6106
  exports.setGblPerfMgr = setGblPerfMgr;
6043
6107
  exports.setValue = setValue;