Initial Save
This commit is contained in:
25
node_modules/set-proto/index.js
generated
vendored
Normal file
25
node_modules/set-proto/index.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
'use strict';
|
||||
|
||||
var reflectSetProto = require('./Reflect.setPrototypeOf');
|
||||
var originalSetProto = require('./Object.setPrototypeOf');
|
||||
|
||||
var setDunderProto = require('dunder-proto/set');
|
||||
|
||||
var $TypeError = require('es-errors/type');
|
||||
|
||||
/** @type {import('.')} */
|
||||
module.exports = reflectSetProto
|
||||
? function setProto(O, proto) {
|
||||
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
||||
if (reflectSetProto(O, proto)) {
|
||||
return O;
|
||||
}
|
||||
throw new $TypeError('Reflect.setPrototypeOf: failed to set [[Prototype]]');
|
||||
}
|
||||
: originalSetProto || (
|
||||
setDunderProto ? function setProto(O, proto) {
|
||||
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
||||
setDunderProto(O, proto);
|
||||
return O;
|
||||
} : null
|
||||
);
|
||||
Reference in New Issue
Block a user