import { __require as requireType } from "../../es-errors/type.js";
import { __require as requireHasown } from "../../hasown/index.js";
import { __require as requirePropertyDescriptor } from "../helpers/records/property-descriptor.js";
var IsDataDescriptor;
var hasRequiredIsDataDescriptor;
function requireIsDataDescriptor() {
  if (hasRequiredIsDataDescriptor) return IsDataDescriptor;
  hasRequiredIsDataDescriptor = 1;
  var $TypeError = requireType();
  var hasOwn = requireHasown();
  var isPropertyDescriptor = requirePropertyDescriptor();
  IsDataDescriptor = function IsDataDescriptor2(Desc) {
    if (typeof Desc === "undefined") {
      return false;
    }
    if (!isPropertyDescriptor(Desc)) {
      throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor");
    }
    if (!hasOwn(Desc, "[[Value]]") && !hasOwn(Desc, "[[Writable]]")) {
      return false;
    }
    return true;
  };
  return IsDataDescriptor;
}
export {
  requireIsDataDescriptor as __require
};
