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