/**
 * 日期格式文本提取器
 */
import { formatDate, formatDateTime } from '../../cn-table-cell-format/formats/utils/date';
import { DEFAULT_DATE_FORMAT, DEFAULT_DATE_INTERV } from '../../cn-table-cell-format/constants';
/**
 * 日期文本提取器
 */
export function extractDateText(value, column, _record, dateAdapterLocale) {
    var _a, _b, _c, _d, _e, _f;
    // 处理带 children 的情况（如日期范围选择器）
    if (Array.isArray(column === null || column === void 0 ? void 0 : column.children) && column.children.length > 0) {
        if (Array.isArray(value) && value.length === 2) {
            const startFormatted = formatDate(value[0], (_a = column === null || column === void 0 ? void 0 : column.dateInterv) !== null && _a !== void 0 ? _a : DEFAULT_DATE_INTERV, (_b = column === null || column === void 0 ? void 0 : column.dateFormat) !== null && _b !== void 0 ? _b : DEFAULT_DATE_FORMAT, dateAdapterLocale);
            const endFormatted = formatDate(value[1], (_c = column === null || column === void 0 ? void 0 : column.dateInterv) !== null && _c !== void 0 ? _c : DEFAULT_DATE_INTERV, (_d = column === null || column === void 0 ? void 0 : column.dateFormat) !== null && _d !== void 0 ? _d : DEFAULT_DATE_FORMAT, dateAdapterLocale);
            return `${startFormatted} - ${endFormatted}`;
        }
        return '';
    }
    // 普通日期字段
    if (value) {
        return formatDate(value, (_e = column === null || column === void 0 ? void 0 : column.dateInterv) !== null && _e !== void 0 ? _e : DEFAULT_DATE_INTERV, (_f = column === null || column === void 0 ? void 0 : column.dateFormat) !== null && _f !== void 0 ? _f : DEFAULT_DATE_FORMAT, dateAdapterLocale);
    }
    return '';
}
/**
 * 日期时间文本提取器
 */
export function extractDateTimeText(value, column, _record, dateAdapterLocale) {
    var _a, _b;
    if (!value) {
        return '';
    }
    return formatDateTime(value, {
        interv: (_a = column === null || column === void 0 ? void 0 : column.dateInterv) !== null && _a !== void 0 ? _a : DEFAULT_DATE_INTERV,
        hasSecond: (_b = column === null || column === void 0 ? void 0 : column.hasSecond) !== null && _b !== void 0 ? _b : true,
        adapterLocale: dateAdapterLocale,
    });
}
