Merge dependabot/npm_and_yarn/examples/typescript/http-server-pool/fastify-worker_thr...
[poolifier.git] / examples / typescript / smtp-client-pool / src / worker.ts
CommitLineData
9aef1431
JB
1import { ThreadWorker } from 'poolifier'
2import { createTransport } from 'nodemailer'
3import type Mail from 'nodemailer/lib/mailer/index.js'
f8374594 4import type SMTPTransport from 'nodemailer/lib/smtp-transport/index.js'
ef083f7b 5import type { WorkerData } from './types.js'
9aef1431 6
f8374594
JB
7class SmtpClientWorker extends ThreadWorker<
8WorkerData,
9SMTPTransport.SentMessageInfo
10> {
9aef1431
JB
11 public constructor () {
12 super({
13 nodemailer: async (workerData?: WorkerData) => {
f8374594 14 return await createTransport(workerData?.smtpTransport).sendMail(
9aef1431
JB
15 workerData?.mail as Mail.Options
16 )
17 }
18 })
19 }
20}
21
22export const smtpClientWorker = new SmtpClientWorker()