filter

package
v0.0.0-...-7da7200 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Operators = struct {
	EQ          Operator
	GT          Operator
	GTE         Operator
	LT          Operator
	LTE         Operator
	NEQ         Operator
	IS          Operator
	IS_NOT      Operator
	LIKE        Operator
	CONTAINS    Operator
	STARTS_WITH Operator
	ENDS_WITH   Operator
}{
	EQ:          "=",
	GT:          ">",
	GTE:         ">=",
	LT:          "<",
	LTE:         "<=",
	NEQ:         "<>",
	IS:          "is",
	IS_NOT:      "is not",
	LIKE:        "like",
	CONTAINS:    "contains",
	STARTS_WITH: "starts with",
	ENDS_WITH:   "ends with",
}

List of Operators

Functions

This section is empty.

Types

type Condition

type Condition struct {
	Field    string
	Operator Operator
	Value    interface{}
}

func NewCondition

func NewCondition(field string, op Operator, value interface{}) *Condition

func (*Condition) BuildQuery

func (c *Condition) BuildQuery() string

func (*Condition) String

func (c *Condition) String() string

type Conjunction

type Conjunction struct {
	Left  Expression
	Right Expression
}

func NewConjunction

func NewConjunction(left Expression, right Expression) *Conjunction

func (*Conjunction) BuildQuery

func (c *Conjunction) BuildQuery() string

func (*Conjunction) String

func (c *Conjunction) String() string

type Disjunction

type Disjunction struct {
	Left  Expression
	Right Expression
}

func NewDisjunction

func NewDisjunction(left Expression, right Expression) *Disjunction

func (*Disjunction) BuildQuery

func (c *Disjunction) BuildQuery() string

func (*Disjunction) String

func (c *Disjunction) String() string

type Expression

type Expression interface {
	BuildQuery() string
	String() string
}

type Filter

type Filter struct {
	Expression Expression
}

func NewEmptyFilter

func NewEmptyFilter() *Filter

func NewFilter

func NewFilter(e Expression) *Filter

func (*Filter) And

func (f *Filter) And(field string, op Operator, value interface{}) *Filter

func (*Filter) AndExpression

func (f *Filter) AndExpression(e Expression) *Filter

func (*Filter) AndFilter

func (f *Filter) AndFilter(filter Filter) *Filter

func (*Filter) BuildQuery

func (f *Filter) BuildQuery() string

func (*Filter) BuildUrlEncodedQuery

func (f *Filter) BuildUrlEncodedQuery() string

func (*Filter) Or

func (f *Filter) Or(field string, op Operator, value interface{}) *Filter

func (*Filter) OrExpression

func (f *Filter) OrExpression(e Expression) *Filter

func (*Filter) OrFilter

func (f *Filter) OrFilter(filter Filter) *Filter

func (*Filter) String

func (f *Filter) String() string

func (*Filter) Where

func (f *Filter) Where(field string, op Operator, value interface{}) *Filter

func (*Filter) WhereExpression

func (f *Filter) WhereExpression(e Expression) *Filter

type Operator

type Operator string

Operator

Jump to

Keyboard shortcuts

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