Versions in this module Expand all Collapse all v1 v1.0.0 Oct 28, 2026 Changes in this version + const DateLayout + const EMPTY + const NULL + const NULLOREMPTY + var ErrBadFormat = NewError("bad format") + var ErrEmptyValue = NewError("empty value") + var ErrFilterNotAllowed = NewError("filter are not allowed") + var ErrFilterNotFound = NewError("filter not found") + var ErrMethodNotAllowed = NewError("method are not allowed") + var ErrNotInScope = NewError("not in scope") + var ErrRequired = NewError("required") + var ErrSimilarNames = NewError("similar names of keys are not allowed") + var ErrUnknownMethod = NewError("unknown method") + var ErrValidationNotFound = NewError("validation not found") + var NowFunc = time.Now + func IsNullOrEmpty(s any) bool + func IsRelativeDate(s string) bool + func ParseDate(s string) (time.Time, error) + type Error struct + func NewError(msg string) *Error + func (e *Error) Error() string + type Filter struct + Key string + Method Method + Name string + OR StateOR + Value any + ValueType string + func (f *Filter) Args() ([]any, error) + func (f *Filter) Where() (string, error) + type Method string + var EQ Method = "EQ" + var GT Method = "GT" + var GTE Method = "GTE" + var ILIKE Method = "ILIKE" + var IN Method = "IN" + var IS Method = "IS" + var LIKE Method = "LIKE" + var LT Method = "LT" + var LTE Method = "LTE" + var NE Method = "NE" + var NILIKE Method = "NILIKE" + var NIN Method = "NIN" + var NLIKE Method = "NLIKE" + var NOT Method = "NOT" + type Query struct + Error error + Fields []string + Filters []*Filter + Limit int + Offset int + Sorts []Sort + func New() *Query + func NewParse(q url.Values, v Validations) (*Query, error) + func NewQV(q url.Values, v Validations) *Query + func (q *Query) AddField(field string) *Query + func (q *Query) AddFilter(name string, m Method, value any) *Query + func (q *Query) AddFilterRaw(condition string, args ...any) *Query + func (q *Query) AddORFilters(fn func(query *Query)) *Query + func (q *Query) AddSortBy(by string, desc bool) *Query + func (q *Query) AddValidation(NameAndTags string, v ValidationFunc) *Query + func (q *Query) Args() []any + func (q *Query) Clone() *Query + func (q *Query) FieldsString() string + func (q *Query) GetFilter(name string) (*Filter, error) + func (q *Query) HaveField(field string) bool + func (q *Query) HaveFilter(name string) bool + func (q *Query) HaveSortBy(by string) bool + func (q *Query) IgnoreUnknownFilters(i bool) *Query + func (q *Query) LIMIT() string + func (q *Query) OFFSET() string + func (q *Query) ORDER() string + func (q *Query) Order() string + func (q *Query) Parse() (err error) + func (q *Query) RemoveFilter(name string) error + func (q *Query) RemoveValidation(NameAndOrTags string) error + func (q *Query) ReplaceNames(r Replacer) + func (q *Query) SELECT() string + func (q *Query) SQL(table string) string + func (q *Query) Select() string + func (q *Query) SetDelimiterIN(d string) *Query + func (q *Query) SetDelimiterOR(d string) *Query + func (q *Query) SetLimit(limit int) *Query + func (q *Query) SetOffset(offset int) *Query + func (q *Query) SetUrlQuery(query url.Values) *Query + func (q *Query) SetUrlString(Url string) error + func (q *Query) SetValidations(v Validations) *Query + func (q *Query) WHERE() string + func (q *Query) Where() string + type Replacer map[string]string + type Sort struct + By string + Desc bool + type StateOR byte + const EndOR + const InOR + const NoOR + const StartOR + type ValidationFunc func(value any) error + func In(values ...any) ValidationFunc + func Max(max int) ValidationFunc + func Min(min int) ValidationFunc + func MinMax(min, max int) ValidationFunc + func Multi(values ...ValidationFunc) ValidationFunc + func NotEmpty() ValidationFunc + type Validations map[string]ValidationFunc