38 lines
		
	
	
	
		
			407 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
	
		
			407 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | package config | ||
|  | 
 | ||
|  | type Env string | ||
|  | 
 | ||
|  | const ( | ||
|  | 	DEV  Env = "dev" | ||
|  | 	PROD Env = "prod" | ||
|  | 	QA   Env = "qa" | ||
|  | 	TEST Env = "test" | ||
|  | ) | ||
|  | 
 | ||
|  | var Envs = [...]Env{ | ||
|  | 	DEV, | ||
|  | 	PROD, | ||
|  | 	QA, | ||
|  | 	TEST, | ||
|  | } | ||
|  | 
 | ||
|  | func ValidEnvOrDev(e Env) Env { | ||
|  | 	if ValidEnv(e) { | ||
|  | 		return e | ||
|  | 	} | ||
|  | 	return DEV | ||
|  | } | ||
|  | 
 | ||
|  | func ValidEnv(env Env) bool { | ||
|  | 	for _, e := range Envs { | ||
|  | 		if env == e { | ||
|  | 			return true | ||
|  | 		} | ||
|  | 	} | ||
|  | 	return false | ||
|  | } | ||
|  | 
 | ||
|  | func (e Env) String() string { | ||
|  | 	return string(e) | ||
|  | } |