import { useEffect } from 'react';
import { isEmpty } from '../../../utils/isEmpty';
export const useSyncFiles = (props) => {
    const { isMultiple, files, selfFiles } = props;
    const handleSingleFileChange = (updatedFiles) => {
        const { onChange } = props;
        onChange(updatedFiles.length > 0 ? updatedFiles[0] : null);
    };
    const handleMultipleFileChange = (updatedFiles) => {
        const { onChange } = props;
        onChange(updatedFiles);
    };
    useEffect(() => {
        if (isEmpty(selfFiles)) {
            return;
        }
        const updatedFiles = files.map((file) => {
            // Исключаем signal, так как он не является свойством UploadFile
            const { controller, ...currentFileData } = selfFiles[file.id] || {};
            return {
                ...file,
                ...(currentFileData || {}),
            };
        });
        if (isMultiple) {
            handleMultipleFileChange(updatedFiles);
        }
        else {
            handleSingleFileChange(updatedFiles);
        }
    }, [selfFiles]);
};
