github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/pkg/scanners/azure/functions/substring.go (about) 1 package functions 2 3 func SubString(args ...interface{}) interface{} { 4 if len(args) < 2 { 5 return "" 6 } 7 8 input, ok := args[0].(string) 9 if !ok { 10 return "" 11 } 12 13 start, ok := args[1].(int) 14 if !ok { 15 return "" 16 } 17 18 if len(args) == 2 { 19 args = append(args, len(input)) 20 } 21 22 length, ok := args[2].(int) 23 if !ok { 24 return "" 25 } 26 27 if start > len(input) { 28 return "" 29 } 30 31 if start+length > len(input) { 32 return input[start:] 33 } 34 35 return input[start : start+length] 36 }