diff options
Diffstat (limited to 'node_modules/core-js/modules/es6.reflect.construct.js')
-rw-r--r-- | node_modules/core-js/modules/es6.reflect.construct.js | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/node_modules/core-js/modules/es6.reflect.construct.js b/node_modules/core-js/modules/es6.reflect.construct.js index 96483d708..380addb57 100644 --- a/node_modules/core-js/modules/es6.reflect.construct.js +++ b/node_modules/core-js/modules/es6.reflect.construct.js @@ -1,33 +1,33 @@ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) -var $export = require('./_export') - , create = require('./_object-create') - , aFunction = require('./_a-function') - , anObject = require('./_an-object') - , isObject = require('./_is-object') - , fails = require('./_fails') - , bind = require('./_bind') - , rConstruct = (require('./_global').Reflect || {}).construct; +var $export = require('./_export'); +var create = require('./_object-create'); +var aFunction = require('./_a-function'); +var anObject = require('./_an-object'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var bind = require('./_bind'); +var rConstruct = (require('./_global').Reflect || {}).construct; // MS Edge supports only 2 arguments and argumentsList argument is optional // FF Nightly sets third argument as `new.target`, but does not create `this` from it -var NEW_TARGET_BUG = fails(function(){ - function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); }); -var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); }); $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { - construct: function construct(Target, args /*, newTarget*/){ + construct: function construct(Target, args /* , newTarget */) { aFunction(Target); anObject(args); var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); - if(Target == newTarget){ + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ - case 0: return new Target; + switch (args.length) { + case 0: return new Target(); case 1: return new Target(args[0]); case 2: return new Target(args[0], args[1]); case 3: return new Target(args[0], args[1], args[2]); @@ -36,12 +36,12 @@ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { // w/o altered newTarget, lot of arguments case var $args = [null]; $args.push.apply($args, args); - return new (bind.apply(Target, $args)); + return new (bind.apply(Target, $args))(); } // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype - , instance = create(isObject(proto) ? proto : Object.prototype) - , result = Function.apply.call(Target, instance, args); + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); return isObject(result) ? result : instance; } -});
\ No newline at end of file +}); |