fix(Type): fix Scan for Optional, time parsing now can return the error correctly
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user