17 lines
543 B
TypeScript
17 lines
543 B
TypeScript
export function nbMembers(envelope) {
|
|
return getMembers(envelope).length;
|
|
}
|
|
|
|
export function getMembers(envelope) {
|
|
const members: { mailbox: string; host: string }[] = [];
|
|
const fields = ["from", "to", "sender", "replyTo", "cc", "bcc"];
|
|
fields.forEach((field) => {
|
|
if (!envelope[field]) return;
|
|
envelope[field].forEach((member) => {
|
|
if (members.find((m) => m.mailbox === member.mailbox && m.host === member.host)) return;
|
|
members.push(member);
|
|
});
|
|
});
|
|
return members;
|
|
}
|