schema

package
v0.24.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

validate/schema/options.go

schema/schema.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnySchema

type AnySchema interface {
	ValidateAny(input any, options Options) (any, error)
	OutputType() reflect.Type
}

type Formatter

type Formatter = func(path string, code string, message string, meta map[string]any) string

type Option

type Option func(*Options)

func WithAdditionalDateLayouts

func WithAdditionalDateLayouts(layouts ...string) Option

func WithCoerce

func WithCoerce(value bool) Option

func WithCoerceDateUnixMilliseconds

func WithCoerceDateUnixMilliseconds(value bool) Option

func WithCoerceDateUnixSeconds

func WithCoerceDateUnixSeconds(value bool) Option

func WithCoerceDurationMilliseconds

func WithCoerceDurationMilliseconds(value bool) Option

func WithCoerceDurationSeconds

func WithCoerceDurationSeconds(value bool) Option

func WithCoerceNumberUnderscore

func WithCoerceNumberUnderscore(value bool) Option

func WithCoerceTrimSpace

func WithCoerceTrimSpace(value bool) Option

func WithDateLayouts

func WithDateLayouts(layouts ...string) Option

func WithDefaultOnNull

func WithDefaultOnNull(value bool) Option

func WithFailFast

func WithFailFast(value bool) Option

func WithFormatter

func WithFormatter(formatter Formatter) Option

func WithMaxIssues

func WithMaxIssues(value int) Option

func WithOmitEmpty

func WithOmitEmpty(value bool) Option

func WithOmitNil

func WithOmitNil(value bool) Option

func WithOmitZero

func WithOmitZero(value bool) Option

func WithTimeLocation

func WithTimeLocation(location *time.Location) Option

func WithTimeZone

func WithTimeZone(name string) Option

func WithTimezone

func WithTimezone(name string) Option

type Options

type Options struct {
	FailFast                   bool
	MaxIssues                  int
	DefaultOnNull              bool
	Coerce                     bool
	OmitZero                   bool
	OmitNil                    bool
	OmitEmpty                  bool
	Formatter                  Formatter
	CoerceTrimSpace            bool
	CoerceNumberUnderscore     bool
	CoerceDateUnixSeconds      bool
	CoerceDateUnixMilliseconds bool
	CoerceDurationSeconds      bool
	CoerceDurationMilliseconds bool
	TimeLocation               *time.Location
	DateLayouts                []string
}

func ApplyOptions

func ApplyOptions(optionList ...Option) Options

func DefaultOptions

func DefaultOptions() Options

type Schema

type Schema[T any] interface {
	Validate(input any, optionList ...Option) (T, error)
}

Directories

Path Synopsis
schema/array/array.go
schema/array/array.go
schema/boolean/boolean.go
schema/boolean/boolean.go
schema/combinator/combinator.go
schema/combinator/combinator.go
schema/date/date.go
schema/date/date.go
schema/duration/duration.go
schema/duration/duration.go
schema/number/number.go
schema/number/number.go
util
schema/number/util/util.go
schema/number/util/util.go
schema/object/object.go
schema/object/object.go
schema/record/record.go
schema/record/record.go
schema/text/text.go
schema/text/text.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL