@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
27 lines (26 loc) • 993 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PrismaClientImportHelper = void 0;
class PrismaClientImportHelper {
static makeImportsFromPrismaClient(fields) {
const enumsToImport = this.getUniqueEnums(fields);
const importPrisma = this.needsPrismaImport(fields);
if (!enumsToImport.length && !importPrisma)
return null;
return {
from: '@prisma/client',
destruct: importPrisma ? ['Prisma', ...enumsToImport] : enumsToImport,
};
}
static getUniqueEnums(fields) {
return Array.from(new Set(fields.filter(({ kind }) => kind === 'enum').map(({ type }) => type)));
}
static needsPrismaImport(fields) {
return fields
.filter(({ kind }) => kind === 'scalar')
.some(({ type }) => {
return ['Decimal', 'Json', 'Bytes'].includes(type);
});
}
}
exports.PrismaClientImportHelper = PrismaClientImportHelper;