import { __require as requireType } from "../../es-errors/type.js";
import { __require as requireIsAccessorDescriptor } from "./IsAccessorDescriptor.js";
import { __require as requireIsDataDescriptor } from "./IsDataDescriptor.js";
import { __require as requirePropertyDescriptor } from "../helpers/records/property-descriptor.js";
var IsGenericDescriptor;
var hasRequiredIsGenericDescriptor;
function requireIsGenericDescriptor() {
  if (hasRequiredIsGenericDescriptor) return IsGenericDescriptor;
  hasRequiredIsGenericDescriptor = 1;
  var $TypeError = requireType();
  var IsAccessorDescriptor = requireIsAccessorDescriptor();
  var IsDataDescriptor = requireIsDataDescriptor();
  var isPropertyDescriptor = requirePropertyDescriptor();
  IsGenericDescriptor = function IsGenericDescriptor2(Desc) {
    if (typeof Desc === "undefined") {
      return false;
    }
    if (!isPropertyDescriptor(Desc)) {
      throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor");
    }
    if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) {
      return true;
    }
    return false;
  };
  return IsGenericDescriptor;
}
export {
  requireIsGenericDescriptor as __require
};
