"use strict";
/**
 * 文件格式文本提取器
 */
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractFileText = extractFileText;
const isNil_1 = __importDefault(require("lodash/isNil"));
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
/**
 * 从单个文件对象提取文本
 */
function extractSingleFileText(file) {
    if (typeof file === 'string') {
        // 如果是 URL，提取文件名
        const urlParts = file.split('/');
        return urlParts[urlParts.length - 1] || file;
    }
    if ((0, isPlainObject_1.default)(file)) {
        return file.name || file.fileName || '';
    }
    return '';
}
/**
 * 文件文本提取器
 */
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- 签名与提取器接口一致
function extractFileText(value, _column, _record) {
    if ((0, isNil_1.default)(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 || '';
}
