fix(Type): fix Scan for Optional, time parsing now can return the error correctly

This commit is contained in:
2025-01-04 01:32:46 +01:00
parent e23765a571
commit 1fb6970d5a

View File

@@ -224,12 +224,16 @@ func (opt *Optional[T]) scanTimeSpecial(src interface{}) Optional[error] {
if err == nil { if err == nil {
*v = parsedTime *v = parsedTime
goto ok goto ok
} else {
return Some(err)
} }
case *[]byte: case *[]byte:
parsedTime, err := time.Parse(time.RFC3339, string(*t)) parsedTime, err := time.Parse(time.RFC3339, string(*t))
if err == nil { if err == nil {
*v = parsedTime *v = parsedTime
goto ok goto ok
} else {
return Some(err)
} }
} }
case time.Time: case time.Time:
@@ -239,12 +243,16 @@ func (opt *Optional[T]) scanTimeSpecial(src interface{}) Optional[error] {
if err == nil { if err == nil {
reflect.ValueOf(&opt.value).Elem().Set(reflect.ValueOf(parsedTime)) reflect.ValueOf(&opt.value).Elem().Set(reflect.ValueOf(parsedTime))
goto ok goto ok
} else {
return Some(err)
} }
case *[]byte: case *[]byte:
parsedTime, err := time.Parse(time.RFC3339, string(*t)) parsedTime, err := time.Parse(time.RFC3339, string(*t))
if err == nil { if err == nil {
reflect.ValueOf(&opt.value).Elem().Set(reflect.ValueOf(parsedTime)) reflect.ValueOf(&opt.value).Elem().Set(reflect.ValueOf(parsedTime))
goto ok goto ok
} else {
return Some(err)
} }
} }