UNPKG

zenstack

Version:

FullStack enhancement for Prisma ORM: seamless integration from database to UI

55 lines (54 loc) 2.04 kB
import { type PluginOptions } from '@zenstackhq/sdk'; import { type Model } from '@zenstackhq/sdk/ast'; import { type DMMF } from '@zenstackhq/sdk/prisma'; import { Project } from 'ts-morph'; export declare class EnhancerGenerator { private readonly model; private readonly options; private readonly project; private readonly outDir; private readonly modelsWithAuthInDefaultCreateInputPattern; private readonly modelsWithJsonTypeFields; private readonly modelsWithJsonTypeFieldsInputOutputPattern; private reversedShortNameMap; constructor(model: Model, options: PluginOptions, project: Project, outDir: string); generate(): Promise<{ dmmf: DMMF.Document | undefined; newPrismaClientDtsPath: string | undefined; }>; private getZodImport; private createSimplePrismaImports; private createSimplePrismaEnhanceFunction; private createLogicalPrismaImports; private createLogicalPrismaEnhanceFunction; private get needsLogicalClient(); private hasDelegateModel; private hasAuthInDefault; private hasTypeDef; private generateLogicalPrisma; private getLogicalDMMF; private shouldBeOptional; private getPrismaClientGeneratorName; private processClientTypes; private transformPrismaTypes; private transformPrismaModule; private transformVariableStatement; private transformInterface; private transformTypeAlias; private fixDelegatePayloadType; private removeCreateFromDelegateInput; private removeDiscriminatorFromConcreteInput; private removeAuxFieldsFromTypeAlias; private readonly CreateUpdateWithoutDelegateRelationRegex; private removeDelegateFieldsFromNestedMutationInput; private resolveName; private fixDefaultAuthType; private fixJsonFieldType; private generateExtraTypes; private findNamedProperty; private findAuxDecls; private saveSourceFile; private get generatePermissionChecker(); private removeFromSource; private trimEmptyLines; }