Documentation ¶
Index ¶
- Variables
- func BuildOperatorMap(opes []Ope) map[string]Ope
- func ReflectWalkIn(base *reflect.Value, field, sep string, f func(*reflect.Value) error) error
- func ReflectWalkInImpl(curr *reflect.Value, fields []string, f func(*reflect.Value) error) error
- type Assigner
- type Assigners
- type Condition
- type ConditionPredict
- type Conditions
- type Ope
- type QueryBuilder
- func (qb *QueryBuilder) AddCondition(field string, ope Ope, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) AddIntFilter(name string, value int) *QueryBuilder
- func (qb *QueryBuilder) AddSort(field string) *QueryBuilder
- func (qb *QueryBuilder) Asc(field string) *QueryBuilder
- func (qb *QueryBuilder) Build(q *datastore.Query) (*datastore.Query, Assigners)
- func (qb *QueryBuilder) BuildForCount(q *datastore.Query) *datastore.Query
- func (qb *QueryBuilder) BuildForList(q *datastore.Query) (*datastore.Query, Assigners)
- func (qb *QueryBuilder) Desc(field string) *QueryBuilder
- func (qb *QueryBuilder) Eq(field string, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) Gt(field string, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) Gte(field string, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) Ineq(ope Ope, field string, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) Limit(v int) *QueryBuilder
- func (qb *QueryBuilder) Lt(field string, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) Lte(field string, value interface{}) *QueryBuilder
- func (qb *QueryBuilder) Offset(v int) *QueryBuilder
- func (qb *QueryBuilder) ProjectFields() Strings
- func (qb *QueryBuilder) Starts(field, value string) *QueryBuilder
- type QueryFilter
- type Strings
- type ValuedFilter
Constants ¶
This section is empty.
Variables ¶
View Source
var OperatorMap = BuildOperatorMap(Operators)
Functions ¶
func BuildOperatorMap ¶
func ReflectWalkIn ¶
Types ¶
type Assigner ¶
type Assigner struct { Field string `json:"field"` Value interface{} `json:"value"` }
func AssignerFor ¶
type Condition ¶
type Condition struct { Field string `json:"field"` Ope Ope `json:"ope"` Value interface{} `json:"value"` }
func (*Condition) OriginalTypeValue ¶ added in v0.2.1
func (c *Condition) OriginalTypeValue() interface{}
type ConditionPredict ¶
type Conditions ¶
type Conditions []*Condition
func (Conditions) HasMultipleIneqFields ¶
func (s Conditions) HasMultipleIneqFields() bool
func (Conditions) IneqFields ¶
func (s Conditions) IneqFields() Strings
type QueryBuilder ¶
type QueryBuilder struct { Fields Strings `json:"fields,omitempty"` Ignored Strings `json:"ignored,omitempty"` SortFields Strings `json:"sort_fields,omitempty"` Conditions Conditions `json:"conditions,omitempty"` Filters []*ValuedFilter `json:"filters,omitempty"` Assigns Assigners `json:"assigns,omitempty"` }
func New ¶
func New(fields ...string) *QueryBuilder
func (*QueryBuilder) AddCondition ¶
func (qb *QueryBuilder) AddCondition(field string, ope Ope, value interface{}) *QueryBuilder
func (*QueryBuilder) AddIntFilter ¶
func (qb *QueryBuilder) AddIntFilter(name string, value int) *QueryBuilder
func (*QueryBuilder) AddSort ¶
func (qb *QueryBuilder) AddSort(field string) *QueryBuilder
func (*QueryBuilder) Asc ¶
func (qb *QueryBuilder) Asc(field string) *QueryBuilder
func (*QueryBuilder) BuildForCount ¶
func (qb *QueryBuilder) BuildForCount(q *datastore.Query) *datastore.Query
func (*QueryBuilder) BuildForList ¶
func (*QueryBuilder) Desc ¶
func (qb *QueryBuilder) Desc(field string) *QueryBuilder
func (*QueryBuilder) Eq ¶
func (qb *QueryBuilder) Eq(field string, value interface{}) *QueryBuilder
func (*QueryBuilder) Gt ¶
func (qb *QueryBuilder) Gt(field string, value interface{}) *QueryBuilder
func (*QueryBuilder) Gte ¶
func (qb *QueryBuilder) Gte(field string, value interface{}) *QueryBuilder
func (*QueryBuilder) Ineq ¶
func (qb *QueryBuilder) Ineq(ope Ope, field string, value interface{}) *QueryBuilder
func (*QueryBuilder) Limit ¶
func (qb *QueryBuilder) Limit(v int) *QueryBuilder
func (*QueryBuilder) Lt ¶
func (qb *QueryBuilder) Lt(field string, value interface{}) *QueryBuilder
func (*QueryBuilder) Lte ¶
func (qb *QueryBuilder) Lte(field string, value interface{}) *QueryBuilder
func (*QueryBuilder) Offset ¶
func (qb *QueryBuilder) Offset(v int) *QueryBuilder
func (*QueryBuilder) ProjectFields ¶
func (qb *QueryBuilder) ProjectFields() Strings
func (*QueryBuilder) Starts ¶
func (qb *QueryBuilder) Starts(field, value string) *QueryBuilder
Source Files ¶
Click to show internal directories.
Click to hide internal directories.