Documentation
¶
Overview ¶
Package filter provide data filter, sanitize, convert
Source code and other details for the project are available at GitHub:
https://github.com/gookit/filter
More usage please see README and test
Index ¶
- Variables
- func Apply(name string, val interface{}, args []string) (interface{}, error)
- func Bool(s string) (bool, error)
- func Camel(s string, sep ...string) string
- func CamelCase(s string, sep ...string) string
- func Email(s string) string
- func Float(s string) (float64, error)
- func GetByPath(key string, mp map[string]interface{}) (interface{}, bool)
- func Int(in interface{}) (int, error)
- func Int64(in interface{}) (int64, error)
- func LowerFirst(s string) string
- func Lowercase(s string) string
- func MustBool(s string) bool
- func MustFloat(s string) float64
- func MustInt(in interface{}) int
- func MustInt64(in interface{}) int64
- func MustString(in interface{}) string
- func MustUint(in interface{}) uint64
- func Name(name string) string
- func Snake(s string, sep ...string) string
- func SnakeCase(s string, sep ...string) string
- func StrToArray(s string, sep ...string) []string
- func StrToInts(s string, sep ...string) ([]int, error)
- func StrToSlice(s string, sep ...string) []string
- func StrToTime(s string, layouts ...string) (time.Time, error)
- func String(val interface{}) (string, error)
- func StringsToInts(ss []string) ([]int, error)
- func Substr(s string, pos, length int) string
- func ToBool(s string) (bool, error)
- func ToFloat(s string) (float64, error)
- func ToInt(in interface{}) (int, error)
- func ToInt64(val interface{}) (int64, error)
- func ToString(val interface{}) (string, error)
- func ToUint(in interface{}) (uint64, error)
- func Trim(s string, cutSet ...string) string
- func TrimLeft(s string, cutSet ...string) string
- func TrimRight(s string, cutSet ...string) string
- func TrimStrings(ss []string, cutSet ...string) []string
- func URLDecode(s string) string
- func URLEncode(s string) string
- func Uint(in interface{}) (uint64, error)
- func Unique(val interface{}) interface{}
- func UpperFirst(s string) string
- func UpperWord(s string) string
- func Uppercase(s string) string
- type Filtration
- func (f *Filtration) AddRule(field string, rule interface{}) *Rule
- func (f *Filtration) AddRules(rules map[string]string) *Filtration
- func (f *Filtration) BindStruct(ptr interface{}) error
- func (f *Filtration) Bool(key string) bool
- func (f *Filtration) CleanData() map[string]interface{}
- func (f *Filtration) Clear()
- func (f *Filtration) Err() error
- func (f *Filtration) Filtering() error
- func (f *Filtration) Get(key string) (interface{}, bool)
- func (f *Filtration) Int(key string) int
- func (f *Filtration) Int64(key string) int64
- func (f *Filtration) IsOK() bool
- func (f *Filtration) LoadData(data map[string]interface{})
- func (f *Filtration) MustGet(key string) interface{}
- func (f *Filtration) Raw(key string) (interface{}, bool)
- func (f *Filtration) RawData() map[string]interface{}
- func (f *Filtration) ResetData(resetRaw bool)
- func (f *Filtration) ResetRules()
- func (f *Filtration) Safe(key string) (interface{}, bool)
- func (f *Filtration) SafeVal(key string) interface{}
- func (f *Filtration) Sanitize() error
- func (f *Filtration) String(key string) string
- type Rule
Constants ¶
This section is empty.
Variables ¶
var ( Lower = strings.ToLower Upper = strings.ToUpper Title = strings.ToTitle // EscapeJS escape javascript string EscapeJS = template.JSEscapeString // EscapeHTML escape html string EscapeHTML = template.HTMLEscapeString )
Some alias methods.
Functions ¶
func CamelCase ¶ added in v1.0.1
CamelCase convert string to camel case.
Support:
"range_price" -> "rangePrice" "range price" -> "rangePrice" "range-price" -> "rangePrice"
func MustInt64 ¶ added in v1.0.1
func MustInt64(in interface{}) int64
MustInt64 convert value to int64
func MustString ¶ added in v1.0.11
func MustString(in interface{}) string
MustString convert value to string
func StrToArray ¶ added in v1.0.1
StrToArray alias of the StrToSlice()
func StrToSlice ¶ added in v1.0.2
StrToSlice split string to array.
func StringsToInts ¶ added in v1.0.5
StringsToInts string slice to int slice
func TrimStrings ¶ added in v1.0.5
TrimStrings trim string slice item.
func Unique ¶ added in v1.0.1
func Unique(val interface{}) interface{}
Unique value in the given array, slice.
Types ¶
type Filtration ¶
type Filtration struct {
// contains filtered or unexported fields
}
Filtration definition. Sanitization Sanitizing Sanitize
func (*Filtration) AddRule ¶ added in v1.0.4
func (f *Filtration) AddRule(field string, rule interface{}) *Rule
AddRule add filter(s) rule.
Usage:
f.AddRule("name", "trim") f.AddRule("age", "int") f.AddRule("age", "trim|int")
func (*Filtration) AddRules ¶ added in v1.0.5
func (f *Filtration) AddRules(rules map[string]string) *Filtration
AddRules add multi rules.
Usage:
f.AddRules(map[string]string{ "name": "trim|lower", "age": "trim|int", })
func (*Filtration) BindStruct ¶ added in v1.0.8
func (f *Filtration) BindStruct(ptr interface{}) error
BindStruct bind the filtered data to struct.
func (*Filtration) Bool ¶ added in v1.0.5
func (f *Filtration) Bool(key string) bool
Bool value get from the filtered data.
func (*Filtration) CleanData ¶ added in v1.0.9
func (f *Filtration) CleanData() map[string]interface{}
CleanData get filtered data
func (*Filtration) Filtering ¶ added in v1.0.3
func (f *Filtration) Filtering() error
Filtering apply all filter rules, filtering data
func (*Filtration) Int ¶ added in v1.0.4
func (f *Filtration) Int(key string) int
Int get a int value from filtered data.
func (*Filtration) Int64 ¶ added in v1.0.5
func (f *Filtration) Int64(key string) int64
Int64 get a int value from filtered data.
func (*Filtration) LoadData ¶ added in v1.0.9
func (f *Filtration) LoadData(data map[string]interface{})
LoadData set raw data for filtering.
func (*Filtration) MustGet ¶ added in v1.0.5
func (f *Filtration) MustGet(key string) interface{}
MustGet value by key
func (*Filtration) Raw ¶ added in v1.0.4
func (f *Filtration) Raw(key string) (interface{}, bool)
Raw get raw value by key
func (*Filtration) RawData ¶ added in v1.0.9
func (f *Filtration) RawData() map[string]interface{}
RawData get raw data
func (*Filtration) ResetData ¶ added in v1.0.9
func (f *Filtration) ResetData(resetRaw bool)
ResetData reset raw and filtered data
func (*Filtration) ResetRules ¶ added in v1.0.9
func (f *Filtration) ResetRules()
ResetRules reset rules and filtered data
func (*Filtration) Safe ¶ added in v1.0.5
func (f *Filtration) Safe(key string) (interface{}, bool)
Safe get filtered value by key
func (*Filtration) SafeVal ¶ added in v1.0.7
func (f *Filtration) SafeVal(key string) interface{}
SafeVal get filtered value by key
func (*Filtration) Sanitize ¶ added in v1.0.5
func (f *Filtration) Sanitize() error
Sanitize is alias of the Filtering()
func (*Filtration) String ¶ added in v1.0.5
func (f *Filtration) String(key string) string
String get a string value from filtered data.
type Rule ¶ added in v1.0.5
type Rule struct {
// contains filtered or unexported fields
}
Rule definition
func (*Rule) AddFilters ¶ added in v1.0.5
AddFilters add multi filter(s).
Usage:
r.AddFilters("int", "str2arr:,")
func (*Rule) Apply ¶ added in v1.0.5
func (r *Rule) Apply(f *Filtration) (err error)
Apply rule for the rule fields
func (*Rule) SetDefaultVal ¶ added in v1.0.9
SetDefaultVal set default value for the rule
func (*Rule) SetFilterFunc ¶ added in v1.0.9
SetFilterFunc user custom filter func