2311061106/frontend/node_modules/set-proto/index.js
23175 b8b09fd9d4
Some checks failed
autograde-final-vibevault / check-trigger (push) Successful in 13s
autograde-final-vibevault / grade (push) Failing after 55s
完成作业
2025-12-14 16:02:40 +08:00

26 lines
733 B
JavaScript

'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
);