import getPrototypeOf from "./getPrototypeOf.js"; 
 | 
import setPrototypeOf from "./setPrototypeOf.js"; 
 | 
import isNativeFunction from "./isNativeFunction.js"; 
 | 
import construct from "./construct.js"; 
 | 
function _wrapNativeSuper(t) { 
 | 
  var r = "function" == typeof Map ? new Map() : void 0; 
 | 
  return _wrapNativeSuper = function _wrapNativeSuper(t) { 
 | 
    if (null === t || !isNativeFunction(t)) return t; 
 | 
    if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); 
 | 
    if (void 0 !== r) { 
 | 
      if (r.has(t)) return r.get(t); 
 | 
      r.set(t, Wrapper); 
 | 
    } 
 | 
    function Wrapper() { 
 | 
      return construct(t, arguments, getPrototypeOf(this).constructor); 
 | 
    } 
 | 
    return Wrapper.prototype = Object.create(t.prototype, { 
 | 
      constructor: { 
 | 
        value: Wrapper, 
 | 
        enumerable: !1, 
 | 
        writable: !0, 
 | 
        configurable: !0 
 | 
      } 
 | 
    }), setPrototypeOf(Wrapper, t); 
 | 
  }, _wrapNativeSuper(t); 
 | 
} 
 | 
export { _wrapNativeSuper as default }; 
 |