UNPKG

zenstack

Version:

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

53 lines (52 loc) 1.8 kB
import { InvocationExpr, Model } from '@zenstackhq/language/ast'; import { PluginOptions } from '@zenstackhq/sdk'; import { FunctionCall as PrismaFunctionCall } from './prisma-builder'; /** * Generates Prisma schema file */ export declare class PrismaSchemaGenerator { private readonly zmodel; private zModelGenerator; private readonly PRELUDE; private mode; private customAttributesAsComments; private shortNameMap; constructor(zmodel: Model); generate(options: PluginOptions): Promise<{ warnings: string[]; shortNameMap: Map<string, string>; }>; private generateDataSource; private configExprToText; private configArrayToText; private configInvocationArgToText; private literalToText; private exprToText; private generateGenerator; private generateModel; private generateDelegateRelationForBase; private generateDelegateRelationForConcrete; private expandPolymorphicRelations; private replicateForeignKey; private replicateForeignKeyModelLevelUnique; private truncate; private ensureRelationsInheritedFromDelegate; private findUpMatchingFieldFromDelegate; private getOppositeRelationField; private getRelationName; private get supportNamedConstraints(); private isPrismaAttribute; private getUnsupportedFieldType; private generateModelField; private setDummyDefault; private ensureSupportingTypeDefFields; private isInheritedFromDelegate; private makeFieldAttribute; private makeAttributeArg; private makeAttributeArgValue; makeFunctionCall(node: InvocationExpr): PrismaFunctionCall; private generateContainerAttribute; private generateEnum; private generateEnumField; private getCustomAttributesAsComments; }