Documentation
¶
Overview ¶
Package gozod provides a TypeScript Zod v4-inspired validation library for Go, offering strongly-typed data validation with intelligent type inference.
Index ¶
- Constants
- Variables
- func Apply[S any, R any](schema S, fn func(S) R) R
- func BigInt(params ...any) *types.ZodBigInt[*big.Int]
- func BigIntPtr(params ...any) *types.ZodBigInt[**big.Int]
- func FormatErrorPath(path []any, style string) string
- func FromJSONSchemaLossy(schema *lib.Schema, opts ...FromJSONSchemaOptions) (ZodSchema, []JSONSchemaImportLossError, error)
- func FromStruct[T any](opts ...FromStructOption) (*types.ZodStruct[T, T], error)
- func FromStructPtr[T any](opts ...FromStructOption) (*types.ZodStruct[T, *T], error)
- func IsZodError(err error, target **ZodError) bool
- func Lazy[S types.ZodSchemaType](getter func() S, params ...any) *types.ZodLazyTyped[S]
- func LazyTyped[T types.LazyConstraint](getter func() any, params ...any) *types.ZodLazyOutput[T]
- func MustFromStruct[T any](opts ...FromStructOption) *types.ZodStruct[T, T]
- func MustFromStructPtr[T any](opts ...FromStructOption) *types.ZodStruct[T, *T]
- func PrettifyError(zodErr *ZodError) string
- func PrettifyErrorWithFormatter(zodErr *ZodError, formatter MessageFormatter) string
- func ToDotPath(path []any) string
- func ToJSONSchema(input any, opts ...JSONSchemaOptions) (*lib.Schema, error)
- func Xor(options []any, args ...any) *types.ZodXor[any, any]
- func XorOf(schemas ...any) *types.ZodXor[any, any]
- func XorPtr(options []any, args ...any) *types.ZodXor[any, *any]
- type CheckParams
- type CustomParams
- type DiscriminatorError
- type FlattenedError
- type FromJSONSchemaOptions
- type FromStructOption
- type GlobalMeta
- type IsoDatetimeOptions
- type IsoTimeOptions
- type IssueCode
- type JSONSchemaCyclesMode
- type JSONSchemaIOMode
- type JSONSchemaImportError
- type JSONSchemaImportLossError
- type JSONSchemaOptions
- type JSONSchemaReusedMode
- type JSONSchemaTargetMode
- type JSONSchemaUnrepresentableMode
- type JWTOptions
- type MessageFormatter
- type ObjectSchema
- type OverrideContext
- type ParsePayload
- type Registry
- type SchemaParams
- type StructSchema
- type URLOptions
- type Unwrapper
- type ZodAny
- type ZodArray
- type ZodBase64
- type ZodBase64URL
- type ZodBool
- type ZodCIDRv4
- type ZodCIDRv6
- type ZodCUID
- type ZodCUID2
- type ZodCheck
- type ZodCheckDef
- type ZodCheckFn
- type ZodCheckInternals
- type ZodComplex
- func Complex(params ...any) *ZodComplex[complex128]
- func Complex64(params ...any) *ZodComplex[complex64]
- func Complex64Ptr(params ...any) *ZodComplex[*complex64]
- func Complex128(params ...any) *ZodComplex[complex128]
- func Complex128Ptr(params ...any) *ZodComplex[*complex128]
- func ComplexPtr(params ...any) *ZodComplex[*complex128]
- type ZodConfig
- type ZodDiscriminatedUnion
- func DiscriminatedUnion(disc string, options []core.ZodSchema, args ...any) (*ZodDiscriminatedUnion[any, any], error)
- func DiscriminatedUnionPtr(disc string, options []core.ZodSchema, args ...any) (*ZodDiscriminatedUnion[any, *any], error)
- func MustDiscriminatedUnion(disc string, options []core.ZodSchema, args ...any) *ZodDiscriminatedUnion[any, any]
- func MustDiscriminatedUnionPtr(disc string, options []core.ZodSchema, args ...any) *ZodDiscriminatedUnion[any, *any]
- type ZodE164
- type ZodEmail
- type ZodEmoji
- type ZodEnum
- func Enum[T comparable](values ...T) *ZodEnum[T, T]
- func EnumMap[T comparable](entries map[string]T, params ...any) *ZodEnum[T, T]
- func EnumMapPtr[T comparable](entries map[string]T, params ...any) *ZodEnum[T, *T]
- func EnumPtr[T comparable](values ...T) *ZodEnum[T, *T]
- func EnumSlice[T comparable](values []T) *ZodEnum[T, T]
- func EnumSlicePtr[T comparable](values []T) *ZodEnum[T, *T]
- type ZodError
- type ZodErrorTree
- type ZodFile
- type ZodFloat
- func Float(params ...any) *ZodFloat[float64, float64]
- func Float32(params ...any) *ZodFloat[float32, float32]
- func Float32Ptr(params ...any) *ZodFloat[float32, *float32]
- func Float64(params ...any) *ZodFloat[float64, float64]
- func Float64Ptr(params ...any) *ZodFloat[float64, *float64]
- func FloatPtr(params ...any) *ZodFloat[float64, *float64]
- func Number(params ...any) *ZodFloat[float64, float64]
- func NumberPtr(params ...any) *ZodFloat[float64, *float64]
- type ZodFormattedError
- type ZodFunction
- type ZodGUID
- type ZodHex
- type ZodHostname
- type ZodIPv4
- type ZodIPv6
- type ZodInteger
- func Int(params ...any) *ZodInteger[int, int]
- func Int8(params ...any) *ZodInteger[int8, int8]
- func Int8Ptr(params ...any) *ZodInteger[int8, *int8]
- func Int16(params ...any) *ZodInteger[int16, int16]
- func Int16Ptr(params ...any) *ZodInteger[int16, *int16]
- func Int32(params ...any) *ZodInteger[int32, int32]
- func Int32Ptr(params ...any) *ZodInteger[int32, *int32]
- func Int64(params ...any) *ZodInteger[int64, int64]
- func Int64Ptr(params ...any) *ZodInteger[int64, *int64]
- func IntPtr(params ...any) *ZodInteger[int, *int]
- func Uint(params ...any) *ZodInteger[uint, uint]
- func Uint8(params ...any) *ZodInteger[uint8, uint8]
- func Uint8Ptr(params ...any) *ZodInteger[uint8, *uint8]
- func Uint16(params ...any) *ZodInteger[uint16, uint16]
- func Uint16Ptr(params ...any) *ZodInteger[uint16, *uint16]
- func Uint32(params ...any) *ZodInteger[uint32, uint32]
- func Uint32Ptr(params ...any) *ZodInteger[uint32, *uint32]
- func Uint64(params ...any) *ZodInteger[uint64, uint64]
- func Uint64Ptr(params ...any) *ZodInteger[uint64, *uint64]
- func UintPtr(params ...any) *ZodInteger[uint, *uint]
- type ZodIntersection
- type ZodIso
- func Iso(params ...any) *ZodIso[string]
- func IsoDate(params ...any) *ZodIso[string]
- func IsoDatePtr(params ...any) *ZodIso[*string]
- func IsoDateTime(params ...any) *ZodIso[string]
- func IsoDateTimePtr(params ...any) *ZodIso[*string]
- func IsoDuration(params ...any) *ZodIso[string]
- func IsoDurationPtr(params ...any) *ZodIso[*string]
- func IsoPtr(params ...any) *ZodIso[*string]
- func IsoTime(params ...any) *ZodIso[string]
- func IsoTimePtr(params ...any) *ZodIso[*string]
- type ZodIssue
- type ZodJWT
- type ZodKSUID
- type ZodLazy
- type ZodLiteral
- type ZodMAC
- type ZodMap
- type ZodNanoID
- type ZodNever
- type ZodNil
- type ZodObject
- func LooseObject(shape core.ObjectSchema, params ...any) *ZodObject[map[string]any, map[string]any]
- func LooseObjectPtr(shape core.ObjectSchema, params ...any) *ZodObject[map[string]any, *map[string]any]
- func Object(shape core.ObjectSchema, params ...any) *ZodObject[map[string]any, map[string]any]
- func ObjectPtr(shape core.ObjectSchema, params ...any) *ZodObject[map[string]any, *map[string]any]
- func StrictObject(shape core.ObjectSchema, params ...any) *ZodObject[map[string]any, map[string]any]
- func StrictObjectPtr(shape core.ObjectSchema, params ...any) *ZodObject[map[string]any, *map[string]any]
- type ZodRawIssue
- type ZodRecord
- func LooseRecord(keySchema, valueSchema any, paramArgs ...any) *ZodRecord[map[string]any, map[string]any]
- func LooseRecordPtr(keySchema, valueSchema any, paramArgs ...any) *ZodRecord[map[string]any, *map[string]any]
- func Record[K any, V any](keySchema any, valueSchema core.ZodType[V], paramArgs ...any) *ZodRecord[map[string]V, map[string]V]
- func RecordPtr[K any, V any](keySchema any, valueSchema core.ZodType[V], paramArgs ...any) *ZodRecord[map[string]V, *map[string]V]
- type ZodRefineFn
- type ZodSchema
- type ZodSet
- type ZodSlice
- type ZodString
- type ZodStringBool
- type ZodStruct
- type ZodTime
- type ZodTuple
- type ZodType
- type ZodULID
- type ZodURL
- type ZodUUID
- func UUID(params ...any) *ZodUUID[string]
- func UUIDPtr(params ...any) *ZodUUID[*string]
- func UUIDv4(params ...any) *ZodUUID[string]
- func UUIDv4Ptr(params ...any) *ZodUUID[*string]
- func UUIDv6(params ...any) *ZodUUID[string]
- func UUIDv6Ptr(params ...any) *ZodUUID[*string]
- func UUIDv7(params ...any) *ZodUUID[string]
- func UUIDv7Ptr(params ...any) *ZodUUID[*string]
- type ZodUnion
- type ZodUnknown
- type ZodWhenFn
- type ZodXID
Constants ¶
const ( IssueInvalidType = core.InvalidType IssueInvalidValue = core.InvalidValue IssueInvalidFormat = core.InvalidFormat IssueInvalidUnion = core.InvalidUnion IssueInvalidKey = core.InvalidKey IssueInvalidElement = core.InvalidElement IssueTooBig = core.TooBig IssueTooSmall = core.TooSmall IssueNotMultipleOf = core.NotMultipleOf IssueUnrecognizedKeys = core.UnrecognizedKeys IssueCustom = core.Custom )
const ( JSONSchemaUnrepresentableThrow = jsonschema.UnrepresentableThrow JSONSchemaUnrepresentableAny = jsonschema.UnrepresentableAny JSONSchemaCyclesRef = jsonschema.CyclesRef JSONSchemaCyclesThrow = jsonschema.CyclesThrow JSONSchemaReusedInline = jsonschema.ReusedInline JSONSchemaReusedRef = jsonschema.ReusedRef JSONSchemaTargetDraft202012 = jsonschema.TargetDraft202012 JSONSchemaIOOutput = jsonschema.IOOutput JSONSchemaIOInput = jsonschema.IOInput )
Variables ¶
var ( PrecisionMinute = types.PrecisionMinute PrecisionSecond = types.PrecisionSecond PrecisionDecisecond = types.PrecisionDecisecond PrecisionCentisecond = types.PrecisionCentisecond PrecisionMillisecond = types.PrecisionMillisecond PrecisionMicrosecond = types.PrecisionMicrosecond PrecisionNanosecond = types.PrecisionNanosecond )
var ( ErrNilDiscriminatedUnionOption = types.ErrOptionIsNil ErrMissingDiscriminatorValues = types.ErrNoDiscriminatorValues ErrDuplicateDiscriminator = types.ErrDuplicateDiscriminator ErrNoValidDiscriminators = types.ErrNoValidDiscriminators )
var ( ErrUnsupportedInputType = jsonschema.ErrUnsupportedInputType ErrCircularReference = jsonschema.ErrCircularReference ErrUnrepresentableType = jsonschema.ErrUnrepresentableType ErrSchemaNotObjectOrStruct = jsonschema.ErrSchemaNotObjectOrStruct ErrSliceElementNotSchema = jsonschema.ErrSliceElementNotSchema ErrArrayItemNotSchema = jsonschema.ErrArrayItemNotSchema ErrUnhandledArrayLike = jsonschema.ErrUnhandledArrayLike ErrUnionInvalid = jsonschema.ErrUnionInvalid ErrUnionNoMembers = jsonschema.ErrUnionNoMembers ErrIntersectionInvalid = jsonschema.ErrIntersectionInvalid ErrInvalidEnumSchema = jsonschema.ErrInvalidEnumSchema ErrEnumExtractValues = jsonschema.ErrEnumExtractValues ErrLiteralNoValuesMethod = jsonschema.ErrLiteralNoValuesMethod ErrLiteralUnexpectedReturnValues = jsonschema.ErrLiteralUnexpectedReturnValues ErrExpectedDiscriminatedUnion = jsonschema.ErrExpectedDiscriminatedUnion ErrExpectedRecord = jsonschema.ErrExpectedRecord ErrRecordValueNotSchema = jsonschema.ErrRecordValueNotSchema ErrInvalidRegistrySchemaID = jsonschema.ErrInvalidRegistrySchemaID ErrMapNoMethods = jsonschema.ErrMapNoMethods ErrMapKeyNotSchema = jsonschema.ErrMapKeyNotSchema ErrMapValueNotSchema = jsonschema.ErrMapValueNotSchema ErrInvalidJSONSchemaOption = jsonschema.ErrInvalidJSONSchemaOption ErrUnsupportedJSONSchemaTarget = jsonschema.ErrUnsupportedJSONSchemaTarget ErrUnsupportedJSONSchemaType = jsonschema.ErrUnsupportedJSONSchemaType ErrUnsupportedJSONSchemaKeyword = jsonschema.ErrUnsupportedJSONSchemaKeyword ErrInvalidJSONSchema = jsonschema.ErrInvalidJSONSchema ErrJSONSchemaCircularRef = jsonschema.ErrJSONSchemaCircularRef ErrJSONSchemaPatternCompile = jsonschema.ErrJSONSchemaPatternCompile ErrJSONSchemaIfThenElse = jsonschema.ErrJSONSchemaIfThenElse ErrJSONSchemaPatternProperties = jsonschema.ErrJSONSchemaPatternProperties ErrJSONSchemaDynamicRef = jsonschema.ErrJSONSchemaDynamicRef ErrJSONSchemaUnevaluatedProps = jsonschema.ErrJSONSchemaUnevaluatedProps ErrJSONSchemaUnevaluatedItems = jsonschema.ErrJSONSchemaUnevaluatedItems ErrJSONSchemaDependentSchemas = jsonschema.ErrJSONSchemaDependentSchemas ErrJSONSchemaPropertyNames = jsonschema.ErrJSONSchemaPropertyNames ErrJSONSchemaContains = jsonschema.ErrJSONSchemaContains )
var GlobalRegistry = core.GlobalRegistry
Functions ¶
func FormatErrorPath ¶ added in v0.4.0
func FromJSONSchemaLossy ¶ added in v0.11.8
func FromJSONSchemaLossy( schema *lib.Schema, opts ...FromJSONSchemaOptions, ) (ZodSchema, []JSONSchemaImportLossError, error)
FromJSONSchemaLossy converts a JSON Schema and reports omitted validation semantics.
func FromStruct ¶ added in v0.5.0
func FromStruct[T any](opts ...FromStructOption) (*types.ZodStruct[T, T], error)
func FromStructPtr ¶ added in v0.5.0
func FromStructPtr[T any](opts ...FromStructOption) (*types.ZodStruct[T, *T], error)
func IsZodError ¶
func Lazy ¶
func Lazy[S types.ZodSchemaType](getter func() S, params ...any) *types.ZodLazyTyped[S]
func LazyTyped ¶ added in v0.11.8
func LazyTyped[T types.LazyConstraint](getter func() any, params ...any) *types.ZodLazyOutput[T]
func MustFromStruct ¶ added in v0.11.8
func MustFromStruct[T any](opts ...FromStructOption) *types.ZodStruct[T, T]
func MustFromStructPtr ¶ added in v0.11.8
func MustFromStructPtr[T any](opts ...FromStructOption) *types.ZodStruct[T, *T]
func PrettifyError ¶
func PrettifyErrorWithFormatter ¶ added in v0.3.0
func PrettifyErrorWithFormatter(zodErr *ZodError, formatter MessageFormatter) string
func ToJSONSchema ¶ added in v0.3.1
func ToJSONSchema(input any, opts ...JSONSchemaOptions) (*lib.Schema, error)
ToJSONSchema converts a GoZod schema or registry into JSON Schema.
Types ¶
type CheckParams ¶ added in v0.3.0
type CheckParams = core.CheckParams
type CustomParams ¶ added in v0.3.1
type CustomParams = core.CustomParams
type DiscriminatorError ¶ added in v0.11.8
type DiscriminatorError = types.DiscriminatorError
type FlattenedError ¶
type FlattenedError = issues.FlattenedError
func FlattenError ¶
func FlattenError(zodErr *ZodError) *FlattenedError
func FlattenErrorWithFormatter ¶ added in v0.3.0
func FlattenErrorWithFormatter(zodErr *ZodError, formatter MessageFormatter) *FlattenedError
func FlattenErrorWithMapper ¶
func FlattenErrorWithMapper(zodErr *ZodError, mapper func(ZodIssue) string) *FlattenedError
type FromJSONSchemaOptions ¶ added in v0.5.4
type FromJSONSchemaOptions = jsonschema.FromJSONSchemaOptions
type FromStructOption ¶ added in v0.8.0
type FromStructOption = types.FromStructOption
func WithFieldNameTag ¶ added in v0.11.6
func WithFieldNameTag(name string) FromStructOption
WithFieldNameTag sets the struct tag used for field names (e.g. "yaml", "toml"). It defaults to "json".
func WithTagName ¶ added in v0.8.0
func WithTagName(name string) FromStructOption
type GlobalMeta ¶ added in v0.3.1
type GlobalMeta = core.GlobalMeta
type IsoDatetimeOptions ¶ added in v0.3.0
type IsoDatetimeOptions = types.IsoDatetimeOptions
Public schema type aliases.
type IsoTimeOptions ¶ added in v0.3.0
type IsoTimeOptions = types.IsoTimeOptions
Public schema type aliases.
type JSONSchemaCyclesMode ¶ added in v0.11.7
type JSONSchemaCyclesMode = jsonschema.CyclesMode
type JSONSchemaIOMode ¶ added in v0.11.7
type JSONSchemaIOMode = jsonschema.IOMode
type JSONSchemaImportError ¶ added in v0.11.8
type JSONSchemaImportError = jsonschema.ImportError
type JSONSchemaImportLossError ¶ added in v0.11.8
type JSONSchemaImportLossError = jsonschema.ImportLossError
type JSONSchemaOptions ¶ added in v0.3.1
type JSONSchemaOptions = jsonschema.Options
type JSONSchemaReusedMode ¶ added in v0.11.7
type JSONSchemaReusedMode = jsonschema.ReusedMode
type JSONSchemaTargetMode ¶ added in v0.11.7
type JSONSchemaTargetMode = jsonschema.TargetMode
type JSONSchemaUnrepresentableMode ¶ added in v0.11.7
type JSONSchemaUnrepresentableMode = jsonschema.UnrepresentableMode
type MessageFormatter ¶ added in v0.3.0
type MessageFormatter = issues.MessageFormatter
type ObjectSchema ¶
type ObjectSchema = core.ObjectSchema
type OverrideContext ¶ added in v0.3.1
type OverrideContext = jsonschema.OverrideContext
type ParsePayload ¶
type ParsePayload = core.ParsePayload
type Registry ¶ added in v0.3.1
func NewRegistry ¶ added in v0.3.1
type SchemaParams ¶
type SchemaParams = core.SchemaParams
type StructSchema ¶ added in v0.2.0
type StructSchema = core.StructSchema
type Unwrapper ¶ added in v0.8.0
Unwrapper allows wrapper types to expose their underlying value for validation.
type ZodBase64 ¶ added in v0.3.0
type ZodBase64[T types.StringConstraint] = types.ZodBase64[T]
Public schema type aliases.
type ZodBase64URL ¶ added in v0.3.0
type ZodBase64URL[T types.StringConstraint] = types.ZodBase64URL[T]
Public schema type aliases.
func Base64URLPtr ¶ added in v0.3.0
type ZodCIDRv4 ¶
type ZodCIDRv4[T types.StringConstraint] = types.ZodCIDRv4[T]
Public schema type aliases.
type ZodCIDRv6 ¶
type ZodCIDRv6[T types.StringConstraint] = types.ZodCIDRv6[T]
Public schema type aliases.
type ZodCUID ¶ added in v0.3.0
type ZodCUID[T types.StringConstraint] = types.ZodCUID[T]
Public schema type aliases.
type ZodCUID2 ¶ added in v0.3.0
type ZodCUID2[T types.StringConstraint] = types.ZodCUID2[T]
Public schema type aliases.
type ZodCheckDef ¶
type ZodCheckDef = core.ZodCheckDef
type ZodCheckFn ¶
type ZodCheckFn = core.ZodCheckFn
type ZodCheckInternals ¶
type ZodCheckInternals = core.ZodCheckInternals
type ZodComplex ¶
type ZodComplex[T types.ComplexConstraint] = types.ZodComplex[T]
Public schema type aliases.
func Complex ¶ added in v0.3.0
func Complex(params ...any) *ZodComplex[complex128]
func Complex64Ptr ¶ added in v0.3.0
func Complex128 ¶
func Complex128(params ...any) *ZodComplex[complex128]
func Complex128Ptr ¶ added in v0.3.0
func Complex128Ptr(params ...any) *ZodComplex[*complex128]
func ComplexPtr ¶ added in v0.3.0
func ComplexPtr(params ...any) *ZodComplex[*complex128]
type ZodDiscriminatedUnion ¶
type ZodDiscriminatedUnion[T any, R any] = types.ZodDiscriminatedUnion[T, R]
Public schema type aliases.
func DiscriminatedUnion ¶
func DiscriminatedUnionPtr ¶ added in v0.3.0
func MustDiscriminatedUnion ¶ added in v0.11.8
type ZodE164 ¶ added in v0.5.4
type ZodE164[T types.StringConstraint] = types.ZodE164[T]
Public schema type aliases.
type ZodEmail ¶ added in v0.3.0
type ZodEmail[T types.EmailConstraint] = types.ZodEmail[T]
Public schema type aliases.
type ZodEmoji ¶ added in v0.3.0
type ZodEmoji[T types.StringConstraint] = types.ZodEmoji[T]
Public schema type aliases.
type ZodEnum ¶
type ZodEnum[T comparable, R any] = types.ZodEnum[T, R]
Public schema type aliases.
func Enum ¶
func Enum[T comparable](values ...T) *ZodEnum[T, T]
func EnumMap ¶
func EnumMap[T comparable](entries map[string]T, params ...any) *ZodEnum[T, T]
func EnumMapPtr ¶ added in v0.3.0
func EnumMapPtr[T comparable](entries map[string]T, params ...any) *ZodEnum[T, *T]
func EnumPtr ¶ added in v0.3.0
func EnumPtr[T comparable](values ...T) *ZodEnum[T, *T]
func EnumSlice ¶
func EnumSlice[T comparable](values []T) *ZodEnum[T, T]
func EnumSlicePtr ¶ added in v0.3.0
func EnumSlicePtr[T comparable](values []T) *ZodEnum[T, *T]
type ZodErrorTree ¶
type ZodErrorTree = issues.ZodErrorTree
func TreeifyError ¶
func TreeifyError(zodErr *ZodError) *ZodErrorTree
func TreeifyErrorWithMapper ¶
func TreeifyErrorWithMapper(zodErr *ZodError, mapper func(ZodIssue) string) *ZodErrorTree
type ZodFloat ¶
type ZodFloat[T types.FloatConstraint, R any] = types.ZodFloat[T, R]
Public schema type aliases.
func Float32Ptr ¶ added in v0.3.0
func Float64Ptr ¶ added in v0.3.0
type ZodFormattedError ¶
type ZodFormattedError = issues.ZodFormattedError
func FormatError ¶
func FormatError(zodErr *ZodError) ZodFormattedError
type ZodFunction ¶
type ZodFunction[T types.FunctionConstraint] = types.ZodFunction[T]
Public schema type aliases.
func FunctionPtr ¶ added in v0.3.0
type ZodGUID ¶ added in v0.5.5
type ZodGUID[T types.StringConstraint] = types.ZodGUID[T]
Public schema type aliases.
type ZodHex ¶ added in v0.5.4
type ZodHex[T types.StringConstraint] = types.ZodHex[T]
Public schema type aliases.
type ZodHostname ¶ added in v0.5.4
type ZodHostname[T types.StringConstraint] = types.ZodHostname[T]
Public schema type aliases.
func HostnamePtr ¶ added in v0.5.4
type ZodIPv4 ¶
type ZodIPv4[T types.StringConstraint] = types.ZodIPv4[T]
Public schema type aliases.
type ZodIPv6 ¶
type ZodIPv6[T types.StringConstraint] = types.ZodIPv6[T]
Public schema type aliases.
type ZodInteger ¶
type ZodInteger[T types.IntegerConstraint, R any] = types.ZodInteger[T, R]
Public schema type aliases.
type ZodIntersection ¶
type ZodIntersection[T any, R any] = types.ZodIntersection[T, R]
Public schema type aliases.
type ZodIso ¶ added in v0.3.0
type ZodIso[T types.IsoConstraint] = types.ZodIso[T]
Public schema type aliases.
func IsoDatePtr ¶ added in v0.3.0
func IsoDateTime ¶ added in v0.3.0
func IsoDateTimePtr ¶ added in v0.3.0
func IsoDuration ¶ added in v0.3.0
func IsoDurationPtr ¶ added in v0.3.0
func IsoTimePtr ¶ added in v0.3.0
type ZodJWT ¶ added in v0.3.0
type ZodJWT[T types.StringConstraint] = types.ZodJWT[T]
Public schema type aliases.
type ZodKSUID ¶ added in v0.3.0
type ZodKSUID[T types.StringConstraint] = types.ZodKSUID[T]
Public schema type aliases.
type ZodLiteral ¶
type ZodLiteral[T comparable, R any] = types.ZodLiteral[T, R]
Public schema type aliases.
func Literal ¶
func Literal[T comparable](value T, params ...any) *ZodLiteral[T, T]
func LiteralOf ¶ added in v0.3.0
func LiteralOf[T comparable](values []T, params ...any) *ZodLiteral[T, T]
func LiteralPtr ¶ added in v0.3.0
func LiteralPtr[T comparable](value T, params ...any) *ZodLiteral[T, *T]
func LiteralPtrOf ¶ added in v0.3.0
func LiteralPtrOf[T comparable](values []T, params ...any) *ZodLiteral[T, *T]
type ZodMAC ¶ added in v0.5.4
type ZodMAC[T types.StringConstraint] = types.ZodMAC[T]
Public schema type aliases.
func MACWithDelimiter ¶ added in v0.5.4
type ZodNanoID ¶ added in v0.3.0
type ZodNanoID[T types.StringConstraint] = types.ZodNanoID[T]
Public schema type aliases.
type ZodObject ¶
Public schema type aliases.
func LooseObject ¶
func LooseObjectPtr ¶ added in v0.3.0
func StrictObject ¶
func StrictObjectPtr ¶ added in v0.3.0
type ZodRawIssue ¶
type ZodRawIssue = core.ZodRawIssue
type ZodRecord ¶
Public schema type aliases.
func LooseRecord ¶ added in v0.5.4
func LooseRecordPtr ¶ added in v0.5.4
type ZodRefineFn ¶ added in v0.3.0
type ZodRefineFn[T any] = core.ZodRefineFn[T]
type ZodSchema ¶ added in v0.11.7
ZodSchema is the non-generic runtime schema interface.
func FromJSONSchema ¶ added in v0.5.4
func FromJSONSchema(schema *lib.Schema, opts ...FromJSONSchemaOptions) (ZodSchema, error)
FromJSONSchema converts JSON Schema into a GoZod schema.
type ZodSet ¶ added in v0.5.5
type ZodSet[T comparable, R any] = types.ZodSet[T, R]
Public schema type aliases.
func Set ¶ added in v0.5.5
func Set[T comparable](valueSchema any, paramArgs ...any) *ZodSet[T, map[T]struct{}]
func SetPtr ¶ added in v0.5.5
func SetPtr[T comparable](valueSchema any, paramArgs ...any) *ZodSet[T, *map[T]struct{}]
type ZodString ¶
type ZodString[T types.StringConstraint] = types.ZodString[T]
Public schema type aliases.
type ZodStringBool ¶
type ZodStringBool[T types.StringBoolConstraint] = types.ZodStringBool[T]
Public schema type aliases.
func StringBool ¶
func StringBoolPtr ¶ added in v0.3.0
type ZodTime ¶ added in v0.3.0
type ZodTime[T types.TimeConstraint] = types.ZodTime[T]
Public schema type aliases.
type ZodULID ¶ added in v0.3.0
type ZodULID[T types.StringConstraint] = types.ZodULID[T]
Public schema type aliases.
type ZodURL ¶ added in v0.3.0
type ZodURL[T types.StringConstraint] = types.ZodURL[T]
Public schema type aliases.
func HTTPURLPtr ¶ added in v0.6.0
type ZodUUID ¶ added in v0.3.0
type ZodUUID[T types.StringConstraint] = types.ZodUUID[T]
Public schema type aliases.
type ZodUnknown ¶
type ZodUnknown[T any, R any] = types.ZodUnknown[T, R]
Public schema type aliases.
func UnknownPtr ¶ added in v0.3.0
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gozodgen
command
Package main implements the gozodgen code generation tool.
|
Package main implements the gozodgen code generation tool. |
|
gozodgen/coercionfixture
Package coercionfixture verifies generated coercion parity.
|
Package coercionfixture verifies generated coercion parity. |
|
gozodgen/providerfixture
Package providerfixture verifies generated schema dependency graphs.
|
Package providerfixture verifies generated schema dependency graphs. |
|
Package coerce provides constructors that enable automatic type coercion before validation.
|
Package coerce provides constructors that enable automatic type coercion before validation. |
|
Package core provides the foundation contracts for the gozod validation library, including interfaces, types, and constants used throughout the system.
|
Package core provides the foundation contracts for the gozod validation library, including interfaces, types, and constants used throughout the system. |
|
examples
|
|
|
advanced_lazy
command
|
|
|
circular_references
command
|
|
|
code_generation
command
Package main demonstrates explicit GoZod schema generation from struct tags.
|
Package main demonstrates explicit GoZod schema generation from struct tags. |
|
coerce
command
|
|
|
config
command
|
|
|
custom_tag
command
|
|
|
error_handling
command
|
|
|
format
command
|
|
|
i18n
command
|
|
|
intersection
command
|
|
|
object
command
|
|
|
primitive
command
|
|
|
quickstart
command
|
|
|
struct_tags
command
Package main demonstrates GoZod struct tag validation usage This example covers the most important features in a simple, practical way.
|
Package main demonstrates GoZod struct tag validation usage This example covers the most important features in a simple, practical way. |
|
union
command
|
|
|
internal
|
|
|
checks
Package checks provides validation check factories for the GoZod validation library.
|
Package checks provides validation check factories for the GoZod validation library. |
|
engine
Package engine provides the core parsing and validation engine for GoZod schemas.
|
Package engine provides the core parsing and validation engine for GoZod schemas. |
|
issues
Package issues provides error creation, formatting, and management for GoZod validation.
|
Package issues provides error creation, formatting, and management for GoZod validation. |
|
utils
Package utils provides internal utility functions for the gozod validation library, including error map conversion, parameter normalization, value origin detection, value comparison, and error path formatting.
|
Package utils provides internal utility functions for the gozod validation library, including error map conversion, parameter normalization, value origin detection, value comparison, and error path formatting. |
|
Package jsonschema provides JSON Schema conversion for GoZod schemas.
|
Package jsonschema provides JSON Schema conversion for GoZod schemas. |
|
Package locales provides pre-configured error message formatters for different languages.
|
Package locales provides pre-configured error message formatters for different languages. |
|
pkg
|
|
|
cloneutil
Package cloneutil centralizes deep-copy behavior for GoZod runtime values and schema internals while preserving library-specific semantics.
|
Package cloneutil centralizes deep-copy behavior for GoZod runtime values and schema internals while preserving library-specific semantics. |
|
coerce
Package coerce provides type coercion utilities for converting values between different Go types with proper error handling and overflow detection.
|
Package coerce provides type coercion utilities for converting values between different Go types with proper error handling and overflow detection. |
|
mapx
Package mapx provides type-safe utility functions for working with Go maps.
|
Package mapx provides type-safe utility functions for working with Go maps. |
|
reflectx
Package reflectx provides reflection utilities for type checking and value manipulation.
|
Package reflectx provides reflection utilities for type checking and value manipulation. |
|
regex
Package regex provides pre-compiled regular expressions for common data formats.
|
Package regex provides pre-compiled regular expressions for common data formats. |
|
slicex
Package slicex provides utility functions for working with Go slices.
|
Package slicex provides utility functions for working with Go slices. |
|
structx
Package structx converts between Go structs and map[string]any.
|
Package structx converts between Go structs and map[string]any. |
|
tagparser
Package tagparser parses struct-tag validation rules into a reusable representation shared by GoZod runtime code and codegen.
|
Package tagparser parses struct-tag validation rules into a reusable representation shared by GoZod runtime code and codegen. |
|
transform
Package transform provides string and data transformation utilities such as slugifying strings for URL-friendly formats.
|
Package transform provides string and data transformation utilities such as slugifying strings for URL-friendly formats. |
|
validate
Package validate provides validation functions for various data types and formats.
|
Package validate provides validation functions for various data types and formats. |
|
Package types provides public schema implementations for GoZod validation types.
|
Package types provides public schema implementations for GoZod validation types. |