/**
 * 文件格式文本提取器
 */
import isNil from 'lodash/isNil';
import isPlainObject from 'lodash/isPlainObject';
/**
 * 从单个文件对象提取文本
 */
function extractSingleFileText(file) {
    if (typeof file === 'string') {
        // 如果是 URL，提取文件名
        const urlParts = file.split('/');
        return urlParts[urlParts.length - 1] || file;
    }
    if (isPlainObject(file)) {
        return file.name || file.fileName || '';
    }
    return '';
}
/**
 * 文件文本提取器
 */
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- 签名与提取器接口一致
export function extractFileText(value, _column, _record) {
    if (isNil(value) || value === '') {
        return '';
    }
    // 处理数组
    if (Array.isArray(value)) {
        if (value.length === 0) {
            return '';
        }
        return value
            .map((file) => extractSingleFileText(file))
            .filter(Boolean)
            .join(', ');
    }
    // 处理单个值
    const text = extractSingleFileText(value);
    return text || '';
}
