refactor: renable standard JS linter rules
[poolifier.git] / examples / typescript / smtp-client-pool / src / worker.ts
1 import { ThreadWorker } from 'poolifier'
2 import { createTransport } from 'nodemailer'
3 import type SMTPTransport from 'nodemailer/lib/smtp-transport/index.js'
4 import type { WorkerData } from './types.js'
5
6 class SmtpClientWorker extends ThreadWorker<
7 WorkerData,
8 SMTPTransport.SentMessageInfo
9 > {
10 public constructor () {
11 super({
12 nodemailer: async (workerData?: WorkerData) => {
13 return await createTransport(workerData?.smtpTransport).sendMail(
14 workerData!.mail
15 )
16 }
17 })
18 }
19 }
20
21 export const smtpClientWorker = new SmtpClientWorker()