github.com/m4gshm/gollections@v0.0.10/break/kv/stream/iface.go (about) 1 package stream 2 3 import "github.com/m4gshm/gollections/break/kv" 4 5 // Stream is map or key/value stream of elements in transformation state. 6 type Stream[K comparable, V any, Map map[K]V | map[K][]V] interface { 7 kv.Iterator[K, V] 8 Iter() kv.Iterator[K, V] 9 10 // Filter(predicate func(K, V) bool) Stream[K, V, I, Map] 11 // FilterKey(predicate func(K) bool) Stream[K, V, I, Map] 12 // FilterValue(predicate func(V) bool) Stream[K, V, I, Map] 13 14 // Filt(predicate func(K, V) (bool, error)) Stream[K, V, I, Map] 15 // FiltKey(predicate func(K) (bool, error)) Stream[K, V, I, Map] 16 // FiltValue(predicate func(V) (bool, error)) Stream[K, V, I, Map] 17 18 Map() (Map, error) 19 20 Reduce(merger func(K, K, V, V) (K, V, error)) (K, V, error) 21 HasAny(predicate func(K, V) (bool, error)) (bool, error) 22 }