server_events/v2/context_helper.go
2025-07-06 21:44:53 +02:00

24 lines
545 B
Go

package serverevents
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 {
metaA := metaDataSelector(c)
metaB := metaDataSelector(context)
return vgl(metaA, metaB)
}
}
func MetadataAs[T any](context IContext, key string) (T, bool) {
tmp, _ := context.Get(key)
return ValueAs[T](tmp)
}
func ValueAs[T any](data any) (T, bool) {
var v T
if data == nil {
return v, false
}
res, ok := data.(T)
return res, ok
}