All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.2.3 - 2023-12-06
- bumped testing dependency version
3.2.2 - 2023-11-14
- lint and format CHANGELOG.md
3.2.1 - 2023-11-14
- bumped version to fix NPM release
3.2.0 - 2023-11-14
Many equivalents to Kotlin standard library were added 🎉
- Reducers
iter.average()
(inspired by Kotlin'ssequences.average
)
- Transformers
iter.takeWhile()
(inspired by Kotlin'ssequences.takeWhile
)iter.drop()
(inspired by Kotlin'ssequences.drop
)iter.dropUntil()
(likeiter.until()
but drops til given predicate is true)iter.dropWhile()
(inspired by Kotlin'ssequences.takeWhile
)
- added tests for NaN checks in
iter.sum()
anditer.product()
. - Simplified
deno.json
again using the new global-exclude feature.
3.1.0 - 2023-06-04
- Added
iter.flatMap()
🎉 (likeArray.prototype.flatMap
)
- Flattened
deno.json
- Chunkify actually works as intended
3.0.0 - 2022-08-28
- Curried exports of all functions (I've been forgetting to update these, so I also added a test to remind me to do so)
- Alternate npm entry point for fp.
- Testing now includes
copb
compatibility (including the npm version).
- (:warning: breaking) Fixed typo in
iter.remember()
(originallyiter.rememeber()
) - Point docs to deno.land rather than doc.deno.land
2.6.0 - 2022-08-24
iter.peekable()
inspired by Rust'sstd::iter::Peekable
.
- (docs) Added special note on the inclusivity of
create.range()
.
2.5.0 - 2022-08-12
iter.create.fromChars()
anditer.create.fromCharCodes()
for iterating over UTF-16 character units and codes respectively.
2.4.2 - 2022-07-30
- Another attempt to fix the NPM release (debugging actions can be awful sometimes).
2.4.1 - 2022-07-30
- Fixed NPM release action.
2.4.0 - 2022-07-30
- NPM support 🎉
- Transformers
iter.flat()
(likeArray.prototype.flat
)iter.completeFlat()
for flattening an iterable completely.iter.fuse()
for ignoring values after and including the return.
- Generators
iter.create.fromResults()
for creating iterators directly from results
2.3.0 - 2021-02-03
- Effectors
iter.forEach()
(likeArray.prototype.forEach
)iter.lazyObserver()
for observing each yielded value lazily.
- Generators
iter.create.range()
for creating an iterable over a range of numbers.
- Reducers
iter.sum()
for getting the sum of an iterable.iter.product()
for getting the product of an iterable.iter.norm()
for getting the vector norm of an iterable.
2.2.1 - 2021-02-03
- Several types for
iter
functions.IterFunction
UniaryIterFunction
CurriedIterFunction
UniaryIterTransformer
- Documentation on chaining/composition.
- All documentation which previously referred to the functions of this library as methods now says function.
2.2.0 - 2021-02-01
- An
IterableCircular
type for iterables using generator functions. - A alternative module with a sensible level of currying,
fp.ts
. This is also exported ascurried
from the mainmod.ts
.
- Everything which used to return an
Iterable
now returns theIterableCircular
type. This doesn't break anything because these types are compatible.
2.1.0 - 2021-01-30
- Export
LICENSE
fromversion.ts
andmod.ts
- Transformers
iter.remember()
so that an iterable can be iterated over multiple times and be guaranteed to yield the same results.
- Examples to documentation.
2.0.0 - 2021-01-28
- Transformers
iter.chunkify
inspired by @sindresorhus/chunkify
- Everything which used to return the
IterableIterator
type now returns theIterable
type. This also means that returned iterables are not use-once. - Iterables are no longer stripped before being passed to callbacks.
1.0.0 - 2021-01-27
- Reducers
iter.find()
(likeArray.prototype.find
)iter.findIndex()
(likeArray.prototype.findIndex
)iter.includes()
(likeArray.prototype.includes
)
- Transformers
iter.filter()
(likeArray.prototype.filter
)iter.until()
to cut off an iterable when a predicate returns trueiter.indexedPairs
(likeArray.prototype.entries
)
0.2.0 - 2021-01-22
- More unit tests.
- Better documentation via TSDoc
- Reducers
iter.reduce()
(likeArray.prototype.reduce
)iter.some()
(likeArray.prototype.some
)iter.every()
(likeArray.prototype.every
)
- Generators
iter.create.increments()
to create an endless incremementing interator.
- Clear separation of internal API.
- Generators
- Old
iter.create.from()
is nowiter.create.endlessFrom()
.iter.create.from()
now creates an iterator from a function returning iterator result objects.
- Old
0.1.1 - 2021-01-20
- Unit tests
iter.pair()
fixed so it doesn't just give the same value.
0.1.0 - 2021-01-20
- Generators
iter.create.from()
for creating iterators from functions.iter.create.constant()
for creating an endless iterable of the same value.iter.create.randomNumbers()
for creating an endless iterable of pseudorandom numbers.
- Transformers
iter.map()
(likeArray.prototype.map
)iter.take()
for taking the first n items of an iterable.
- Combinators
iter.pair()
for zipping two iterables.iter.concat
(likeArray.prototype.concat
)