1 | var isObject = require('../internals/is-object');
|
2 | var setPrototypeOf = require('../internals/object-set-prototype-of');
|
3 |
|
4 |
|
5 | module.exports = function ($this, dummy, Wrapper) {
|
6 | var NewTarget, NewTargetPrototype;
|
7 | if (
|
8 |
|
9 | setPrototypeOf &&
|
10 |
|
11 | typeof (NewTarget = dummy.constructor) == 'function' &&
|
12 | NewTarget !== Wrapper &&
|
13 | isObject(NewTargetPrototype = NewTarget.prototype) &&
|
14 | NewTargetPrototype !== Wrapper.prototype
|
15 | ) setPrototypeOf($this, NewTargetPrototype);
|
16 | return $this;
|
17 | };
|