UNPKG

659 BJavaScriptView Raw
1var setPrototypeOf = require("./setPrototypeOf");
2
3var isNativeReflectConstruct = require("./isNativeReflectConstruct");
4
5function _construct(Parent, args, Class) {
6 if (isNativeReflectConstruct()) {
7 module.exports = _construct = Reflect.construct;
8 } else {
9 module.exports = _construct = function _construct(Parent, args, Class) {
10 var a = [null];
11 a.push.apply(a, args);
12 var Constructor = Function.bind.apply(Parent, a);
13 var instance = new Constructor();
14 if (Class) setPrototypeOf(instance, Class.prototype);
15 return instance;
16 };
17 }
18
19 return _construct.apply(null, arguments);
20}
21
22module.exports = _construct;
\No newline at end of file