Documentation
¶
Overview ¶
Package generator provides validation code generation functionality.
Index ¶
- Constants
- type Generator
- func (vg *Generator) Config() genkit.ToolConfig
- func (vg *Generator) FindTypes(pkg *genkit.Package) []*genkit.Type
- func (vg *Generator) GenerateSetDefaultsTest(g *genkit.GeneratedFile, typ *genkit.Type)
- func (vg *Generator) GenerateValidate(g *genkit.GeneratedFile, typ *genkit.Type, customRegex *regexTracker) error
- func (vg *Generator) GenerateValidateTest(g *genkit.GeneratedFile, typ *genkit.Type)
- func (vg *Generator) Name() string
- func (vg *Generator) ProcessPackage(gen *genkit.Generator, pkg *genkit.Package) error
- func (vg *Generator) Rules() []genkit.Rule
- func (vg *Generator) Run(gen *genkit.Generator, log *genkit.Logger) error
- func (vg *Generator) Validate(gen *genkit.Generator, _ *genkit.Logger) []genkit.Diagnostic
- func (vg *Generator) WriteHeader(g *genkit.GeneratedFile, pkgName string, usedRegex map[string]bool, ...)
- func (vg *Generator) WriteTestHeader(g *genkit.GeneratedFile, pkgName string)
Constants ¶
const ( ErrCodeMethodMissingParam = "E001" ErrCodeRegexMissingPattern = "E002" ErrCodeFormatMissingType = "E003" ErrCodeFormatMultipleArgs = "E004" ErrCodeFormatUnsupported = "E005" ErrCodeOneofMissingValues = "E006" ErrCodeMissingParam = "E007" // Generic missing parameter error ErrCodeInvalidParamType = "E008" // Invalid parameter type ErrCodeInvalidFieldType = "E009" // Annotation not applicable to field type ErrCodeMethodNotFound = "E010" // Method not found on type )
Error codes for diagnostics.
const ToolName = "validategen"
ToolName is the name of this tool, used in annotations.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator generates Validate() methods for structs.
func (*Generator) Config ¶ added in v0.2.0
func (vg *Generator) Config() genkit.ToolConfig
Config returns the tool configuration for VSCode extension integration.
func (*Generator) GenerateSetDefaultsTest ¶ added in v0.3.5
func (vg *Generator) GenerateSetDefaultsTest(g *genkit.GeneratedFile, typ *genkit.Type)
GenerateSetDefaultsTest generates table-driven tests for a single type's SetDefaults method. It only generates tests if the type has @default annotations.
func (*Generator) GenerateValidate ¶
func (vg *Generator) GenerateValidate(g *genkit.GeneratedFile, typ *genkit.Type, customRegex *regexTracker) error
GenerateValidate generates Validate method for a single type. It always generates:
- _validate(): field-level validations (excluding @method)
- _validateMethod(): @method validations only (if any)
- Validate(): calls _validate() + _validateMethod() + postValidate() (if exists)
This separation allows testing _validate() independently without needing to set up valid nested types for @method validation.
func (*Generator) GenerateValidateTest ¶ added in v0.3.1
func (vg *Generator) GenerateValidateTest(g *genkit.GeneratedFile, typ *genkit.Type)
GenerateValidateTest generates table-driven tests for a single type's _validate method. It always tests _validate() which excludes @method validations, making tests simpler and not requiring valid nested types to be set up.
func (*Generator) ProcessPackage ¶
ProcessPackage processes a package and generates validation methods.
func (*Generator) Rules ¶ added in v0.3.0
Rules implements genkit.RuleTool. Returns AI-friendly documentation for validategen.
func (*Generator) Validate ¶ added in v0.2.1
Validate implements genkit.ValidatableTool. It checks for errors without generating files, returning diagnostics for IDE integration.
func (*Generator) WriteHeader ¶
func (vg *Generator) WriteHeader( g *genkit.GeneratedFile, pkgName string, usedRegex map[string]bool, customRegex *regexTracker, )
WriteHeader writes the file header and global regex variables.
func (*Generator) WriteTestHeader ¶ added in v0.3.1
func (vg *Generator) WriteTestHeader(g *genkit.GeneratedFile, pkgName string)
WriteTestHeader writes the test file header.