From bd5ba6e9d50ff3fc2f02106fbac1bec8136c07ce Mon Sep 17 00:00:00 2001 From: Daniel Chao Date: Sun, 17 Jun 2018 10:43:30 -0700 Subject: [PATCH] add line ending stuff --- types/nodemailer/index.d.ts | 1 + .../index.d.ts} | 12 ++++------ .../lib/sendmail-transport/le-unix.d.ts | 7 ++++++ .../lib/sendmail-transport/le-windows.d.ts | 7 ++++++ types/nodemailer/nodemailer-tests.ts | 23 ++++++++++++++++++- types/nodemailer/tsconfig.json | 4 +++- 6 files changed, 45 insertions(+), 9 deletions(-) rename types/nodemailer/lib/{sendmail-transport.d.ts => sendmail-transport/index.d.ts} (84%) create mode 100644 types/nodemailer/lib/sendmail-transport/le-unix.d.ts create mode 100644 types/nodemailer/lib/sendmail-transport/le-windows.d.ts diff --git a/types/nodemailer/index.d.ts b/types/nodemailer/index.d.ts index 0b46c67789..31175bd148 100644 --- a/types/nodemailer/index.d.ts +++ b/types/nodemailer/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/nodemailer/nodemailer // Definitions by: Rogier Schouten // Piotr Roszatycki +// Daniel Chao // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/nodemailer/lib/sendmail-transport.d.ts b/types/nodemailer/lib/sendmail-transport/index.d.ts similarity index 84% rename from types/nodemailer/lib/sendmail-transport.d.ts rename to types/nodemailer/lib/sendmail-transport/index.d.ts index 92e461b01b..c2f970519e 100644 --- a/types/nodemailer/lib/sendmail-transport.d.ts +++ b/types/nodemailer/lib/sendmail-transport/index.d.ts @@ -1,14 +1,12 @@ /// -import { EventEmitter } from 'events'; +import { Transport, TransportOptions } from '../..'; -import { Transport, TransportOptions } from '..'; +import * as shared from './../shared'; -import * as shared from './shared'; - -import Mail = require('./mailer'); -import MailMessage = require('./mailer/mail-message'); -import MimeNode = require('./mime-node'); +import Mail = require('./../mailer'); +import MailMessage = require('./../mailer/mail-message'); +import MimeNode = require('./../mime-node'); declare namespace SendmailTransport { type MailOptions = Mail.Options; diff --git a/types/nodemailer/lib/sendmail-transport/le-unix.d.ts b/types/nodemailer/lib/sendmail-transport/le-unix.d.ts new file mode 100644 index 0000000000..2d2e203958 --- /dev/null +++ b/types/nodemailer/lib/sendmail-transport/le-unix.d.ts @@ -0,0 +1,7 @@ +/// + +import { Duplex } from 'stream'; + +declare class LeUnix extends Duplex {} + +export = LeUnix; diff --git a/types/nodemailer/lib/sendmail-transport/le-windows.d.ts b/types/nodemailer/lib/sendmail-transport/le-windows.d.ts new file mode 100644 index 0000000000..3af80a5fb6 --- /dev/null +++ b/types/nodemailer/lib/sendmail-transport/le-windows.d.ts @@ -0,0 +1,7 @@ +/// + +import { Duplex } from 'stream'; + +declare class LeWindows extends Duplex {} + +export = LeWindows; diff --git a/types/nodemailer/nodemailer-tests.ts b/types/nodemailer/nodemailer-tests.ts index 0caa84b0e0..b3218ba1ab 100644 --- a/types/nodemailer/nodemailer-tests.ts +++ b/types/nodemailer/nodemailer-tests.ts @@ -21,6 +21,8 @@ import SMTPTransport = require('nodemailer/lib/smtp-transport'); import StreamTransport = require('nodemailer/lib/stream-transport'); import wellKnown = require('nodemailer/lib/well-known'); import XOAuth2 = require('nodemailer/lib/xoauth2'); +import LeWindows = require('nodemailer/lib/sendmail-transport/le-windows'); +import LeUnix = require('nodemailer/lib/sendmail-transport/le-unix'); import * as fs from 'fs'; import * as stream from 'stream'; @@ -722,6 +724,25 @@ function sendmail_test() { }); } +// line ending transforms using windows-style newlines + +function sendmail_line_endings_windows_test () { + function process_le (mail: MailMessage) { + const input = mail.message.createReadStream(); + input.pipe(new LeWindows()); + } +} + +// line ending transforms using unix-style newlines + +function sendmail_line_endings_unix_test() { + function process_le(mail: MailMessage) { + const input = mail.message.createReadStream(); + input.pipe(new LeUnix()); + } +} + + // 5. SES transport // Send a message using SES transport @@ -1345,4 +1366,4 @@ function well_known_test() { if (options) { console.log(options.host, options.port, options.secure); } -} +} \ No newline at end of file diff --git a/types/nodemailer/tsconfig.json b/types/nodemailer/tsconfig.json index f2c1ffbbe8..5977291812 100644 --- a/types/nodemailer/tsconfig.json +++ b/types/nodemailer/tsconfig.json @@ -31,7 +31,9 @@ "lib/mime-funcs/mime-types.d.ts", "lib/mime-node.d.ts", "lib/qp.d.ts", - "lib/sendmail-transport.d.ts", + "lib/sendmail-transport/index.d.ts", + "lib/sendmail-transport/le-unix.d.ts", + "lib/sendmail-transport/le-windows.d.ts", "lib/ses-transport.d.ts", "lib/shared.d.ts", "lib/smtp-connection.d.ts",