Files
med-notes/.pnpm-store/v10/files/7f/87f3873887ba7c6000e2f2440410eb4c8ba241922e047ae3cf8562ec00d3f2c6a52a1d11b9ea0023a32dc421f00c6b22d5d03388284ed8964a39fc9c262304
2025-06-26 03:35:15 +00:00

28 lines
821 B
Plaintext

'use strict';
var reflectGetProto = require('./Reflect.getPrototypeOf');
var originalGetProto = require('./Object.getPrototypeOf');
var getDunderProto = require('dunder-proto/get');
/** @type {import('.')} */
module.exports = reflectGetProto
? function getProto(O) {
// @ts-expect-error TS can't narrow inside a closure, for some reason
return reflectGetProto(O);
}
: originalGetProto
? function getProto(O) {
if (!O || (typeof O !== 'object' && typeof O !== 'function')) {
throw new TypeError('getProto: not an object');
}
// @ts-expect-error TS can't narrow inside a closure, for some reason
return originalGetProto(O);
}
: getDunderProto
? function getProto(O) {
// @ts-expect-error TS can't narrow inside a closure, for some reason
return getDunderProto(O);
}
: null;