import HttpClient from "./http.client"; import { InboxResponse, MailResponse } from "./types"; export const TEMP_MAIL_DOMAINS = [ "mailto.plus", "fexpost.com", "fexbox.org", "mailbox.in.ua", "rover.info", "chitthi.in", "fextemp.com", "any.pink", "merepost.com" ] as const; export default class TempMailInstance { private readonly httpClient: HttpClient; private emailAddress: string; constructor(email: string) { this.httpClient = new HttpClient(); this.emailAddress = email; } setEmail(email: string): void { this.emailAddress = email; } async fetchInbox(): Promise> { try { const data = await this.httpClient.get(`/mails?email=${this.emailAddress}`); return { error: false, ...data, success: true } } catch (error) { return { error, success: false }; } }; async fetchMailById(mail_id: number): Promise> { try { const data = await this.httpClient.get(`/mails/${mail_id}?email=${encodeURIComponent(this.emailAddress)}`); return { ...data, success: true }; } catch (error) { return { error, success: false } } } }