const require_runtime = require("../../../../../../_virtual/_rolldown/runtime.js");
const require_index = require("../../utils/index.js");
let _pisell_utils = require("@pisell/utils");
let dayjs = require("dayjs");
dayjs = require_runtime.__toESM(dayjs);
//#region src/components/table/Table/fields/oldRangePicker/filterUtil/index.ts
/**
* 判断给定的日期是否在指定的日期范围内
* @param date 给定的日期
* @param range 指定的日期范围，格式为 [开始日期, 结束日期]
* @returns 如果给定的日期在指定的日期范围内，则返回 true，否则返回 false
*/
function isDateInRange(date, [startDate, endDate]) {
	return date.isSame(startDate) || date.isSame(endDate) || date.isAfter(startDate) && date.isBefore(endDate);
}
/**
* 判断dataSource日期是否在filters范围内
* @param value 日期数组
* @param key 对应日期在对象中的键
* @param item 包含日期的对象
* @returns 如果日期在给定范围内返回true，否则返回false
*/
function filterUtil_default({ value, key, item }) {
	if (!value) return true;
	if ((value === null || value === void 0 ? void 0 : value.length) !== 2) return true;
	const valueDayjsObj = value.map((item) => (0, dayjs.default)(item || ""));
	if (valueDayjsObj.some((item) => !item.isValid())) return true;
	const dataValue = require_index.getValueByKeys(item, key);
	if ((0, _pisell_utils.isUndefined)(dataValue)) return false;
	const dataDayjsObj = (0, dayjs.default)(dataValue);
	if (!dataDayjsObj.isValid()) return false;
	return isDateInRange(dataDayjsObj, valueDayjsObj);
}
//#endregion
exports.default = filterUtil_default;
