github.com/cloudfoundry-community/cloudfoundry-cli@v6.44.1-0.20240130060226-cda5ed8e89a5+incompatible/types/optional_boolean.go (about)

     1  package types
     2  
     3  import (
     4  	"encoding/json"
     5  )
     6  
     7  type OptionalBoolean struct {
     8  	IsSet bool
     9  	Value bool
    10  }
    11  
    12  func NewOptionalBoolean(value bool) OptionalBoolean {
    13  	return OptionalBoolean{
    14  		IsSet: true,
    15  		Value: value,
    16  	}
    17  }
    18  
    19  func (o *OptionalBoolean) UnmarshalJSON(rawJSON []byte) error {
    20  	if err := json.Unmarshal(rawJSON, &o.Value); err != nil {
    21  		return err
    22  	}
    23  
    24  	o.IsSet = true
    25  	return nil
    26  }
    27  
    28  func (o OptionalBoolean) MarshalJSON() ([]byte, error) {
    29  	return json.Marshal(o.Value)
    30  }
    31  
    32  func (o OptionalBoolean) OmitJSONry() bool {
    33  	return !o.IsSet
    34  }