"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeTimestamp = normalizeTimestamp;
const dayjs_1 = __importDefault(require("dayjs"));
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
dayjs_1.default.extend(customParseFormat_1.default);
/**
 * 标准化时间戳
 * @param value - 原始值
 * @param format - 时间格式，如 "HH:mm:ss"，为空则表示时间戳格式
 */
function normalizeTimestamp(value, format) {
    // 如果已经是时间戳，直接返回
    if (typeof value === 'number') {
        return value;
    }
    // 如果是对象且有 value 字段，提取 value
    if (typeof value === 'object' && value !== null && 'value' in value) {
        return value.value;
    }
    // 如果模型返回的是字符串格式（如 "02:00:00" 或 "2024-01-28"）
    if (typeof value === 'string' && value.trim()) {
        // 如果指定了 format，使用 format 解析
        if (format) {
            const parsed = (0, dayjs_1.default)(value, format);
            if (parsed.isValid()) {
                return parsed.valueOf();
            }
        }
        // 尝试默认解析
        const parsed = (0, dayjs_1.default)(value);
        if (parsed.isValid()) {
            return parsed.valueOf();
        }
    }
    return value;
}
