UNPKG

@ackplus/nest-dynamic-templates

Version:

A powerful and flexible dynamic template rendering library for NestJS applications with support for Nunjucks, Handlebars, EJS, Pug, MJML, Markdown, and more.

35 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MarkdownEngine = void 0; const template_types_1 = require("../../interfaces/template.types"); const language_engine_1 = require("../language-engine"); const load_peer_1 = require("../load-peer"); class MarkdownEngine extends language_engine_1.LanguageEngine { options; static engineName = template_types_1.TemplateLanguageEnum.MARKDOWN; static displayName = 'Markdown'; static peerPackage = 'marked'; constructor(options = {}) { super(); this.options = options; } async render(content) { const mod = await (0, load_peer_1.loadPeer)('marked', 'md', 'language'); const marked = mod.marked ?? mod.default ?? mod; const out = typeof marked.parse === 'function' ? marked.parse(content, this.options) : marked(content, this.options); return typeof out === 'string' ? out : await out; } async validate(content) { try { await this.render(content); return true; } catch { return false; } } } exports.MarkdownEngine = MarkdownEngine; //# sourceMappingURL=markdown.engine.js.map