| 123456789101112131415161718 | var isCallable = require('../internals/is-callable');var isObject = require('../internals/is-object');var setPrototypeOf = require('../internals/object-set-prototype-of');// makes subclassing work correct for wrapped built-insmodule.exports = function ($this, dummy, Wrapper) {  var NewTarget, NewTargetPrototype;  if (    // it can work only with native `setPrototypeOf`    setPrototypeOf &&    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this    isCallable(NewTarget = dummy.constructor) &&    NewTarget !== Wrapper &&    isObject(NewTargetPrototype = NewTarget.prototype) &&    NewTargetPrototype !== Wrapper.prototype  ) setPrototypeOf($this, NewTargetPrototype);  return $this;};
 |