"use strict";
exports.__esModule = true;
exports.isInMinMaxDade = void 0;
var date_fns_1 = require("date-fns");
var isMinMax = function (date, minDate, maxDate) {
    var minDateTime = minDate === null || minDate === void 0 ? void 0 : minDate.getTime();
    var maxDateTime = maxDate === null || maxDate === void 0 ? void 0 : maxDate.getTime();
    if (minDate && maxDate && minDateTime && maxDateTime) {
        return minDateTime < maxDateTime
            ? (0, date_fns_1.isWithinInterval)(date, { start: minDate, end: maxDate })
            : false;
    }
    var dateTime = date.getTime();
    if (minDateTime && !maxDateTime) {
        return minDateTime <= dateTime;
    }
    if (!minDateTime && maxDateTime) {
        return maxDateTime >= dateTime;
    }
    return true;
};
var isInMinMaxDade = function (date, minDate, maxDate, startOf, endOf) {
    if (!minDate && !maxDate) {
        return true;
    }
    return isMinMax(date, (startOf && minDate && startOf(minDate)) || minDate, (endOf && maxDate && endOf(maxDate)) || maxDate);
};
exports.isInMinMaxDade = isInMinMaxDade;
