Skip to content

Commit 3411697

Browse files
authored
Merge pull request DefinitelyTyped#33355 from ThePooN/mailparser-simpleparser-options
mailparser: Add options object to simpleParser
2 parents f0b06ef + 6567e37 commit 3411697

File tree

3 files changed

+29
-5
lines changed

3 files changed

+29
-5
lines changed

types/mailparser/index.d.ts

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// Type definitions for mailparser v2.0.0
2-
// Project: https://www.npmjs.com/package/mailparser
1+
// Type definitions for mailparser 2.4
2+
// Project: https://github.com/nodemailer/mailparser
33
// Definitions by: Peter Snider <https://github.com/psnider>
4-
// Andrey Volynkin <https://github.com/Avol-V/>
4+
// Andrey Volynkin <https://github.com/Avol-V>
55
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
66

77
/// <reference types="node" />
@@ -289,6 +289,13 @@ export class MailParser extends StreamModule.Transform {
289289
*/
290290
export type Source = Buffer | Stream | string;
291291

292+
/**
293+
* Options object for simpleParser.
294+
*/
295+
export interface SimpleParserOptions extends StreamModule.TransformOptions {
296+
keepCidLinks?: boolean;
297+
}
298+
292299
/**
293300
* Parse email message to structure object.
294301
*
@@ -301,5 +308,16 @@ export function simpleParser(source: Source, callback: (err: any, mail: ParsedMa
301308
* Parse email message to structure object.
302309
*
303310
* @param source A message source.
311+
* @param options Transform options passed to MailParser's constructor
312+
* @param callback Function to get a structured email object.
313+
*/
314+
export function simpleParser(source: Source, options: SimpleParserOptions, callback: (err: any, mail: ParsedMail) => void): void;
315+
316+
317+
/**
318+
* Parse email message to structure object.
319+
*
320+
* @param source A message source.
321+
* @param options Transform options passed to MailParser's constructor
304322
*/
305-
export function simpleParser(source: Source): Promise<ParsedMail>;
323+
export function simpleParser(source: Source, options?: SimpleParserOptions): Promise<ParsedMail>;

types/mailparser/mailparser-tests.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,16 @@ var sourceStream = fs.createReadStream('foo.eml');
3636
simpleParser(sourceString, (err, mail) => err ? err : mail.html);
3737
simpleParser(sourceBuffer, (err, mail) => err ? err : mail.html);
3838
simpleParser(sourceStream, (err, mail) => err ? err : mail.html);
39+
simpleParser(sourceString, { keepCidLinks: true }, (err, mail) => err ? err : mail.html);
40+
simpleParser(sourceBuffer, { keepCidLinks: true }, (err, mail) => err ? err : mail.html);
41+
simpleParser(sourceStream, { keepCidLinks: true }, (err, mail) => err ? err : mail.html);
3942

4043
simpleParser(sourceString).then(mail => mail.html).catch(err => err);
4144
simpleParser(sourceBuffer).then(mail => mail.html).catch(err => err);
4245
simpleParser(sourceStream).then(mail => mail.html).catch(err => err);
46+
simpleParser(sourceString, { keepCidLinks: true }).then(mail => mail.html).catch(err => err);
47+
simpleParser(sourceBuffer, { keepCidLinks: true }).then(mail => mail.html).catch(err => err);
48+
simpleParser(sourceStream, { keepCidLinks: true }).then(mail => mail.html).catch(err => err);
4349

4450
simpleParser(sourceString, (err, mail) => {
4551
console.log(mail.headers.get('subject'));

types/mailparser/tslint.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"ban-types": false,
88
"callable-types": false,
99
"comment-format": false,
10-
"dt-header": false,
10+
"dt-header": true,
1111
"eofline": false,
1212
"export-just-namespace": false,
1313
"import-spacing": false,

0 commit comments

Comments
 (0)