strings.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package exprhelpers
  2. import "strings"
  3. //Wrappers for stdlib strings function exposed in expr
  4. func Fields(params ...any) (any, error) {
  5. return strings.Fields(params[0].(string)), nil
  6. }
  7. func Index(params ...any) (any, error) {
  8. return strings.Index(params[0].(string), params[1].(string)), nil
  9. }
  10. func IndexAny(params ...any) (any, error) {
  11. return strings.IndexAny(params[0].(string), params[1].(string)), nil
  12. }
  13. func Join(params ...any) (any, error) {
  14. return strings.Join(params[0].([]string), params[1].(string)), nil
  15. }
  16. func Split(params ...any) (any, error) {
  17. return strings.Split(params[0].(string), params[1].(string)), nil
  18. }
  19. func SplitAfter(params ...any) (any, error) {
  20. return strings.SplitAfter(params[0].(string), params[1].(string)), nil
  21. }
  22. func SplitAfterN(params ...any) (any, error) {
  23. return strings.SplitAfterN(params[0].(string), params[1].(string), params[2].(int)), nil
  24. }
  25. func SplitN(params ...any) (any, error) {
  26. return strings.SplitN(params[0].(string), params[1].(string), params[2].(int)), nil
  27. }
  28. func Replace(params ...any) (any, error) {
  29. return strings.Replace(params[0].(string), params[1].(string), params[2].(string), params[3].(int)), nil
  30. }
  31. func ReplaceAll(params ...any) (any, error) {
  32. return strings.ReplaceAll(params[0].(string), params[1].(string), params[2].(string)), nil
  33. }
  34. func Trim(params ...any) (any, error) {
  35. return strings.Trim(params[0].(string), params[1].(string)), nil
  36. }
  37. func TrimLeft(params ...any) (any, error) {
  38. return strings.TrimLeft(params[0].(string), params[1].(string)), nil
  39. }
  40. func TrimPrefix(params ...any) (any, error) {
  41. return strings.TrimPrefix(params[0].(string), params[1].(string)), nil
  42. }
  43. func TrimRight(params ...any) (any, error) {
  44. return strings.TrimRight(params[0].(string), params[1].(string)), nil
  45. }
  46. func TrimSpace(params ...any) (any, error) {
  47. return strings.TrimSpace(params[0].(string)), nil
  48. }
  49. func TrimSuffix(params ...any) (any, error) {
  50. return strings.TrimSuffix(params[0].(string), params[1].(string)), nil
  51. }