Versions in this module Expand all Collapse all v0 v0.1.25 Feb 24, 2025 Changes in this version + const DefaultFieldSep + const DefaultLimit + const DefaultMaxLimit + const DefaultTagName + const LimitOp + const OffsetOp + const SelectOp + const SortOp + var ErrBlocBracket = errors.New("bloc is a square bracket") + var ErrBlocValue = errors.New("bloc is a value") + var ErrInvalidPlacementSqrBrBloc = errors.New("invalid formation of square brackets bloc") + var ErrParenthesisMalformed = errors.New("parenthesis bloc is malformed") + var ErrUnregonizedBloc = errors.New("unrecognized bloc") + var ReservedRunes = []rune + func Column(s string) string + func IsDigit(ch rune) bool + func IsLetter(ch rune) bool + func IsValidField(s string) bool + type Config struct + ColumnFn func(string) string + DefaultLimit int + FieldSep string + LimitMaxValue int + Log func(string, ...interface{}) + Model interface{} + TagName string + type Parser struct + func NewParser(c *Config) (*Parser, error) + func (p *Parser) GetFieldValidationFunc() ValidationFunc + func (p *Parser) Parse(r io.Reader) (root *RqlRootNode, err error) + func (p *Parser) ParseURL(q url.Values) (root *RqlRootNode, err error) + type RqlNode struct + Args []interface{} + Op string + type RqlRootNode struct + Node *RqlNode + func (r *RqlRootNode) Limit() string + func (r *RqlRootNode) Offset() string + func (r *RqlRootNode) Selects() []string + func (r *RqlRootNode) Sort() []Sort + type Scanner struct + func NewScanner() *Scanner + func (s *Scanner) Scan(r io.Reader) (out []TokenString, err error) + func (s *Scanner) ScanToken() (tok Token, lit string) + type Sort struct + By string + Desc bool + type Token int + const Ampersand + const And + const AtSymbol + const ClosingParenthesis + const ClosingSquareBracket + const Comma + const Eof + const Equal + const EqualSign + const Greater + const GreaterOrEqual + const Ident + const Illegal + const Lower + const LowerOrEqual + const NotEqual + const OpeningParenthesis + const OpeningSquareBracket + const Or + const Pipe + const QuestionMark + const SemiColon + const Slash + const Space + type TokenBloc []TokenString + func (tb TokenBloc) String() (s string) + type TokenString struct + func NewTokenString(t Token, s string) TokenString + type ValidationFunc func(*RqlNode) error