forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
html-to-text.d.ts
84 lines (73 loc) · 2.81 KB
/
html-to-text.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// Type definitions for html-to-text v1.4.0
// Project: https://github.com/werk85/node-html-to-text
// Definitions by: Eryk Warren <https://github.com/erykwarren/>
// Definitions: https://github.com/DefinitelyTyped/html-to-text
interface HtmlToTextStatic {
/**
* Convert html content of file to text
*
* @param file String with the path of the html file to convert
* @param options Hash of options
* @param callback Function with signature function(err, result) called when the conversion is completed
*
*/
fromFile(file: string, options: HtmlToTextOptions, callback: Function): void;
/**
* Convert html content of file to text with the default options.
*
* @param file String with the path of the html file to convert
* @param callback Function with signature function(err, result) called when the conversion is completed
*
*/
fromFile(file: string, callback: Function): void;
/**
* Convert html string to text
*
* @param file String with the path of the html file to convert
* @param options Hash of options
*
* @return String with the converted text.
*/
fromString(str: string, options?: HtmlToTextOptions): string;
}
interface HtmlToTextOptions {
/**
* Defines after how many chars a line break should follow in p elements.
* Set to null or false to disable word-wrapping. Default: 80
*/
wordwrap?: number;
/**
* Allows to select certain tables by the class or id attribute from the HTML
* document. This is necessary because the majority of HTML E-Mails uses a
* table based layout. Prefix your table selectors with an . for the class
* and with a # for the id attribute. All other tables are ignored.
* You can assign true to this attribute to select all tables. Default: []
*/
tables?: Array<string> | boolean;
/**
* By default links are translated the following
* <a href='link'>text</a> => becomes => text [link].
* If this option is set to true and link and text are the same,
* [link] will be hidden and only text visible.
*/
hideLinkHrefIfSameAsText?: boolean;
/**
* Allows you to specify the server host for href attributes, where the links start at the root (/).
* For example, linkHrefBaseUrl = 'http://asdf.com' and <a href='/dir/subdir'>...</a>
* the link in the text will be http://asdf.com/dir/subdir.
* Keep in mind that linkHrefBaseUrl shouldn't end with a /.
*/
linkHrefBaseUrl?: string;
/**
* Ignore all document links if true.
*/
ignoreHref?: boolean;
/**
* Ignore all document images if true.
*/
ignoreImage?: boolean;
}
declare module "html-to-text" {
export = htmlToText;
}
declare var htmlToText: HtmlToTextStatic;