github.com/crowdsecurity/crowdsec@v1.6.1/pkg/exprhelpers/strings.go (about) 1 package exprhelpers 2 3 import ( 4 "strings" 5 6 log "github.com/sirupsen/logrus" 7 ) 8 9 //Wrappers for stdlib strings function exposed in expr 10 11 func Fields(params ...any) (any, error) { 12 return strings.Fields(params[0].(string)), nil 13 } 14 15 func Index(params ...any) (any, error) { 16 return strings.Index(params[0].(string), params[1].(string)), nil 17 } 18 19 func IndexAny(params ...any) (any, error) { 20 return strings.IndexAny(params[0].(string), params[1].(string)), nil 21 } 22 23 func Join(params ...any) (any, error) { 24 return strings.Join(params[0].([]string), params[1].(string)), nil 25 } 26 27 func Split(params ...any) (any, error) { 28 return strings.Split(params[0].(string), params[1].(string)), nil 29 } 30 31 func SplitAfter(params ...any) (any, error) { 32 return strings.SplitAfter(params[0].(string), params[1].(string)), nil 33 } 34 35 func SplitAfterN(params ...any) (any, error) { 36 return strings.SplitAfterN(params[0].(string), params[1].(string), params[2].(int)), nil 37 } 38 39 func SplitN(params ...any) (any, error) { 40 return strings.SplitN(params[0].(string), params[1].(string), params[2].(int)), nil 41 } 42 43 func Replace(params ...any) (any, error) { 44 return strings.Replace(params[0].(string), params[1].(string), params[2].(string), params[3].(int)), nil 45 } 46 47 func ReplaceAll(params ...any) (any, error) { 48 return strings.ReplaceAll(params[0].(string), params[1].(string), params[2].(string)), nil 49 } 50 51 func Trim(params ...any) (any, error) { 52 return strings.Trim(params[0].(string), params[1].(string)), nil 53 } 54 55 func TrimLeft(params ...any) (any, error) { 56 return strings.TrimLeft(params[0].(string), params[1].(string)), nil 57 } 58 59 func TrimPrefix(params ...any) (any, error) { 60 return strings.TrimPrefix(params[0].(string), params[1].(string)), nil 61 } 62 63 func TrimRight(params ...any) (any, error) { 64 return strings.TrimRight(params[0].(string), params[1].(string)), nil 65 } 66 67 func TrimSpace(params ...any) (any, error) { 68 return strings.TrimSpace(params[0].(string)), nil 69 } 70 71 func TrimSuffix(params ...any) (any, error) { 72 return strings.TrimSuffix(params[0].(string), params[1].(string)), nil 73 } 74 75 func LogInfo(params ...any) (any, error) { 76 log.Infof(params[0].(string), params[1:]...) 77 return true, nil 78 }