types.go (788B)
1 package aws 2 3 import ( 4 "fmt" 5 ) 6 7 // Ternary is an enum allowing an unknown or none state in addition to a bool's 8 // true and false. 9 type Ternary int 10 11 func (t Ternary) String() string { 12 switch t { 13 case UnknownTernary: 14 return "unknown" 15 case FalseTernary: 16 return "false" 17 case TrueTernary: 18 return "true" 19 default: 20 return fmt.Sprintf("unknown value, %d", int(t)) 21 } 22 } 23 24 // Bool returns true if the value is TrueTernary, false otherwise. 25 func (t Ternary) Bool() bool { 26 return t == TrueTernary 27 } 28 29 // Enumerations for the values of the Ternary type. 30 const ( 31 UnknownTernary Ternary = iota 32 FalseTernary 33 TrueTernary 34 ) 35 36 // BoolTernary returns a true or false Ternary value for the bool provided. 37 func BoolTernary(v bool) Ternary { 38 if v { 39 return TrueTernary 40 } 41 return FalseTernary 42 }