@bjoveski/node-email-reply-parser
Version:
Parses emails to remove replies and other potentially unwanted data
26 lines (24 loc) • 936 B
TypeScript
declare module "@bjoveski/node-email-reply-parser" {
interface Fragment {
getContent(): string;
isSignature(): boolean;
isQuoted(): boolean;
isHidden(): boolean;
isEmpty(): boolean;
}
interface Email {
getFragments(): Fragment[];
getVisibleText(options?: {
/**
* When true, treats non-hidden fragments surrounded by hidden fragments as hidden.
* Default false.
*/
aggressive?: boolean;
}): string;
}
type ReplyParserRegular = (emailContent: string) => Email;
type ReplyParserVisibleTextOnly = (emailContent: string, visibleTextOnly: true) => string;
type ReplyParserWithOptions = (emailContent: string, visibleTextOnly: boolean, options: { signatureRegex?: RegExp; quotedLineRegex?: RegExp; quoteHeadersRegex?: RegExp[] }) => Email;
const replyParser: ReplyParserRegular & ReplyParserVisibleTextOnly & ReplyParserWithOptions;
export = replyParser;
}