github.com/diadata-org/diadata@v1.4.593/pkg/utils/getenv.go (about)

     1  package utils
     2  
     3  import (
     4  	"os"
     5  	"strconv"
     6  )
     7  
     8  func Getenv(key, fallback string) string {
     9  	value := os.Getenv(key)
    10  	if len(value) == 0 {
    11  		return fallback
    12  	}
    13  	return value
    14  }
    15  
    16  func IsEnvExist(key string) bool {
    17  	if _, ok := os.LookupEnv(key); ok {
    18  		return true
    19  	}
    20  	return false
    21  }
    22  
    23  func GetenvUint(key string, fallback uint) uint {
    24  	value := os.Getenv(key)
    25  	if value == "" {
    26  		return fallback
    27  	}
    28  
    29  	uint64Val, err := strconv.ParseUint(value, 10, 64)
    30  	if err != nil {
    31  		log.Printf("Error parsing %s, using default value %d: %v", key, fallback, err)
    32  		return fallback
    33  	}
    34  
    35  	return uint(uint64Val)
    36  }
    37  
    38  func GetenvBool(key string, fallback bool) bool {
    39  	value := os.Getenv(key)
    40  	if value == "" {
    41  		return fallback
    42  	}
    43  	boolValue, err := strconv.ParseBool(value)
    44  	if err != nil {
    45  		log.Printf("Error parsing %s, using default value %d: %v", key, fallback, err)
    46  		return fallback
    47  	}
    48  	return boolValue
    49  }
    50  
    51  func GetenvInt(key string, fallback int) int {
    52  	value := os.Getenv(key)
    53  	if value == "" {
    54  		return fallback
    55  	}
    56  	intValue, err := strconv.ParseInt(value, 10, 32)
    57  	if err != nil {
    58  		log.Printf("Error parsing %s, using default value %d: %v", key, fallback, err)
    59  		return fallback
    60  	}
    61  	return int(intValue)
    62  }