"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeNumberValue = normalizeNumberValue;
/**
 * 标准化数值组件的值
 */
function normalizeNumberValue(value, componentProps) {
    if (value === null || value === undefined) {
        return value;
    }
    // 转换为数字
    let numValue = typeof value === 'number' ? value : parseFloat(value);
    // 如果转换失败，返回原值
    if (isNaN(numValue)) {
        return value;
    }
    // 应用 min 限制
    const min = componentProps === null || componentProps === void 0 ? void 0 : componentProps.min;
    if (min !== undefined && numValue < min) {
        numValue = min;
    }
    // 应用 max 限制
    const max = componentProps === null || componentProps === void 0 ? void 0 : componentProps.max;
    if (max !== undefined && numValue > max) {
        numValue = max;
    }
    // 应用精度限制
    const precision = componentProps === null || componentProps === void 0 ? void 0 : componentProps.precision;
    if (precision !== undefined && precision >= 0) {
        numValue = parseFloat(numValue.toFixed(precision));
    }
    return numValue;
}
