diff --git a/internal/addrs/map.go b/internal/addrs/map.go index c2fffbbbff..e8593e90a3 100644 --- a/internal/addrs/map.go +++ b/internal/addrs/map.go @@ -3,6 +3,8 @@ package addrs +import "iter" + // Map represents a mapping whose keys are address types that implement // UniqueKeyer. // @@ -135,3 +137,13 @@ func (m Map[K, V]) Values() []V { } return ret } + +func (m Map[K, V]) Iter() iter.Seq2[K, V] { + return func(yield func(K, V) bool) { + for _, elem := range m.Elements() { + if !yield(elem.Key, elem.Value) { + return + } + } + } +}