Documentation
¶
Index ¶
- Variables
- func Cast[From, To any](v From) (To, error)
- type AddWhereOption
- type BracketsOption
- type Builder
- type BuilderGeneric
- type BuilderOption
- func Brackets(opts ...BuilderOption) BuilderOption
- func CloseBracket() BuilderOption
- func Error(err error) BuilderOption
- func Limit(limitItems int) BuilderOption
- func Not() BuilderOption
- func Offset(startOffset int) BuilderOption
- func OpenBracket() BuilderOption
- func Sort[R record.Record](by sort.ByWithOrder[R]) BuilderOption
- func Where[R record.Record, T record.LessComparable](getter record.ComparableGetter[R, T], condition where.ComparatorType, ...) BuilderOption
- func WhereAny[R record.Record](getter record.GetterInterface[R, any], condition where.ComparatorType, ...) BuilderOption
- func WhereBool[R record.Record](getter record.BoolGetter[R], condition where.ComparatorType, value ...bool) BuilderOption
- func WhereMap[R record.Record, K comparable, V any](getter record.MapGetter[R, K, V], condition where.ComparatorType, value ...any) BuilderOption
- func WhereSet[R record.Record, T comparable](getter record.SetGetter[R, T], condition where.ComparatorType, value ...T) BuilderOption
- func WhereStringRegexp[R record.Record](getter record.ComparableGetter[R, string], value *regexp.Regexp) BuilderOption
- type CastError
- type CloseBracketOption
- type ErrorOption
- type GetterError
- type LimitOption
- type NotOption
- type OffsetOption
- type OnIterationOption
- type OpenBracketOption
- type OrOption
- type Query
- type SortOption
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrOrBeforeAnyConditions = errors.New(".Or() before any condition not supported, add any condition before .Or()") ErrNotOpenBracket = errors.New(".Not().OpenBracket() not supported") ErrCloseBracketWithoutOpen = errors.New("close bracket without open") ErrInvalidBracketBalance = errors.New("invalid bracket balance: has not closed bracket") )
Functions ¶
Types ¶
type AddWhereOption ¶ added in v0.0.3
type AddWhereOption[R record.Record] struct { Cmp where.FieldComparator[R] }
func (AddWhereOption[R]) Apply ¶ added in v0.0.3
func (o AddWhereOption[R]) Apply(b any)
type BracketsOption ¶ added in v0.2.0
type BracketsOption []BuilderOption
func (BracketsOption) Apply ¶ added in v0.2.0
func (o BracketsOption) Apply(b any)
type Builder ¶
type Builder interface { Limit(limitItems int) Offset(startOffset int) Not() Or() OpenBracket() CloseBracket() // Append apply new options to builder Append(options ...BuilderOption) // Error save error to builder Error(err error) }
type BuilderGeneric ¶ added in v0.2.0
type BuilderGeneric[R record.Record] interface { Builder AddWhere(cmp where.FieldComparator[R]) Sort(by sort.ByWithOrder[R]) // OnIteration registers a callback to be called for each record before sorting and applying offset/limits // but after applying WHERE conditions OnIteration(cb func(item R)) MakeCopy() BuilderGeneric[R] // Query return build Query Query() Query[R] }
func NewBuilder ¶
func NewBuilder[R record.Record](options ...BuilderOption) BuilderGeneric[R]
type BuilderOption ¶ added in v0.0.3
type BuilderOption interface {
Apply(b any)
}
func Brackets ¶ added in v0.2.0
func Brackets(opts ...BuilderOption) BuilderOption
func CloseBracket ¶ added in v0.0.3
func CloseBracket() BuilderOption
func Error ¶ added in v0.2.0
func Error(err error) BuilderOption
func Limit ¶ added in v0.0.3
func Limit(limitItems int) BuilderOption
func Not ¶ added in v0.0.3
func Not() BuilderOption
func Offset ¶ added in v0.0.3
func Offset(startOffset int) BuilderOption
func OpenBracket ¶ added in v0.0.3
func OpenBracket() BuilderOption
func Sort ¶ added in v0.0.3
func Sort[R record.Record](by sort.ByWithOrder[R]) BuilderOption
func Where ¶ added in v0.0.3
func Where[R record.Record, T record.LessComparable]( getter record.ComparableGetter[R, T], condition where.ComparatorType, value ...T, ) BuilderOption
func WhereAny ¶ added in v0.2.0
func WhereAny[R record.Record]( getter record.GetterInterface[R, any], condition where.ComparatorType, values ...any, ) BuilderOption
func WhereBool ¶ added in v0.0.3
func WhereBool[R record.Record]( getter record.BoolGetter[R], condition where.ComparatorType, value ...bool, ) BuilderOption
func WhereMap ¶ added in v0.0.3
func WhereMap[R record.Record, K comparable, V any]( getter record.MapGetter[R, K, V], condition where.ComparatorType, value ...any, ) BuilderOption
func WhereSet ¶ added in v0.0.3
func WhereSet[R record.Record, T comparable]( getter record.SetGetter[R, T], condition where.ComparatorType, value ...T, ) BuilderOption
func WhereStringRegexp ¶ added in v0.0.3
func WhereStringRegexp[R record.Record]( getter record.ComparableGetter[R, string], value *regexp.Regexp, ) BuilderOption
type CloseBracketOption ¶ added in v0.0.3
type CloseBracketOption struct{}
func (CloseBracketOption) Apply ¶ added in v0.0.3
func (CloseBracketOption) Apply(b any)
type ErrorOption ¶ added in v0.2.0
type ErrorOption struct {
// contains filtered or unexported fields
}
func (ErrorOption) Apply ¶ added in v0.2.0
func (o ErrorOption) Apply(b any)
type GetterError ¶ added in v0.2.0
func (GetterError) Error ¶ added in v0.2.0
func (e GetterError) Error() string
func (GetterError) Unwrap ¶ added in v0.2.0
func (e GetterError) Unwrap() error
type LimitOption ¶ added in v0.0.3
type LimitOption int
func (LimitOption) Apply ¶ added in v0.0.3
func (o LimitOption) Apply(b any)
type OffsetOption ¶ added in v0.0.3
type OffsetOption int
func (OffsetOption) Apply ¶ added in v0.0.3
func (o OffsetOption) Apply(b any)
type OnIterationOption ¶ added in v0.0.3
func OnIteration ¶ added in v0.0.3
func OnIteration[R record.Record](cb func(item R)) OnIterationOption[R]
func (OnIterationOption[R]) Apply ¶ added in v0.0.3
func (o OnIterationOption[R]) Apply(b any)
type OpenBracketOption ¶ added in v0.0.3
type OpenBracketOption struct{}
func (OpenBracketOption) Apply ¶ added in v0.0.3
func (OpenBracketOption) Apply(b any)
type Query ¶
type Query[R record.Record] interface { Conditions() where.Conditions[R] Sorting() []sort.ByWithOrder[R] Limit() (count int, set bool) Offset() int OnIterationCallback() *func(item R) Error() error }
type SortOption ¶ added in v0.0.3
func (SortOption[R]) Apply ¶ added in v0.0.3
func (o SortOption[R]) Apply(b any)
Click to show internal directories.
Click to hide internal directories.