UNPKG

@sendgrid/helpers

Version:

Twilio SendGrid NodeJS internal helpers

128 lines (105 loc) 2.48 kB
import { EmailData, EmailJSON } from "./email-address"; export interface PersonalizationData { to: EmailData | EmailData[], from?: EmailData, cc?: EmailData | EmailData[], bcc?: EmailData | EmailData[], subject?: string; headers?: { [key: string]: string }; substitutions?: { [key: string]: string }; dynamicTemplateData?: { [key: string]: any; }; customArgs?: { [key: string]: string }; sendAt?: number; } export interface PersonalizationJSON { to: EmailJSON | EmailJSON[]; from?: EmailJSON; cc?: EmailJSON[]; bcc?: EmailJSON[]; headers?: { [key: string]: string; }; substitutions?: { [key: string]: string; }; dynamic_template_data?: { [key: string]: string; }; custom_args?: { [key: string]: string; }; subject?: string; send_at?: number; } export default class Personalization { constructor(data?: PersonalizationData); fromData(data: PersonalizationData): void; /** * Set subject */ setSubject(subject: string): void; /** * Set send at */ setSendAt(sendAt: number): void; /** * Set to */ setTo(to: EmailData | EmailData[]): void; /** * Set from */ setFrom(from: EmailData): void; /** * Add a single to */ addTo(to: EmailData): void; /** * Set cc */ setCc(cc: EmailData | EmailData[]): void; /** * Add a single cc */ addCc(cc: EmailData): void; /** * Set bcc */ setBcc(bcc: EmailData | EmailData[]): void; /** * Add a single bcc */ addBcc(bcc: EmailData): void; /** * Set headers */ setHeaders(headers: { [key: string]: string }): void; /** * Add a header */ addHeader(key: string, value: string): void; /** * Set custom args */ setCustomArgs(customArgs: { [key: string]: string }): void; /** * Add a custom arg */ addCustomArg(key: string, value: string): void; /** * Set substitutions */ setSubstitutions(substitutions: { [key: string]: string }): void; /** * Add a substitution */ addSubstitution(key: string, value: string): void; /** * Reverse merge substitutions, preserving existing ones */ reverseMergeSubstitutions(substitutions: { [key: string]: string }): void; /** * Set substitution wrappers */ setSubstitutionWrappers(wrappers: string[]): void; /** * Set dynamic template data */ setDynamicTemplateData(dynamicTemplateData: { [key: string]: any }): void; /** * To JSON */ toJSON(): PersonalizationJSON; }