@microsoft/applicationinsights-core-js 3.0.7-nightly3.2312-05 → 3.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/browser/es5/applicationinsights-core-js.cjs.js +271 -206
  2. package/browser/es5/applicationinsights-core-js.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-core-js.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-core-js.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-core-js.gbl.js +273 -208
  6. package/browser/es5/applicationinsights-core-js.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-core-js.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-core-js.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-core-js.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-core-js.js +273 -208
  11. package/browser/es5/applicationinsights-core-js.js.map +1 -1
  12. package/browser/es5/applicationinsights-core-js.min.js +2 -2
  13. package/browser/es5/applicationinsights-core-js.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-core-js.js +271 -206
  15. package/dist/es5/applicationinsights-core-js.js.map +1 -1
  16. package/dist/es5/applicationinsights-core-js.min.js +2 -2
  17. package/dist/es5/applicationinsights-core-js.min.js.map +1 -1
  18. package/dist-es5/Config/ConfigDefaultHelpers.js +1 -1
  19. package/dist-es5/Config/ConfigDefaults.js +1 -1
  20. package/dist-es5/Config/DynamicConfig.js +1 -1
  21. package/dist-es5/Config/DynamicProperty.js +1 -1
  22. package/dist-es5/Config/DynamicState.js +1 -1
  23. package/dist-es5/Config/DynamicSupport.js +1 -1
  24. package/dist-es5/Config/IConfigDefaults.js +1 -1
  25. package/dist-es5/Config/IDynamicConfigHandler.js +1 -1
  26. package/dist-es5/Config/IDynamicPropertyHandler.js +1 -1
  27. package/dist-es5/Config/IDynamicWatcher.js +1 -1
  28. package/dist-es5/Config/_IDynamicConfigHandlerState.js +1 -1
  29. package/dist-es5/JavaScriptSDK/AggregationError.js +1 -1
  30. package/dist-es5/JavaScriptSDK/AppInsightsCore.js +1 -1
  31. package/dist-es5/JavaScriptSDK/AsyncUtils.js +1 -1
  32. package/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js +1 -1
  33. package/dist-es5/JavaScriptSDK/Constants.js +1 -1
  34. package/dist-es5/JavaScriptSDK/CookieMgr.js +1 -1
  35. package/dist-es5/JavaScriptSDK/CoreUtils.js +1 -1
  36. package/dist-es5/JavaScriptSDK/DataCacheHelper.js +2 -2
  37. package/dist-es5/JavaScriptSDK/DataCacheHelper.js.map +1 -1
  38. package/dist-es5/JavaScriptSDK/DbgExtensionUtils.js +1 -1
  39. package/dist-es5/JavaScriptSDK/DiagnosticLogger.js +1 -1
  40. package/dist-es5/JavaScriptSDK/EnvUtils.js +1 -1
  41. package/dist-es5/JavaScriptSDK/EventHelpers.js +1 -1
  42. package/dist-es5/JavaScriptSDK/HelperFuncs.js +1 -1
  43. package/dist-es5/JavaScriptSDK/InstrumentHooks.js +1 -1
  44. package/dist-es5/JavaScriptSDK/InternalConstants.js +1 -1
  45. package/dist-es5/JavaScriptSDK/NotificationManager.js +1 -1
  46. package/dist-es5/JavaScriptSDK/PerfManager.js +1 -1
  47. package/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js +1 -1
  48. package/dist-es5/JavaScriptSDK/RandomHelper.js +1 -1
  49. package/dist-es5/JavaScriptSDK/TelemetryHelpers.js +1 -1
  50. package/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js +1 -1
  51. package/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js +1 -1
  52. package/dist-es5/JavaScriptSDK/UnloadHookContainer.js +1 -1
  53. package/dist-es5/JavaScriptSDK/W3cTraceParent.js +1 -1
  54. package/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js +1 -1
  55. package/dist-es5/JavaScriptSDK.Enums/EventsDiscardedReason.js +1 -1
  56. package/dist-es5/JavaScriptSDK.Enums/FeatureOptInEnums.js +1 -1
  57. package/dist-es5/JavaScriptSDK.Enums/LoggingEnums.js +1 -1
  58. package/dist-es5/JavaScriptSDK.Enums/SendRequestReason.js +1 -1
  59. package/dist-es5/JavaScriptSDK.Enums/TelemetryUnloadReason.js +1 -1
  60. package/dist-es5/JavaScriptSDK.Enums/TelemetryUpdateReason.js +1 -1
  61. package/dist-es5/JavaScriptSDK.Interfaces/IAppInsightsCore.js +1 -1
  62. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControls.js +1 -1
  63. package/dist-es5/JavaScriptSDK.Interfaces/IChannelControlsHost.js +1 -1
  64. package/dist-es5/JavaScriptSDK.Interfaces/IConfiguration.js +1 -1
  65. package/dist-es5/JavaScriptSDK.Interfaces/ICookieMgr.js +1 -1
  66. package/dist-es5/JavaScriptSDK.Interfaces/IDbgExtension.js +1 -1
  67. package/dist-es5/JavaScriptSDK.Interfaces/IDiagnosticLogger.js +1 -1
  68. package/dist-es5/JavaScriptSDK.Interfaces/IDistributedTraceContext.js +1 -1
  69. package/dist-es5/JavaScriptSDK.Interfaces/IFeatureOptIn.js +1 -1
  70. package/dist-es5/JavaScriptSDK.Interfaces/IInstrumentHooks.js +1 -1
  71. package/dist-es5/JavaScriptSDK.Interfaces/INotificationListener.js +1 -1
  72. package/dist-es5/JavaScriptSDK.Interfaces/INotificationManager.js +1 -1
  73. package/dist-es5/JavaScriptSDK.Interfaces/IPerfEvent.js +1 -1
  74. package/dist-es5/JavaScriptSDK.Interfaces/IPerfManager.js +1 -1
  75. package/dist-es5/JavaScriptSDK.Interfaces/IProcessTelemetryContext.js +1 -1
  76. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryInitializers.js +1 -1
  77. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryItem.js +1 -1
  78. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPlugin.js +1 -1
  79. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryPluginChain.js +1 -1
  80. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUnloadState.js +1 -1
  81. package/dist-es5/JavaScriptSDK.Interfaces/ITelemetryUpdateState.js +1 -1
  82. package/dist-es5/JavaScriptSDK.Interfaces/ITraceParent.js +1 -1
  83. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadHook.js +1 -1
  84. package/dist-es5/JavaScriptSDK.Interfaces/IUnloadableComponent.js +1 -1
  85. package/dist-es5/JavaScriptSDK.Interfaces/IXHROverride.js +1 -1
  86. package/dist-es5/__DynamicConstants.js +1 -1
  87. package/dist-es5/applicationinsights-core-js.js +1 -1
  88. package/package.json +75 -78
  89. package/types/applicationinsights-core-js.d.ts +1 -1
  90. package/types/applicationinsights-core-js.namespaced.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Core, 3.0.7-nightly3.2312-05
2
+ * Application Insights JavaScript SDK - Core, 3.0.8
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -30,6 +30,8 @@
30
30
  var VALUE = "value";
31
31
  var NAME = "name";
32
32
  var SLICE = "slice";
33
+ var CALL = "call";
34
+ var TO_STRING = "toString";
33
35
  var ObjClass$1 = Object;
34
36
  var ObjProto = ObjClass$1[PROTOTYPE];
35
37
  var StrCls = String;
@@ -38,51 +40,67 @@
38
40
  var ArrCls = Array;
39
41
  var ArrProto = ArrCls[PROTOTYPE];
40
42
 
41
- function safeGet(cb, defValue) {
42
- var result = defValue;
43
+ function safe(func, argArray) {
43
44
  try {
44
- result = cb();
45
+ return {
46
+ v: func.apply(this, argArray)
47
+ };
45
48
  }
46
49
  catch (e) {
50
+ return { e: e };
47
51
  }
48
- return result;
52
+ }
53
+
54
+ function safeGet(cb, defValue) {
55
+ var result = safe(cb);
56
+ return result.e ? defValue : result.v;
49
57
  }
50
58
 
51
59
  var PRIMITIVE_TYPES = [STRING, NUMBER, BOOLEAN, UNDEFINED, "symbol", "bigint"];
60
+ /*#__NO_SIDE_EFFECTS__*/
52
61
  function _createIs(theType) {
53
62
  return function (value) {
54
63
  return typeof value === theType;
55
64
  };
56
65
  }
66
+ /*#__NO_SIDE_EFFECTS__*/
57
67
  function _createObjIs(theName) {
58
68
  var theType = "[object " + theName + "]";
59
69
  return function (value) {
60
70
  return !!(value && objToString(value) === theType);
61
71
  };
62
72
  }
73
+ /*#__NO_SIDE_EFFECTS__*/
63
74
  function objToString(value) {
64
75
  return ObjProto.toString.call(value);
65
76
  }
77
+ /*#__NO_SIDE_EFFECTS__*/
66
78
  function isTypeof(value, theType) {
67
79
  return typeof value === theType;
68
80
  }
81
+ /*#__NO_SIDE_EFFECTS__*/
69
82
  function isUndefined(value) {
70
83
  return typeof value === UNDEFINED || value === UNDEFINED;
71
84
  }
85
+ /*#__NO_SIDE_EFFECTS__*/
72
86
  function isNullOrUndefined(value) {
73
87
  return value === NULL_VALUE || isUndefined(value);
74
88
  }
89
+ /*#__NO_SIDE_EFFECTS__*/
75
90
  function isStrictNullOrUndefined(value) {
76
91
  return value === NULL_VALUE || !isDefined(value);
77
92
  }
93
+ /*#__NO_SIDE_EFFECTS__*/
78
94
  function isDefined(arg) {
79
95
  return !!arg || arg !== UNDEF_VALUE;
80
96
  }
81
- var isPrimitiveType = function (theType) {
97
+ /*#__NO_SIDE_EFFECTS__*/
98
+ function isPrimitiveType(theType) {
82
99
  return theType !== OBJECT && PRIMITIVE_TYPES.indexOf(theType) !== -1;
83
- };
84
- var isString = _createIs(STRING);
85
- var isFunction = _createIs(FUNCTION);
100
+ }
101
+ var isString = ( /*#__PURE__*/_createIs(STRING));
102
+ var isFunction = ( /*#__PURE__*/_createIs(FUNCTION));
103
+ /*#__NO_SIDE_EFFECTS__*/
86
104
  function isObject(value) {
87
105
  if (!value && isNullOrUndefined(value)) {
88
106
  return false;
@@ -90,27 +108,32 @@
90
108
  return !!value && typeof value === OBJECT;
91
109
  }
92
110
  var isArray = ArrCls.isArray;
93
- var isDate = _createObjIs("Date");
94
- var isNumber = _createIs(NUMBER);
95
- var isBoolean = _createIs(BOOLEAN);
96
- var isError = _createObjIs("Error");
111
+ var isDate = ( /*#__PURE__*/_createObjIs("Date"));
112
+ var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
113
+ var isBoolean = ( /*#__PURE__*/_createIs(BOOLEAN));
114
+ var isError = ( /*#__PURE__*/_createObjIs("Error"));
115
+ /*#__NO_SIDE_EFFECTS__*/
97
116
  function isPromiseLike(value) {
98
- return !!value && isFunction(value.then);
117
+ return !!(value && value.then && isFunction(value.then));
99
118
  }
119
+ /*#__NO_SIDE_EFFECTS__*/
100
120
  function isNotTruthy(value) {
101
- return !value || !safeGet(function () { return (value && (0 + value)); }, value);
121
+ return !value || !isTruthy(value);
102
122
  }
123
+ /*#__NO_SIDE_EFFECTS__*/
103
124
  function isTruthy(value) {
104
125
  return !(!value || safeGet(function () { return !(value && (0 + value)); }, !value));
105
126
  }
106
127
 
107
128
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
108
129
 
130
+ /*#__NO_SIDE_EFFECTS__*/
109
131
  function objHasOwnProperty(obj, prop) {
110
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
132
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
111
133
  }
112
134
 
113
135
  var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
136
+ /*#__NO_SIDE_EFFECTS__*/
114
137
  function polyObjHasOwn(obj, prop) {
115
138
  return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
116
139
  }
@@ -119,7 +142,7 @@
119
142
  if (theObject && isObject(theObject)) {
120
143
  for (var prop in theObject) {
121
144
  if (objHasOwn(theObject, prop)) {
122
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
145
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
123
146
  break;
124
147
  }
125
148
  }
@@ -127,6 +150,7 @@
127
150
  }
128
151
  }
129
152
 
153
+ /*#__NO_SIDE_EFFECTS__*/
130
154
  function _createKeyValueMap(values, keyType, valueType, completeFn) {
131
155
  var theMap = {};
132
156
  objForEachKey(values, function (key, value) {
@@ -144,15 +168,15 @@
144
168
  }
145
169
 
146
170
  var _objFreeze = ObjClass$1["freeze"];
147
- var _doNothing = function (value) { return value; };
148
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
149
- var objAssign = ObjClass$1["assign"];
150
- function objKeys(value) {
151
- if (!isObject(value) || value === NULL_VALUE) {
152
- throwTypeError("objKeys called on non-object");
153
- }
154
- return ObjClass$1.keys(value);
171
+ function _doNothing(value) {
172
+ return value;
173
+ }
174
+ /*#__NO_SIDE_EFFECTS__*/
175
+ function _getProto(value) {
176
+ return value[__PROTO__] || NULL_VALUE;
155
177
  }
178
+ var objAssign = ObjClass$1["assign"];
179
+ var objKeys = ObjClass$1.keys;
156
180
  function objDeepFreeze(value) {
157
181
  if (_objFreeze) {
158
182
  objForEachKey(value, function (key, value) {
@@ -167,12 +191,15 @@
167
191
  var objSeal = ObjClass$1["seal"] || _doNothing;
168
192
  var objGetPrototypeOf = ObjClass$1["getPrototypeOf"] || _getProto;
169
193
 
194
+ /*#__NO_SIDE_EFFECTS__*/
170
195
  function createEnum(values) {
171
196
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
172
197
  }
198
+ /*#__NO_SIDE_EFFECTS__*/
173
199
  function createEnumKeyMap(values) {
174
200
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
175
201
  }
202
+ /*#__NO_SIDE_EFFECTS__*/
176
203
  function createSimpleMap(values) {
177
204
  var mapClass = {};
178
205
  objForEachKey(values, function (key, value) {
@@ -181,11 +208,12 @@
181
208
  });
182
209
  return objDeepFreeze(mapClass);
183
210
  }
211
+ /*#__NO_SIDE_EFFECTS__*/
184
212
  function createTypeMap(values) {
185
213
  return createSimpleMap(values);
186
214
  }
187
215
 
188
- var _wellKnownSymbolMap = createEnumKeyMap({
216
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
189
217
  asyncIterator: 0 ,
190
218
  hasInstance: 1 ,
191
219
  isConcatSpreadable: 2 ,
@@ -221,60 +249,50 @@
221
249
  }
222
250
  return result;
223
251
  }
252
+ /*#__NO_SIDE_EFFECTS__*/
224
253
  function _getGlobalConfig() {
225
254
  if (!_globalCfg) {
226
- var gbl = _getGlobalValue() || {};
255
+ var gbl = safe(_getGlobalValue).v || {};
227
256
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
228
257
  }
229
258
  return _globalCfg;
230
259
  }
231
260
 
261
+ var ERROR_TYPE = "[object Error]";
262
+ /*#__NO_SIDE_EFFECTS__*/
232
263
  function dumpObj(object, format) {
233
264
  var propertyValueDump = EMPTY;
234
- if (isError(object)) {
235
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
265
+ var objType = ObjProto[TO_STRING][CALL](object);
266
+ if (objType === ERROR_TYPE) {
267
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
236
268
  }
237
- else {
238
- try {
239
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
240
- }
241
- catch (e) {
242
- propertyValueDump = " - " + dumpObj(e, format);
243
- }
269
+ try {
270
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === NUMBER) ? format : 4) : UNDEF_VALUE);
271
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
244
272
  }
245
- return objToString(object) + ": " + propertyValueDump;
273
+ catch (e) {
274
+ propertyValueDump = " - " + dumpObj(e, format);
275
+ }
276
+ return objType + ": " + propertyValueDump;
246
277
  }
247
278
 
248
- var _arrSlice = ArrProto[SLICE];
249
- var _throwMissingFunction = function (funcName, thisArg) {
250
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
251
- };
252
- var _unwrapInstFunction = function (funcName) {
253
- return function (thisArg) {
254
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
255
- };
256
- };
257
- var _unwrapFunction = function (funcName, clsProto) {
258
- var clsFn = clsProto && clsProto[funcName];
259
- return function (thisArg) {
260
- var theFunc = (thisArg && thisArg[funcName]) || clsFn;
261
- if (theFunc) {
262
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
263
- }
264
- _throwMissingFunction(funcName, thisArg);
265
- };
266
- };
267
- var _unwrapFunctionWithPoly = function (funcName, clsProto, polyFunc) {
279
+ var _slice;
280
+ var _unwrapInstFunction = _unwrapFunctionWithPoly;
281
+ var _unwrapFunction = _unwrapFunctionWithPoly;
282
+ /*#__NO_SIDE_EFFECTS__*/
283
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
284
+ _slice = _slice || ArrProto[SLICE];
268
285
  var clsFn = clsProto && clsProto[funcName];
269
286
  return function (thisArg) {
270
287
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
271
288
  if (theFunc || polyFunc) {
272
289
  var theArgs = arguments;
273
- return (theFunc || polyFunc).apply(thisArg, theFunc ? _arrSlice.call(theArgs, 1) : theArgs);
290
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? _slice[CALL](theArgs, 1) : theArgs);
274
291
  }
275
- _throwMissingFunction(funcName, thisArg);
292
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
276
293
  };
277
- };
294
+ }
295
+ /*#__NO_SIDE_EFFECTS__*/
278
296
  function _unwrapProp(propName) {
279
297
  return function (thisArg) {
280
298
  return thisArg[propName];
@@ -283,10 +301,11 @@
283
301
 
284
302
  var mathMax = MathCls.max;
285
303
 
286
- var strSlice = _unwrapFunction(SLICE, StrProto);
304
+ var strSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, StrProto));
287
305
 
288
- var strSubstring = _unwrapFunction("substring", StrProto);
289
- var strSubstr = _unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr);
306
+ var strSubstring = ( /*#__PURE__*/_unwrapFunction("substring", StrProto));
307
+ var strSubstr = ( /*#__PURE__*/_unwrapFunctionWithPoly("substr", StrProto, polyStrSubstr));
308
+ /*#__NO_SIDE_EFFECTS__*/
290
309
  function polyStrSubstr(value, start, length) {
291
310
  if (isNullOrUndefined(value)) {
292
311
  throwTypeError("'polyStrSubstr called with invalid " + dumpObj(value));
@@ -303,23 +322,14 @@
303
322
  }
304
323
  return strSlice(value, start, start + length);
305
324
  }
325
+ /*#__NO_SIDE_EFFECTS__*/
306
326
  function strLeft(value, count) {
307
327
  return strSubstring(value, 0, count);
308
328
  }
309
329
 
310
- var strStartsWith = _unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith);
311
- function polyStrStartsWith(value, searchString, position) {
312
- if (!isString(value)) {
313
- throwTypeError("'" + dumpObj(value) + "' is not a string");
314
- }
315
- var searchValue = isString(searchString) ? searchString : asString(searchString);
316
- var chkLen = searchValue[LENGTH];
317
- var pos = position > 0 ? position : 0;
318
- return strSubstring(value, pos, pos + chkLen) === searchValue;
319
- }
320
-
321
330
  var UNIQUE_REGISTRY_ID = "_urid";
322
331
  var _polySymbols;
332
+ /*#__NO_SIDE_EFFECTS__*/
323
333
  function _globalSymbolRegistry() {
324
334
  if (!_polySymbols) {
325
335
  var gblCfg = _getGlobalConfig();
@@ -327,7 +337,8 @@
327
337
  }
328
338
  return _polySymbols;
329
339
  }
330
- var _wellKnownSymbolCache = {};
340
+ var _wellKnownSymbolCache;
341
+ /*#__NO_SIDE_EFFECTS__*/
331
342
  function polyNewSymbol(description) {
332
343
  var theSymbol = {
333
344
  description: asString(description),
@@ -336,18 +347,21 @@
336
347
  theSymbol[POLYFILL_TAG] = true;
337
348
  return theSymbol;
338
349
  }
350
+ /*#__NO_SIDE_EFFECTS__*/
339
351
  function polySymbolFor(key) {
340
352
  var registry = _globalSymbolRegistry();
341
353
  if (!objHasOwn(registry.k, key)) {
342
354
  var newSymbol_1 = polyNewSymbol(key);
343
355
  var regId_1 = objKeys(registry.s).length;
344
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
356
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
345
357
  registry.k[key] = newSymbol_1;
346
358
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
347
359
  }
348
360
  return registry.k[key];
349
361
  }
362
+ /*#__NO_SIDE_EFFECTS__*/
350
363
  function polyGetKnownSymbol(name) {
364
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
351
365
  var result;
352
366
  var knownName = _wellKnownSymbolMap[name];
353
367
  if (knownName) {
@@ -364,6 +378,7 @@
364
378
  g: "get",
365
379
  s: "set"
366
380
  };
381
+ /*#__NO_SIDE_EFFECTS__*/
367
382
  function _createProp(value) {
368
383
  var prop = {};
369
384
  prop[propMap["c"]] = true;
@@ -401,13 +416,12 @@
401
416
  }
402
417
 
403
418
  var _globalLazyTestHooks;
404
- var _fetchLazyTestHooks = function () {
419
+ function _initTestHooks() {
405
420
  _globalLazyTestHooks = _getGlobalConfig();
406
- _fetchLazyTestHooks = NULL_VALUE;
407
- };
421
+ }
408
422
  function getLazy(cb) {
409
423
  var lazyValue = {};
410
- _fetchLazyTestHooks && _fetchLazyTestHooks();
424
+ !_globalLazyTestHooks && _initTestHooks();
411
425
  lazyValue.b = _globalLazyTestHooks.lzy;
412
426
  objDefineProp(lazyValue, "v", {
413
427
  configurable: true,
@@ -417,21 +431,27 @@
417
431
  objDefineProp(lazyValue, "v", {
418
432
  value: result
419
433
  });
420
- if (lazyValue.b) {
421
- delete lazyValue.b;
422
- }
423
- }
424
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
425
- lazyValue.b = _globalLazyTestHooks.lzy;
426
434
  }
435
+ lazyValue.b = _globalLazyTestHooks.lzy;
427
436
  return result;
428
437
  }
429
438
  });
430
439
  return lazyValue;
431
440
  }
432
441
 
442
+ /*#__NO_SIDE_EFFECTS__*/
433
443
  function safeGetLazy(cb, defValue) {
434
- return getLazy(function () { return safeGet(cb, defValue); });
444
+ return getLazy(function () {
445
+ var result = safe(cb);
446
+ return result.e ? defValue : result.v;
447
+ });
448
+ }
449
+
450
+ /*#__NO_SIDE_EFFECTS__*/
451
+ function createCachedValue(value) {
452
+ return objDefineProp({
453
+ toJSON: function () { return value; }
454
+ }, "v", { value: value });
435
455
  }
436
456
 
437
457
  var WINDOW = "window";
@@ -441,12 +461,18 @@
441
461
  var _cachedNavigator;
442
462
  var _cachedHistory;
443
463
  var _isNode;
444
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
445
- var getGlobal = function (useCached) {
446
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
464
+ /*#__NO_SIDE_EFFECTS__*/
465
+ function lazySafeGetInst(name) {
466
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
467
+ }
468
+ /*#__NO_SIDE_EFFECTS__*/
469
+ function getGlobal(useCached) {
470
+ !_globalLazyTestHooks && _initTestHooks();
471
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
447
472
  return _cachedGlobal.v;
448
- };
449
- var getInst = function (name, useCached) {
473
+ }
474
+ /*#__NO_SIDE_EFFECTS__*/
475
+ function getInst(name, useCached) {
450
476
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
451
477
  if (gbl && gbl[name]) {
452
478
  return gbl[name];
@@ -455,68 +481,96 @@
455
481
  return _cachedWindow.v;
456
482
  }
457
483
  return NULL_VALUE;
458
- };
459
- var hasDocument = function () { return !!getDocument(); };
460
- var getDocument = function () {
461
- (!_cachedDocument || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedDocument.b)) && (_cachedDocument = lazySafeGetInst("document"));
484
+ }
485
+ /*#__NO_SIDE_EFFECTS__*/
486
+ function hasDocument() {
487
+ return !!getDocument();
488
+ }
489
+ /*#__NO_SIDE_EFFECTS__*/
490
+ function getDocument() {
491
+ !_globalLazyTestHooks && _initTestHooks();
492
+ (!_cachedDocument || _globalLazyTestHooks.lzy) && (_cachedDocument = createCachedValue(safe((getInst), ["document"]).v));
462
493
  return _cachedDocument.v;
463
- };
464
- var hasWindow = function () { return !!getWindow(); };
465
- var getWindow = function () {
466
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
494
+ }
495
+ /*#__NO_SIDE_EFFECTS__*/
496
+ function hasWindow() {
497
+ return !!getWindow();
498
+ }
499
+ /*#__NO_SIDE_EFFECTS__*/
500
+ function getWindow() {
501
+ !_globalLazyTestHooks && _initTestHooks();
502
+ (!_cachedWindow || _globalLazyTestHooks.lzy) && (_cachedWindow = createCachedValue(safe((getInst), [WINDOW]).v));
467
503
  return _cachedWindow.v;
468
- };
469
- var hasNavigator = function () { return !!getNavigator(); };
470
- var getNavigator = function () {
471
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
504
+ }
505
+ /*#__NO_SIDE_EFFECTS__*/
506
+ function hasNavigator() {
507
+ return !!getNavigator();
508
+ }
509
+ /*#__NO_SIDE_EFFECTS__*/
510
+ function getNavigator() {
511
+ !_globalLazyTestHooks && _initTestHooks();
512
+ (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
472
513
  return _cachedNavigator.v;
473
- };
474
- var hasHistory = function () { return !!getHistory(); };
475
- var getHistory = function () {
476
- (!_cachedHistory || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedHistory.b)) && (_cachedHistory = lazySafeGetInst("history"));
514
+ }
515
+ /*#__NO_SIDE_EFFECTS__*/
516
+ function hasHistory() {
517
+ return !!getHistory();
518
+ }
519
+ /*#__NO_SIDE_EFFECTS__*/
520
+ function getHistory() {
521
+ !_globalLazyTestHooks && _initTestHooks();
522
+ (!_cachedHistory || _globalLazyTestHooks.lzy) && (_cachedHistory = createCachedValue(safe((getInst), ["history"]).v));
477
523
  return _cachedHistory.v;
478
- };
479
- var isNode = function () {
480
- !_isNode && (_isNode = safeGetLazy(function () { return !!(process && (process.versions || {}).node); }, false));
524
+ }
525
+ function isNode() {
526
+ !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
481
527
  return _isNode.v;
482
- };
528
+ }
483
529
 
484
530
  var _symbol;
485
531
  var _symbolFor;
486
- var _symbolKeyFor;
487
- function _getSymbolValue(name) {
488
- return safeGetLazy(function () {
489
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
490
- }, UNDEF_VALUE);
532
+ function _initSymbol() {
533
+ if (!_symbol || !_symbol.b) {
534
+ _symbol = lazySafeGetInst(SYMBOL);
535
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
536
+ }
491
537
  }
492
- var isSymbol = _createIs("symbol");
538
+ var isSymbol = ( /*#__PURE__*/_createIs("symbol"));
539
+ /*#__NO_SIDE_EFFECTS__*/
493
540
  function hasSymbol() {
494
541
  return !!getSymbol();
495
542
  }
543
+ /*#__NO_SIDE_EFFECTS__*/
496
544
  function getSymbol() {
497
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
498
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
499
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
500
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
545
+ !_globalLazyTestHooks && _initTestHooks();
546
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
501
547
  return _symbol.v;
502
548
  }
549
+ /*#__NO_SIDE_EFFECTS__*/
503
550
  function getKnownSymbol(name, noPoly) {
504
551
  var knownName = _wellKnownSymbolMap[name];
505
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
552
+ !_globalLazyTestHooks && _initTestHooks();
553
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
506
554
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
507
555
  }
556
+ /*#__NO_SIDE_EFFECTS__*/
508
557
  function newSymbol(description, noPoly) {
509
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
558
+ !_globalLazyTestHooks && _initTestHooks();
559
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
510
560
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
511
561
  }
562
+ /*#__NO_SIDE_EFFECTS__*/
512
563
  function symbolFor(key) {
513
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
564
+ !_globalLazyTestHooks && _initTestHooks();
565
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
514
566
  return (_symbolFor.v || polySymbolFor)(key);
515
567
  }
516
568
 
569
+ /*#__NO_SIDE_EFFECTS__*/
517
570
  function isIterator(value) {
518
571
  return !!value && isFunction(value.next);
519
572
  }
573
+ /*#__NO_SIDE_EFFECTS__*/
520
574
  function isIterable(value) {
521
575
  return !isStrictNullOrUndefined(value) && isFunction(value[getKnownSymbol(3 )]);
522
576
  }
@@ -525,7 +579,7 @@
525
579
  function iterForOf(iter, callbackfn, thisArg) {
526
580
  if (iter) {
527
581
  if (!isIterator(iter)) {
528
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
582
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
529
583
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
530
584
  }
531
585
  if (isIterator(iter)) {
@@ -534,7 +588,7 @@
534
588
  try {
535
589
  var count = 0;
536
590
  while (!(iterResult = iter.next())[DONE]) {
537
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
591
+ if (callbackfn[CALL](thisArg || iter, iterResult[VALUE], count, iter) === -1) {
538
592
  break;
539
593
  }
540
594
  count++;
@@ -563,7 +617,7 @@
563
617
  }
564
618
  }
565
619
 
566
- var fnApply = _unwrapInstFunction("apply");
620
+ var fnApply = ( /*#__PURE__*/_unwrapInstFunction("apply"));
567
621
 
568
622
  function arrAppend(target, elms) {
569
623
  if (!isUndefined(elms) && target) {
@@ -587,7 +641,7 @@
587
641
  var len = theArray[LENGTH] >>> 0;
588
642
  for (var idx = 0; idx < len; idx++) {
589
643
  if (idx in theArray) {
590
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
644
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
591
645
  break;
592
646
  }
593
647
  }
@@ -595,25 +649,23 @@
595
649
  }
596
650
  }
597
651
 
598
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
599
-
600
- var arrMap = _unwrapFunction("map", ArrProto);
652
+ var arrIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, ArrProto));
601
653
 
602
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
654
+ var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
603
655
 
604
- var fnCall = _unwrapInstFunction("call");
656
+ var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
605
657
 
606
- var arrReduce = _unwrapFunction("reduce", ArrProto);
658
+ var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
607
659
 
608
- var _objCreate = ObjClass$1["create"];
609
- var objCreate = _objCreate || polyObjCreate;
660
+ var objCreate = ObjClass$1["create"] || polyObjCreate;
661
+ /*#__NO_SIDE_EFFECTS__*/
610
662
  function polyObjCreate(obj) {
611
663
  if (!obj) {
612
664
  return {};
613
665
  }
614
666
  var type = typeof obj;
615
667
  if (type !== OBJECT && type !== FUNCTION) {
616
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
668
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
617
669
  }
618
670
  function tempFunc() { }
619
671
  tempFunc[PROTOTYPE] = obj;
@@ -633,39 +685,30 @@
633
685
  return fn(obj, proto);
634
686
  }
635
687
 
636
- var _createCustomError = function (name, d, b) {
637
- _safeDefineName(d, name);
688
+ function _createCustomError(name, d, b) {
689
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
638
690
  d = objSetPrototypeOf(d, b);
639
691
  function __() {
640
692
  this.constructor = d;
641
- _safeDefineName(this, name);
693
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
642
694
  }
643
695
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
644
696
  return d;
645
- };
646
- var _safeSetName = function (baseClass, name) {
647
- try {
648
- name && (baseClass[NAME] = name);
649
- }
650
- catch (e) {
651
- }
652
- };
653
- var _safeDefineName = function (target, name) {
654
- try {
655
- objDefine(target, NAME, { v: name, c: true, e: false });
656
- }
657
- catch (e) {
658
- }
659
- };
697
+ }
698
+ function _setName(baseClass, name) {
699
+ name && (baseClass[NAME] = name);
700
+ }
701
+ /*#__NO_SIDE_EFFECTS__*/
660
702
  function createCustomError(name, constructCb, errorBase) {
661
703
  var theBaseClass = errorBase || Error;
662
704
  var orgName = theBaseClass[PROTOTYPE][NAME];
663
705
  var captureFn = Error.captureStackTrace;
664
706
  return _createCustomError(name, function () {
665
707
  var _this = this;
708
+ var theArgs = arguments;
666
709
  try {
667
- _safeSetName(theBaseClass, name);
668
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
710
+ safe(_setName, [theBaseClass, name]);
711
+ var _self = fnApply(theBaseClass, _this, ArrProto[SLICE][CALL](theArgs)) || _this;
669
712
  if (_self !== _this) {
670
713
  var orgProto = objGetPrototypeOf(_this);
671
714
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -673,22 +716,25 @@
673
716
  }
674
717
  }
675
718
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
676
- constructCb && constructCb(_self, arguments);
719
+ constructCb && constructCb(_self, theArgs);
677
720
  return _self;
678
721
  }
679
722
  finally {
680
- _safeSetName(theBaseClass, orgName);
723
+ safe(_setName, [theBaseClass, orgName]);
681
724
  }
682
725
  }, theBaseClass);
683
726
  }
684
727
 
728
+ /*#__NO_SIDE_EFFECTS__*/
685
729
  function utcNow() {
686
730
  return (Date.now || polyUtcNow)();
687
731
  }
732
+ /*#__NO_SIDE_EFFECTS__*/
688
733
  function polyUtcNow() {
689
734
  return new Date().getTime();
690
735
  }
691
736
 
737
+ /*#__NO_SIDE_EFFECTS__*/
692
738
  function _createTrimFn(exp) {
693
739
  return function _doTrim(value) {
694
740
  if (isNullOrUndefined(value)) {
@@ -700,13 +746,14 @@
700
746
  return value;
701
747
  };
702
748
  }
703
- var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
749
+ var polyStrTrim = ( /*#__PURE__*/_createTrimFn(/^\s+|(?=\s)\s+$/g));
704
750
 
705
- var strTrim = _unwrapFunctionWithPoly("trim", StrProto, polyStrTrim);
751
+ var strTrim = ( /*#__PURE__*/_unwrapFunctionWithPoly("trim", StrProto, polyStrTrim));
706
752
 
707
753
  var _fnToString;
708
754
  var _objCtrFnString;
709
755
  var _gblWindow;
756
+ /*#__NO_SIDE_EFFECTS__*/
710
757
  function isPlainObject(value) {
711
758
  if (!value || typeof value !== OBJECT) {
712
759
  return false;
@@ -717,8 +764,8 @@
717
764
  var result = false;
718
765
  if (value !== _gblWindow) {
719
766
  if (!_objCtrFnString) {
720
- _fnToString = Function[PROTOTYPE].toString;
721
- _objCtrFnString = fnCall(_fnToString, ObjClass$1);
767
+ _fnToString = Function[PROTOTYPE][TO_STRING];
768
+ _objCtrFnString = _fnToString[CALL](ObjClass$1);
722
769
  }
723
770
  try {
724
771
  var proto = objGetPrototypeOf(value);
@@ -727,7 +774,7 @@
727
774
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
728
775
  proto = proto[CONSTRUCTOR];
729
776
  }
730
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
777
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
731
778
  }
732
779
  }
733
780
  catch (ex) {
@@ -805,12 +852,12 @@
805
852
  });
806
853
  var idx = 0;
807
854
  var handler = userHandler;
808
- while (!fnCall(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler), ctx, details)) {
855
+ while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {
809
856
  handler = NULL_VALUE;
810
857
  }
811
858
  });
812
859
  }
813
- if (userHandler && fnCall(userHandler, ctx, details)) {
860
+ if (userHandler && userHandler[CALL](ctx, details)) {
814
861
  return details.result;
815
862
  }
816
863
  return value;
@@ -831,6 +878,7 @@
831
878
  };
832
879
  return _copyProps([], target, source, ctx);
833
880
  }
881
+ /*#__NO_SIDE_EFFECTS__*/
834
882
  function objDeepCopy(source, handler) {
835
883
  var ctx = {
836
884
  handler: handler,
@@ -879,16 +927,19 @@
879
927
  return target;
880
928
  }
881
929
  function deepExtend(target, obj1, obj2, obj3, obj4, obj5, obj6) {
882
- return _doExtend(objDeepCopy(target) || {}, arrSlice(arguments));
930
+ return _doExtend(objDeepCopy(target) || {}, ArrProto[SLICE][CALL](arguments));
883
931
  }
884
932
 
885
- var getLength = _unwrapProp(LENGTH);
933
+ var getLength = ( /*#__PURE__*/_unwrapProp(LENGTH));
886
934
 
887
935
  var _perf;
936
+ /*#__NO_SIDE_EFFECTS__*/
888
937
  function getPerformance() {
889
- (!_perf || (!_perf.b && _globalLazyTestHooks && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
938
+ !_globalLazyTestHooks && _initTestHooks();
939
+ (!_perf || (!_perf.b && _globalLazyTestHooks.lzy)) && (_perf = lazySafeGetInst("performance"));
890
940
  return _perf.v;
891
941
  }
942
+ /*#__NO_SIDE_EFFECTS__*/
892
943
  function perfNow() {
893
944
  var perf = getPerformance();
894
945
  if (perf && perf.now) {
@@ -897,19 +948,29 @@
897
948
  return utcNow();
898
949
  }
899
950
 
900
- var strEndsWith = _unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith);
951
+ var strEndsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("endsWith", StrProto, polyStrEndsWith));
952
+ /*#__NO_SIDE_EFFECTS__*/
901
953
  function polyStrEndsWith(value, searchString, length) {
902
954
  if (!isString(value)) {
903
955
  throwTypeError("'" + dumpObj(value) + "' is not a string");
904
956
  }
905
957
  var searchValue = isString(searchString) ? searchString : asString(searchString);
906
- var chkLen = searchValue[LENGTH];
907
- var len = value[LENGTH];
908
- var end = !isUndefined(length) && length < len ? length : len;
909
- return strSubstring(value, end - chkLen, end) === searchValue;
958
+ var end = !isUndefined(length) && length < value[LENGTH] ? length : value[LENGTH];
959
+ return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;
910
960
  }
911
961
 
912
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
962
+ var strIndexOf = ( /*#__PURE__*/_unwrapFunction(INDEX_OF, StrProto));
963
+
964
+ var strStartsWith = ( /*#__PURE__*/_unwrapFunctionWithPoly("startsWith", StrProto, polyStrStartsWith));
965
+ /*#__NO_SIDE_EFFECTS__*/
966
+ function polyStrStartsWith(value, searchString, position) {
967
+ if (!isString(value)) {
968
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
969
+ }
970
+ var searchValue = isString(searchString) ? searchString : asString(searchString);
971
+ var pos = position > 0 ? position : 0;
972
+ return strSubstring(value, pos, pos + searchValue[LENGTH]) === searchValue;
973
+ }
913
974
 
914
975
  var REF = "ref";
915
976
  var UNREF = "un" + REF;
@@ -980,7 +1041,7 @@
980
1041
  var timerFn = theArgs[0];
981
1042
  theArgs[0] = function () {
982
1043
  handler.dn();
983
- fnApply(timerFn, self, arrSlice(arguments));
1044
+ fnApply(timerFn, self, ArrProto[SLICE][CALL](arguments));
984
1045
  };
985
1046
  var handler = _createTimerHandler(startTimer, function (timerId) {
986
1047
  if (timerId) {
@@ -997,10 +1058,10 @@
997
1058
  return handler.h;
998
1059
  }
999
1060
  function scheduleTimeout(callback, timeout) {
1000
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
1061
+ return _createTimeoutWith(this, true, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1001
1062
  }
1002
1063
  function createTimeout(callback, timeout) {
1003
- return _createTimeoutWith(this, false, UNDEF_VALUE, arrSlice(arguments));
1064
+ return _createTimeoutWith(this, false, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
1004
1065
  }
1005
1066
 
1006
1067
  var createEnumStyle = createEnum;
@@ -1095,8 +1156,6 @@
1095
1156
  var strShimPrototype = "prototype";
1096
1157
  var ObjClass = Object;
1097
1158
 
1098
- (getGlobal() || {})["Symbol"];
1099
- (getGlobal() || {})["Reflect"];
1100
1159
  var strHasOwnProperty = "hasOwnProperty";
1101
1160
  var extendStaticsFn = function (d, b) {
1102
1161
  extendStaticsFn = ObjClass["setPrototypeOf"] ||
@@ -1199,13 +1258,13 @@
1199
1258
  }
1200
1259
  }
1201
1260
  function _isDynamicCandidate(target, funcName, skipOwn) {
1202
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
1261
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
1203
1262
  }
1204
1263
  function _throwTypeError(message) {
1205
1264
  throwTypeError("DynamicProto: " + message);
1206
1265
  }
1207
1266
  function _getInstanceFuncs(thisTarget) {
1208
- var instFuncs = {};
1267
+ var instFuncs = objCreate(null);
1209
1268
  _forEachProp(thisTarget, function (name) {
1210
1269
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
1211
1270
  instFuncs[name] = thisTarget[name];
@@ -1234,7 +1293,7 @@
1234
1293
  return theFunc.apply(target, arguments);
1235
1294
  };
1236
1295
  }
1237
- var baseFuncs = {};
1296
+ var baseFuncs = objCreate(null);
1238
1297
  _forEachProp(instFuncs, function (name) {
1239
1298
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
1240
1299
  });
@@ -1254,8 +1313,8 @@
1254
1313
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
1255
1314
  var instFunc = null;
1256
1315
  if (target && objHasOwnProperty(proto, DynClassName)) {
1257
- var instFuncTable = target[DynInstFuncTable] || {};
1258
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
1316
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
1317
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
1259
1318
  if (!instFunc) {
1260
1319
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
1261
1320
  }
@@ -1305,20 +1364,24 @@
1305
1364
  return dynProtoProxy;
1306
1365
  }
1307
1366
  if (!_isObjectOrArrayPrototype(proto)) {
1308
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
1309
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
1310
- if (instFuncTable[DynAllowInstChkTag] !== false) {
1311
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1312
- }
1313
- _forEachProp(target, function (name) {
1314
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1315
- instFuncs_1[name] = target[name];
1316
- delete target[name];
1317
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1318
- proto[name] = _createDynamicPrototype(proto, name);
1319
- }
1367
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
1368
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
1369
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
1370
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
1371
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
1372
+ }
1373
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
1374
+ _forEachProp(target, function (name) {
1375
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
1376
+ instFuncs_1[name] = target[name];
1377
+ delete target[name];
1378
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
1379
+ proto[name] = _createDynamicPrototype(proto, name);
1380
+ }
1381
+ }
1382
+ });
1320
1383
  }
1321
- });
1384
+ }
1322
1385
  }
1323
1386
  }
1324
1387
  function _checkPrototype(classProto, thisTarget) {
@@ -1377,15 +1440,15 @@
1377
1440
 
1378
1441
  function doAwaitResponse(value, cb) {
1379
1442
  return doAwait(value, function (value) {
1380
- cb && cb({
1443
+ return cb ? cb({
1381
1444
  value: value,
1382
1445
  rejected: false
1383
- });
1446
+ }) : value;
1384
1447
  }, function (reason) {
1385
- cb && cb({
1448
+ return cb ? cb({
1386
1449
  rejected: true,
1387
1450
  reason: reason
1388
- });
1451
+ }) : reason;
1389
1452
  });
1390
1453
  }
1391
1454
  function doAwait(value, resolveFn, rejectFn, finallyFn) {
@@ -1396,10 +1459,12 @@
1396
1459
  }
1397
1460
  }
1398
1461
  else {
1399
- resolveFn && resolveFn(value);
1462
+ if (resolveFn) {
1463
+ result = resolveFn(value);
1464
+ }
1400
1465
  }
1401
1466
  if (finallyFn) {
1402
- result = doFinally(result, finallyFn);
1467
+ doFinally(result, finallyFn);
1403
1468
  }
1404
1469
  return result;
1405
1470
  }
@@ -2231,7 +2296,7 @@
2231
2296
  return result;
2232
2297
  }
2233
2298
 
2234
- var version = '3.0.7-nightly3.2312-05';
2299
+ var version = '3.0.8';
2235
2300
  var instanceName = "." + newId(6);
2236
2301
  var _dataUid = 0;
2237
2302
  function _canAcceptData(target) {