 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func BuildQuery(expression query.FilterExpression) (map[string]string, error)
- func FilterError(cause string) error
- func ParseQuery(q map[string]string) (query.FilterExpression, error)
- func ParseQueryWithTransform(q map[string]string, transformer Transformer) (query.FilterExpression, error)
- type Operation
- type RequestQueryParser
- type Transformer
- type TransformerFunc
- type TransformerMux
Constants ¶
      View Source
      
  
const (
	QueryKeyFilterExpression = "q"
)
    Variables ¶
      View Source
      
  
var (
	ErrFilter = errors.New("filter error")
)
    Functions ¶
func BuildQuery ¶
func BuildQuery(expression query.FilterExpression) (map[string]string, error)
func FilterError ¶
func ParseQuery ¶
func ParseQuery(q map[string]string) (query.FilterExpression, error)
func ParseQueryWithTransform ¶
func ParseQueryWithTransform(q map[string]string, transformer Transformer) (query.FilterExpression, error)
Types ¶
type RequestQueryParser ¶
type RequestQueryParser struct {
	Transformer Transformer
}
    func NewRequestQueryParser ¶
func NewRequestQueryParser(options ...func(*RequestQueryParser)) RequestQueryParser
func (RequestQueryParser) ParseFilterQuery ¶
func (p RequestQueryParser) ParseFilterQuery(r *http.Request) (query.FilterExpression, error)
type Transformer ¶
type Transformer interface {
	TransformFilterToken(*query.Filter) (query.FilterExpression, error)
}
    type TransformerFunc ¶
type TransformerFunc func(*query.Filter) (query.FilterExpression, error)
func (TransformerFunc) TransformFilterToken ¶
func (f TransformerFunc) TransformFilterToken(t *query.Filter) (query.FilterExpression, error)
type TransformerMux ¶
type TransformerMux struct {
	Strict       bool
	Transformers map[string]Transformer
}
    func (TransformerMux) TransformFilterToken ¶
func (t TransformerMux) TransformFilterToken(token *query.Filter) (query.FilterExpression, error)
 Click to show internal directories. 
   Click to hide internal directories.