UNPKG

@nestjs-modules/mailer

Version:

NestJS - a mailer module (@mailer)

28 lines (27 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LiquidAdapter = void 0; const path = require("path"); const lodash_1 = require("lodash"); const liquidjs_1 = require("liquidjs"); class LiquidAdapter { constructor(config) { Object.assign(this.config, config); } compile(mail, callback, mailerOptions) { const { context, template } = mail.data; const templateExt = path.extname(template) || '.liquid'; const templateName = path.basename(template, path.extname(template)); const templateDir = path.isAbsolute(template) ? path.dirname(template) : path.join((0, lodash_1.get)(mailerOptions, 'template.dir', ''), path.dirname(template)); const engine = new liquidjs_1.Liquid(Object.assign({ extname: templateExt, root: templateDir }, this.config.globals)); engine.renderFile(templateName, context).then((body) => { mail.data.html = body; return callback(); }).catch((err) => { return callback(err); }); } } exports.LiquidAdapter = LiquidAdapter;