mirror of
https://github.com/mainnika/mongox-go-driver.git
synced 2026-06-12 16:53:35 +00:00
Track if the target was created as new during reset
This commit is contained in:
@@ -6,7 +6,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Reset function creates new zero object for the target pointer
|
// Reset function creates new zero object for the target pointer
|
||||||
func Reset(target interface{}) {
|
func Reset(target interface{}) (created bool) {
|
||||||
|
|
||||||
type resetter interface {
|
type resetter interface {
|
||||||
Reset()
|
Reset()
|
||||||
@@ -15,7 +15,7 @@ func Reset(target interface{}) {
|
|||||||
resettable, canReset := target.(resetter)
|
resettable, canReset := target.(resetter)
|
||||||
if canReset {
|
if canReset {
|
||||||
resettable.Reset()
|
resettable.Reset()
|
||||||
return
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
v := reflect.ValueOf(target)
|
v := reflect.ValueOf(target)
|
||||||
@@ -27,4 +27,6 @@ func Reset(target interface{}) {
|
|||||||
zero := reflect.Zero(t)
|
zero := reflect.Zero(t)
|
||||||
|
|
||||||
v.Elem().Set(zero)
|
v.Elem().Set(zero)
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user