1234567891011121314151617181920212223242526 |
- 'use strict';
- var Type = require('es-abstract/2023/Type');
- var $TypeError = require('es-errors/type');
- var implementation = require('./implementation');
- var hasProto = [].__proto__ === Array.prototype; // eslint-disable-line no-proto
- var getProto = function getPrototypeOf(value) {
- if (Type(value) !== 'Object') {
- throw new $TypeError('Reflect.getPrototypeOf called on non-object');
- }
- return value.__proto__; // eslint-disable-line no-proto
- };
- module.exports = function getPolyfill() {
- if (typeof Reflect === 'object' && Reflect && Reflect.getPrototypeOf) {
- return Reflect.getPrototypeOf;
- }
- if (hasProto) {
- return getProto;
- }
- return implementation;
- };
|