ripple-api/vendor/github.com/thehowl/go-osuapi/osubool.go
Morgan Bazalgette 2535a03c5f
Revert "Vendor update"
This reverts commit e5f062ee91.
2017-07-25 15:09:02 +02:00

26 lines
673 B
Go

package osuapi
// OsuBool is just a bool. It's used for unmarshaling of bools in the API that
// are either `"1"` or `"0"`. thank mr peppy for the memes
//
// You can just use it in `if`s and other memes. Should you need to convert it
// to a native bool, just do `bool(yourOsuBool)`
type OsuBool bool
// UnmarshalJSON converts `"0"` to false and `"1"` to true.
func (o *OsuBool) UnmarshalJSON(data []byte) error {
if string(data) == `"0"` {
*o = false
return nil
}
*o = true
return nil
}
// MarshalJSON does UnmarshalJSON the other way around.
func (o OsuBool) MarshalJSON() ([]byte, error) {
if o {
return []byte(`"1"`), nil
}
return []byte(`"0"`), nil
}