zenstack
Version:
FullStack enhancement for Prisma ORM: seamless integration from database to UI
55 lines (54 loc) • 2.04 kB
TypeScript
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;
}