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

39 lines (38 loc) 1.78 kB
import type { DMMF } from '@prisma/generator-helper'; import { TemplateHelpers } from './template-helpers'; import type { ImportStatementParams, Model, ParsedField } from '../types'; import type { DecoratorStrategy } from '../decorators/decorator-strategy'; export interface RelationInputResult { type: string; imports: ImportStatementParams[]; generatedClasses: string[]; apiExtraModels: string[]; } interface GenerateRelationInputParam { field: DMMF.Field; model: Model; allModels: Model[]; templateHelpers: TemplateHelpers; preAndSuffixClassName: TemplateHelpers['createDtoName'] | TemplateHelpers['updateDtoName']; canCreateAnnotation: RegExp; canConnectAnnotation: RegExp; addExposePropertyDecorator: boolean; } export declare class Helpers { private readonly decoratorStrategy; constructor(decoratorStrategy: DecoratorStrategy); static uniq<T>(input: T[]): T[]; static concatIntoArray<T>(source: T[], target: T[]): void; static makeImportsFromPrismaClient(fields: ParsedField[]): ImportStatementParams | null; static mapDMMFToParsedField(field: DMMF.Field, overrides?: Partial<DMMF.Field>): ParsedField; static getRelationScalars(fields: DMMF.Field[]): Record<string, string[]>; static getRelationConnectInputFields({ field, allModels, }: { field: DMMF.Field; allModels: DMMF.Model[]; }): Set<DMMF.Field>; static getRelativePath(from: string, to: string): string; generateRelationInput(params: GenerateRelationInputParam): RelationInputResult; static mergeImportStatements(first: ImportStatementParams, second: ImportStatementParams): ImportStatementParams; static zipImportStatementParams(items: ImportStatementParams[]): ImportStatementParams[]; } export {};