@smythos/sdk
Version:
77 lines (76 loc) • 2 kB
TypeScript
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;
};