_create_super.js 1.1 KB

1234567891011121314151617181920212223242526
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = _createSuper;
  6. var _isNativeReflectConstructMjs = _interopRequireDefault(require("./_is_native_reflect_construct.js"));
  7. var _getPrototypeOfMjs = _interopRequireDefault(require("./_get_prototype_of.js"));
  8. var _possibleConstructorReturnMjs = _interopRequireDefault(require("./_possible_constructor_return.js"));
  9. function _createSuper(Derived) {
  10. var hasNativeReflectConstruct = (0, _isNativeReflectConstructMjs).default();
  11. return function _createSuperInternal() {
  12. var Super = (0, _getPrototypeOfMjs).default(Derived), result;
  13. if (hasNativeReflectConstruct) {
  14. var NewTarget = (0, _getPrototypeOfMjs).default(this).constructor;
  15. result = Reflect.construct(Super, arguments, NewTarget);
  16. } else {
  17. result = Super.apply(this, arguments);
  18. }
  19. return (0, _possibleConstructorReturnMjs).default(this, result);
  20. };
  21. }
  22. function _interopRequireDefault(obj) {
  23. return obj && obj.__esModule ? obj : {
  24. default: obj
  25. };
  26. }