src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

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 }