github.com/selefra/selefra-utils@v0.0.4/pkg/pointer/bool.go (about)

     1  package pointer
     2  
     3  func TruePointer() *bool {
     4  	b := true
     5  	return &b
     6  }
     7  
     8  func FalsePointer() *bool {
     9  	b := false
    10  	return &b
    11  }
    12  
    13  func ToBoolPointer(boolValue bool) *bool {
    14  	return &boolValue
    15  }
    16  
    17  func ToBoolPointerOrNilIfFalse(boolValue bool) *bool {
    18  	if boolValue {
    19  		return &boolValue
    20  	}
    21  	return nil
    22  }
    23  
    24  func FromBoolPointer(boolPointer *bool) bool {
    25  	return FromBoolPointerOrDefault(boolPointer, false)
    26  }
    27  
    28  func FromBoolPointerOrDefault(boolPointer *bool, defaultValue bool) bool {
    29  	if boolPointer == nil {
    30  		return defaultValue
    31  	} else {
    32  		return *boolPointer
    33  	}
    34  }