text: const { CONSTRUCTOR } = require('./constants.js');
  const { ObjectProto } = require('./prototypes.js');
  const { objectGetPrototypeOf, objectHasOwnProperty } = require('./built-in.js');
  
  /**
   *
   * @name Object.getPrototypeOf
   * @function
   * @global
   * @param {value}
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf
   */
  module.exports = (value) => {
  	const ctor = value.constructor;
  	if (ctor === undefined) return ObjectProto;
  	return value.__proto__ || objectGetPrototypeOf(value) || (() => {
  		if (objectHasOwnProperty.call(value, CONSTRUCTOR)) {
  			return ObjectProto;
  		}
  		return ctor.prototype;
  	})();
  };
  