mirror of
https://github.com/aykhans/sarin.git
synced 2026-10-16 14:43:53 +00:00
🔨 Refactor method 'UnmarshalJSON' of 'option[T]'
This commit is contained in:
1 parent
2e6110e54a
commit
d392d4a787
2 files changed
+9
-4
No files matched your search
+8
-3
@@ -65,12 +65,17 @@ func (o *option[T]) SetNone() {
|
||||
}
|
||||
|
||||
func (o *option[T]) UnmarshalJSON(data []byte) error {
|
||||
if string(data) == "null" {
|
||||
o.none = true
|
||||
if string(data) == "null" || len(data) == 0 {
|
||||
o.SetNone()
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(data, &o.value); err != nil {
|
||||
o.SetNone()
|
||||
return err
|
||||
}
|
||||
o.none = false
|
||||
return json.Unmarshal(data, &o.value)
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewOption[T NonNilT](value T) *option[T] {
|
||||
|
||||
Reference in new issue
Block a user