@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
43 lines (42 loc) • 2.15 kB
TypeScript
import { ImportStatementGenerator } from './template-helpers/import-generator';
import { TemplateUtilities } from './template-helpers/template-utilities';
import { ParsedField } from './types';
export interface TemplateHelpersOptions {
connectDtoPrefix: string;
createDtoPrefix: string;
updateDtoPrefix: string;
dtoSuffix: string;
entityPrefix: string;
entitySuffix: string;
transformClassNameCase?: (input: string) => string;
transformFileNameCase?: (input: string) => string;
}
export declare class TemplateHelpers {
private readonly options;
private readonly namingStrategy;
private readonly typeConverter;
private readonly propertyRenderer;
constructor(options: TemplateHelpersOptions);
entityName(name: string): string;
connectDtoName(name: string): string;
createDtoName(name: string): string;
updateDtoName(name: string): string;
connectDtoFilename(name: string, withExt?: boolean): string;
createDtoFilename(name: string, withExt?: boolean): string;
updateDtoFilename(name: string, withExt?: boolean): string;
entityFilename(name: string, withExt?: boolean): string;
fieldType(field: ParsedField, toInputType?: boolean): string;
fieldsToDtoProps(fields: ParsedField[], useInputTypes?: boolean, forceOptional?: boolean, addExposePropertyDecorator?: boolean): string;
fieldsToEntityProps(fields: ParsedField[]): string;
static echo: typeof TemplateUtilities.echo;
static when: typeof TemplateUtilities.when;
static unless: typeof TemplateUtilities.unless;
static each: typeof TemplateUtilities.each;
static hasSomeApiPropertyDoc: typeof TemplateUtilities.hasSomeApiPropertyDoc;
static hasApiPropertyDoc: typeof TemplateUtilities.hasApiPropertyDoc;
static importStatement: typeof ImportStatementGenerator.importStatement;
static importStatements: typeof ImportStatementGenerator.importStatements;
static scalarToTS(scalar: string, useInputTypes?: boolean): string;
apiExtraModels(names: string[]): string;
get config(): Omit<TemplateHelpersOptions, 'transformClassNameCase' | 'transformFileNameCase'>;
}