@microsoft/applicationinsights-common 3.0.7 → 3.0.9

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 (96) hide show
  1. package/browser/es5/applicationinsights-common.cjs.js +226 -217
  2. package/browser/es5/applicationinsights-common.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-common.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-common.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-common.gbl.js +228 -219
  6. package/browser/es5/applicationinsights-common.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-common.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-common.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-common.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-common.js +228 -219
  11. package/browser/es5/applicationinsights-common.js.map +1 -1
  12. package/browser/es5/applicationinsights-common.min.js +2 -2
  13. package/browser/es5/applicationinsights-common.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-common.js +226 -217
  15. package/dist/es5/applicationinsights-common.js.map +1 -1
  16. package/dist/es5/applicationinsights-common.min.js +2 -2
  17. package/dist/es5/applicationinsights-common.min.js.map +1 -1
  18. package/dist-es5/ConnectionStringParser.js +1 -1
  19. package/dist-es5/Constants.js +1 -1
  20. package/dist-es5/DomHelperFuncs.js +1 -1
  21. package/dist-es5/Enums.js +1 -1
  22. package/dist-es5/HelperFuncs.js +1 -1
  23. package/dist-es5/Interfaces/ConnectionString.js +1 -1
  24. package/dist-es5/Interfaces/Context/IApplication.js +1 -1
  25. package/dist-es5/Interfaces/Context/IDevice.js +1 -1
  26. package/dist-es5/Interfaces/Context/IInternal.js +1 -1
  27. package/dist-es5/Interfaces/Context/ILocation.js +1 -1
  28. package/dist-es5/Interfaces/Context/IOperatingSystem.js +1 -1
  29. package/dist-es5/Interfaces/Context/ISample.js +1 -1
  30. package/dist-es5/Interfaces/Context/ISession.js +1 -1
  31. package/dist-es5/Interfaces/Context/ISessionManager.js +1 -1
  32. package/dist-es5/Interfaces/Context/ITelemetryTrace.js +1 -1
  33. package/dist-es5/Interfaces/Context/IUser.js +1 -1
  34. package/dist-es5/Interfaces/Context/IWeb.js +1 -1
  35. package/dist-es5/Interfaces/Contracts/AvailabilityData.js +1 -1
  36. package/dist-es5/Interfaces/Contracts/ContextTagKeys.js +1 -1
  37. package/dist-es5/Interfaces/Contracts/DataPointType.js +1 -1
  38. package/dist-es5/Interfaces/Contracts/DependencyKind.js +1 -1
  39. package/dist-es5/Interfaces/Contracts/DependencySourceType.js +1 -1
  40. package/dist-es5/Interfaces/Contracts/IBase.js +1 -1
  41. package/dist-es5/Interfaces/Contracts/IData.js +1 -1
  42. package/dist-es5/Interfaces/Contracts/IDataPoint.js +1 -1
  43. package/dist-es5/Interfaces/Contracts/IDomain.js +1 -1
  44. package/dist-es5/Interfaces/Contracts/IEnvelope.js +1 -1
  45. package/dist-es5/Interfaces/Contracts/IEventData.js +1 -1
  46. package/dist-es5/Interfaces/Contracts/IExceptionData.js +1 -1
  47. package/dist-es5/Interfaces/Contracts/IExceptionDetails.js +1 -1
  48. package/dist-es5/Interfaces/Contracts/IMessageData.js +1 -1
  49. package/dist-es5/Interfaces/Contracts/IMetricData.js +1 -1
  50. package/dist-es5/Interfaces/Contracts/IPageViewData.js +1 -1
  51. package/dist-es5/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  52. package/dist-es5/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  53. package/dist-es5/Interfaces/Contracts/IStackFrame.js +1 -1
  54. package/dist-es5/Interfaces/Contracts/RequestData.js +1 -1
  55. package/dist-es5/Interfaces/Contracts/SeverityLevel.js +1 -1
  56. package/dist-es5/Interfaces/IAppInsights.js +1 -1
  57. package/dist-es5/Interfaces/IConfig.js +1 -1
  58. package/dist-es5/Interfaces/ICorrelationConfig.js +1 -1
  59. package/dist-es5/Interfaces/IDependencyTelemetry.js +1 -1
  60. package/dist-es5/Interfaces/IEventTelemetry.js +1 -1
  61. package/dist-es5/Interfaces/IExceptionTelemetry.js +1 -1
  62. package/dist-es5/Interfaces/IMetricTelemetry.js +1 -1
  63. package/dist-es5/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  64. package/dist-es5/Interfaces/IPageViewTelemetry.js +1 -1
  65. package/dist-es5/Interfaces/IPartC.js +1 -1
  66. package/dist-es5/Interfaces/IPropertiesPlugin.js +1 -1
  67. package/dist-es5/Interfaces/IRequestContext.js +1 -1
  68. package/dist-es5/Interfaces/IStorageBuffer.js +1 -1
  69. package/dist-es5/Interfaces/ITelemetryContext.js +1 -1
  70. package/dist-es5/Interfaces/IThrottleMgr.js +1 -1
  71. package/dist-es5/Interfaces/ITraceTelemetry.js +1 -1
  72. package/dist-es5/Interfaces/PartAExtensions.js +1 -1
  73. package/dist-es5/Interfaces/Telemetry/IEnvelope.js +1 -1
  74. package/dist-es5/Interfaces/Telemetry/ISerializable.js +1 -1
  75. package/dist-es5/RequestResponseHeaders.js +1 -1
  76. package/dist-es5/StorageHelperFuncs.js +1 -1
  77. package/dist-es5/Telemetry/Common/Data.js +1 -1
  78. package/dist-es5/Telemetry/Common/DataPoint.js +1 -1
  79. package/dist-es5/Telemetry/Common/DataSanitizer.js +1 -1
  80. package/dist-es5/Telemetry/Common/Envelope.js +1 -1
  81. package/dist-es5/Telemetry/Event.js +1 -1
  82. package/dist-es5/Telemetry/Exception.js +1 -1
  83. package/dist-es5/Telemetry/Metric.js +1 -1
  84. package/dist-es5/Telemetry/PageView.js +1 -1
  85. package/dist-es5/Telemetry/PageViewPerformance.js +1 -1
  86. package/dist-es5/Telemetry/RemoteDependencyData.js +1 -1
  87. package/dist-es5/Telemetry/Trace.js +1 -1
  88. package/dist-es5/TelemetryItemCreator.js +1 -1
  89. package/dist-es5/ThrottleMgr.js +1 -1
  90. package/dist-es5/UrlHelperFuncs.js +1 -1
  91. package/dist-es5/Util.js +1 -1
  92. package/dist-es5/__DynamicConstants.js +1 -1
  93. package/dist-es5/applicationinsights-common.js +1 -1
  94. package/package.json +66 -63
  95. package/types/applicationinsights-common.d.ts +12 -2
  96. package/types/applicationinsights-common.namespaced.d.ts +1975 -65
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Common, 3.0.7
2
+ * Application Insights JavaScript SDK - Common, 3.0.9
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_common_3_0_7", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.0.7";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_common_3_0_9", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.0.9";
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]||{});
@@ -34,20 +34,17 @@ var UNDEF_VALUE = undefined;
34
34
  var NULL_VALUE = null;
35
35
  var EMPTY = "";
36
36
  var FUNCTION = "function";
37
- var NUMBER = "number";
38
37
  var OBJECT = "object";
39
38
  var PROTOTYPE = "prototype";
40
39
  var __PROTO__ = "__proto__";
41
- var STRING = "string";
42
40
  var UNDEFINED = "undefined";
43
41
  var CONSTRUCTOR = "constructor";
44
42
  var SYMBOL = "Symbol";
45
43
  var POLYFILL_TAG = "_polyfill";
46
- var INDEX_OF = "indexOf";
47
44
  var LENGTH = "length";
48
- var VALUE = "value";
49
45
  var NAME = "name";
50
- var SLICE = "slice";
46
+ var CALL = "call";
47
+ var TO_STRING = "toString";
51
48
  var ObjClass$1 = Object;
52
49
  var ObjProto$1 = ObjClass$1[PROTOTYPE];
53
50
  var StrCls = String;
@@ -55,42 +52,51 @@ var StrProto = StrCls[PROTOTYPE];
55
52
  var MathCls = Math;
56
53
  var ArrCls = Array;
57
54
  var ArrProto = ArrCls[PROTOTYPE];
55
+ var ArrSlice = ArrProto["slice"];
58
56
 
59
- function safeGet(cb, defValue) {
60
- var result = defValue;
57
+ function safe(func, argArray) {
61
58
  try {
62
- result = cb();
59
+ return {
60
+ v: func.apply(this, argArray)
61
+ };
63
62
  }
64
63
  catch (e) {
64
+ return { e: e };
65
65
  }
66
- return result;
67
66
  }
68
67
 
68
+ /*#__NO_SIDE_EFFECTS__*/
69
69
  function _createIs(theType) {
70
70
  return function (value) {
71
71
  return typeof value === theType;
72
72
  };
73
73
  }
74
+ /*#__NO_SIDE_EFFECTS__*/
74
75
  function _createObjIs(theName) {
75
76
  var theType = "[object " + theName + "]";
76
77
  return function (value) {
77
78
  return !!(value && objToString(value) === theType);
78
79
  };
79
80
  }
81
+ /*#__NO_SIDE_EFFECTS__*/
80
82
  function objToString(value) {
81
83
  return ObjProto$1.toString.call(value);
82
84
  }
85
+ /*#__NO_SIDE_EFFECTS__*/
83
86
  function isUndefined(value) {
84
87
  return typeof value === UNDEFINED || value === UNDEFINED;
85
88
  }
89
+ /*#__NO_SIDE_EFFECTS__*/
86
90
  function isNullOrUndefined(value) {
87
91
  return value === NULL_VALUE || isUndefined(value);
88
92
  }
93
+ /*#__NO_SIDE_EFFECTS__*/
89
94
  function isDefined(arg) {
90
95
  return !!arg || arg !== UNDEF_VALUE;
91
96
  }
92
- var isString = _createIs(STRING);
93
- var isFunction = _createIs(FUNCTION);
97
+ var isString = ( /*#__PURE__*/_createIs("string"));
98
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
99
+ /*#__NO_SIDE_EFFECTS__*/
94
100
  function isObject(value) {
95
101
  if (!value && isNullOrUndefined(value)) {
96
102
  return false;
@@ -98,16 +104,17 @@ function isObject(value) {
98
104
  return !!value && typeof value === OBJECT;
99
105
  }
100
106
  var isArray = ArrCls.isArray;
101
- var isNumber = _createIs(NUMBER);
102
- var isError = _createObjIs("Error");
107
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
103
108
 
104
109
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
105
110
 
111
+ /*#__NO_SIDE_EFFECTS__*/
106
112
  function objHasOwnProperty(obj, prop) {
107
- return obj && ObjProto$1.hasOwnProperty.call(obj, prop);
113
+ return !!obj && ObjProto$1.hasOwnProperty[CALL](obj, prop);
108
114
  }
109
115
 
110
116
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
117
+ /*#__NO_SIDE_EFFECTS__*/
111
118
  function polyObjHasOwn(obj, prop) {
112
119
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
113
120
  }
@@ -116,7 +123,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
116
123
  if (theObject && isObject(theObject)) {
117
124
  for (var prop in theObject) {
118
125
  if (objHasOwn(theObject, prop)) {
119
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
126
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
120
127
  break;
121
128
  }
122
129
  }
@@ -124,6 +131,7 @@ function objForEachKey(theObject, callbackfn, thisArg) {
124
131
  }
125
132
  }
126
133
 
134
+ /*#__NO_SIDE_EFFECTS__*/
127
135
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
128
136
  var theMap = {};
129
137
  objForEachKey(values, function (key, value) {
@@ -141,15 +149,15 @@ function throwTypeError(message) {
141
149
  }
142
150
 
143
151
  var _objFreeze = ObjClass$1["freeze"];
144
- var _doNothing = function (value) { return value; };
145
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
146
- var objAssign = ObjClass$1["assign"];
147
- function objKeys(value) {
148
- if (!isObject(value) || value === NULL_VALUE) {
149
- throwTypeError("objKeys called on non-object");
150
- }
151
- return ObjClass$1.keys(value);
152
+ function _doNothing(value) {
153
+ return value;
154
+ }
155
+ /*#__NO_SIDE_EFFECTS__*/
156
+ function _getProto(value) {
157
+ return value[__PROTO__] || NULL_VALUE;
152
158
  }
159
+ var objAssign = ObjClass$1["assign"];
160
+ var objKeys = ObjClass$1.keys;
153
161
  function objDeepFreeze(value) {
154
162
  if (_objFreeze) {
155
163
  objForEachKey(value, function (key, value) {
@@ -163,9 +171,11 @@ function objDeepFreeze(value) {
163
171
  var objFreeze = _objFreeze || _doNothing;
164
172
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
165
173
 
174
+ /*#__NO_SIDE_EFFECTS__*/
166
175
  function createEnum(values) {
167
176
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
168
177
  }
178
+ /*#__NO_SIDE_EFFECTS__*/
169
179
  function createSimpleMap(values) {
170
180
  var mapClass = {};
171
181
  objForEachKey(values, function (key, value) {
@@ -174,6 +184,7 @@ function createSimpleMap(values) {
174
184
  });
175
185
  return objDeepFreeze(mapClass);
176
186
  }
187
+ /*#__NO_SIDE_EFFECTS__*/
177
188
  function createTypeMap(values) {
178
189
  return createSimpleMap(values);
179
190
  }
@@ -182,6 +193,7 @@ var asString = StrCls;
182
193
 
183
194
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
184
195
  var _globalCfg;
196
+ /*#__NO_SIDE_EFFECTS__*/
185
197
  function _getGlobalValue() {
186
198
  var result;
187
199
  if (typeof globalThis !== UNDEFINED) {
@@ -198,67 +210,54 @@ function _getGlobalValue() {
198
210
  }
199
211
  return result;
200
212
  }
213
+ /*#__NO_SIDE_EFFECTS__*/
201
214
  function _getGlobalConfig() {
202
215
  if (!_globalCfg) {
203
- var gbl = _getGlobalValue() || {};
216
+ var gbl = safe(_getGlobalValue).v || {};
204
217
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
205
218
  }
206
219
  return _globalCfg;
207
220
  }
208
221
 
222
+ var ERROR_TYPE = "[object Error]";
223
+ /*#__NO_SIDE_EFFECTS__*/
209
224
  function dumpObj(object, format) {
210
225
  var propertyValueDump = EMPTY;
211
- if (isError(object)) {
212
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
226
+ var objType = ObjProto$1[TO_STRING][CALL](object);
227
+ if (objType === ERROR_TYPE) {
228
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
213
229
  }
214
- else {
215
- try {
216
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
217
- }
218
- catch (e) {
219
- propertyValueDump = " - " + dumpObj(e, format);
220
- }
230
+ try {
231
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === "number") ? format : 4) : UNDEF_VALUE);
232
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
233
+ }
234
+ catch (e) {
235
+ propertyValueDump = " - " + dumpObj(e, format);
221
236
  }
222
- return objToString(object) + ": " + propertyValueDump;
237
+ return objType + ": " + propertyValueDump;
223
238
  }
224
239
 
225
- var _arrSlice = ArrProto[SLICE];
226
- var _throwMissingFunction = function (funcName, thisArg) {
227
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
228
- };
229
- var _unwrapInstFunction = function (funcName) {
230
- return function (thisArg) {
231
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
232
- };
233
- };
234
- var _unwrapFunction = function (funcName, clsProto) {
235
- var clsFn = clsProto && clsProto[funcName];
236
- return function (thisArg) {
237
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
238
- if (theFunc) {
239
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
240
- }
241
- _throwMissingFunction(funcName, thisArg);
242
- };
243
- };
244
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
240
+ var _unwrapFunction = _unwrapFunctionWithPoly;
241
+ /*#__NO_SIDE_EFFECTS__*/
242
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
245
243
  var clsFn = clsProto && clsProto[funcName];
246
244
  return function (thisArg) {
247
245
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
248
246
  if (theFunc || polyFunc) {
249
247
  var theArgs = arguments;
250
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
248
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? ArrSlice[CALL](theArgs, 1) : theArgs);
251
249
  }
252
- _throwMissingFunction(funcName, thisArg);
250
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
253
251
  };
254
- };
252
+ }
255
253
 
256
254
  var mathMax = MathCls.max;
257
255
 
258
- var strSlice = _unwrapFunction(SLICE, StrProto);
256
+ var strSlice = ( /*#__PURE__*/_unwrapFunction("slice", StrProto));
259
257
 
260
- var strSubstring = _unwrapFunction("substring", StrProto);
261
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
258
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
259
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
260
+ /*#__NO_SIDE_EFFECTS__*/
262
261
  function polyStrSubstr(value, start, length) {
263
262
  if (isNullOrUndefined(value)) {
264
263
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -275,12 +274,14 @@ function polyStrSubstr(value, start, length) {
275
274
  }
276
275
  return strSlice(value, start, start + length);
277
276
  }
277
+ /*#__NO_SIDE_EFFECTS__*/
278
278
  function strLeft(value, count) {
279
279
  return strSubstring(value, 0, count);
280
280
  }
281
281
 
282
282
  var UNIQUE_REGISTRY_ID = "_urid";
283
283
  var _polySymbols;
284
+ /*#__NO_SIDE_EFFECTS__*/
284
285
  function _globalSymbolRegistry() {
285
286
  if (!_polySymbols) {
286
287
  var gblCfg = _getGlobalConfig();
@@ -288,6 +289,7 @@ function _globalSymbolRegistry() {
288
289
  }
289
290
  return _polySymbols;
290
291
  }
292
+ /*#__NO_SIDE_EFFECTS__*/
291
293
  function polyNewSymbol(description) {
292
294
  var theSymbol = {
293
295
  description: asString(description),
@@ -296,12 +298,13 @@ function polyNewSymbol(description) {
296
298
  theSymbol[POLYFILL_TAG] = true;
297
299
  return theSymbol;
298
300
  }
301
+ /*#__NO_SIDE_EFFECTS__*/
299
302
  function polySymbolFor(key) {
300
303
  var registry = _globalSymbolRegistry();
301
304
  if (!objHasOwn(registry.k, key)) {
302
305
  var newSymbol_1 = polyNewSymbol(key);
303
306
  var regId_1 = objKeys(registry.s).length;
304
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
307
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
305
308
  registry.k[key] = newSymbol_1;
306
309
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
307
310
  }
@@ -311,11 +314,12 @@ function polySymbolFor(key) {
311
314
  var propMap = {
312
315
  e: "enumerable",
313
316
  c: "configurable",
314
- v: VALUE,
317
+ v: "value",
315
318
  w: "writable",
316
319
  g: "get",
317
320
  s: "set"
318
321
  };
322
+ /*#__NO_SIDE_EFFECTS__*/
319
323
  function _createProp(value) {
320
324
  var prop = {};
321
325
  prop[propMap["c"]] = true;
@@ -340,13 +344,13 @@ function objDefine(target, key, propDesc) {
340
344
  }
341
345
 
342
346
  var _globalLazyTestHooks;
343
- var _fetchLazyTestHooks = function () {
347
+ function _initTestHooks() {
344
348
  _globalLazyTestHooks = _getGlobalConfig();
345
- _fetchLazyTestHooks = NULL_VALUE;
346
- };
349
+ }
350
+ /*#__NO_SIDE_EFFECTS__*/
347
351
  function getLazy(cb) {
348
352
  var lazyValue = {};
349
- _fetchLazyTestHooks && _fetchLazyTestHooks();
353
+ !_globalLazyTestHooks && _initTestHooks();
350
354
  lazyValue.b = _globalLazyTestHooks.lzy;
351
355
  objDefineProp(lazyValue, "v", {
352
356
  configurable: true,
@@ -356,90 +360,103 @@ function getLazy(cb) {
356
360
  objDefineProp(lazyValue, "v", {
357
361
  value: result
358
362
  });
359
- if (lazyValue.b) {
360
- delete lazyValue.b;
361
- }
362
- }
363
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
364
- lazyValue.b = _globalLazyTestHooks.lzy;
365
363
  }
364
+ lazyValue.b = _globalLazyTestHooks.lzy;
366
365
  return result;
367
366
  }
368
367
  });
369
368
  return lazyValue;
370
369
  }
371
370
 
371
+ /*#__NO_SIDE_EFFECTS__*/
372
372
  function safeGetLazy(cb, defValue) {
373
- return getLazy(function () { return safeGet(cb, defValue); });
373
+ return getLazy(function () {
374
+ var result = safe(cb);
375
+ return result.e ? defValue : result.v;
376
+ });
377
+ }
378
+
379
+ /*#__NO_SIDE_EFFECTS__*/
380
+ function createCachedValue(value) {
381
+ return objDefineProp({
382
+ toJSON: function () { return value; }
383
+ }, "v", { value: value });
374
384
  }
375
385
 
376
386
  var WINDOW = "window";
377
387
  var _cachedGlobal;
378
- var _cachedWindow;
379
- var _cachedDocument;
380
- var _cachedNavigator;
381
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
382
- var getGlobal = function (useCached) {
383
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
388
+ function _getGlobalInstFn(getFn, theArgs) {
389
+ var cachedValue;
390
+ return function () {
391
+ !_globalLazyTestHooks && _initTestHooks();
392
+ (!cachedValue || _globalLazyTestHooks.lzy) && (cachedValue = createCachedValue(safe(getFn, theArgs).v));
393
+ return cachedValue.v;
394
+ };
395
+ }
396
+ /*#__NO_SIDE_EFFECTS__*/
397
+ function lazySafeGetInst(name) {
398
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
399
+ }
400
+ /*#__NO_SIDE_EFFECTS__*/
401
+ function getGlobal(useCached) {
402
+ !_globalLazyTestHooks && _initTestHooks();
403
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
384
404
  return _cachedGlobal.v;
385
- };
386
- var getInst = function (name, useCached) {
405
+ }
406
+ /*#__NO_SIDE_EFFECTS__*/
407
+ function getInst(name, useCached) {
387
408
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
388
409
  if (gbl && gbl[name]) {
389
410
  return gbl[name];
390
411
  }
391
- if (name === WINDOW && _cachedWindow) {
392
- return _cachedWindow.v;
412
+ if (name === WINDOW) {
413
+ return getWindow();
393
414
  }
394
415
  return NULL_VALUE;
395
- };
396
- var getDocument = function () {
397
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
398
- return _cachedDocument.v;
399
- };
400
- var hasWindow = function () { return !!getWindow(); };
401
- var getWindow = function () {
402
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
403
- return _cachedWindow.v;
404
- };
405
- var hasNavigator = function () { return !!getNavigator(); };
406
- var getNavigator = function () {
407
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
408
- return _cachedNavigator.v;
409
- };
416
+ }
417
+ var getDocument = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["document"]));
418
+ /*#__NO_SIDE_EFFECTS__*/
419
+ function hasWindow() {
420
+ return !!getWindow();
421
+ }
422
+ var getWindow = ( /*#__PURE__*/_getGlobalInstFn(getInst, [WINDOW]));
423
+ /*#__NO_SIDE_EFFECTS__*/
424
+ function hasNavigator() {
425
+ return !!getNavigator();
426
+ }
427
+ var getNavigator = ( /*#__PURE__*/_getGlobalInstFn(getInst, ["navigator"]));
410
428
 
411
429
  var _symbol;
412
430
  var _symbolFor;
413
- var _symbolKeyFor;
414
- function _getSymbolValue(name) {
415
- return safeGetLazy(function () {
416
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
417
- }, UNDEF_VALUE);
418
- }
419
- function getSymbol() {
420
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
421
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
422
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
423
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
424
- return _symbol.v;
431
+ function _initSymbol() {
432
+ if (!_symbol || !_symbol.b) {
433
+ _symbol = lazySafeGetInst(SYMBOL);
434
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
435
+ }
425
436
  }
437
+ /*#__NO_SIDE_EFFECTS__*/
426
438
  function newSymbol(description, noPoly) {
427
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
439
+ !_globalLazyTestHooks && _initTestHooks();
440
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
428
441
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
429
442
  }
443
+ /*#__NO_SIDE_EFFECTS__*/
430
444
  function symbolFor(key) {
431
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
445
+ !_globalLazyTestHooks && _initTestHooks();
446
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
432
447
  return (_symbolFor.v || polySymbolFor)(key);
433
448
  }
434
449
 
435
- var fnApply = _unwrapInstFunction("apply");
450
+ function fnApply(fn, thisArg, argArray) {
451
+ return fn.apply(thisArg, argArray);
452
+ }
436
453
 
437
454
  function arrForEach(theArray, callbackfn, thisArg) {
438
455
  if (theArray) {
439
456
  var len = theArray[LENGTH] >>> 0;
440
457
  for (var idx = 0; idx < len; idx++) {
441
458
  if (idx in theArray) {
442
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
459
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
443
460
  break;
444
461
  }
445
462
  }
@@ -447,25 +464,21 @@ function arrForEach(theArray, callbackfn, thisArg) {
447
464
  }
448
465
  }
449
466
 
450
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
451
-
452
- var arrMap = _unwrapFunction("map", ArrProto);
453
-
454
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
467
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", ArrProto));
455
468
 
456
- var fnCall = _unwrapInstFunction("call");
469
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
457
470
 
458
- var arrReduce = _unwrapFunction("reduce", ArrProto);
471
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
459
472
 
460
- var _objCreate = ObjClass$1["create"];
461
- var objCreate = _objCreate || polyObjCreate;
473
+ var objCreate = ObjClass$1["create"] || polyObjCreate;
474
+ /*#__NO_SIDE_EFFECTS__*/
462
475
  function polyObjCreate(obj) {
463
476
  if (!obj) {
464
477
  return {};
465
478
  }
466
479
  var type = typeof obj;
467
480
  if (type !== OBJECT && type !== FUNCTION) {
468
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
481
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
469
482
  }
470
483
  function tempFunc() { }
471
484
  tempFunc[PROTOTYPE] = obj;
@@ -485,39 +498,31 @@ function objSetPrototypeOf(obj, proto) {
485
498
  return fn(obj, proto);
486
499
  }
487
500
 
488
- var _createCustomError = function (name, d, b) {
489
- _safeDefineName(d, name);
501
+ /*#__NO_SIDE_EFFECTS__*/
502
+ function _createCustomError(name, d, b) {
503
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
490
504
  d = objSetPrototypeOf(d, b);
491
505
  function __() {
492
506
  this.constructor = d;
493
- _safeDefineName(this, name);
507
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
494
508
  }
495
509
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
496
510
  return d;
497
- };
498
- var _safeSetName = function (baseClass, name) {
499
- try {
500
- name && (baseClass[NAME] = name);
501
- }
502
- catch (e) {
503
- }
504
- };
505
- var _safeDefineName = function (target, name) {
506
- try {
507
- objDefine(target, NAME, { v: name, c: true, e: false });
508
- }
509
- catch (e) {
510
- }
511
- };
511
+ }
512
+ function _setName(baseClass, name) {
513
+ name && (baseClass[NAME] = name);
514
+ }
515
+ /*#__NO_SIDE_EFFECTS__*/
512
516
  function createCustomError(name, constructCb, errorBase) {
513
517
  var theBaseClass = errorBase || Error;
514
518
  var orgName = theBaseClass[PROTOTYPE][NAME];
515
519
  var captureFn = Error.captureStackTrace;
516
520
  return _createCustomError(name, function () {
517
521
  var _this = this;
522
+ var theArgs = arguments;
518
523
  try {
519
- _safeSetName(theBaseClass, name);
520
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
524
+ safe(_setName, [theBaseClass, name]);
525
+ var _self = fnApply(theBaseClass, _this, ArrSlice[CALL](theArgs)) || _this;
521
526
  if (_self !== _this) {
522
527
  var orgProto = objGetPrototypeOf(_this);
523
528
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -525,22 +530,25 @@ function createCustomError(name, constructCb, errorBase) {
525
530
  }
526
531
  }
527
532
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
528
- constructCb && constructCb(_self, arguments);
533
+ constructCb && constructCb(_self, theArgs);
529
534
  return _self;
530
535
  }
531
536
  finally {
532
- _safeSetName(theBaseClass, orgName);
537
+ safe(_setName, [theBaseClass, orgName]);
533
538
  }
534
539
  }, theBaseClass);
535
540
  }
536
541
 
542
+ /*#__NO_SIDE_EFFECTS__*/
537
543
  function utcNow() {
538
544
  return (Date.now || polyUtcNow)();
539
545
  }
546
+ /*#__NO_SIDE_EFFECTS__*/
540
547
  function polyUtcNow() {
541
548
  return new Date().getTime();
542
549
  }
543
550
 
551
+ /*#__NO_SIDE_EFFECTS__*/
544
552
  function _createTrimFn(exp) {
545
553
  return function _doTrim(value) {
546
554
  if (isNullOrUndefined(value)) {
@@ -552,13 +560,14 @@ function _createTrimFn(exp) {
552
560
  return value;
553
561
  };
554
562
  }
555
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
563
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
556
564
 
557
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
565
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
558
566
 
559
567
  var _fnToString;
560
568
  var _objCtrFnString;
561
569
  var _gblWindow;
570
+ /*#__NO_SIDE_EFFECTS__*/
562
571
  function isPlainObject(value) {
563
572
  if (!value || typeof value !== OBJECT) {
564
573
  return false;
@@ -569,8 +578,8 @@ function isPlainObject(value) {
569
578
  var result = false;
570
579
  if (value !== _gblWindow) {
571
580
  if (!_objCtrFnString) {
572
- _fnToString = Function[PROTOTYPE].toString;
573
- _objCtrFnString = fnCall(_fnToString, ObjClass$1);
581
+ _fnToString = Function[PROTOTYPE][TO_STRING];
582
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
574
583
  }
575
584
  try {
576
585
  var proto = objGetPrototypeOf(value);
@@ -579,7 +588,7 @@ function isPlainObject(value) {
579
588
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
580
589
  proto = proto[CONSTRUCTOR];
581
590
  }
582
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
591
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
583
592
  }
584
593
  }
585
594
  catch (ex) {
@@ -589,75 +598,72 @@ function isPlainObject(value) {
589
598
  }
590
599
 
591
600
  var _perf;
601
+ /*#__NO_SIDE_EFFECTS__*/
592
602
  function getPerformance() {
593
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
603
+ !_globalLazyTestHooks && _initTestHooks();
604
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
594
605
  return _perf.v;
595
606
  }
596
607
 
597
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
608
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
609
+ /*#__NO_SIDE_EFFECTS__*/
598
610
  function polyStrEndsWith(value, searchString, length) {
599
611
  if (!isString(value)) {
600
612
  throwTypeError("'" + dumpObj(value) + "' is not a string");
601
613
  }
602
614
  var searchValue = isString(searchString) ? searchString : asString(searchString);
603
- var chkLen = searchValue[LENGTH];
604
- var len = value[LENGTH];
605
- var end = !isUndefined(length) && length < len ? length : len;
606
- return strSubstring(value, end - chkLen, end) === searchValue;
615
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
616
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
607
617
  }
608
618
 
609
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
619
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction("indexOf", StrProto));
610
620
 
611
621
  var REF = "ref";
612
- var UNREF = "un" + REF;
622
+ var UNREF = "unref";
613
623
  var HAS_REF = "hasRef";
614
624
  var ENABLED = "enabled";
625
+ /*#__NO_SIDE_EFFECTS__*/
615
626
  function _createTimerHandler(startTimer, refreshFn, cancelFn) {
616
- var _a;
617
627
  var ref = true;
618
628
  var timerId = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;
619
629
  var theTimerHandler;
620
- var _unref = function () {
630
+ function _unref() {
621
631
  ref = false;
622
632
  timerId && timerId[UNREF] && timerId[UNREF]();
623
633
  return theTimerHandler;
624
- };
625
- var _ref = function () {
626
- ref = true;
627
- timerId && timerId[REF] && timerId[REF]();
634
+ }
635
+ function _cancel() {
636
+ timerId && cancelFn(timerId);
637
+ timerId = NULL_VALUE;
638
+ }
639
+ function _refresh() {
640
+ timerId = refreshFn(timerId);
641
+ if (!ref) {
642
+ _unref();
643
+ }
628
644
  return theTimerHandler;
645
+ }
646
+ function _setEnabled(value) {
647
+ !value && timerId && _cancel();
648
+ value && !timerId && _refresh();
649
+ }
650
+ theTimerHandler = {
651
+ cancel: _cancel,
652
+ refresh: _refresh
629
653
  };
630
- var _hasRef = function () {
654
+ theTimerHandler[HAS_REF] = function () {
631
655
  if (timerId && timerId[HAS_REF]) {
632
656
  return timerId[HAS_REF]();
633
657
  }
634
658
  return ref;
635
659
  };
636
- var _refresh = function () {
637
- timerId = refreshFn(timerId);
638
- if (!ref) {
639
- _unref();
640
- }
660
+ theTimerHandler[REF] = function () {
661
+ ref = true;
662
+ timerId && timerId[REF] && timerId[REF]();
641
663
  return theTimerHandler;
642
664
  };
643
- var _cancel = function () {
644
- timerId && cancelFn(timerId);
645
- timerId = NULL_VALUE;
646
- };
647
- var _setEnabled = function (value) {
648
- !value && timerId && _cancel();
649
- value && !timerId && _refresh();
650
- };
651
- theTimerHandler = (_a = {
652
- cancel: _cancel,
653
- refresh: _refresh
654
- },
655
- _a[HAS_REF] = _hasRef,
656
- _a[REF] = _ref,
657
- _a[UNREF] = _unref,
658
- _a[ENABLED] = false,
659
- _a);
660
- objDefineProp(theTimerHandler, ENABLED, {
665
+ theTimerHandler[UNREF] = _unref;
666
+ theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {
661
667
  get: function () { return !!timerId; },
662
668
  set: _setEnabled
663
669
  });
@@ -669,7 +675,7 @@ function _createTimerHandler(startTimer, refreshFn, cancelFn) {
669
675
  };
670
676
  }
671
677
 
672
- function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
678
+ function _createTimeoutWith(startTimer, overrideFn, theArgs) {
673
679
  var isArr = isArray(overrideFn);
674
680
  var len = isArr ? overrideFn.length : 0;
675
681
  var setFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;
@@ -677,7 +683,7 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
677
683
  var timerFn = theArgs[0];
678
684
  theArgs[0] = function () {
679
685
  handler.dn();
680
- fnApply(timerFn, self, arrSlice(arguments));
686
+ fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));
681
687
  };
682
688
  var handler = _createTimerHandler(startTimer, function (timerId) {
683
689
  if (timerId) {
@@ -685,16 +691,16 @@ function _createTimeoutWith(self, startTimer, overrideFn, theArgs) {
685
691
  timerId.refresh();
686
692
  return timerId;
687
693
  }
688
- fnApply(clearFn, self, [timerId]);
694
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
689
695
  }
690
- return fnApply(setFn, self, theArgs);
696
+ return fnApply(setFn, UNDEF_VALUE, theArgs);
691
697
  }, function (timerId) {
692
- fnApply(clearFn, self, [timerId]);
698
+ fnApply(clearFn, UNDEF_VALUE, [timerId]);
693
699
  });
694
700
  return handler.h;
695
701
  }
696
702
  function scheduleTimeout(callback, timeout) {
697
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
703
+ return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));
698
704
  }
699
705
 
700
706
  var createEnumStyle = createEnum;
@@ -753,8 +759,6 @@ var strShimPrototype = "prototype";
753
759
  var ObjClass = Object;
754
760
  var ObjProto = ObjClass[strShimPrototype];
755
761
 
756
- (getGlobal() || {})["Symbol"];
757
- (getGlobal() || {})["Reflect"];
758
762
  var strHasOwnProperty = "hasOwnProperty";
759
763
  var __objAssignFnImpl = function (t) {
760
764
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -863,13 +867,13 @@ function _forEachProp(target, func) {
863
867
  }
864
868
  }
865
869
  function _isDynamicCandidate(target, funcName, skipOwn) {
866
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
870
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
867
871
  }
868
872
  function _throwTypeError(message) {
869
873
  throwTypeError("DynamicProto: " + message);
870
874
  }
871
875
  function _getInstanceFuncs(thisTarget) {
872
- var instFuncs = {};
876
+ var instFuncs = objCreate(null);
873
877
  _forEachProp(thisTarget, function (name) {
874
878
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
875
879
  instFuncs[name] = thisTarget[name];
@@ -898,7 +902,7 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
898
902
  return theFunc.apply(target, arguments);
899
903
  };
900
904
  }
901
- var baseFuncs = {};
905
+ var baseFuncs = objCreate(null);
902
906
  _forEachProp(instFuncs, function (name) {
903
907
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
904
908
  });
@@ -918,8 +922,8 @@ function _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {
918
922
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
919
923
  var instFunc = null;
920
924
  if (target && objHasOwnProperty(proto, DynClassName)) {
921
- var instFuncTable = target[DynInstFuncTable] || {};
922
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
925
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
926
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
923
927
  if (!instFunc) {
924
928
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
925
929
  }
@@ -969,20 +973,24 @@ function _populatePrototype(proto, className, target, baseInstFuncs, setInstance
969
973
  return dynProtoProxy;
970
974
  }
971
975
  if (!_isObjectOrArrayPrototype(proto)) {
972
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
973
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
974
- if (instFuncTable[DynAllowInstChkTag] !== false) {
975
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
976
- }
977
- _forEachProp(target, function (name) {
978
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
979
- instFuncs_1[name] = target[name];
980
- delete target[name];
981
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
982
- proto[name] = _createDynamicPrototype(proto, name);
983
- }
976
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
977
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
978
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
979
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
980
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
984
981
  }
985
- });
982
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
983
+ _forEachProp(target, function (name) {
984
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
985
+ instFuncs_1[name] = target[name];
986
+ delete target[name];
987
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
988
+ proto[name] = _createDynamicPrototype(proto, name);
989
+ }
990
+ }
991
+ });
992
+ }
993
+ }
986
994
  }
987
995
  }
988
996
  function _checkPrototype(classProto, thisTarget) {
@@ -1242,7 +1250,7 @@ function newId(maxLength) {
1242
1250
  return result;
1243
1251
  }
1244
1252
 
1245
- var version = '3.0.7';
1253
+ var version = '3.0.9';
1246
1254
  var instanceName = "." + newId(6);
1247
1255
  var _dataUid = 0;
1248
1256
  function createUniqueNamespace(name, includeVersion) {
@@ -1752,6 +1760,7 @@ function _createAndUseHandler(state, configHandler) {
1752
1760
  configHandler = null;
1753
1761
  }
1754
1762
  };
1763
+ objDefine(handler, "toJSON", { v: function () { return "WatcherHandler" + (handler.fn ? "" : "[X]"); } });
1755
1764
  state.use(handler, configHandler);
1756
1765
  return handler;
1757
1766
  }