github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/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  }