Releases: 0x5a17ed/itkit
v0.7.0
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 toNext()
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 toStringIterator
for consistency reasons. - Breaking The
RangeIter
iterator structure was renamed toRangeIterator
for consistency reasons. - Breaking The range family of functions
R
,From
andSteps
were renamed toRange
,RangeFrom
andRangeStep
for consistency reasons with the newCount
family of functions. - Breaking The
Channel
function was renamed toIn
for consistency reasons. It was a left-over from moving iterators into their own sub-packages.
✨ New Features
- Added new function
Head
andHeadOrElse
. - 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
,Count
From,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
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 theitkit
package. For example, acquisition of Iterators are located in theiters
sub-directory now and processing of Iterators are available in theitlib
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
andmapit.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
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
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 toRangeFrom
andRangeSteps
and the optional argument for Range was dropped.
This allows for simpler handling ofRangeIterator
creation and drops theOption
type from this library which never intended to provideOption
as a public facing type. - SliceIterator
From
was renamed toInSlice
for creating an Iterator over items in a slice andSlice
was renamed toToSlice
for consistency reasons.