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