UNPKG

702 BJavaScriptView Raw
1var getPrototypeOf = require("./getPrototypeOf");
2
3var isNativeReflectConstruct = require("./isNativeReflectConstruct");
4
5var possibleConstructorReturn = require("./possibleConstructorReturn");
6
7function _createSuper(Derived) {
8 var hasNativeReflectConstruct = isNativeReflectConstruct();
9 return function _createSuperInternal() {
10 var Super = getPrototypeOf(Derived),
11 result;
12
13 if (hasNativeReflectConstruct) {
14 var NewTarget = getPrototypeOf(this).constructor;
15 result = Reflect.construct(Super, arguments, NewTarget);
16 } else {
17 result = Super.apply(this, arguments);
18 }
19
20 return possibleConstructorReturn(this, result);
21 };
22}
23
24module.exports = _createSuper;
\No newline at end of file