2023-03-28 08:49:01 +00:00
|
|
|
package exprhelpers
|
|
|
|
|
2023-05-03 08:07:11 +00:00
|
|
|
import (
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
)
|
2023-03-28 08:49:01 +00:00
|
|
|
|
|
|
|
//Wrappers for stdlib strings function exposed in expr
|
|
|
|
|
|
|
|
func Fields(params ...any) (any, error) {
|
|
|
|
return strings.Fields(params[0].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func Index(params ...any) (any, error) {
|
|
|
|
return strings.Index(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func IndexAny(params ...any) (any, error) {
|
|
|
|
return strings.IndexAny(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func Join(params ...any) (any, error) {
|
|
|
|
return strings.Join(params[0].([]string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func Split(params ...any) (any, error) {
|
|
|
|
return strings.Split(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func SplitAfter(params ...any) (any, error) {
|
|
|
|
return strings.SplitAfter(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func SplitAfterN(params ...any) (any, error) {
|
|
|
|
return strings.SplitAfterN(params[0].(string), params[1].(string), params[2].(int)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func SplitN(params ...any) (any, error) {
|
|
|
|
return strings.SplitN(params[0].(string), params[1].(string), params[2].(int)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func Replace(params ...any) (any, error) {
|
|
|
|
return strings.Replace(params[0].(string), params[1].(string), params[2].(string), params[3].(int)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func ReplaceAll(params ...any) (any, error) {
|
|
|
|
return strings.ReplaceAll(params[0].(string), params[1].(string), params[2].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func Trim(params ...any) (any, error) {
|
|
|
|
return strings.Trim(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func TrimLeft(params ...any) (any, error) {
|
|
|
|
return strings.TrimLeft(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func TrimPrefix(params ...any) (any, error) {
|
|
|
|
return strings.TrimPrefix(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func TrimRight(params ...any) (any, error) {
|
|
|
|
return strings.TrimRight(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func TrimSpace(params ...any) (any, error) {
|
|
|
|
return strings.TrimSpace(params[0].(string)), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func TrimSuffix(params ...any) (any, error) {
|
|
|
|
return strings.TrimSuffix(params[0].(string), params[1].(string)), nil
|
|
|
|
}
|
2023-05-03 08:07:11 +00:00
|
|
|
|
|
|
|
func LogInfo(params ...any) (any, error) {
|
|
|
|
log.Infof(params[0].(string), params[1:]...)
|
|
|
|
return true, nil
|
|
|
|
}
|