swc/packages/swc-helpers/esm/_create_super.js

22 lines
790 B
JavaScript
Raw Normal View History

import { _get_prototype_of } from "./_get_prototype_of.js";
import { _is_native_reflect_construct } from "./_is_native_reflect_construct.js";
import { _possible_constructor_return } from "./_possible_constructor_return.js";
export function _create_super(Derived) {
var hasNativeReflectConstruct = _is_native_reflect_construct();
2021-12-05 09:46:09 +03:00
return function _createSuperInternal() {
var Super = _get_prototype_of(Derived), result;
2021-12-05 09:46:09 +03:00
if (hasNativeReflectConstruct) {
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);
}
return _possible_constructor_return(this, result);
2021-12-05 09:46:09 +03:00
};
}
export { _create_super as _ };