UNPKG

@smythos/sdk

Version:
77 lines (76 loc) 2 kB
import { DocParser } from './DocParser.class'; import { AutoParser } from './parsers/AutoParser.class'; import { DOCXParser } from './parsers/DOCXParser.class'; import { MarkdownParser } from './parsers/MarkdownParser.class'; import { PDFParser } from './parsers/PDFParser.class'; import { TextParser } from './parsers/TextParser.class'; /** * Doc provides an easy way to parse documents of different types. * It can automatically choose the best parser for the file based on the file MIME type or file extension. * Or let you explicitly choose a parser. * * * @example * ```typescript * const doc = await Doc.auto.parse('path/to/file.pdf'); * const doc = await Doc.pdf.parse('path/to/file.pdf'); * const doc = await Doc.docx.parse('path/to/file.docx'); * const doc = await Doc.md.parse('path/to/file.md'); * const doc = await Doc.text.parse('path/to/file.txt'); * ``` * @namespace Doc */ export declare const Doc: { /** * Automatic parser * * @example * ```typescript * const doc = await Doc.auto.parse('path/to/file.pdf'); * ``` */ auto: AutoParser; /** * PDF parser * * @example * ```typescript * const doc = await Doc.pdf.parse('path/to/file.pdf'); * ``` */ pdf: PDFParser; /** * DOCX parser * * @example * ```typescript * const doc = await Doc.docx.parse('path/to/file.docx'); * ``` */ docx: DOCXParser; /** * Markdown parser * * @example * ```typescript * const doc = await Doc.md.parse('path/to/file.md'); * ``` */ md: MarkdownParser; /** * Text parser * * @example * ```typescript * const doc = await Doc.text.parse('path/to/file.txt'); * ``` */ text: TextParser; }; export type TDocType = keyof typeof Doc; export interface IDocParsers { } export type TDocParser = TDocType | keyof IDocParsers; export type TDocParserFactory = { [K in TDocParser]: DocParser; };