Skip to content

v3.0.0

Compare
Choose a tag to compare
@elliotchance elliotchance released this 04 Dec 20:57
· 2 commits to master since this release
cc923df
Support Go iterators (#46)

Iterators were introduced in Go 1.23. They allow `for` loops over custom sequences.

There are some breaking changes to the API, which is why it's being releases as v3. Notable changes are:

- `All()` no longer exists. You can use the now native: `maps.Collect(m.AllFromFront())` for elements, or `slices.Collect(m.Keys())` for keys.
- `Iterator()` and `ReverseIterator()` are now `AllFromFront()` and `AllFromBack()` respectively.
- `Keys()` now returns an `iter.Seq` iterator instead of a list of keys. This should be much more performant on large maps. It is also more consistent with `maps.Keys` from the standard library.
- Added `Values()` which returns an `iter.Seq` iterator. It is also consistent with `maps.Values` from the standard library.

Fixes #44