Skip to content

Releases: 0x5a17ed/itkit

v0.7.0

06 Nov 21:34
Compare
Choose a tag to compare

v0.7.0

This project follows the semver rules of versioning. The major zero version is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable. This release introduces some breaking changes with the previous release.

💥 Breaking

  • Breaking: The Iterator Protocol was changed slightly. The Value() function is not required to raise a panic error if there aren't any items left anymore or the first call to Next() hasn't been made yet.
    The upside of this change is that it allows to simplify the implementation of certain iterators.
  • Breaking The StringIter iterator structure was renamed to StringIterator for consistency reasons.
  • Breaking The RangeIter iterator structure was renamed to RangeIterator for consistency reasons.
  • Breaking The range family of functions R, From and Steps were renamed to Range, RangeFrom and RangeStep for consistency reasons with the new Count family of functions.
  • Breaking The Channel function was renamed to In for consistency reasons. It was a left-over from moving iterators into their own sub-packages.

✨ New Features

  • Added new function Head and HeadOrElse.
  • Added PullFn iterator to turn a function returning a value plus a boolean into an iterator.
  • Added IterFn iterator to turn other forms of stateful iterators into itkit compatible iterators.
  • Added Count, CountFrom, CountStep family of functions.
  • Added Fill iterator.
  • Added Copies iterator.

That's it! And thank you very much for your continued patronage.

v0.6.0

30 Oct 12:22
Compare
Choose a tag to compare

This project follows the semver rules of versioning. The major zero version is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

This release introduces some breaking changes with the previous release.

Breaking

  • The itkit package was broken down into multiple smaller packages with the long-term goal to improve the readability of the documentation available on pkg.go.dev. Types and Functions were grouped by their purpose within the itkit package. For example, acquisition of Iterators are located in the iters sub-directory now and processing of Iterators are available in the itlib package.
  • Functions were renamed to make use of the package name the functions reside in and reduce stuttering.

Added

  • Added Zip function for combining the output from two iterators into one.
  • Added mapit.In and mapit.To family of functions to process Go maps.

That's it! And thank you very much for your continued patronage.

v0.5.0 Sum and Reduce

22 Oct 07:40
Compare
Choose a tag to compare

This go module follows the semver rules of versioning. The major zero version is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

This release is compatible with the previous release.

  • Added Sum and Reduce family of functions ApplyTo, ReduceWithInitial, Reduce, SumWithInitial, Sum.

v0.4.0

07 Aug 13:09
Compare
Choose a tag to compare

This go module follows the semver rules of versioning. The major zero version is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

This release breaks compatibility with the previous version v0.3.0

  • Range Range was changed to RangeFrom and RangeSteps and the optional argument for Range was dropped.
    This allows for simpler handling of RangeIterator creation and drops the Option type from this library which never intended to provide Option as a public facing type.
  • SliceIterator From was renamed to InSlice for creating an Iterator over items in a slice and Slice was renamed to ToSlice for consistency reasons.