prisma-zod-generator
Version:
Prisma 2+ generator to emit Zod schemas from your Prisma schema
107 lines (106 loc) • 3.38 kB
TypeScript
import { GeneratorConfig, ModelConfig, VariantConfig } from './parser';
/**
* Default configuration factory
*/
export declare class DefaultConfigurationManager {
/**
* Get complete default configuration
*/
static getDefaultConfiguration(): GeneratorConfig;
/**
* Get default configuration for minimal mode
*/
static getMinimalConfiguration(): GeneratorConfig;
/**
* Get default configuration for custom mode
*/
static getCustomConfiguration(): GeneratorConfig;
/**
* Get default variant configuration
*/
static getDefaultVariantConfig(variantType: 'pure' | 'input' | 'result', modelFields?: string[]): VariantConfig;
/**
* Get default model configuration
*/
static getDefaultModelConfig(modelName: string, mode?: string, modelFields?: string[]): ModelConfig;
/**
* Merge user configuration with defaults
*/
static mergeWithDefaults(userConfig: Partial<GeneratorConfig>): GeneratorConfig;
/**
* Apply mode-specific default adjustments
*/
private static applyModeSpecificDefaults;
/**
* Fill in missing model configurations with defaults
*/
static fillMissingModelConfigs(config: GeneratorConfig, availableModels: string[], modelFieldInfo?: {
[modelName: string]: string[];
}): GeneratorConfig;
/**
* Validate and normalize configuration
*/
static normalizeConfiguration(config: GeneratorConfig): GeneratorConfig;
/**
* Create configuration preset for common use cases
*/
static createPreset(presetName: ConfigurationPreset): GeneratorConfig;
/**
* Get available configuration presets
*/
static getAvailablePresets(): ConfigurationPresetInfo[];
}
/**
* Configuration preset types
*/
export type ConfigurationPreset = 'minimal' | 'trpc' | 'api-validation' | 'full-featured';
/**
* Preset information interface
*/
export interface ConfigurationPresetInfo {
name: ConfigurationPreset;
description: string;
useCase: string;
}
/**
* Convenience functions
*/
/**
* Get default configuration
*/
export declare function getDefaultConfiguration(): GeneratorConfig;
/**
* Get minimal configuration
*/
export declare function getMinimalConfiguration(): GeneratorConfig;
/**
* Merge user config with defaults
*/
export declare function mergeWithDefaults(userConfig: Partial<GeneratorConfig>): GeneratorConfig;
/**
* Fill missing model configurations
*/
export declare function fillMissingModelConfigs(config: GeneratorConfig, availableModels: string[], modelFieldInfo?: {
[modelName: string]: string[];
}): GeneratorConfig;
/**
* Normalize configuration
*/
export declare function normalizeConfiguration(config: GeneratorConfig): GeneratorConfig;
/**
* Create preset configuration
*/
export declare function createPreset(presetName: ConfigurationPreset): GeneratorConfig;
/**
* Get available presets
*/
export declare function getAvailablePresets(): ConfigurationPresetInfo[];
/**
* Process and finalize configuration
*
* This is the main function that should be used to process configuration
* from parsing through defaults application and normalization.
*/
export declare function processConfiguration(userConfig: Partial<GeneratorConfig>, availableModels?: string[], modelFieldInfo?: {
[modelName: string]: string[];
}): GeneratorConfig;