Documentation ¶
Overview ¶
Package filter provide data filter, sanitize, convert process.
Source code and other details for the project are available at GitHub:
https://github.com/gookit/filter
More usage please see README and tests
Index ¶
- Variables
- func Apply(name string, val any, args []string) (any, 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]any) (any, bool)
- func Int(in any) (int, error)
- func Int64(in any) (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 any) int
- func MustInt64(in any) int64
- func MustString(in any) string
- func MustUint(in any) uint
- func MustUint64(in any) 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 any) (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 any) (int, error)
- func ToInt64(val any) (int64, error)
- func ToString(val any) (string, error)
- func ToUint(in any) (uint, error)
- func ToUint64(in any) (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 any) (uint, error)
- func Uint64(in any) (uint64, error)
- func Unique(val any) any
- func UpperFirst(s string) string
- func UpperWord(s string) string
- func Uppercase(s string) string
- type Filtration
- func (f *Filtration) AddRule(field string, rule any) *Rule
- func (f *Filtration) AddRules(rules map[string]string) *Filtration
- func (f *Filtration) BindStruct(ptr any) error
- func (f *Filtration) Bool(key string) bool
- func (f *Filtration) CleanData() map[string]any
- func (f *Filtration) Clear()
- func (f *Filtration) Err() error
- func (f *Filtration) Filtering() error
- func (f *Filtration) Get(key string) (any, 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]any)
- func (f *Filtration) MustGet(key string) any
- func (f *Filtration) Raw(key string) (any, bool)
- func (f *Filtration) RawData() map[string]any
- func (f *Filtration) ResetData(resetRaw bool)
- func (f *Filtration) ResetRules()
- func (f *Filtration) Safe(key string) (any, bool)
- func (f *Filtration) SafeVal(key string) any
- 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 MustString ¶ added in v1.0.11
MustString convert value to string, will ignore error
func MustUint64 ¶ added in v1.2.1
MustUint64 convert string to uint64, alias of the mathutil.SafeUint64
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.
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 any) *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 any) 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]any
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]any)
LoadData set raw data for filtering.
func (*Filtration) MustGet ¶ added in v1.0.5
func (f *Filtration) MustGet(key string) any
MustGet value by key
func (*Filtration) Raw ¶ added in v1.0.4
func (f *Filtration) Raw(key string) (any, bool)
Raw get raw value by key
func (*Filtration) RawData ¶ added in v1.0.9
func (f *Filtration) RawData() map[string]any
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) (any, bool)
Safe get filtered value by key
func (*Filtration) SafeVal ¶ added in v1.0.7
func (f *Filtration) SafeVal(key string) any
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