Documentation ¶
Overview ¶
Package option provides the ability to create omittable primitives. This is accomplished by pointerrizing common primitive types so that they may assume a nil value, which is considered as omitted by encoding/json. To generate pointerrized primitives, there are helper functions NewT() for each option type.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( True = newBool(true) False = newBool(false) )
var ( // NullBool serializes to JSON null. NullBool = &NullableBoolData{} NullableTrue = &NullableBoolData{ Val: true, Init: true, } NullableFalse = &NullableBoolData{ Val: false, Init: true, } )
var NullInt = &NullableIntData{}
NullInt serializes to JSON null.
var NullString = &NullableStringData{}
NullString serializes to JSON null.
var NullUint = &NullableUintData{}
NullUint serializes to JSON null.
var ZeroFloat = NewFloat(0)
ZeroFloat is an Float with 0 as value.
var ZeroInt = NewInt(0)
ZeroInt is an Int with 0 as value.
var ZeroUint = NewUint(0)
ZeroUint is a Uint with 0 as value.
Functions ¶
Types ¶
type NullableBool ¶
type NullableBool = *NullableBoolData
NullableBool is the nullable type for bool.
type NullableBoolData ¶
func (NullableBoolData) MarshalJSON ¶
func (b NullableBoolData) MarshalJSON() ([]byte, error)
func (*NullableBoolData) UnmarshalJSON ¶
func (b *NullableBoolData) UnmarshalJSON(json []byte) (err error)
type NullableInt ¶
type NullableInt = *NullableIntData
NullableInt is a nullable version of an integer (int).
func NewNullableInt ¶
func NewNullableInt(v int) NullableInt
NewInt creates a new non-null NullableInt using the value of the passed int.
type NullableIntData ¶
func (NullableIntData) MarshalJSON ¶
func (i NullableIntData) MarshalJSON() ([]byte, error)
func (*NullableIntData) UnmarshalJSON ¶
func (i *NullableIntData) UnmarshalJSON(json []byte) error
type NullableString ¶
type NullableString = *NullableStringData
NullableString is a nullable version of a string.
func NewNullableString ¶
func NewNullableString(v string) NullableString
NewNullableString creates a new non-null NullableString with the value of the passed string.
type NullableStringData ¶
func (NullableStringData) MarshalJSON ¶
func (s NullableStringData) MarshalJSON() ([]byte, error)
func (*NullableStringData) UnmarshalJSON ¶
func (s *NullableStringData) UnmarshalJSON(b []byte) error
type NullableUint ¶
type NullableUint = *NullableUintData
NullableUint is a nullable version of an unsigned integer (uint).
func NewNullableUint ¶
func NewNullableUint(v uint) NullableUint
NewUint creates a new non-null NullableUint using the value of the passed uint.
type NullableUintData ¶
func (NullableUintData) MarshalJSON ¶
func (u NullableUintData) MarshalJSON() ([]byte, error)
func (*NullableUintData) UnmarshalJSON ¶
func (u *NullableUintData) UnmarshalJSON(json []byte) error