Documentation
¶
Index ¶
- Constants
- type DecreasingNumber
- type IncreasingNumber
- type NonDecreasingNumber
- type NonEmptyString
- type NonIncreasingNumber
- type NopNumber
- type Number
- type PrefixString
- type RangeNumber
- type SetOnce
- type SubstringString
- type SuffixString
- type TrimmedString
- type ValidatedNumber
- type ValidatedString
- type ValidatedType
- type ValidatedTypeBase
- type Validator
- func MakeContradictionValidator[T any](message string) Validator[T]
- func MakeDefaultContradictionValidator[T any]() Validator[T]
- func MakeDefaultRangeValidator[T constraints.Ordered](min T, max T) Validator[T]
- func MakeNilValidator[T any]() Validator[T]
- func MakeNonEmptyStringValidator() Validator[string]
- func MakePrefixValidator(prefix string) Validator[string]
- func MakeRangeValidator[T constraints.Ordered](min T, max T, message string) Validator[T]
- func MakeSubstringValidator(substring string) Validator[string]
- func MakeSuffixValidator(suffix string) Validator[string]
- func MakeTautologyValidator[T any]() Validator[T]
- func MakeTrimmedValidator() Validator[string]
Examples ¶
Constants ¶
View Source
const DEBUG = false
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DecreasingNumber ¶
type DecreasingNumber[T Number] struct { ValidatedNumber[T] }
func NewDecreasingNumber ¶
func NewDecreasingNumber[T Number](value T) DecreasingNumber[T]
func NewDecreasingNumberBare ¶
func NewDecreasingNumberBare[T Number]() DecreasingNumber[T]
func (*DecreasingNumber[T]) Set ¶
func (v *DecreasingNumber[T]) Set(value T)
type IncreasingNumber ¶
type IncreasingNumber[T Number] struct { ValidatedNumber[T] }
func NewIncreasingNumber ¶
func NewIncreasingNumber[T Number](value T) IncreasingNumber[T]
func NewIncreasingNumberBare ¶
func NewIncreasingNumberBare[T Number]() IncreasingNumber[T]
func (*IncreasingNumber[T]) Set ¶
func (v *IncreasingNumber[T]) Set(value T)
type NonDecreasingNumber ¶
type NonDecreasingNumber[T Number] struct { ValidatedNumber[T] }
func NewNonDecreasingNumber ¶
func NewNonDecreasingNumber[T Number](value T) NonDecreasingNumber[T]
func NewNonDecreasingNumberBare ¶
func NewNonDecreasingNumberBare[T Number]() NonDecreasingNumber[T]
func (*NonDecreasingNumber[T]) Set ¶
func (v *NonDecreasingNumber[T]) Set(value T)
type NonEmptyString ¶
type NonEmptyString struct {
ValidatedString
}
func NewNonEmptyString ¶
func NewNonEmptyString(value string, prefix string) NonEmptyString
type NonIncreasingNumber ¶
type NonIncreasingNumber[T Number] struct { ValidatedNumber[T] }
func NewNonIncreasingNumber ¶
func NewNonIncreasingNumber[T Number](value T) NonIncreasingNumber[T]
func NewNonIncreasingNumberBare ¶
func NewNonIncreasingNumberBare[T Number]() NonIncreasingNumber[T]
func (*NonIncreasingNumber[T]) Set ¶
func (v *NonIncreasingNumber[T]) Set(value T)
type NopNumber ¶
type NopNumber[T Number] struct { ValidatedNumber[T] }
func NewNopNumber ¶
func NewNopNumberBare ¶
type Number ¶
type Number interface {
constraints.Integer | constraints.Float
}
type PrefixString ¶
type PrefixString struct {
ValidatedString
}
func NewPrefixString ¶
func NewPrefixString(value string, prefix string) PrefixString
type RangeNumber ¶
type RangeNumber[T Number] struct { ValidatedNumber[T] }
func NewRangeNumber ¶
func NewRangeNumber[T Number](value T, min T, max T) RangeNumber[T]
func NewRangeNumberBare ¶
func NewRangeNumberBare[T Number](min T, max T) RangeNumber[T]
type SetOnce ¶
type SetOnce[T any] struct { ValidatedTypeBase[T] }
func NewSetOnce ¶
Example ¶
if !DEBUG {
panic(MessageRequireDebug)
}
i := NewSetOnce(42)
fmt.Println(i.Get())
Output: 42
func NewSetOnceBare ¶
Example ¶
if !DEBUG {
panic(MessageRequireDebug)
}
defer func() {
if r := recover(); r != nil {
fmt.Println("panic:", r)
}
}()
i := NewSetOnceBare[int]()
fmt.Println(i.Get())
Output: panic: Value has not been set
func (*SetOnce[T]) Set ¶
func (v *SetOnce[T]) Set(value T)
Example ¶
if !DEBUG {
panic(MessageRequireDebug)
}
i := NewSetOnceBare[int]()
i.Set(43)
fmt.Println(i.Get())
Output: 43
Example (SetTwice) ¶
if !DEBUG {
panic(MessageRequireDebug)
}
defer func() {
if r := recover(); r != nil {
fmt.Println("panic:", r)
}
}()
i := NewSetOnce(42)
i.Set(43)
Output: panic: Value can only be set once
type SubstringString ¶
type SubstringString struct {
ValidatedString
}
func NewSubstringString ¶
func NewSubstringString(value string, substring string) SubstringString
type SuffixString ¶
type SuffixString struct {
ValidatedString
}
func NewSuffixString ¶
func NewSuffixString(value string, suffix string) SuffixString
type TrimmedString ¶
type TrimmedString struct {
ValidatedString
}
func NewTrimmedString ¶
func NewTrimmedString(value string) TrimmedString
func NewTrimmedStringBare ¶
func NewTrimmedStringBare() TrimmedString
type ValidatedNumber ¶
type ValidatedNumber[T Number] struct { ValidatedType[T] // contains filtered or unexported fields }
func NewValidatedNumber ¶
func NewValidatedNumber[T Number](value T, validator Validator[T]) ValidatedNumber[T]
func NewValidatedNumberBare ¶
func NewValidatedNumberBare[T Number](validator Validator[T]) ValidatedNumber[T]
func (*ValidatedNumber[T]) Get ¶
func (v *ValidatedNumber[T]) Get() T
func (*ValidatedNumber[T]) Set ¶
func (v *ValidatedNumber[T]) Set(value T)
type ValidatedString ¶
type ValidatedString struct {
ValidatedType[string]
// contains filtered or unexported fields
}
func NewValidatedString ¶
func NewValidatedString(value string, validator Validator[string]) ValidatedString
func NewValidatedStringBare ¶
func NewValidatedStringBare(validator Validator[string]) ValidatedString
func (*ValidatedString) Get ¶
func (v *ValidatedString) Get() string
func (*ValidatedString) Set ¶
func (v *ValidatedString) Set(value string)
type ValidatedType ¶
type ValidatedTypeBase ¶
type ValidatedTypeBase[T any] struct { // contains filtered or unexported fields }
func NewValidatedTypeBase ¶
func NewValidatedTypeBase[T any](value T) ValidatedTypeBase[T]
func NewValidatedTypeBaseBare ¶
func NewValidatedTypeBaseBare[T any]() ValidatedTypeBase[T]
func (ValidatedTypeBase[T]) Get ¶
func (v ValidatedTypeBase[T]) Get() T
func (ValidatedTypeBase[T]) GetValidator ¶
func (v ValidatedTypeBase[T]) GetValidator() Validator[T]
func (*ValidatedTypeBase[T]) Set ¶
func (v *ValidatedTypeBase[T]) Set(t T)
func (*ValidatedTypeBase[T]) SetValidator ¶
func (v *ValidatedTypeBase[T]) SetValidator(validator Validator[T])
func (ValidatedTypeBase[T]) Validate ¶
func (v ValidatedTypeBase[T]) Validate()
type Validator ¶
type Validator[T any] func(T)
func MakeContradictionValidator ¶
MakeContradictionValidator returns a validator that always fails.
func MakeDefaultContradictionValidator ¶
MakeDefaultContradictionValidator returns a validator that always fails.
func MakeDefaultRangeValidator ¶
func MakeDefaultRangeValidator[T constraints.Ordered](min T, max T) Validator[T]
MakeDefaultRangeValidator returns a validator that checks if a value is within a range.
func MakeNilValidator ¶
MakeNilValidator returns a nil validator.
func MakePrefixValidator ¶
func MakeRangeValidator ¶
func MakeRangeValidator[T constraints.Ordered](min T, max T, message string) Validator[T]
MakeRangeValidator returns a validator that checks if a value is within a range.
func MakeSubstringValidator ¶
func MakeSuffixValidator ¶
func MakeTautologyValidator ¶
MakeTautologyValidator returns a validator that always passes.
func MakeTrimmedValidator ¶
Source Files
¶
- debug_flag_false.go
- decreasing_number.go
- increasing_number.go
- interfaces.go
- non_decreasing_number.go
- non_empty_string.go
- non_increasing_number.go
- nop_number.go
- prefix_string.go
- range_number.go
- set_once_number.go
- substring_string.go
- suffix_string.go
- trimmed_string.go
- validated_number.go
- validated_string.go
- validated_type.go
- validated_type_base.go
- validators.go
Click to show internal directories.
Click to hide internal directories.