@ackplus/nest-dynamic-templates
Version:
Dynamic template management for NestJS applications
51 lines • 2.49 kB
JavaScript
;
var NestDynamicTemplatesModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NestDynamicTemplatesModule = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const typeorm_1 = require("@nestjs/typeorm");
const template_entity_1 = require("./entities/template.entity");
const template_layout_entity_1 = require("./entities/template-layout.entity");
const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
const template_engine_registry_1 = require("./services/template-engine.registry");
const template_layout_service_1 = require("./services/template-layout.service");
const template_service_1 = require("./services/template.service");
const constant_1 = require("./constant");
const template_types_1 = require("./interfaces/template.types");
const template_types_2 = require("./interfaces/template.types");
const defaultConfig = {
engines: {
template: [template_types_1.TemplateEngineEnum.NUNJUCKS],
language: [template_types_2.TemplateLanguageEnum.HTML, template_types_2.TemplateLanguageEnum.MJML, template_types_2.TemplateLanguageEnum.TEXT]
}
};
let NestDynamicTemplatesModule = NestDynamicTemplatesModule_1 = class NestDynamicTemplatesModule {
static forRoot(config = {}) {
const mergedConfig = (0, deepmerge_1.default)(defaultConfig, config);
return {
module: NestDynamicTemplatesModule_1,
global: config.isGlobal,
providers: [
{
provide: constant_1.NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG,
useValue: mergedConfig,
},
template_engine_registry_1.TemplateEngineRegistryService,
template_layout_service_1.TemplateLayoutService,
template_service_1.TemplateService,
],
exports: [
template_service_1.TemplateService,
template_layout_service_1.TemplateLayoutService,
],
};
}
};
exports.NestDynamicTemplatesModule = NestDynamicTemplatesModule;
exports.NestDynamicTemplatesModule = NestDynamicTemplatesModule = NestDynamicTemplatesModule_1 = tslib_1.__decorate([
(0, common_1.Module)({
imports: [typeorm_1.TypeOrmModule.forFeature([template_entity_1.NestDynamicTemplate, template_layout_entity_1.NestDynamicTemplateLayout])],
})
], NestDynamicTemplatesModule);
//# sourceMappingURL=nest-dynamic-templates.module.js.map