github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/split.go (about) 1 package functions 2 3 import "strings" 4 5 func Split(args ...interface{}) interface{} { 6 if len(args) != 2 { 7 return "" 8 } 9 10 input, ok := args[0].(string) 11 if !ok { 12 return "" 13 } 14 15 switch separator := args[1].(type) { 16 case string: 17 return strings.Split(input, separator) 18 case interface{}: 19 switch separator := separator.(type) { 20 case []string: 21 m := make(map[rune]int) 22 for _, r := range separator { 23 r := rune(r[0]) 24 m[r] = 1 25 } 26 27 splitter := func(r rune) bool { 28 return m[r] == 1 29 } 30 31 return strings.FieldsFunc(input, splitter) 32 } 33 34 } 35 return []string{} 36 }