Spaces:
Running
Running
| ; | |
| 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; | |