{"version":3,"sources":["../../../src/providers/MemoryProvider.mts"],"sourcesContent":["import { prepareEmails } from \"../helper.mjs\";\nimport type { Mailable } from \"../Mailable.mjs\";\nimport type { MailerProvider } from \"../MailerProvider.mjs\";\n\n/**\n * Configuration options for the MemoryProvider.\n */\nexport type MemoryProviderConfig = {\n  /** Default sender email address */\n  default_from: string;\n};\n\n/**\n * Mailer provider that stores sent emails in memory.\n * Useful for testing without actually sending emails.\n */\nexport class MemoryProvider implements MailerProvider {\n  private defaultFrom: string = \"\";\n  /** Array of emails that have been \"sent\" (stored in memory) */\n  public sentEmails: {\n    from: string;\n    to: string[];\n    cc: string[];\n    bcc: string[];\n    subject: string;\n    text: string;\n    html: string;\n  }[] = [];\n\n  /**\n   * Creates a new MemoryProvider instance.\n   * @param config - Provider configuration options\n   */\n  constructor(private config: Partial<MemoryProviderConfig> = {}) {\n    this.defaultFrom = config.default_from || \"\";\n  }\n\n  /**\n   * Sets the default sender email address.\n   * @param from - The default sender email address\n   */\n  setDefaultFrom(from: string): void {\n    this.defaultFrom = from;\n  }\n\n  /**\n   * \"Sends\" an email by storing it in memory.\n   * @param mail - The email message to send\n   */\n  async sendMail(mail: Mailable): Promise<void> {\n    this.sentEmails.push({\n      from: mail.from || this.defaultFrom,\n      to: prepareEmails(mail.to),\n      cc: prepareEmails(mail.cc),\n      bcc: prepareEmails(mail.bcc),\n      subject: mail.subject,\n      text: await mail.getTextContent(),\n      html: await mail.getHtmlContent(),\n    });\n  }\n}\n"],"mappings":";;AAAA,SAAS,qBAAqB;AAgBvB,MAAM,eAAyC;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBpD,YAAoB,SAAwC,CAAC,GAAG;AAA5C;AAClB,SAAK,cAAc,OAAO,gBAAgB;AAAA,EAC5C;AAAA,EAnCF,OAgBsD;AAAA;AAAA;AAAA,EAC5C,cAAsB;AAAA;AAAA,EAEvB,aAQD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAcP,eAAe,MAAoB;AACjC,SAAK,cAAc;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SAAS,MAA+B;AAC5C,SAAK,WAAW,KAAK;AAAA,MACnB,MAAM,KAAK,QAAQ,KAAK;AAAA,MACxB,IAAI,cAAc,KAAK,EAAE;AAAA,MACzB,IAAI,cAAc,KAAK,EAAE;AAAA,MACzB,KAAK,cAAc,KAAK,GAAG;AAAA,MAC3B,SAAS,KAAK;AAAA,MACd,MAAM,MAAM,KAAK,eAAe;AAAA,MAChC,MAAM,MAAM,KAAK,eAAe;AAAA,IAClC,CAAC;AAAA,EACH;AACF;","names":[]}