UNPKG

svelte-guardian

Version:

Batteries included authentication for SvelteKit applications.

22 lines (21 loc) 791 B
import { validateEmailProviderConfig } from '../utils'; import { NodemailerProvider } from './nodemailer'; import { ResendProvider } from './resend'; import { SendGridProvider } from './sendgrid'; import { AWSSESProvider } from './ses'; export function createEmailProvider(config) { // Validate the configuration first validateEmailProviderConfig(config); switch (config.type) { case 'resend': return new ResendProvider(config); case 'aws-ses': return new AWSSESProvider(config); case 'sendgrid': return new SendGridProvider(config); case 'nodemailer': return new NodemailerProvider(config); default: throw new Error(`Provider not implemented for type: ${config.type}`); } }