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.

50 lines 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_ENGINES = void 0; exports.resolveConfig = resolveConfig; const template_types_1 = require("../interfaces/template.types"); exports.DEFAULT_ENGINES = { template: [template_types_1.TemplateEngineEnum.NUNJUCKS], language: [ template_types_1.TemplateLanguageEnum.HTML, template_types_1.TemplateLanguageEnum.MJML, template_types_1.TemplateLanguageEnum.TEXT, ], }; let warnedAboutLegacy = false; function resolveConfig(config = {}) { const legacy = mapLegacy(config); return { isGlobal: config.isGlobal ?? false, engines: { template: dedupe(config.engines?.template ?? exports.DEFAULT_ENGINES.template), language: dedupe(config.engines?.language ?? exports.DEFAULT_ENGINES.language), }, filters: { ...legacy.filters, ...config.filters }, globals: { ...legacy.globals, ...config.globals }, engineOptions: { template: { ...legacy.engineOptions.template, ...config.engineOptions?.template }, language: { ...legacy.engineOptions.language, ...config.engineOptions?.language }, }, }; } function mapLegacy(config) { const legacy = config.enginesOptions; if (legacy && !warnedAboutLegacy) { warnedAboutLegacy = true; console.warn('[nest-dynamic-templates] `enginesOptions` is deprecated. Use top-level ' + '`filters`, `globals` and `engineOptions` instead. See the v2 migration guide.'); } return { filters: legacy?.filters ?? {}, globals: legacy?.globalValues ?? {}, engineOptions: { template: legacy?.template ?? {}, language: legacy?.language ?? {}, }, }; } function dedupe(items) { return Array.from(new Set(items)); } //# sourceMappingURL=resolve-config.js.map