2023-03-31 09:15:21 +03:00
|
|
|
import _get_prototype_of from "./_get_prototype_of.mjs";
|
|
|
|
import _is_native_reflect_construct from "./_is_native_reflect_construct.mjs";
|
|
|
|
import _possible_constructor_return from "./_possible_constructor_return.mjs";
|
|
|
|
export default function _create_super(Derived) {
|
|
|
|
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
2021-12-05 09:46:09 +03:00
|
|
|
return function _createSuperInternal() {
|
2023-03-31 09:15:21 +03:00
|
|
|
var Super = _get_prototype_of(Derived), result;
|
2021-12-05 09:46:09 +03:00
|
|
|
if (hasNativeReflectConstruct) {
|
2023-03-31 09:15:21 +03:00
|
|
|
var NewTarget = _get_prototype_of(this).constructor;
|
2021-12-05 09:46:09 +03:00
|
|
|
result = Reflect.construct(Super, arguments, NewTarget);
|
|
|
|
} else {
|
|
|
|
result = Super.apply(this, arguments);
|
|
|
|
}
|
2023-03-31 09:15:21 +03:00
|
|
|
return _possible_constructor_return(this, result);
|
2021-12-05 09:46:09 +03:00
|
|
|
};
|
2023-03-31 09:15:21 +03:00
|
|
|
}
|