2020-03-04 10:29:00 +00:00
|
|
|
package null
|
|
|
|
|
2020-04-30 08:35:33 +00:00
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
"gopkg.in/yaml.v2"
|
|
|
|
)
|
2020-03-04 10:29:00 +00:00
|
|
|
|
|
|
|
// MarshalJSON for NullInt64
|
2020-04-04 00:28:09 +00:00
|
|
|
func (i NullInt64) MarshalJSON() ([]byte, error) {
|
|
|
|
if !i.Valid {
|
2020-03-04 10:29:00 +00:00
|
|
|
return []byte("null"), nil
|
|
|
|
}
|
2020-04-04 00:28:09 +00:00
|
|
|
return json.Marshal(i.Int64)
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MarshalJSON for NullFloat64
|
2020-04-04 00:28:09 +00:00
|
|
|
func (f NullFloat64) MarshalJSON() ([]byte, error) {
|
|
|
|
if !f.Valid {
|
2020-03-04 10:29:00 +00:00
|
|
|
return []byte("null"), nil
|
|
|
|
}
|
2020-04-04 00:28:09 +00:00
|
|
|
return json.Marshal(f.Float64)
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MarshalJSON for NullBool
|
2020-04-04 00:28:09 +00:00
|
|
|
func (bb NullBool) MarshalJSON() ([]byte, error) {
|
|
|
|
if !bb.Valid {
|
2020-03-04 10:29:00 +00:00
|
|
|
return []byte("null"), nil
|
|
|
|
}
|
2020-04-04 00:28:09 +00:00
|
|
|
return json.Marshal(bb.Bool)
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MarshalJSON for NullString
|
2020-04-04 00:28:09 +00:00
|
|
|
func (s NullString) MarshalJSON() ([]byte, error) {
|
|
|
|
if !s.Valid {
|
2020-03-04 10:29:00 +00:00
|
|
|
return []byte("null"), nil
|
|
|
|
}
|
2020-04-04 00:28:09 +00:00
|
|
|
return json.Marshal(s.String)
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
2020-04-30 08:35:33 +00:00
|
|
|
|
2020-05-01 10:43:32 +00:00
|
|
|
// MarshalYAML for NullInt64
|
2020-04-30 08:35:33 +00:00
|
|
|
func (i NullInt64) MarshalYAML() (interface{}, error) {
|
|
|
|
if !i.Valid {
|
|
|
|
return 0, nil
|
|
|
|
}
|
|
|
|
return yaml.Marshal(i.Int64)
|
|
|
|
}
|
|
|
|
|
2020-05-01 10:43:32 +00:00
|
|
|
// MarshalYAML for NullFloat64
|
2020-04-30 08:35:33 +00:00
|
|
|
func (f NullFloat64) MarshalYAML() (interface{}, error) {
|
|
|
|
if !f.Valid {
|
|
|
|
return 0.0, nil
|
|
|
|
}
|
|
|
|
return yaml.Marshal(f.Float64)
|
|
|
|
}
|
|
|
|
|
2020-05-01 10:43:32 +00:00
|
|
|
// MarshalYAML for NullBool
|
2020-04-30 08:35:33 +00:00
|
|
|
func (bb NullBool) MarshalYAML() (interface{}, error) {
|
|
|
|
if !bb.Valid {
|
|
|
|
return false, nil
|
|
|
|
}
|
|
|
|
return yaml.Marshal(bb.Bool)
|
|
|
|
}
|
|
|
|
|
2020-05-01 10:43:32 +00:00
|
|
|
// MarshalYAML for NullString
|
2020-04-30 08:35:33 +00:00
|
|
|
func (s NullString) MarshalYAML() (interface{}, error) {
|
|
|
|
if !s.Valid {
|
|
|
|
return "", nil
|
|
|
|
}
|
|
|
|
return yaml.Marshal(s.String)
|
|
|
|
}
|