From 97af358fa3e8b992741be913a9e69ef7e04e57e1 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 19 Oct 2021 20:24:35 +0100 Subject: Add TypeScript declarations --- lib/index.d.ts | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 lib/index.d.ts (limited to 'lib') diff --git a/lib/index.d.ts b/lib/index.d.ts new file mode 100644 index 0000000..0950b54 --- /dev/null +++ b/lib/index.d.ts @@ -0,0 +1,78 @@ +interface Mammoth { + convertToHtml: (input: Input, options?: Options) => Promise; + extractRawText: (input: Input) => Promise; + embedStyleMap: (input: Input, styleMap: string) => Promise<{toBuffer: () => Buffer}>; + images: Images; +} + +type Input = NodeJsInput | BrowserInput; + +type NodeJsInput = PathInput | BufferInput; + +interface PathInput { + path: string; +} + +interface BufferInput { + buffer: Buffer; +} + +type BrowserInput = ArrayBufferInput; + +interface ArrayBufferInput { + arrayBuffer: ArrayBuffer; +} + +interface Options { + styleMap?: string | Array; + includeEmbeddedStyleMap?: boolean; + includeDefaultStyleMap?: boolean; + convertImage?: ImageConverter; + ignoreEmptyParagraphs?: boolean; + idPrefix?: string; +} + +interface ImageConverter { + __mammothBrand: "ImageConverter"; +} + +interface Image { + contentType: string; + read: ImageRead; +} + +interface ImageRead { + (): Promise; + (encoding: string): Promise; +} + +interface ImageAttributes { + src: string; +} + +interface Images { + dataUri: ImageConverter; + imgElement: (f: (image: Image) => Promise) => ImageConverter; +} + +interface Result { + value: string; + messages: Array; +} + +type Message = Warning | Error; + +interface Warning { + type: "warning"; + message: string; +} + +interface Error { + type: "error"; + message: string; + error: unknown; +} + +declare const mammoth: Mammoth; + +export = mammoth; -- cgit v1.2.3