17 lines
521 B
Go
17 lines
521 B
Go
package gubgub
|
|
|
|
// Forever wrapper makes it more explicit that a subscriber will never stop consuming messages.
|
|
// This helps avoiding subscribers that always return true which, depending on their size, might
|
|
// not be immediately clear.
|
|
func Forever[T any](fn func(T)) Subscriber[T] {
|
|
return func(msg T) bool {
|
|
fn(msg)
|
|
return true
|
|
}
|
|
}
|
|
|
|
// NoOp creates a subscriber that does absolutely nothing forever. This is mostly useful for testing.
|
|
func NoOp[T any]() Subscriber[T] {
|
|
return func(_ T) bool { return true }
|
|
}
|