@weverson_na/prisma-generator-nestjs-dto
Version:
Advanced Prisma Generator with Smart Merge v2: Creates DTO and Entity classes with AST-based preservation, intelligent import management, and modular architecture for NestJS
33 lines (32 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImportManager = void 0;
const helpers_1 = require("../../helpers/helpers");
class ImportManager {
static addSwaggerImports(imports, conditions) {
const { hasApiExtraModels, hasEnum, hasApiPropertyDoc } = conditions;
if (hasApiExtraModels || hasEnum || hasApiPropertyDoc) {
const destruct = [];
if (hasApiExtraModels)
destruct.push('ApiExtraModels');
if (hasEnum)
destruct.push('ApiProperty');
if (hasApiPropertyDoc)
destruct.push('ApiProperty');
const uniqueDestruct = [...new Set(destruct)];
imports.unshift({ from: '@nestjs/swagger', destruct: uniqueDestruct });
}
}
static addPrismaClientImports(imports, fields) {
const importPrismaClient = helpers_1.Helpers.makeImportsFromPrismaClient(fields);
if (importPrismaClient) {
imports.unshift(importPrismaClient);
}
}
static finalizeImports(imports, fields, conditions) {
this.addSwaggerImports(imports, conditions);
this.addPrismaClientImports(imports, fields);
return helpers_1.Helpers.zipImportStatementParams(imports);
}
}
exports.ImportManager = ImportManager;