@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
TypeScript
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 {};