@microsoft/applicationinsights-core-js 3.0.0-beta.2302-05 → 3.0.0-beta.2303-02

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 (83) hide show
  1. package/README.md +2 -1
  2. package/browser/applicationinsights-core-js.integrity.json +9 -9
  3. package/browser/applicationinsights-core-js.js +141 -111
  4. package/browser/applicationinsights-core-js.js.map +1 -1
  5. package/browser/applicationinsights-core-js.min.js +2 -2
  6. package/browser/applicationinsights-core-js.min.js.map +1 -1
  7. package/dist/applicationinsights-core-js.api.json +57 -9
  8. package/dist/applicationinsights-core-js.api.md +3 -3
  9. package/dist/applicationinsights-core-js.d.ts +7 -4
  10. package/dist/applicationinsights-core-js.js +141 -111
  11. package/dist/applicationinsights-core-js.js.map +1 -1
  12. package/dist/applicationinsights-core-js.min.js +2 -2
  13. package/dist/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/applicationinsights-core-js.rollup.d.ts +7 -4
  15. package/dist-esm/Config/ConfigDefaultHelpers.js +1 -1
  16. package/dist-esm/Config/ConfigDefaults.js +1 -1
  17. package/dist-esm/Config/DynamicConfig.js +1 -1
  18. package/dist-esm/Config/DynamicProperty.js +1 -1
  19. package/dist-esm/Config/DynamicState.js +1 -1
  20. package/dist-esm/Config/DynamicSupport.js +1 -1
  21. package/dist-esm/Config/IConfigDefaults.js +1 -1
  22. package/dist-esm/Config/IDynamicConfigHandler.js +1 -1
  23. package/dist-esm/Config/IDynamicPropertyHandler.js +1 -1
  24. package/dist-esm/Config/IDynamicWatcher.js +1 -1
  25. package/dist-esm/Config/_IDynamicConfigHandlerState.js +1 -1
  26. package/dist-esm/JavaScriptSDK/AggregationError.js +1 -1
  27. package/dist-esm/JavaScriptSDK/AppInsightsCore.js +1 -1
  28. package/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  29. package/dist-esm/JavaScriptSDK/Constants.js +1 -1
  30. package/dist-esm/JavaScriptSDK/CookieMgr.js +1 -1
  31. package/dist-esm/JavaScriptSDK/CoreUtils.js +1 -1
  32. package/dist-esm/JavaScriptSDK/DataCacheHelper.js +2 -2
  33. package/dist-esm/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  34. package/dist-esm/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  35. package/dist-esm/JavaScriptSDK/DiagnosticLogger.js +1 -1
  36. package/dist-esm/JavaScriptSDK/EnvUtils.js +1 -1
  37. package/dist-esm/JavaScriptSDK/EventHelpers.js +1 -1
  38. package/dist-esm/JavaScriptSDK/HelperFuncs.js +1 -1
  39. package/dist-esm/JavaScriptSDK/InstrumentHooks.js +12 -9
  40. package/dist-esm/JavaScriptSDK/InstrumentHooks.js.map +1 -1
  41. package/dist-esm/JavaScriptSDK/InternalConstants.js +1 -1
  42. package/dist-esm/JavaScriptSDK/NotificationManager.js +1 -1
  43. package/dist-esm/JavaScriptSDK/PerfManager.js +1 -1
  44. package/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  45. package/dist-esm/JavaScriptSDK/RandomHelper.js +1 -1
  46. package/dist-esm/JavaScriptSDK/TelemetryHelpers.js +1 -1
  47. package/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  48. package/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  49. package/dist-esm/JavaScriptSDK/UnloadHookContainer.js +1 -1
  50. package/dist-esm/JavaScriptSDK/W3cTraceParent.js +1 -1
  51. package/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  52. package/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  53. package/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  54. package/dist-esm/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  55. package/dist-esm/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  56. package/dist-esm/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  57. package/dist-esm/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  58. package/dist-esm/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  59. package/dist-esm/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  60. package/dist-esm/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  61. package/dist-esm/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  62. package/dist-esm/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  63. package/dist-esm/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  64. package/dist-esm/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  65. package/dist-esm/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  66. package/dist-esm/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  67. package/dist-esm/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  68. package/dist-esm/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  69. package/dist-esm/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  70. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  71. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  72. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  73. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  74. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  75. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  76. package/dist-esm/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  77. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  78. package/dist-esm/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  79. package/dist-esm/__DynamicConstants.js +1 -1
  80. package/dist-esm/applicationinsights-core-js.js +1 -1
  81. package/package.json +2 -2
  82. package/src/JavaScriptSDK/InstrumentHooks.ts +11 -8
  83. package/types/JavaScriptSDK/InstrumentHooks.d.ts +6 -3
package/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  # Microsoft Application Insights JavaScript SDK - Core
4
4
 
5
- [![Build Status](https://travis-ci.org/microsoft/applicationinsights-core-js.svg?branch=master)](https://travis-ci.org/microsoft/applicationinsights-core-js) [![Build status](https://dev.azure.com/mseng/AppInsights/_apis/build/status/AppInsights%20-%20DevTools/1DS%20JavaScript%20SDK%20-%20Core)](https://dev.azure.com/mseng/AppInsights/_build/latest?definitionId=7605)
5
+ ![GitHub Workflow Status (main)](https://img.shields.io/github/actions/workflow/status/microsoft/ApplicationInsights-JS/ci.yml?branch=master)
6
+ [![npm version](https://badge.fury.io/js/%40microsoft%2Fapplicationinsights-core-js.svg)](https://badge.fury.io/js/%40microsoft%2Fapplicationinsights-core-js)
6
7
 
7
8
  Core SDK layer for next version of application insights javascript SDK.
8
9
 
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "applicationinsights-core-js",
3
- "version": "3.0.0-beta.2302-05",
3
+ "version": "3.0.0-beta.2303-02",
4
4
  "ext": {
5
5
  "@js": {
6
6
  "file": "applicationinsights-core-js.js",
7
7
  "type": "text/javascript; charset=utf-8",
8
- "integrity": "sha256-bgjkZDPF40Yzhg1z40hv7+ytSBi/3k7Kr8uTkf4Xsok= sha384-V4QWvnjm7qU8FuuchFoOFbOePhyZ3Mvi4NVidJa2yA1uSmlzTrTelw0v3L55TNnL sha512-Rr9rZssWrfN8+uDXB4d1ZhAAwkTGQCDOujy5XgRrGeLBpmV6ebXN9arTW3ae37lOmDm0hu1ZjADDsFMxxpS4Mw==",
8
+ "integrity": "sha256-O8IFiBc6AJYiMWvVx2tcbWzqiqOPUBrSyjwBDQ002lE= sha384-Zky4vubI6OIbcm965VXIysTydiPCeOOGMN35mStvuSw5Qi5BcXeB0MoexFVtO+lq sha512-FhxOcevykI8M233egybQYJuIj3trGbMHMmVXWDeEd+UHibpiDmsFAvvr7T0QnL6NQS32wH80Z1ZyCSl1qosDZA==",
9
9
  "hashes": {
10
- "sha256": "bgjkZDPF40Yzhg1z40hv7+ytSBi/3k7Kr8uTkf4Xsok=",
11
- "sha384": "V4QWvnjm7qU8FuuchFoOFbOePhyZ3Mvi4NVidJa2yA1uSmlzTrTelw0v3L55TNnL",
12
- "sha512": "Rr9rZssWrfN8+uDXB4d1ZhAAwkTGQCDOujy5XgRrGeLBpmV6ebXN9arTW3ae37lOmDm0hu1ZjADDsFMxxpS4Mw=="
10
+ "sha256": "O8IFiBc6AJYiMWvVx2tcbWzqiqOPUBrSyjwBDQ002lE=",
11
+ "sha384": "Zky4vubI6OIbcm965VXIysTydiPCeOOGMN35mStvuSw5Qi5BcXeB0MoexFVtO+lq",
12
+ "sha512": "FhxOcevykI8M233egybQYJuIj3trGbMHMmVXWDeEd+UHibpiDmsFAvvr7T0QnL6NQS32wH80Z1ZyCSl1qosDZA=="
13
13
  }
14
14
  },
15
15
  "@min.js": {
16
16
  "file": "applicationinsights-core-js.min.js",
17
17
  "type": "text/javascript; charset=utf-8",
18
- "integrity": "sha256-Jp2t7tLtePOa+UR72x2k4Nwz3lzyr1BnBVwdv45GCwE= sha384-pz2+5wOA7iizD0Rwsaq0QpLpgV3EwMgr5MRmlMwN9/txj1fyD9iME465wSUCQQ9K sha512-dI29UIb4pV0I8v6XyzGm7X0b+fEGMx6rDBHNsYq8zubmfIly21ssXS0amuc7GcoAf7hH/wKEH5dy5OlKO9exqg==",
18
+ "integrity": "sha256-SzBNzTRTSLftZ4OybrTFuqTI82vCmNqGJQqqCxPO2Yw= sha384-SQsgsCQ32yXk9bZS2m5cs1KUADIsBToZFH3GMG7H3sM3tdfY6anoyk1L8FPOxQHA sha512-UW8Uy7CghBxsdJ89X0HQGuyqljDjXGv823KcdtKQRsEOF0daWRoN0TnQLvUpG5lHbGMrI9a36wHvqgtyW4/hNQ==",
19
19
  "hashes": {
20
- "sha256": "Jp2t7tLtePOa+UR72x2k4Nwz3lzyr1BnBVwdv45GCwE=",
21
- "sha384": "pz2+5wOA7iizD0Rwsaq0QpLpgV3EwMgr5MRmlMwN9/txj1fyD9iME465wSUCQQ9K",
22
- "sha512": "dI29UIb4pV0I8v6XyzGm7X0b+fEGMx6rDBHNsYq8zubmfIly21ssXS0amuc7GcoAf7hH/wKEH5dy5OlKO9exqg=="
20
+ "sha256": "SzBNzTRTSLftZ4OybrTFuqTI82vCmNqGJQqqCxPO2Yw=",
21
+ "sha384": "SQsgsCQ32yXk9bZS2m5cs1KUADIsBToZFH3GMG7H3sM3tdfY6anoyk1L8FPOxQHA",
22
+ "sha512": "UW8Uy7CghBxsdJ89X0HQGuyqljDjXGv823KcdtKQRsEOF0daWRoN0TnQLvUpG5lHbGMrI9a36wHvqgtyW4/hNQ=="
23
23
  }
24
24
  }
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.0-beta.2302-05
2
+ * Application Insights JavaScript SDK - Core, 3.0.0-beta.2303-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -10,6 +10,12 @@
10
10
 
11
11
  var MinChannelPriorty = 100;
12
12
 
13
+ /*!
14
+ * NevWare21 - ts-utils, 0.8.1
15
+ * https://github.com/nevware21/ts-utils
16
+ * Copyright (c) NevWare21 and contributors. All rights reserved.
17
+ * Licensed under the MIT license.
18
+ */
13
19
  var UNDEF_VALUE = undefined;
14
20
  var EMPTY = "";
15
21
  var BOOLEAN = "boolean";
@@ -27,13 +33,13 @@
27
33
  var LENGTH = "length";
28
34
  var DONE = "done";
29
35
  var VALUE = "value";
36
+ var NAME = "name";
30
37
  var ObjClass$1 = Object;
31
38
  var ObjProto = ObjClass$1[PROTOTYPE];
32
39
  var StrCls = String;
33
- var StrProto = StrCls[PROTOTYPE];
34
40
  var MathCls = Math;
35
41
  var ArrCls = Array;
36
-
42
+ var ArrProto = ArrCls[PROTOTYPE];
37
43
  function _safeGet(cb, defValue) {
38
44
  var result = defValue;
39
45
  try {
@@ -43,7 +49,6 @@
43
49
  }
44
50
  return result;
45
51
  }
46
-
47
52
  var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED$1, "symbol", "bigint"];
48
53
  function _createIs(theType) {
49
54
  return function (value) {
@@ -97,18 +102,14 @@
97
102
  function isTruthy(value) {
98
103
  return !(!value || _safeGet(function () { return !(value && (0 + value)); }, !value));
99
104
  }
100
-
101
105
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
102
-
103
106
  function objHasOwnProperty(obj, prop) {
104
107
  return obj && ObjProto[HAS_OWN_PROPERTY].call(obj, prop);
105
108
  }
106
-
107
109
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
108
110
  function polyObjHasOwn(obj, prop) {
109
111
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
110
112
  }
111
-
112
113
  function objForEachKey(theObject, callbackfn, thisArg) {
113
114
  if (theObject && isObject(theObject)) {
114
115
  for (var prop in theObject) {
@@ -120,7 +121,6 @@
120
121
  }
121
122
  }
122
123
  }
123
-
124
124
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
125
125
  var theMap = {};
126
126
  objForEachKey(values, function (key, value) {
@@ -129,14 +129,12 @@
129
129
  });
130
130
  return completeFn(theMap);
131
131
  }
132
-
133
132
  function throwError(message) {
134
133
  throw new Error(message);
135
134
  }
136
135
  function throwTypeError$1(message) {
137
136
  throw new TypeError(message);
138
137
  }
139
-
140
138
  var _objFreeze = ObjClass$1["freeze"];
141
139
  var _doNothing = function (value) { return value; };
142
140
  function objKeys(value) {
@@ -158,9 +156,11 @@
158
156
  var objFreeze = _objFreeze || _doNothing;
159
157
  var objSeal = ObjClass$1["seal"] || _doNothing;
160
158
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _doNothing;
161
-
162
159
  function createEnum(values) {
163
- return _createKeyValueMap(values, 1, 0, objDeepFreeze);
160
+ return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
161
+ }
162
+ function createEnumKeyMap(values) {
163
+ return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
164
164
  }
165
165
  function createSimpleMap(values) {
166
166
  var mapClass = {};
@@ -173,9 +173,22 @@
173
173
  function createTypeMap(values) {
174
174
  return createSimpleMap(values);
175
175
  }
176
-
176
+ createEnumKeyMap({
177
+ asyncIterator: 0 ,
178
+ hasInstance: 1 ,
179
+ isConcatSpreadable: 2 ,
180
+ iterator: 3 ,
181
+ match: 4 ,
182
+ matchAll: 5 ,
183
+ replace: 6 ,
184
+ search: 7 ,
185
+ species: 8 ,
186
+ split: 9 ,
187
+ toPrimitive: 10 ,
188
+ toStringTag: 11 ,
189
+ unscopables: 12
190
+ });
177
191
  var asString = StrCls;
178
-
179
192
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
180
193
  var _globalCfg;
181
194
  function _getGlobalValue() {
@@ -201,7 +214,6 @@
201
214
  }
202
215
  return _globalCfg;
203
216
  }
204
-
205
217
  function dumpObj(object, format) {
206
218
  var propertyValueDump = "";
207
219
  if (isError(object)) {
@@ -217,7 +229,6 @@
217
229
  }
218
230
  return objToString(object) + ": " + propertyValueDump;
219
231
  }
220
-
221
232
  function _extractArgs(args, startAt) {
222
233
  var theArgs = [];
223
234
  for (var lp = startAt; lp < args[LENGTH]; lp++) {
@@ -225,24 +236,25 @@
225
236
  }
226
237
  return theArgs;
227
238
  }
228
-
229
- function _unwrapFunction(funcName) {
239
+ function _unwrapFunction(funcName, target, polyFunc) {
230
240
  return function (thisArg) {
231
- var args = _extractArgs(arguments, 1);
232
- if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
233
- return thisArg[funcName].apply(thisArg, args);
241
+ if ((thisArg || thisArg === EMPTY)) {
242
+ var theFunc = thisArg[funcName] || (target && target[funcName]);
243
+ if (theFunc) {
244
+ return theFunc.apply(thisArg, _extractArgs(arguments, 1));
245
+ }
246
+ if (polyFunc) {
247
+ return polyFunc.apply(thisArg, arguments);
248
+ }
234
249
  }
235
- throwTypeError$1("'" + funcName + "' not defined for " + dumpObj(thisArg));
250
+ throwTypeError$1("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
236
251
  };
237
252
  }
238
-
239
253
  var mathMax = MathCls.max;
240
-
241
254
  var strSlice = _unwrapFunction("slice");
242
-
243
255
  var SUB_STR = "substr";
244
256
  var strSubstring = _unwrapFunction("substring");
245
- var strSubstr = StrProto[SUB_STR] ? _unwrapFunction(SUB_STR) : polyStrSubstr;
257
+ var strSubstr = _unwrapFunction(SUB_STR, UNDEF_VALUE, polyStrSubstr);
246
258
  function polyStrSubstr(value, start, length) {
247
259
  if (isNullOrUndefined(value)) {
248
260
  throwTypeError$1("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -262,9 +274,8 @@
262
274
  function strLeft(value, count) {
263
275
  return strSubstring(value, 0, count);
264
276
  }
265
-
266
277
  var STARTS_WITH = "startsWith";
267
- var strStartsWith = StrProto[STARTS_WITH] ? _unwrapFunction(STARTS_WITH) : polyStrStartsWith;
278
+ var strStartsWith = _unwrapFunction(STARTS_WITH, UNDEF_VALUE, polyStrStartsWith);
268
279
  function polyStrStartsWith(value, searchString, position) {
269
280
  if (!isString(value)) {
270
281
  throwTypeError$1("'" + dumpObj(value) + "' is not a string");
@@ -274,7 +285,6 @@
274
285
  var pos = position > 0 ? position : 0;
275
286
  return strSubstring(value, pos, pos + chkLen) === searchValue;
276
287
  }
277
-
278
288
  var _polySymbols;
279
289
  function _globalSymbolRegistry() {
280
290
  if (!_polySymbols) {
@@ -300,7 +310,6 @@
300
310
  }
301
311
  return registry.k[key];
302
312
  }
303
-
304
313
  var propMap = {
305
314
  e: "enumerable",
306
315
  c: "configurable",
@@ -318,7 +327,7 @@
318
327
  });
319
328
  return prop;
320
329
  }
321
- var objDefineProp = ObjClass$1.defineProperty;
330
+ var objDefineProp = ObjClass$1["defineProperty"];
322
331
  function objDefineAccessors(target, prop, getProp, setProp, configurable, enumerable) {
323
332
  var desc = {
324
333
  e: enumerable,
@@ -335,7 +344,6 @@
335
344
  function objDefine(target, key, propDesc) {
336
345
  return objDefineProp(target, key, _createProp(propDesc));
337
346
  }
338
-
339
347
  var _globalLazyTestHooks;
340
348
  var _fetchLazyTestHooks = function () {
341
349
  _globalLazyTestHooks = _getGlobalConfig();
@@ -362,11 +370,9 @@
362
370
  });
363
371
  return lazyValue;
364
372
  }
365
-
366
373
  function _lazySafeGet(cb, defValue) {
367
374
  return getLazy(function () { return _safeGet(cb, defValue); });
368
375
  }
369
-
370
376
  var DOCUMENT = "document";
371
377
  var HISTORY = "history";
372
378
  var NAVIGATOR = "navigator";
@@ -421,7 +427,6 @@
421
427
  (!_cachedHistory || (_globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = _lazySafeGetInst(HISTORY));
422
428
  return _cachedHistory.v;
423
429
  }
424
-
425
430
  var _symbol;
426
431
  var _symbolFor;
427
432
  var _symbolKeyFor;
@@ -446,11 +451,9 @@
446
451
  (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
447
452
  return (_symbolFor.v || polySymbolFor)(key);
448
453
  }
449
-
450
454
  function isIterator(value) {
451
455
  return !!value && isFunction(value.next);
452
456
  }
453
-
454
457
  function arrAppend(target, elms) {
455
458
  if (!isUndefined(elms) && target) {
456
459
  if (isArray(elms)) {
@@ -469,26 +472,21 @@
469
472
  }
470
473
  return target;
471
474
  }
472
-
473
- function arrForEach(arr, callbackfn, thisArg) {
474
- if (arr) {
475
- var len = arr[LENGTH];
475
+ function arrForEach(theArray, callbackfn, thisArg) {
476
+ if (theArray) {
477
+ var len = theArray[LENGTH] >>> 0;
476
478
  for (var idx = 0; idx < len; idx++) {
477
- if (idx in arr) {
478
- if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
479
+ if (idx in theArray) {
480
+ if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
479
481
  break;
480
482
  }
481
483
  }
482
484
  }
483
485
  }
484
486
  }
485
-
486
- var arrIndexOf = _unwrapFunction(INDEX_OF);
487
-
488
- var arrMap = _unwrapFunction("map");
489
-
490
- var arrReduce = _unwrapFunction("reduce");
491
-
487
+ var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
488
+ var arrMap = _unwrapFunction("map", ArrProto);
489
+ var arrReduce = _unwrapFunction("reduce", ArrProto);
492
490
  function objSetPrototypeOf(obj, proto) {
493
491
  var fn = ObjClass$1["setPrototypeOf"] ||
494
492
  ({ __proto__: [] } instanceof Array && function (d, b) {
@@ -499,35 +497,47 @@
499
497
  };
500
498
  return fn(obj, proto);
501
499
  }
502
-
503
- function _createCustomError(name, d, b) {
504
- objSetPrototypeOf(d, b);
500
+ function _createCustomError(name, d, baseClass) {
501
+ objSetPrototypeOf(d, baseClass);
505
502
  function __() {
506
503
  this.constructor = d;
504
+ this[NAME] = name;
507
505
  }
508
- __[PROTOTYPE] = b[PROTOTYPE];
509
- __[PROTOTYPE].name = name;
506
+ __[PROTOTYPE] = baseClass[PROTOTYPE];
510
507
  d[PROTOTYPE] = new __();
511
508
  return d;
512
509
  }
510
+ var _safeSetName = function (baseClass, name) {
511
+ try {
512
+ baseClass[PROTOTYPE][NAME] = name;
513
+ }
514
+ catch (e) {
515
+ }
516
+ };
513
517
  function createCustomError(name, constructCb) {
514
518
  var baseClass = Error;
519
+ var orgName = baseClass[PROTOTYPE][NAME];
515
520
  var customError = _createCustomError(name, function () {
516
521
  var _this = this;
517
- _this = baseClass.apply(_this, arguments) || _this;
518
- constructCb && constructCb(_this, arguments);
522
+ try {
523
+ _safeSetName(baseClass, name);
524
+ _this = baseClass.apply(_this, arguments) || _this;
525
+ _this[NAME] = name;
526
+ constructCb && constructCb(_this, arguments);
527
+ }
528
+ finally {
529
+ _safeSetName(baseClass, orgName);
530
+ }
519
531
  return _this;
520
532
  }, baseClass);
521
533
  return customError;
522
534
  }
523
-
524
535
  function utcNow() {
525
536
  return (Date.now || polyUtcNow)();
526
537
  }
527
538
  function polyUtcNow() {
528
539
  return new Date().getTime();
529
540
  }
530
-
531
541
  var _fnToString;
532
542
  var _objCtrFnString;
533
543
  var _gblWindow;
@@ -559,7 +569,6 @@
559
569
  }
560
570
  return result;
561
571
  }
562
-
563
572
  function _defaultDeepCopyHandler(details) {
564
573
  var target = details.result = {};
565
574
  details.copyTo(target, details.value);
@@ -686,7 +695,6 @@
686
695
  }
687
696
  return false;
688
697
  }
689
-
690
698
  function _doExtend(target, theArgs) {
691
699
  arrForEach(theArgs, function (theArg) {
692
700
  objCopyProps(target, theArg);
@@ -700,7 +708,6 @@
700
708
  }
701
709
  return _doExtend(objDeepCopy(target) || {}, theArgs);
702
710
  }
703
-
704
711
  var _perf;
705
712
  function getPerformance() {
706
713
  (!_perf || (_globalLazyTestHooks.lzy && !_perf.b)) && (_perf = _lazySafeGetInst("performance"));
@@ -713,9 +720,8 @@
713
720
  }
714
721
  return utcNow();
715
722
  }
716
-
717
723
  var ENDS_WITH = "endsWith";
718
- var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
724
+ var strEndsWith = _unwrapFunction(ENDS_WITH, UNDEF_VALUE, polyStrEndsWith);
719
725
  function polyStrEndsWith(value, searchString, length) {
720
726
  if (!isString(value)) {
721
727
  throwTypeError$1("'" + dumpObj(value) + "' is not a string");
@@ -726,9 +732,7 @@
726
732
  var end = !isUndefined(length) && length < len ? length : len;
727
733
  return strSubstring(value, end - chkLen, end) === searchValue;
728
734
  }
729
-
730
735
  var strIndexOf = _unwrapFunction(INDEX_OF);
731
-
732
736
  function _createTrimFn(exp) {
733
737
  return function _doTrim(value) {
734
738
  if (isNullOrUndefined(value)) {
@@ -741,54 +745,79 @@
741
745
  };
742
746
  }
743
747
  var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
744
-
745
748
  var TRIM = "trim";
746
- var strTrim = StrProto[TRIM] ? _unwrapFunction(TRIM) : polyStrTrim;
747
-
749
+ var strTrim = _unwrapFunction(TRIM, UNDEF_VALUE, polyStrTrim);
750
+ var REF = "ref";
751
+ var UNREF = "un" + REF;
752
+ var HAS_REF = "hasRef";
753
+ var ENABLED = "enabled";
748
754
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
755
+ var _a;
749
756
  var ref = true;
750
757
  var timerId = startTimer ? refreshFn(null) : null;
751
- function _unref() {
758
+ var theTimerHandler;
759
+ var _unref = function () {
752
760
  ref = false;
753
- timerId && timerId["unref"] && timerId["unref"]();
754
- return timer;
755
- }
756
- function _ref() {
761
+ timerId && timerId[UNREF] && timerId[UNREF]();
762
+ return theTimerHandler;
763
+ };
764
+ var _ref = function () {
757
765
  ref = true;
758
- timerId && timerId["ref"] && timerId["ref"]();
759
- return timer;
760
- }
761
- function _hasRef() {
762
- if (timerId && timerId["hasRef"]) {
763
- return timerId["hasRef"]();
766
+ timerId && timerId[REF] && timerId[REF]();
767
+ return theTimerHandler;
768
+ };
769
+ var _hasRef = function () {
770
+ if (timerId && timerId[HAS_REF]) {
771
+ return timerId[HAS_REF]();
764
772
  }
765
773
  return ref;
766
- }
767
- var timer = {
768
- cancel: function () {
769
- timerId && cancelFn(timerId);
770
- timerId = null;
771
- },
772
- refresh: function () {
773
- timerId = refreshFn(timerId);
774
- if (!ref) {
775
- _unref();
776
- }
777
- return timer;
774
+ };
775
+ var _refresh = function () {
776
+ timerId = refreshFn(timerId);
777
+ if (!ref) {
778
+ _unref();
779
+ }
780
+ return theTimerHandler;
781
+ };
782
+ var _cancel = function () {
783
+ timerId && cancelFn(timerId);
784
+ timerId = null;
785
+ };
786
+ var _setEnabled = function (value) {
787
+ !value && timerId && _cancel();
788
+ value && !timerId && _refresh();
789
+ };
790
+ theTimerHandler = (_a = {
791
+ cancel: _cancel,
792
+ refresh: _refresh
778
793
  },
779
- hasRef: _hasRef,
780
- ref: _ref,
781
- unref: _unref
794
+ _a[HAS_REF] = _hasRef,
795
+ _a[REF] = _ref,
796
+ _a[UNREF] = _unref,
797
+ _a[ENABLED] = false,
798
+ _a);
799
+ objDefineProp(theTimerHandler, ENABLED, {
800
+ get: function () { return !!timerId; },
801
+ set: _setEnabled
802
+ });
803
+ return {
804
+ h: theTimerHandler,
805
+ dn: function () {
806
+ timerId = null;
807
+ }
782
808
  };
783
- return timer;
784
809
  }
785
-
786
810
  function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
787
811
  var isArr = isArray(overrideFn);
788
812
  var len = isArr ? overrideFn.length : 0;
789
813
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
790
814
  var clearFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;
791
- return _createTimerHandler(startTimer, function (timerId) {
815
+ var timerFn = theArgs[0];
816
+ theArgs[0] = function () {
817
+ handler.dn();
818
+ timerFn.apply(self, arguments);
819
+ };
820
+ var handler = _createTimerHandler(startTimer, function (timerId) {
792
821
  if (timerId) {
793
822
  if (timerId.refresh) {
794
823
  timerId.refresh();
@@ -800,20 +829,21 @@
800
829
  }, function (timerId) {
801
830
  clearFn.call(self, timerId);
802
831
  });
832
+ return handler.h;
803
833
  }
804
834
  function scheduleTimeout(callback, timeout) {
805
835
  return _createTimeoutWith(this, true, UNDEF_VALUE, _extractArgs(arguments, 0));
806
836
  }
807
-
808
837
  function scheduleInterval(callback, timeout) {
809
838
  var self = this;
810
839
  var theArguments = _extractArgs(arguments, 0);
811
- return _createTimerHandler(true, function (intervalId) {
840
+ var handler = _createTimerHandler(true, function (intervalId) {
812
841
  intervalId && clearInterval(intervalId);
813
842
  return setInterval.apply(self, theArguments);
814
843
  }, function (intervalId) {
815
844
  clearInterval(intervalId);
816
845
  });
846
+ return handler.h;
817
847
  }
818
848
 
819
849
  var createEnumStyle = createEnum;
@@ -986,7 +1016,7 @@
986
1016
  }
987
1017
 
988
1018
  /*!
989
- * Microsoft Dynamic Proto Utility, 1.1.7
1019
+ * Microsoft Dynamic Proto Utility, 1.1.8
990
1020
  * Copyright (c) Microsoft and contributors. All rights reserved.
991
1021
  */
992
1022
  var _a$4;
@@ -1740,7 +1770,7 @@
1740
1770
  }
1741
1771
 
1742
1772
  var _objDefineProperty = ObjDefineProperty;
1743
- var version = "3.0.0-beta.2302-05";
1773
+ var version = "3.0.0-beta.2303-02";
1744
1774
  var instanceName = "." + newId(6);
1745
1775
  var _dataUid = 0;
1746
1776
  function _createAccessor(target, prop, value) {
@@ -5125,14 +5155,14 @@
5125
5155
  return funcArgs.rslt;
5126
5156
  };
5127
5157
  }
5128
- function _getOwner(target, name, checkPrototype) {
5158
+ function _getOwner(target, name, checkPrototype, checkParentProto) {
5129
5159
  var owner = null;
5130
5160
  if (target) {
5131
5161
  if (objHasOwnProperty(target, name)) {
5132
5162
  owner = target;
5133
5163
  }
5134
5164
  else if (checkPrototype) {
5135
- owner = _getOwner(_getObjProto(target), name, false);
5165
+ owner = _getOwner(_getObjProto(target), name, checkParentProto, false);
5136
5166
  }
5137
5167
  }
5138
5168
  return owner;
@@ -5179,10 +5209,10 @@
5179
5209
  aiHook.h[_DYN_PUSH ](theHook);
5180
5210
  return theHook;
5181
5211
  }
5182
- function InstrumentFunc(target, funcName, callbacks, checkPrototype) {
5212
+ function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {
5183
5213
  if (checkPrototype === void 0) { checkPrototype = true; }
5184
5214
  if (target && funcName && callbacks) {
5185
- var owner = _getOwner(target, funcName, checkPrototype);
5215
+ var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);
5186
5216
  if (owner) {
5187
5217
  var fn = owner[funcName];
5188
5218
  if (typeof fn === strShimFunction) {
@@ -5192,11 +5222,11 @@
5192
5222
  }
5193
5223
  return null;
5194
5224
  }
5195
- function InstrumentFuncs(target, funcNames, callbacks, checkPrototype) {
5225
+ function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {
5196
5226
  if (checkPrototype === void 0) { checkPrototype = true; }
5197
5227
  var hooks = null;
5198
5228
  _arrLoop(funcNames, function (funcName) {
5199
- var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype);
5229
+ var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);
5200
5230
  if (hook) {
5201
5231
  if (!hooks) {
5202
5232
  hooks = [];
@@ -5206,9 +5236,9 @@
5206
5236
  });
5207
5237
  return hooks;
5208
5238
  }
5209
- function InstrumentEvent(target, evtName, callbacks, checkPrototype) {
5239
+ function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {
5210
5240
  if (target && evtName && callbacks) {
5211
- var owner = _getOwner(target, evtName, checkPrototype) || target;
5241
+ var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;
5212
5242
  if (owner) {
5213
5243
  return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);
5214
5244
  }