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

57 lines (56 loc) 2.81 kB
import { ImportStatementParams, 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 connectDtoPrefix; private readonly createDtoPrefix; private readonly updateDtoPrefix; private readonly dtoSuffix; private readonly entityPrefix; private readonly entitySuffix; readonly transformClassNameCase: (input: string) => string; readonly transformFileNameCase: (input: string) => string; private readonly decoratorStrategy; static readonly PrismaScalarToTypeScript: Record<string, string>; static readonly knownPrismaScalarTypes: string[]; constructor(options: TemplateHelpersOptions); static scalarToTS(scalar: string, useInputTypes?: boolean): string; static echo(input: string): string; static when(condition: unknown, thenTpl: string, elseTpl?: string): string; static unless(condition: unknown, thenTpl: string, elseTpl?: string): string; static each<T>(arr: T[], fn: (item: T) => string, joinWith?: string): string; static importStatement(input: ImportStatementParams): string; static importStatements(items: ImportStatementParams[]): string; private className; private fileName; 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; static hasSomeApiPropertyDoc(fields: ParsedField[]): boolean; static hasApiPropertyDoc(field: ParsedField): boolean; private addDecorator; private buildEntityDecorator; private buildDtoDecorator; private buildEnumDecorator; private buildFieldDecorator; fieldToDtoProp(field: ParsedField, useInputTypes?: boolean, forceOptional?: boolean, addExposePropertyDecorator?: boolean): string; fieldsToDtoProps(fields: ParsedField[], useInputTypes?: boolean, forceOptional?: boolean, addExposePropertyDecorator?: boolean): string; fieldToEntityProp(field: ParsedField): string; fieldsToEntityProps(fields: ParsedField[]): string; apiExtraModels(names: string[]): string; get config(): Omit<TemplateHelpersOptions, 'transformClassNameCase' | 'transformFileNameCase'>; }