Closed nakyeonko3 closed 1 week ago
이 PR은 useTextFileUpload
훅을 더 일반적인 useFileUpload
훅으로 대체하여 파일 업로드 기능을 리팩토링합니다. 이 훅은 여러 파일 유형(txt, wav, mp3)을 지원하며 텍스트 분할 기능을 추가합니다. 구현에는 파일 유효성 검사, 크기 제한, 적절한 오류 처리가 포함됩니다.
sequenceDiagram
actor User
participant useFileUpload
participant File
participant textSplitter
User->>useFileUpload: handleFiles(files)
useFileUpload->>File: validateFile(file)
useFileUpload->>File: file.text()
File-->>useFileUpload: text
useFileUpload->>textSplitter: textSplitter(text)
textSplitter-->>useFileUpload: sentences
useFileUpload-->>User: onSuccess(sentences)
useFileUpload->>User: onError(error)
classDiagram
class useFileUpload {
- isLoading: boolean
+ handleFiles(files: FileList | null): Promise<void>
+ validateFile(file: File): void
}
class UseFileUploadProps {
+ maxSizeInMB: number
+ allowedTypes: AllowedFileType[]
+ onSuccess(texts: string[]): void
+ onError(error: string): void
}
useFileUpload --> UseFileUploadProps
class ALLOWED_FILE_TYPES {
+ TEXT: string
+ WAV: string
+ MP3: string
}
class textSplitter {
+ textSplitter(text: string): string[]
}
변경 사항 | 세부 사항 | 파일 |
---|---|---|
향상된 기능을 갖춘 새로운 일반 파일 업로드 훅 도입 |
|
src/hooks/useFileUpload.ts |
줄 바꿈 처리를 위한 텍스트 처리 유틸리티 추가 |
|
src/utils/textSpliter.ts |
새로운 파일 업로드 훅을 사용하도록 테이블 콘텐츠 구성 요소 업데이트 |
|
src/components/custom/tables/project/common/TableContents.tsx |
Visit the preview URL for this PR (updated for commit 313d09d):
https://aipark-four-t--193-pclq3b12.web.app
(expires Thu, 28 Nov 2024 20:19:43 GMT)
🔥 via Firebase Hosting GitHub Action 🌎
Sign: 0a4b3ef6ecc2c695a6a0d6ade46651e032870a9f
useFileUpload.ts 파일업로더훅 사용방법
textSpilter.ts 포맷터
Sourcery에 의한 요약
파일 업로드 기능을 리팩토링하여 여러 파일 형식을 지원하고 새로운 텍스트 분할 유틸리티를 도입합니다. 텍스트, wav, mp3 파일 업로드를 지원하는 보다 다재다능한 useFileUpload 훅으로 useTextFileUpload 훅을 대체합니다. 텍스트를 줄 바꿈 문자에 따라 줄로 분할하는 textSplitter 유틸리티를 추가합니다.
새로운 기능:
버그 수정:
개선 사항:
Original summary in English
## Summary by Sourcery Refactor the file upload functionality to support multiple file types and introduce a new text splitting utility. Replace the useTextFileUpload hook with a more versatile useFileUpload hook that supports text, wav, and mp3 file uploads. Add a textSplitter utility to handle splitting text into lines based on newline characters. New Features: - Introduce a new textSplitter utility to split long strings into an array of lines based on newline characters. Bug Fixes: - Fix file uploader to support multiple file types including wav, mp3, and txt. Enhancements: - Refactor file upload hook to use a more generic useFileUpload hook, replacing the previous useTextFileUpload.