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

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