A class that extends the TextLoader class. It represents a document loader that loads documents from SRT (SubRip) subtitle files. It has a constructor that takes a filePathOrBlob parameter representing the path to the SRT file or a Blob object. The parse() method is implemented to parse the SRT file and extract the text content of each subtitle.

const loader = new SRTLoader("path/to/file.srt");
const docs = await loader.load();
console.log({ docs });

Hierarchy

  • TextLoader
    • SRTLoader

Constructors

Properties

filePathOrBlob: string | Blob

Methods

  • A method that loads the text file or blob and returns a promise that resolves to an array of Document instances. It reads the text from the file or blob using the readFile function from the node:fs/promises module or the text() method of the blob. It then parses the text using the parse() method and creates a Document instance for each parsed page. The metadata includes the source of the text (file path or blob) and, if there are multiple pages, the line number of each page.

    Returns Promise<Document<Record<string, any>>[]>

    A promise that resolves to an array of Document instances.

  • Parameters

    • Optionalsplitter: BaseDocumentTransformer<DocumentInterface<Record<string, any>>[], DocumentInterface<Record<string, any>>[]>

    Returns Promise<Document<Record<string, any>>[]>

    A Promise that resolves with an array of Document instances, each split according to the provided TextSplitter.

    Use this.load() and splitter.splitDocuments() individually. Loads the documents and splits them using a specified text splitter.

  • A protected method that takes a raw string as a parameter and returns a promise that resolves to an array of strings. It parses the raw SRT string using the SRTParser2 class from the srt-parser-2 module. It retrieves the subtitle objects from the parsed SRT data and extracts the text content from each subtitle object. It filters out any empty text content and joins the non-empty text content with a space separator.

    Parameters

    • raw: string

      The raw SRT string to be parsed.

    Returns Promise<string[]>

    A promise that resolves to an array of strings representing the text content of each subtitle.

  • A static method that imports the readFile function from the node:fs/promises module. It is used to dynamically import the function when needed. If the import fails, it throws an error indicating that the fs/promises module is not available in the current environment.

    Returns Promise<{
        readFile: {
            (path: PathLike | FileHandle, options?: null | {
                encoding?: null;
                flag?: OpenMode;
            } & Abortable): Promise<Buffer>;
            (path: PathLike | FileHandle, options: BufferEncoding | {
                encoding: BufferEncoding;
                flag?: OpenMode | undefined;
            } & Abortable): Promise<string>;
            (path: PathLike | FileHandle, options?: null | BufferEncoding | ObjectEncodingOptions & Abortable & {
                flag?: OpenMode | undefined;
            }): Promise<string | Buffer>;
        };
    }>

    A promise that resolves to an object containing the readFile function from the node:fs/promises module.