github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/length.go (about)

     1  package functions
     2  
     3  func Length(args ...interface{}) interface{} {
     4  
     5  	if len(args) != 1 {
     6  		return 0
     7  	}
     8  
     9  	switch ctype := args[0].(type) {
    10  	case string:
    11  		return len(ctype)
    12  	case map[string]interface{}:
    13  		return len(ctype)
    14  	case interface{}:
    15  		switch iType := ctype.(type) {
    16  		case []string:
    17  			return len(iType)
    18  		case []bool:
    19  			return len(iType)
    20  		case []int:
    21  			return len(iType)
    22  		case []float64:
    23  			return len(iType)
    24  		case []interface{}:
    25  			return len(iType)
    26  		}
    27  	}
    28  	return 0
    29  }