@email-service/email-service
Version:
email-service is a versatile npm package designed to simplify the integration and standardization of email communications across multiple Email Service Providers (ESPs).
30 lines (29 loc) • 1.21 kB
JavaScript
import { getWebHook as getWebHookStandard } from "./models/emailServiceSelector.js";
async function getWebHook(userAgent, req, logger = false) {
const data = await getWebHookStandard(userAgent, req, logger);
if (!data.success) {
// Narrowing explicite via Extract : le tsconfig n'est pas en strict mode,
// ce qui empêche la discrimination automatique de l'union WebHookResponse.
const errorBranch = data;
return { success: false, status: errorBranch.status, error: errorBranch.error };
}
return {
success: true,
status: data.status,
data: {
webHookType: data.data.webHookType,
to: data.data.to,
from: data.data.from,
subject: data.data.subject,
metaData: data.data.metaData,
dump: data.data.dump,
espMessageId: data.data.messageId,
espRecordType: data.espData.espRecordType,
espType: data.espData.espType
},
espData: data.espData
};
}
// src/index.ts
import { getEmailService, EmailServiceSelector } from "./models/emailServiceSelector.js";
export { getEmailService, getWebHook, EmailServiceSelector };