UNPKG

prisma-zod-generator

Version:

Prisma 2+ generator to emit Zod schemas from your Prisma schema

98 lines (97 loc) 2.49 kB
/** * PZG Pro - Server Actions Generator (DMMF-based) * * Generate typed Next.js Server Actions and React hooks from DMMF data */ import { ProFeatureBase } from '../../core/ProFeatureBase'; import { ProGeneratorContext } from '../../core/ProGeneratorContext'; export interface ServerActionsConfig { outputPath?: string; enableOptimisticUpdates?: boolean; enableCacheRevalidation?: boolean; enableErrorBoundaries?: boolean; actions?: string[]; } export declare class ServerActionsGenerator extends ProFeatureBase { private config; constructor(context: ProGeneratorContext, config?: ServerActionsConfig); protected getFeatureName(): string; protected generateFeature(): Promise<void>; /** * Generate server actions for a model */ private generateModelActions; /** * Generate create action for a model */ private generateCreateAction; /** * Generate update action for a model */ private generateUpdateAction; /** * Generate delete action for a model */ private generateDeleteAction; /** * Generate findMany action for a model */ private generateFindManyAction; /** * Generate findUnique action for a model */ private generateFindUniqueAction; /** * Find related models for imports */ private findRelatedModels; /** * Generate React hooks for a model */ private generateModelHooks; /** * Generate create hook for a model */ private generateCreateHook; /** * Generate update hook for a model */ private generateUpdateHook; /** * Generate delete hook for a model */ private generateDeleteHook; /** * Generate findMany hook for a model */ private generateFindManyHook; /** * Generate findUnique hook for a model */ private generateFindUniqueHook; /** * Generate TypeScript types for a model */ private generateModelTypes; /** * Generate prisma client file */ private generatePrismaClient; /** * Generate shared utilities */ private generateSharedUtils; /** * Generate index files */ private generateIndexFiles; /** * Helper methods */ private getCreateFields; private getActionImports; private generateFormDataValidation; private generateDataValidation; private generateRevalidation; private generateUsageREADME; }