comparators

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFailCastTypeError added in v0.1.0

func NewFailCastTypeError(
	field record.Field,
	cmp where.ComparatorType,
	receivedType any,
	expectedType string,
) error

func NewNotImplementComparatorError added in v0.1.0

func NewNotImplementComparatorError(field record.Field, cmp where.ComparatorType) error

Types

type ComparableFieldComparator added in v0.2.0

type ComparableFieldComparator[R record.Record, T record.LessComparable] struct {
	EqualComparator[R, T]
}

func NewComparableFieldComparator added in v0.2.0

func NewComparableFieldComparator[R record.Record, T record.LessComparable](
	cmp where.ComparatorType,
	getter record.GetterInterface[R, T],
	value ...T,
) ComparableFieldComparator[R, T]

func (ComparableFieldComparator[R, T]) Compare added in v0.2.0

func (fc ComparableFieldComparator[R, T]) Compare(item R) (bool, error)

func (ComparableFieldComparator[R, T]) CompareValue added in v0.2.0

func (fc ComparableFieldComparator[R, T]) CompareValue(value T) (bool, error)

type EqualComparator added in v0.2.0

type EqualComparator[R record.Record, T comparable] struct {
	Cmp    where.ComparatorType
	Getter record.GetterInterface[R, T]
	Value  []T
}

func NewEqualComparator added in v0.2.0

func NewEqualComparator[R record.Record, T comparable](
	cmp where.ComparatorType,
	getter record.GetterInterface[R, T],
	value ...T,
) EqualComparator[R, T]

func (EqualComparator[R, T]) Compare added in v0.2.0

func (fc EqualComparator[R, T]) Compare(item R) (bool, error)

func (EqualComparator[R, T]) CompareValue added in v0.2.0

func (fc EqualComparator[R, T]) CompareValue(value T) (bool, error)

func (EqualComparator[R, T]) GetField added in v0.2.0

func (fc EqualComparator[R, T]) GetField() record.Field

func (EqualComparator[R, T]) GetType added in v0.2.0

func (fc EqualComparator[R, T]) GetType() where.ComparatorType

func (EqualComparator[R, T]) ValueAt added in v0.2.0

func (fc EqualComparator[R, T]) ValueAt(index int) any

func (EqualComparator[R, T]) ValuesCount added in v0.2.0

func (fc EqualComparator[R, T]) ValuesCount() int

type FailCastTypeError added in v0.1.0

type FailCastTypeError struct {
	Field        record.Field
	Cmp          where.ComparatorType
	ExpectedType string
	ReceivedType any
}

func (FailCastTypeError) Error added in v0.1.0

func (e FailCastTypeError) Error() string

func (FailCastTypeError) Is added in v0.1.0

func (e FailCastTypeError) Is(err error) bool

type MapFieldComparator

type MapFieldComparator[R record.Record, K comparable, V any] struct {
	Cmp    where.ComparatorType
	Getter record.MapGetter[R, K, V]
	Value  []any
}

func NewMapFieldComparator added in v0.2.0

func NewMapFieldComparator[R record.Record, K comparable, V any](
	cmp where.ComparatorType,
	getter record.MapGetter[R, K, V],
	value ...any,
) MapFieldComparator[R, K, V]

func (MapFieldComparator[R, K, V]) Compare

func (fc MapFieldComparator[R, K, V]) Compare(item R) (bool, error)

func (MapFieldComparator[R, K, V]) CompareValue

func (fc MapFieldComparator[R, K, V]) CompareValue(value record.Map[K, V]) (bool, error)

func (MapFieldComparator[R, K, V]) GetField

func (fc MapFieldComparator[R, K, V]) GetField() record.Field

func (MapFieldComparator[R, K, V]) GetType

func (fc MapFieldComparator[R, K, V]) GetType() where.ComparatorType

func (MapFieldComparator[R, K, V]) ValueAt added in v0.1.0

func (fc MapFieldComparator[R, K, V]) ValueAt(index int) any

func (MapFieldComparator[R, K, V]) ValuesCount added in v0.1.0

func (fc MapFieldComparator[R, K, V]) ValuesCount() int

type NotImplementComparatorError added in v0.1.0

type NotImplementComparatorError struct {
	Field record.Field
	Cmp   where.ComparatorType
}

func (NotImplementComparatorError) Error added in v0.1.0

func (NotImplementComparatorError) Is added in v0.1.0

type SetFieldComparator

type SetFieldComparator[R record.Record, T comparable] struct {
	Cmp    where.ComparatorType
	Getter record.SetGetter[R, T]
	Value  []T
}

func NewSetFieldComparator added in v0.2.0

func NewSetFieldComparator[R record.Record, T comparable](
	cmp where.ComparatorType,
	getter record.SetGetter[R, T],
	value ...T,
) SetFieldComparator[R, T]

func (SetFieldComparator[R, T]) Compare

func (fc SetFieldComparator[R, T]) Compare(item R) (bool, error)

func (SetFieldComparator[R, T]) CompareValue

func (fc SetFieldComparator[R, T]) CompareValue(value record.Set[T]) (bool, error)

func (SetFieldComparator[R, T]) GetField

func (fc SetFieldComparator[R, T]) GetField() record.Field

func (SetFieldComparator[R, T]) GetType

func (fc SetFieldComparator[R, T]) GetType() where.ComparatorType

func (SetFieldComparator[R, T]) ValueAt added in v0.1.0

func (fc SetFieldComparator[R, T]) ValueAt(index int) any

func (SetFieldComparator[R, T]) ValuesCount added in v0.1.0

func (fc SetFieldComparator[R, T]) ValuesCount() int

type StringFieldComparator

type StringFieldComparator[R record.Record] struct {
	ComparableFieldComparator[R, string]
}

StringFieldComparator is a comparator for string field.

func NewStringFieldComparator added in v0.2.0

func NewStringFieldComparator[R record.Record](
	cmp where.ComparatorType,
	getter record.ComparableGetter[R, string],
	values ...string,
) StringFieldComparator[R]

func (StringFieldComparator[R]) Compare

func (fc StringFieldComparator[R]) Compare(item R) (bool, error)

func (StringFieldComparator[R]) CompareValue

func (fc StringFieldComparator[R]) CompareValue(value string) (bool, error)

type StringFieldRegexpComparator

type StringFieldRegexpComparator[R record.Record] struct {
	Cmp    where.ComparatorType
	Getter record.ComparableGetter[R, string]
	Value  *regexp.Regexp
}

StringFieldRegexpComparator is a special comparator for handling Regexp.

func NewStringFieldRegexpComparator added in v0.2.0

func NewStringFieldRegexpComparator[R record.Record](
	cmp where.ComparatorType,
	getter record.ComparableGetter[R, string],
	value *regexp.Regexp,
) StringFieldRegexpComparator[R]

func (StringFieldRegexpComparator[R]) Compare

func (fc StringFieldRegexpComparator[R]) Compare(item R) (bool, error)

func (StringFieldRegexpComparator[R]) CompareValue

func (fc StringFieldRegexpComparator[R]) CompareValue(value string) (bool, error)

func (StringFieldRegexpComparator[R]) GetField

func (fc StringFieldRegexpComparator[R]) GetField() record.Field

func (StringFieldRegexpComparator[R]) GetType

func (fc StringFieldRegexpComparator[R]) GetType() where.ComparatorType

func (StringFieldRegexpComparator[R]) ValueAt added in v0.1.0

func (fc StringFieldRegexpComparator[R]) ValueAt(index int) any

func (StringFieldRegexpComparator[R]) ValuesCount added in v0.1.0

func (fc StringFieldRegexpComparator[R]) ValuesCount() int

Jump to

Keyboard shortcuts

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