UNPKG

@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
"use strict"; 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;