@travetto/email
Version:
Email transmission module.
20 lines (18 loc) • 545 B
text/typescript
import { EmailOptions, SentEmail } from './types';
/**
* Default mail transport
*
* @concrete ./internal/types:MailTransportTarget
*/
export interface MailTransport {
send<S extends SentEmail = SentEmail>(mail: EmailOptions): Promise<S>;
}
/**
* Transport that consumes messages without sending
*/
export class NullTransport implements MailTransport {
async send<S extends SentEmail = SentEmail>(mail: EmailOptions): Promise<S> {
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
return {} as S;
}
}