UNPKG

@nestjs-mod/prisma

Version:

Next-generation Node.js and TypeScript ORM for NestJS-mod (preview version only for Postgres)

78 lines 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrismaModule = void 0; const common_1 = require("@nestjs-mod/common"); const prisma_infrastructure_updater_service_1 = require("./infrastructure/prisma-infrastructure-updater.service"); const prisma_schema_file_service_1 = require("./infrastructure/prisma-schema-file.service"); const prisma_client_factory_service_1 = require("./prisma_client-factory.service"); const prisma_configuration_1 = require("./prisma.configuration"); const prisma_constants_1 = require("./prisma.constants"); const prisma_environments_1 = require("./prisma.environments"); const prisma_decorators_1 = require("./prisma.decorators"); exports.PrismaModule = (0, common_1.createNestModule)({ moduleName: prisma_constants_1.PRISMA_MODULE_NAME, moduleCategory: common_1.NestModuleCategory.core, moduleDescription: 'Next-generation Node.js and TypeScript ORM for NestJS-mod (preview version only for Postgres)', staticConfigurationModel: prisma_configuration_1.PrismaConfiguration, environmentsModel: prisma_environments_1.PrismaEnvironments, sharedProviders: () => [ prisma_client_factory_service_1.PrismaClientFactoryService, { provide: prisma_decorators_1.PRISMA_CLIENT, useFactory: (prismaClientFactoryService) => { return prismaClientFactoryService.createPrismaClient(); }, inject: [prisma_client_factory_service_1.PrismaClientFactoryService], }, ], wrapForRootAsync: (asyncModuleOptions) => { if (!asyncModuleOptions) { asyncModuleOptions = {}; } if (asyncModuleOptions.staticConfiguration?.featureName) { const FomatterClass = (0, common_1.getFeatureDotEnvPropertyNameFormatter)(asyncModuleOptions.staticConfiguration.featureName); Object.assign(asyncModuleOptions, { environmentsOptions: { propertyNameFormatters: [new FomatterClass()], name: asyncModuleOptions.staticConfiguration?.featureName, }, }); } return { asyncModuleOptions }; }, preWrapApplication: async ({ project, modules, current }) => { if (!modules[common_1.NestModuleCategory.infrastructure]) { modules[common_1.NestModuleCategory.infrastructure] = []; } modules[common_1.NestModuleCategory.infrastructure].push((0, common_1.createNestModule)({ project, moduleName: prisma_constants_1.PRISMA_MODULE_NAME, moduleDescription: 'Next-generation Node.js and TypeScript ORM for NestJS-mod (preview version only for Postgres)', staticConfigurationModel: prisma_configuration_1.PrismaConfiguration, environmentsModel: prisma_environments_1.PrismaEnvironments, wrapForRootAsync: (asyncModuleOptions) => { if (!asyncModuleOptions) { asyncModuleOptions = {}; } if (asyncModuleOptions.staticConfiguration?.featureName) { const FomatterClass = (0, common_1.getFeatureDotEnvPropertyNameFormatter)(asyncModuleOptions.staticConfiguration.featureName); Object.assign(asyncModuleOptions, { environmentsOptions: { propertyNameFormatters: [new FomatterClass()], name: asyncModuleOptions.staticConfiguration?.featureName, }, }); } return { asyncModuleOptions }; }, imports: [ common_1.ProjectUtils.forFeature({ featureModuleName: prisma_constants_1.PRISMA_MODULE_NAME, contextName: current.asyncModuleOptions.contextName, }), ], providers: [prisma_schema_file_service_1.PrismaSchemaFileService, prisma_infrastructure_updater_service_1.PrismaInfrastructureUpdaterService], }).PrismaModule.forRootAsync(current.asyncModuleOptions)); }, }).PrismaModule; //# sourceMappingURL=prisma.module.js.map