@adonisjs/mail
Version:
Mail provider for adonis framework and has support for all common mailing services to send emails
50 lines (48 loc) • 1.14 kB
JavaScript
import {
debug_default
} from "./chunk-ZF2M7BIF.js";
import {
__name
} from "./chunk-XE4OXN2W.js";
// src/messengers/memory_queue.ts
import fastq from "fastq";
function sendEmail(task, cb) {
this.mailer.sendCompiled(task.mail, task.sendConfig).then((result) => cb(null, result)).catch((error) => cb(error));
}
__name(sendEmail, "sendEmail");
var MemoryQueueMessenger = class {
static {
__name(this, "MemoryQueueMessenger");
}
mailer;
#emitter;
#queue;
#jobCompletedCallback;
constructor(mailer, emitter) {
this.mailer = mailer;
this.#queue = fastq(this, sendEmail, 10);
this.#jobCompletedCallback = (error) => {
if (error) {
this.#emitter.emit("queued:mail:error", {
error,
mailerName: this.mailer.name
});
}
};
this.#emitter = emitter;
}
/**
* Queues the email within memory
*/
async queue(mail, sendConfig) {
debug_default("pushing email to in-memory queue");
this.#queue.push({
mail,
sendConfig
}, this.#jobCompletedCallback);
}
};
export {
MemoryQueueMessenger
};
//# sourceMappingURL=chunk-TDHID2NL.js.map