Documentation
¶
Overview ¶
Package builder generates dynamic expressions based on a set of url.Values and a map of allowed fields. It supports several different data types, along with a simple list of operators that can be applied to each predicate.
Index ¶
- Constants
- type Builder
- func (b Builder) Bool(name string, options ...FieldOption) Builder
- func (b Builder) Evaluate(values url.Values) exp.Expression
- func (b Builder) EvaluateAll(values url.Values) (exp.Expression, error)
- func (b Builder) EvaluateField(field Field, values []string) exp.Expression
- func (b Builder) HasURLParams(values url.Values) bool
- func (b Builder) Int(name string, options ...FieldOption) Builder
- func (b Builder) Int64(name string, options ...FieldOption) Builder
- func (b Builder) Location(name string, options ...FieldOption) Builder
- func (b Builder) ObjectID(name string, options ...FieldOption) Builder
- func (b Builder) String(name string, options ...FieldOption) Builder
- func (b Builder) Time(name string, options ...FieldOption) Builder
- type Field
- type FieldOption
- type Filter
Constants ¶
const DataTypeBool = "BOOL"
DataTypeFloat represents a boolean parameter
const DataTypeInt = "INT"
DataTypeInt represents an integer parameter
const DataTypeInt64 = "INT64"
DataTypeFloat represents a 64-bit integer parameter
const DataTypeLocation = "LOCATION"
DataTypeLocation represents a GeoJSON location parameter
const DataTypeObjectID = "OBJECTID"
DataTypeFloat represents a mongodb "ObjectId" parameter (24-byte hex string)
const DataTypeString = "STRING"
DataTypeString represents a string parameter
const DataTypeTime = "TIME"
DataTypeTime represents a time.Time parameter
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
func NewBuilder ¶
func NewBuilder() Builder
func (Builder) Bool ¶
func (b Builder) Bool(name string, options ...FieldOption) Builder
Bool adds a boolean-based parameter to the expression Builder
func (Builder) Evaluate ¶
func (b Builder) Evaluate(values url.Values) exp.Expression
Evaluate returns an Expression based on the specific url.Values provided
func (Builder) EvaluateAll ¶ added in v0.5.0
EvaluateAll returns an Expression that requires ALL of the values in the builder are present.
func (Builder) EvaluateField ¶ added in v0.7.0
func (b Builder) EvaluateField(field Field, values []string) exp.Expression
func (Builder) HasURLParams ¶ added in v0.5.0
HasURLParams returns TRUE if the URL contains any parameters that match the Builder. It does not test the validity of those values.
func (Builder) Int ¶
func (b Builder) Int(name string, options ...FieldOption) Builder
Int adds an integer-based parameter to the expression Builder
func (Builder) Int64 ¶ added in v0.7.0
func (b Builder) Int64(name string, options ...FieldOption) Builder
Int64 adds an 64-bit integer-based parameter to the expression Builder
func (Builder) Location ¶ added in v0.10.0
func (b Builder) Location(name string, options ...FieldOption) Builder
Location adds a location-based parameter to the expression Builder
func (Builder) ObjectID ¶
func (b Builder) ObjectID(name string, options ...FieldOption) Builder
ObjectID adds a mongodb ObjectID-based parameter to the expression Builder
type FieldOption ¶ added in v0.7.7
type FieldOption func(*Field)
func WithAlias ¶ added in v0.7.7
func WithAlias(name string) FieldOption
WithAlias defines the field name to use when creating an expression, which may be different from the field name to read from the URL.
func WithDefaultOpBeginsWith ¶ added in v0.8.3
func WithDefaultOpBeginsWith() FieldOption
WithDefaultOpBeginsWith defines "BEGINS" as the default operator to use when creating an expression.
func WithDefaultOpContains ¶ added in v0.7.7
func WithDefaultOpContains() FieldOption
WithDefaultOpEqual defines "CONTAINS" as the default operator to use when creating an expression.
func WithDefaultOpEqual ¶ added in v0.7.7
func WithDefaultOpEqual() FieldOption
WithDefaultOpEqual defines "EQUAL" as the default operator to use when creating an expression.
func WithDefaultOperator ¶ added in v0.7.7
func WithDefaultOperator(operator string) FieldOption
WithDefaultOperator defines the default operator to use when creating an expression
func WithFilter ¶ added in v0.9.0
func WithFilter(filter Filter) FieldOption