tests in typescript

This commit is contained in:
grimhilt
2023-04-01 22:36:51 +02:00
parent 9fbf5e5cf3
commit a5d325818b
22 changed files with 1258 additions and 412 deletions

View File

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