@ackplus/nest-dynamic-templates
Version:
Dynamic template management for NestJS applications
66 lines • 2.42 kB
JavaScript
;
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