Skip to content
Snippets Groups Projects
Unverified Commit 7231ddb1 authored by yisding's avatar yisding Committed by GitHub
Browse files

allow simpledirectoryreader to get a string (#488)


Co-authored-by: default avatarAlex Yang <himself65@outlook.com>
parent 1ead36f1
Branches
Tags
No related merge requests found
---
"llamaindex": patch
---
feat: allow `SimpleDirectoryReader` to get a string
...@@ -49,7 +49,7 @@ export const FILE_EXT_TO_READER: Record<string, BaseReader> = { ...@@ -49,7 +49,7 @@ export const FILE_EXT_TO_READER: Record<string, BaseReader> = {
gif: new ImageReader(), gif: new ImageReader(),
}; };
export type SimpleDirectoryReaderLoadDataProps = { export type SimpleDirectoryReaderLoadDataParams = {
directoryPath: string; directoryPath: string;
fs?: CompleteFileSystem; fs?: CompleteFileSystem;
defaultReader?: BaseReader | null; defaultReader?: BaseReader | null;
...@@ -64,12 +64,20 @@ export type SimpleDirectoryReaderLoadDataProps = { ...@@ -64,12 +64,20 @@ export type SimpleDirectoryReaderLoadDataProps = {
export class SimpleDirectoryReader implements BaseReader { export class SimpleDirectoryReader implements BaseReader {
constructor(private observer?: ReaderCallback) {} constructor(private observer?: ReaderCallback) {}
async loadData({ async loadData(
directoryPath, params: SimpleDirectoryReaderLoadDataParams | string,
fs = defaultFS, ): Promise<Document[]> {
defaultReader = new TextFileReader(), if (typeof params === "string") {
fileExtToReader = FILE_EXT_TO_READER, params = { directoryPath: params };
}: SimpleDirectoryReaderLoadDataProps): Promise<Document[]> { }
const {
directoryPath,
fs = defaultFS,
defaultReader = new TextFileReader(),
fileExtToReader = FILE_EXT_TO_READER,
} = params;
// Observer can decide to skip the directory // Observer can decide to skip the directory
if ( if (
!this.doObserverCheck("directory", directoryPath, ReaderStatus.STARTED) !this.doObserverCheck("directory", directoryPath, ReaderStatus.STARTED)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment