@microsoft/applicationinsights-react-native 4.0.3-nightly.2312-01 → 4.0.3

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - React Native Plugin, 4.0.3-nightly.2312-01
2
+ * Application Insights JavaScript SDK - React Native Plugin, 4.0.3
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -38,6 +38,8 @@
38
38
  var VALUE = "value";
39
39
  var NAME = "name";
40
40
  var SLICE = "slice";
41
+ var CALL = "call";
42
+ var TO_STRING = "toString";
41
43
  var ObjClass = Object;
42
44
  var ObjProto = ObjClass[PROTOTYPE];
43
45
  var StrCls = String;
@@ -45,14 +47,15 @@
45
47
  var ArrCls = Array;
46
48
  var ArrProto = ArrCls[PROTOTYPE];
47
49
 
48
- function safeGet(cb, defValue) {
49
- var result = defValue;
50
+ function safe(func, argArray) {
50
51
  try {
51
- result = cb();
52
+ return {
53
+ v: func.apply(this, argArray)
54
+ };
52
55
  }
53
56
  catch (e) {
57
+ return { e: e };
54
58
  }
55
- return result;
56
59
  }
57
60
 
58
61
  function _createIs(theType) {
@@ -81,8 +84,8 @@
81
84
  function isDefined(arg) {
82
85
  return !!arg || arg !== UNDEF_VALUE;
83
86
  }
84
- var isString = _createIs(STRING);
85
- var isFunction = _createIs(FUNCTION);
87
+ var isString = ( _createIs(STRING));
88
+ var isFunction = ( _createIs(FUNCTION));
86
89
  function isObject(value) {
87
90
  if (!value && isNullOrUndefined(value)) {
88
91
  return false;
@@ -90,16 +93,15 @@
90
93
  return !!value && typeof value === OBJECT;
91
94
  }
92
95
  var isArray = ArrCls.isArray;
93
- var isNumber = _createIs(NUMBER);
94
- var isError = _createObjIs("Error");
96
+ var isError = ( _createObjIs("Error"));
95
97
  function isPromiseLike(value) {
96
- return !!value && isFunction(value.then);
98
+ return !!(value && value.then && isFunction(value.then));
97
99
  }
98
100
 
99
101
  var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
100
102
 
101
103
  function objHasOwnProperty(obj, prop) {
102
- return obj && ObjProto.hasOwnProperty.call(obj, prop);
104
+ return !!obj && ObjProto.hasOwnProperty[CALL](obj, prop);
103
105
  }
104
106
 
105
107
  var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
@@ -111,7 +113,7 @@
111
113
  if (theObject && isObject(theObject)) {
112
114
  for (var prop in theObject) {
113
115
  if (objHasOwn(theObject, prop)) {
114
- if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
116
+ if (callbackfn[CALL](thisArg || theObject, prop, theObject[prop]) === -1) {
115
117
  break;
116
118
  }
117
119
  }
@@ -148,15 +150,14 @@
148
150
  }
149
151
 
150
152
  var _objFreeze = ObjClass["freeze"];
151
- var _doNothing = function (value) { return value; };
152
- var _getProto = function (value) { return value[__PROTO__] || NULL_VALUE; };
153
- ObjClass["assign"];
154
- function objKeys(value) {
155
- if (!isObject(value) || value === NULL_VALUE) {
156
- throwTypeError("objKeys called on non-object");
157
- }
158
- return ObjClass.keys(value);
153
+ function _doNothing(value) {
154
+ return value;
155
+ }
156
+ function _getProto(value) {
157
+ return value[__PROTO__] || NULL_VALUE;
159
158
  }
159
+ ObjClass["assign"];
160
+ var objKeys = ObjClass.keys;
160
161
  function objDeepFreeze(value) {
161
162
  if (_objFreeze) {
162
163
  objForEachKey(value, function (key, value) {
@@ -177,7 +178,7 @@
177
178
  return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
178
179
  }
179
180
 
180
- var _wellKnownSymbolMap = createEnumKeyMap({
181
+ var _wellKnownSymbolMap = createEnumKeyMap({
181
182
  asyncIterator: 0 ,
182
183
  hasInstance: 1 ,
183
184
  isConcatSpreadable: 2 ,
@@ -215,47 +216,44 @@
215
216
  }
216
217
  function _getGlobalConfig() {
217
218
  if (!_globalCfg) {
218
- var gbl = _getGlobalValue() || {};
219
+ var gbl = safe(_getGlobalValue).v || {};
219
220
  _globalCfg = gbl[GLOBAL_CONFIG_KEY] = gbl[GLOBAL_CONFIG_KEY] || {};
220
221
  }
221
222
  return _globalCfg;
222
223
  }
223
224
 
225
+ var ERROR_TYPE = "[object Error]";
224
226
  function dumpObj(object, format) {
225
227
  var propertyValueDump = EMPTY;
226
- if (isError(object)) {
227
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
228
+ var objType = ObjProto[TO_STRING][CALL](object);
229
+ if (objType === ERROR_TYPE) {
230
+ object = { stack: asString(object.stack), message: asString(object.message), name: asString(object.name) };
228
231
  }
229
- else {
230
- try {
231
- propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? (isNumber(format) ? format : 4) : UNDEF_VALUE);
232
- }
233
- catch (e) {
234
- propertyValueDump = " - " + dumpObj(e, format);
235
- }
232
+ try {
233
+ propertyValueDump = JSON.stringify(object, NULL_VALUE, format ? ((typeof format === NUMBER) ? format : 4) : UNDEF_VALUE);
234
+ propertyValueDump = (propertyValueDump && propertyValueDump.replace(/"(\w+)"\s*:\s{0,1}/g, "$1: ")) || asString(object);
235
+ }
236
+ catch (e) {
237
+ propertyValueDump = " - " + dumpObj(e, format);
236
238
  }
237
- return objToString(object) + ": " + propertyValueDump;
239
+ return objType + ": " + propertyValueDump;
238
240
  }
239
241
 
240
- var _arrSlice = ArrProto[SLICE];
241
- var _throwMissingFunction = function (funcName, thisArg) {
242
- throwTypeError("'" + asString(funcName) + "' not defined for " + dumpObj(thisArg));
243
- };
244
- var _unwrapInstFunction = function (funcName) {
245
- return function (thisArg) {
246
- return thisArg[funcName].apply(thisArg, _arrSlice.call(arguments, 1));
247
- };
248
- };
249
- var _unwrapFunction = function (funcName, clsProto) {
242
+ var _slice;
243
+ var _unwrapInstFunction = _unwrapFunctionWithPoly;
244
+ var _unwrapFunction = _unwrapFunctionWithPoly;
245
+ function _unwrapFunctionWithPoly(funcName, clsProto, polyFunc) {
246
+ _slice = _slice || ArrProto[SLICE];
250
247
  var clsFn = clsProto && clsProto[funcName];
251
248
  return function (thisArg) {
252
249
  var theFunc = (thisArg && thisArg[funcName]) || clsFn;
253
- if (theFunc) {
254
- return theFunc.apply(thisArg, _arrSlice.call(arguments, 1));
250
+ if (theFunc || polyFunc) {
251
+ var theArgs = arguments;
252
+ return (theFunc || polyFunc).apply(thisArg, theFunc ? _slice[CALL](theArgs, 1) : theArgs);
255
253
  }
256
- _throwMissingFunction(funcName, thisArg);
254
+ throwTypeError("\"" + asString(funcName) + "\" not defined for " + dumpObj(thisArg));
257
255
  };
258
- };
256
+ }
259
257
 
260
258
  var UNIQUE_REGISTRY_ID = "_urid";
261
259
  var _polySymbols;
@@ -266,7 +264,7 @@
266
264
  }
267
265
  return _polySymbols;
268
266
  }
269
- var _wellKnownSymbolCache = {};
267
+ var _wellKnownSymbolCache;
270
268
  function polyNewSymbol(description) {
271
269
  var theSymbol = {
272
270
  description: asString(description),
@@ -280,13 +278,14 @@
280
278
  if (!objHasOwn(registry.k, key)) {
281
279
  var newSymbol_1 = polyNewSymbol(key);
282
280
  var regId_1 = objKeys(registry.s).length;
283
- newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1.toString(); };
281
+ newSymbol_1[UNIQUE_REGISTRY_ID] = function () { return regId_1 + "_" + newSymbol_1[TO_STRING](); };
284
282
  registry.k[key] = newSymbol_1;
285
283
  registry.s[newSymbol_1[UNIQUE_REGISTRY_ID]()] = asString(key);
286
284
  }
287
285
  return registry.k[key];
288
286
  }
289
287
  function polyGetKnownSymbol(name) {
288
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
290
289
  var result;
291
290
  var knownName = _wellKnownSymbolMap[name];
292
291
  if (knownName) {
@@ -327,13 +326,12 @@
327
326
  }
328
327
 
329
328
  var _globalLazyTestHooks;
330
- var _fetchLazyTestHooks = function () {
329
+ function _initTestHooks() {
331
330
  _globalLazyTestHooks = _getGlobalConfig();
332
- _fetchLazyTestHooks = NULL_VALUE;
333
- };
331
+ }
334
332
  function getLazy(cb) {
335
333
  var lazyValue = {};
336
- _fetchLazyTestHooks && _fetchLazyTestHooks();
334
+ !_globalLazyTestHooks && _initTestHooks();
337
335
  lazyValue.b = _globalLazyTestHooks.lzy;
338
336
  objDefineProp(lazyValue, "v", {
339
337
  configurable: true,
@@ -343,13 +341,8 @@
343
341
  objDefineProp(lazyValue, "v", {
344
342
  value: result
345
343
  });
346
- if (lazyValue.b) {
347
- delete lazyValue.b;
348
- }
349
- }
350
- if (_globalLazyTestHooks.lzy && lazyValue.b !== _globalLazyTestHooks.lzy) {
351
- lazyValue.b = _globalLazyTestHooks.lzy;
352
344
  }
345
+ lazyValue.b = _globalLazyTestHooks.lzy;
353
346
  return result;
354
347
  }
355
348
  });
@@ -357,19 +350,31 @@
357
350
  }
358
351
 
359
352
  function safeGetLazy(cb, defValue) {
360
- return getLazy(function () { return safeGet(cb, defValue); });
353
+ return getLazy(function () {
354
+ var result = safe(cb);
355
+ return result.e ? defValue : result.v;
356
+ });
357
+ }
358
+
359
+ function createCachedValue(value) {
360
+ return objDefineProp({
361
+ toJSON: function () { return value; }
362
+ }, "v", { value: value });
361
363
  }
362
364
 
363
365
  var WINDOW = "window";
364
366
  var _cachedGlobal;
365
367
  var _cachedWindow;
366
368
  var _cachedNavigator;
367
- var lazySafeGetInst = function (name) { return safeGetLazy(function () { return getInst(name) || UNDEF_VALUE; }, UNDEF_VALUE); };
368
- var getGlobal = function (useCached) {
369
- (!_cachedGlobal || useCached === false || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedGlobal.b)) && (_cachedGlobal = safeGetLazy(_getGlobalValue, NULL_VALUE));
369
+ function lazySafeGetInst(name) {
370
+ return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
371
+ }
372
+ function getGlobal(useCached) {
373
+ !_globalLazyTestHooks && _initTestHooks();
374
+ (!_cachedGlobal || useCached === false || _globalLazyTestHooks.lzy) && (_cachedGlobal = createCachedValue(safe(_getGlobalValue).v || NULL_VALUE));
370
375
  return _cachedGlobal.v;
371
- };
372
- var getInst = function (name, useCached) {
376
+ }
377
+ function getInst(name, useCached) {
373
378
  var gbl = (!_cachedGlobal || useCached === false) ? getGlobal(useCached) : _cachedGlobal.v;
374
379
  if (gbl && gbl[name]) {
375
380
  return gbl[name];
@@ -378,43 +383,44 @@
378
383
  return _cachedWindow.v;
379
384
  }
380
385
  return NULL_VALUE;
381
- };
382
- var hasWindow = function () { return !!getWindow(); };
383
- var getWindow = function () {
384
- (!_cachedWindow || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedWindow.b)) && (_cachedWindow = lazySafeGetInst(WINDOW));
386
+ }
387
+ function hasWindow() {
388
+ return !!getWindow();
389
+ }
390
+ function getWindow() {
391
+ !_globalLazyTestHooks && _initTestHooks();
392
+ (!_cachedWindow || _globalLazyTestHooks.lzy) && (_cachedWindow = createCachedValue(safe((getInst), [WINDOW]).v));
385
393
  return _cachedWindow.v;
386
- };
387
- var getNavigator = function () {
388
- (!_cachedNavigator || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_cachedNavigator.b)) && (_cachedNavigator = lazySafeGetInst("navigator"));
394
+ }
395
+ function getNavigator() {
396
+ !_globalLazyTestHooks && _initTestHooks();
397
+ (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
389
398
  return _cachedNavigator.v;
390
- };
399
+ }
391
400
 
392
401
  var _symbol;
393
402
  var _symbolFor;
394
- var _symbolKeyFor;
395
- function _getSymbolValue(name) {
396
- return safeGetLazy(function () {
397
- return (_symbol.v ? _symbol.v[name] : UNDEF_VALUE);
398
- }, UNDEF_VALUE);
399
- }
400
- function getSymbol() {
401
- var resetCache = !_symbol || (_globalLazyTestHooks && _globalLazyTestHooks.lzy && !_symbol.b);
402
- resetCache && (_symbol = lazySafeGetInst(SYMBOL));
403
- (!_symbolFor || resetCache) && (_symbolFor = _getSymbolValue("for"));
404
- (!_symbolKeyFor || resetCache) && (_symbolKeyFor = _getSymbolValue("keyFor"));
405
- return _symbol.v;
403
+ function _initSymbol() {
404
+ if (!_symbol || !_symbol.b) {
405
+ _symbol = lazySafeGetInst(SYMBOL);
406
+ _symbolFor = safeGetLazy(function () { return (_symbol.v ? _symbol.v["for"] : UNDEF_VALUE); }, UNDEF_VALUE);
407
+ safeGetLazy(function () { return (_symbol.v ? _symbol.v["keyFor"] : UNDEF_VALUE); }, UNDEF_VALUE);
408
+ }
406
409
  }
407
410
  function getKnownSymbol(name, noPoly) {
408
411
  var knownName = _wellKnownSymbolMap[name];
409
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
412
+ !_globalLazyTestHooks && _initTestHooks();
413
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
410
414
  return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
411
415
  }
412
416
  function newSymbol(description, noPoly) {
413
- (!_symbol || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
417
+ !_globalLazyTestHooks && _initTestHooks();
418
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
414
419
  return _symbol.v ? _symbol.v(description) : (!noPoly ? polyNewSymbol(description) : NULL_VALUE);
415
420
  }
416
421
  function symbolFor(key) {
417
- (!_symbolFor || (_globalLazyTestHooks.lzy && !_symbol.b)) && getSymbol();
422
+ !_globalLazyTestHooks && _initTestHooks();
423
+ (!_symbolFor || !_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
418
424
  return (_symbolFor.v || polySymbolFor)(key);
419
425
  }
420
426
 
@@ -429,7 +435,7 @@
429
435
  function iterForOf(iter, callbackfn, thisArg) {
430
436
  if (iter) {
431
437
  if (!isIterator(iter)) {
432
- !_iterSymbol && (_iterSymbol = getLazy(function () { return getKnownSymbol(3 ); }));
438
+ !_iterSymbol && (_iterSymbol = createCachedValue(getKnownSymbol(3 )));
433
439
  iter = iter[_iterSymbol.v] ? iter[_iterSymbol.v]() : null;
434
440
  }
435
441
  if (isIterator(iter)) {
@@ -438,7 +444,7 @@
438
444
  try {
439
445
  var count = 0;
440
446
  while (!(iterResult = iter.next())[DONE]) {
441
- if (callbackfn.call(thisArg || iter, iterResult[VALUE], count, iter) === -1) {
447
+ if (callbackfn[CALL](thisArg || iter, iterResult[VALUE], count, iter) === -1) {
442
448
  break;
443
449
  }
444
450
  count++;
@@ -467,7 +473,7 @@
467
473
  }
468
474
  }
469
475
 
470
- var fnApply = _unwrapInstFunction("apply");
476
+ var fnApply = ( _unwrapInstFunction("apply"));
471
477
 
472
478
  function arrAppend(target, elms) {
473
479
  if (!isUndefined(elms) && target) {
@@ -491,7 +497,7 @@
491
497
  var len = theArray[LENGTH] >>> 0;
492
498
  for (var idx = 0; idx < len; idx++) {
493
499
  if (idx in theArray) {
494
- if (callbackfn.call(thisArg || theArray, theArray[idx], idx, theArray) === -1) {
500
+ if (callbackfn[CALL](thisArg || theArray, theArray[idx], idx, theArray) === -1) {
495
501
  break;
496
502
  }
497
503
  }
@@ -499,22 +505,17 @@
499
505
  }
500
506
  }
501
507
 
502
- var arrIndexOf = _unwrapFunction(INDEX_OF, ArrProto);
503
- _unwrapFunction(LAST_INDEX_OF, ArrProto);
508
+ var arrIndexOf = ( _unwrapFunction(INDEX_OF, ArrProto));
509
+ ( _unwrapFunction(LAST_INDEX_OF, ArrProto));
504
510
 
505
- var arrSlice = _unwrapFunction(SLICE, ArrProto);
506
-
507
- var fnCall = _unwrapInstFunction("call");
508
-
509
- var _objCreate = ObjClass["create"];
510
- var objCreate = _objCreate || polyObjCreate;
511
+ var objCreate = ObjClass["create"] || polyObjCreate;
511
512
  function polyObjCreate(obj) {
512
513
  if (!obj) {
513
514
  return {};
514
515
  }
515
516
  var type = typeof obj;
516
517
  if (type !== OBJECT && type !== FUNCTION) {
517
- throw new TypeError("Prototype must be an Object or function: " + dumpObj(obj));
518
+ throwTypeError("Prototype must be an Object or function: " + dumpObj(obj));
518
519
  }
519
520
  function tempFunc() { }
520
521
  tempFunc[PROTOTYPE] = obj;
@@ -534,39 +535,29 @@
534
535
  return fn(obj, proto);
535
536
  }
536
537
 
537
- var _createCustomError = function (name, d, b) {
538
- _safeDefineName(d, name);
538
+ function _createCustomError(name, d, b) {
539
+ safe(objDefine, [d, NAME, { v: name, c: true, e: false }]);
539
540
  d = objSetPrototypeOf(d, b);
540
541
  function __() {
541
542
  this.constructor = d;
542
- _safeDefineName(this, name);
543
+ safe(objDefine, [this, NAME, { v: name, c: true, e: false }]);
543
544
  }
544
545
  d[PROTOTYPE] = b === NULL_VALUE ? objCreate(b) : (__[PROTOTYPE] = b[PROTOTYPE], new __());
545
546
  return d;
546
- };
547
- var _safeSetName = function (baseClass, name) {
548
- try {
549
- name && (baseClass[NAME] = name);
550
- }
551
- catch (e) {
552
- }
553
- };
554
- var _safeDefineName = function (target, name) {
555
- try {
556
- objDefine(target, NAME, { v: name, c: true, e: false });
557
- }
558
- catch (e) {
559
- }
560
- };
547
+ }
548
+ function _setName(baseClass, name) {
549
+ name && (baseClass[NAME] = name);
550
+ }
561
551
  function createCustomError(name, constructCb, errorBase) {
562
552
  var theBaseClass = errorBase || Error;
563
553
  var orgName = theBaseClass[PROTOTYPE][NAME];
564
554
  var captureFn = Error.captureStackTrace;
565
555
  return _createCustomError(name, function () {
566
556
  var _this = this;
557
+ var theArgs = arguments;
567
558
  try {
568
- _safeSetName(theBaseClass, name);
569
- var _self = fnApply(theBaseClass, _this, arrSlice(arguments)) || _this;
559
+ safe(_setName, [theBaseClass, name]);
560
+ var _self = fnApply(theBaseClass, _this, ArrProto[SLICE][CALL](theArgs)) || _this;
570
561
  if (_self !== _this) {
571
562
  var orgProto = objGetPrototypeOf(_this);
572
563
  if (orgProto !== objGetPrototypeOf(_self)) {
@@ -574,11 +565,11 @@
574
565
  }
575
566
  }
576
567
  captureFn && captureFn(_self, _this[CONSTRUCTOR]);
577
- constructCb && constructCb(_self, arguments);
568
+ constructCb && constructCb(_self, theArgs);
578
569
  return _self;
579
570
  }
580
571
  finally {
581
- _safeSetName(theBaseClass, orgName);
572
+ safe(_setName, [theBaseClass, orgName]);
582
573
  }
583
574
  }, theBaseClass);
584
575
  }
@@ -603,8 +594,8 @@
603
594
  var result = false;
604
595
  if (value !== _gblWindow) {
605
596
  if (!_objCtrFnString) {
606
- _fnToString = Function[PROTOTYPE].toString;
607
- _objCtrFnString = fnCall(_fnToString, ObjClass);
597
+ _fnToString = Function[PROTOTYPE][TO_STRING];
598
+ _objCtrFnString = _fnToString[CALL](ObjClass);
608
599
  }
609
600
  try {
610
601
  var proto = objGetPrototypeOf(value);
@@ -613,7 +604,7 @@
613
604
  if (objHasOwnProperty(proto, CONSTRUCTOR)) {
614
605
  proto = proto[CONSTRUCTOR];
615
606
  }
616
- result = proto && typeof proto === FUNCTION && _fnToString.call(proto) === _objCtrFnString;
607
+ result = proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString;
617
608
  }
618
609
  }
619
610
  catch (ex) {
@@ -622,8 +613,8 @@
622
613
  return result;
623
614
  }
624
615
 
625
- var strIndexOf = _unwrapFunction(INDEX_OF, StrProto);
626
- _unwrapFunction(LAST_INDEX_OF, StrProto);
616
+ var strIndexOf = ( _unwrapFunction(INDEX_OF, StrProto));
617
+ ( _unwrapFunction(LAST_INDEX_OF, StrProto));
627
618
 
628
619
  var REF = "ref";
629
620
  var UNREF = "un" + REF;
@@ -694,7 +685,7 @@
694
685
  var timerFn = theArgs[0];
695
686
  theArgs[0] = function () {
696
687
  handler.dn();
697
- fnApply(timerFn, self, arrSlice(arguments));
688
+ fnApply(timerFn, self, ArrProto[SLICE][CALL](arguments));
698
689
  };
699
690
  var handler = _createTimerHandler(startTimer, function (timerId) {
700
691
  if (timerId) {
@@ -711,7 +702,7 @@
711
702
  return handler.h;
712
703
  }
713
704
  function scheduleTimeout(callback, timeout) {
714
- return _createTimeoutWith(this, true, UNDEF_VALUE, arrSlice(arguments));
705
+ return _createTimeoutWith(this, true, UNDEF_VALUE, ArrProto[SLICE][CALL](arguments));
715
706
  }
716
707
 
717
708
  (getGlobal() || {})["Symbol"];
@@ -816,13 +807,13 @@
816
807
  }
817
808
  }
818
809
  function _isDynamicCandidate(target, funcName, skipOwn) {
819
- return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)));
810
+ return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);
820
811
  }
821
812
  function _throwTypeError(message) {
822
813
  throwTypeError("DynamicProto: " + message);
823
814
  }
824
815
  function _getInstanceFuncs(thisTarget) {
825
- var instFuncs = {};
816
+ var instFuncs = objCreate(null);
826
817
  _forEachProp(thisTarget, function (name) {
827
818
  if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {
828
819
  instFuncs[name] = thisTarget[name];
@@ -851,7 +842,7 @@
851
842
  return theFunc.apply(target, arguments);
852
843
  };
853
844
  }
854
- var baseFuncs = {};
845
+ var baseFuncs = objCreate(null);
855
846
  _forEachProp(instFuncs, function (name) {
856
847
  baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);
857
848
  });
@@ -871,8 +862,8 @@
871
862
  function _getInstFunc(target, funcName, proto, currentDynProtoProxy) {
872
863
  var instFunc = null;
873
864
  if (target && objHasOwnProperty(proto, DynClassName)) {
874
- var instFuncTable = target[DynInstFuncTable] || {};
875
- instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];
865
+ var instFuncTable = target[DynInstFuncTable] || objCreate(null);
866
+ instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];
876
867
  if (!instFunc) {
877
868
  _throwTypeError("Missing [" + funcName + "] " + strFunction);
878
869
  }
@@ -922,20 +913,24 @@
922
913
  return dynProtoProxy;
923
914
  }
924
915
  if (!_isObjectOrArrayPrototype(proto)) {
925
- var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};
926
- var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {});
927
- if (instFuncTable[DynAllowInstChkTag] !== false) {
928
- instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
929
- }
930
- _forEachProp(target, function (name) {
931
- if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
932
- instFuncs_1[name] = target[name];
933
- delete target[name];
934
- if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
935
- proto[name] = _createDynamicPrototype(proto, name);
936
- }
916
+ var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);
917
+ if (!_isObjectOrArrayPrototype(instFuncTable)) {
918
+ var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || objCreate(null));
919
+ if (instFuncTable[DynAllowInstChkTag] !== false) {
920
+ instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;
921
+ }
922
+ if (!_isObjectOrArrayPrototype(instFuncs_1)) {
923
+ _forEachProp(target, function (name) {
924
+ if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {
925
+ instFuncs_1[name] = target[name];
926
+ delete target[name];
927
+ if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {
928
+ proto[name] = _createDynamicPrototype(proto, name);
929
+ }
930
+ }
931
+ });
937
932
  }
938
- });
933
+ }
939
934
  }
940
935
  }
941
936
  function _checkPrototype(classProto, thisTarget) {
@@ -1229,7 +1224,7 @@
1229
1224
  return result;
1230
1225
  }
1231
1226
 
1232
- var version = '3.0.5';
1227
+ var version = '3.0.8';
1233
1228
  var instanceName = "." + newId(6);
1234
1229
  var _dataUid = 0;
1235
1230
  function _canAcceptData(target) {