UNPKG

@ackplus/nest-dynamic-templates

Version:

Dynamic template management for NestJS applications

66 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateConfigService = void 0; const tslib_1 = require("tslib"); const common_1 = require("@nestjs/common"); const template_types_1 = require("../interfaces/template.types"); let TemplateConfigService = class TemplateConfigService { static setOptions(config) { this.config = { ...this.defaultConfig, ...config }; } static getOptions() { if (!this.config) { return this.defaultConfig; } return this.config; } static hasConfig() { return !!this.config; } static reset() { this.config = { ...this.defaultConfig }; } static get(key) { const config = this.getOptions(); return config[key]; } static isTemplateEngineEnabled(engine) { const config = this.getOptions(); return config.engines?.template?.includes(engine) ?? false; } static isLanguageEngineEnabled(language) { const config = this.getOptions(); return config.engines?.language?.includes(language) ?? false; } static getEnabledTemplateEngines() { const config = this.getOptions(); return config.engines?.template ?? this.defaultConfig.engines.template; } static getEnabledLanguageEngines() { const config = this.getOptions(); return config.engines?.language ?? this.defaultConfig.engines.language; } static getTemplateEngineOptions(engine) { const config = this.getOptions(); return config.enginesOptions?.template?.[engine]; } static getLanguageEngineOptions(language) { const config = this.getOptions(); return config.enginesOptions?.language?.[language]; } static getCustomFilters() { const config = this.getOptions(); return config.enginesOptions?.filters ?? {}; } }; exports.TemplateConfigService = TemplateConfigService; TemplateConfigService.defaultConfig = { engines: { template: [template_types_1.TemplateEngineEnum.NUNJUCKS], language: [template_types_1.TemplateLanguageEnum.HTML, template_types_1.TemplateLanguageEnum.MJML, template_types_1.TemplateLanguageEnum.TEXT] } }; exports.TemplateConfigService = TemplateConfigService = tslib_1.__decorate([ (0, common_1.Injectable)() ], TemplateConfigService); //# sourceMappingURL=template-config.service.js.map