import { __require as requireCallBound } from "../call-bound/index.js";
import { __require as requireShams } from "../has-tostringtag/shams.js";
var isDateObject;
var hasRequiredIsDateObject;
function requireIsDateObject() {
  if (hasRequiredIsDateObject) return isDateObject;
  hasRequiredIsDateObject = 1;
  var callBound = requireCallBound();
  var getDay = callBound("Date.prototype.getDay");
  var tryDateObject = function tryDateGetDayCall(value) {
    try {
      getDay(value);
      return true;
    } catch (e) {
      return false;
    }
  };
  var toStr = callBound("Object.prototype.toString");
  var dateClass = "[object Date]";
  var hasToStringTag = requireShams()();
  isDateObject = function isDateObject2(value) {
    if (typeof value !== "object" || value === null) {
      return false;
    }
    return hasToStringTag ? tryDateObject(value) : toStr(value) === dateClass;
  };
  return isDateObject;
}
export {
  requireIsDateObject as __require
};
