better ValueAs
This commit is contained in:
parent
a5f7a8c2ae
commit
f27890e55e
@ -1,5 +1,7 @@
|
|||||||
package serverevents
|
package serverevents
|
||||||
|
|
||||||
|
import "encoding/json"
|
||||||
|
|
||||||
func CreateMetaDataFilter[T any](c IContext, metaDataSelector func(IContext) T, vgl func(a T, b T) bool) func(context IContext) bool {
|
func CreateMetaDataFilter[T any](c IContext, metaDataSelector func(IContext) T, vgl func(a T, b T) bool) func(context IContext) bool {
|
||||||
return func(context IContext) bool {
|
return func(context IContext) bool {
|
||||||
metaA := metaDataSelector(c)
|
metaA := metaDataSelector(c)
|
||||||
@ -15,9 +17,13 @@ func MetadataAs[T any](context IContext, key string) (T, bool) {
|
|||||||
|
|
||||||
func ValueAs[T any](data any) (T, bool) {
|
func ValueAs[T any](data any) (T, bool) {
|
||||||
var v T
|
var v T
|
||||||
if data == nil {
|
str, err := json.Marshal(data)
|
||||||
|
if err != nil {
|
||||||
return v, false
|
return v, false
|
||||||
}
|
}
|
||||||
res, ok := data.(T)
|
err = json.Unmarshal(str, &v)
|
||||||
return res, ok
|
if err != nil {
|
||||||
|
return v, false
|
||||||
|
}
|
||||||
|
return v, true
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user