import { Envelope, User } from "../../interfaces/mail/attrs.interface"; export function nbMembers(envelope: Envelope) { return getMembers(envelope).length; } export function getMembers(envelope: Envelope) { const members: User[] = []; const fields = ["from", "to", "sender", "replyTo", "cc", "bcc"] as const; fields.forEach((field) => { envelope[field]?.forEach((member: User) => { if (members.find((m) => m.mailbox === member.mailbox && m.host === member.host)) return; members.push(member); }); }); return members; }