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 { 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 str, err := json.Marshal(data) if err != nil { return v, false } err = json.Unmarshal(str, &v) if err != nil { return v, false } return v, true }