Skip to content

Releases: nikic/iter

iter 2.4.0

10 Dec 20:46
Compare
Choose a tag to compare
  • Added iter\tap() function (#95).

iter 2.3.0

29 Jul 13:03
d9f88bc
Compare
Choose a tag to compare

This release adds more precise phpdoc type annotations, using templates and specifying callable signatures (#93).

iter 2.2.0

02 Aug 17:01
Compare
Choose a tag to compare
  • Compatibility with PHP 8.1.

iter 2.1.0

19 Sep 16:01
Compare
Choose a tag to compare
  • Added iter\slice() method (#80). This works like explode() but produces an iterator.
  • Added iter\mapWithKeys() method (#81). This works like iter\map() but also passes keys as second parameter to the callable.

iter 2.0

30 May 18:29
Compare
Choose a tag to compare

This release makes iter compatible with PHP 7.4 by renaming the iter\fn namespace to iter\func.

  • PHP >= 7.1 is now required. Functions are annotated with iterable types. (#52)
  • The iter\fn namespace has been renamed to iter\func. This is necessary for PHP 7.4 compatibility. (#79)
  • Default $preserveKeys = false in chunk() and add chunkWithKeys() function.
  • Avoid advancing by one additional iteration in slice(). (#75)

iter 1.6

10 Nov 23:00
Compare
Choose a tag to compare
  • Added iter\enumerate() function (#43).
  • Added iter\isEmpty() function (#46).
  • Added $preserveKeys parameter to iter\chunk() (#42).

iter 1.5

26 Apr 18:59
Compare
Choose a tag to compare
  • Added $levels argument for flatten().
  • Added flatMap() function.

iter 1.4

27 Sep 14:21
Compare
Choose a tag to compare
  • Fixed infinite loop when iter\zip() is called without arguments.
  • Added additional error checks for various "length" and "count" parameters (usually disallowing negative numbers).
  • The iter\flatten() function now preserves keys.
  • Added an iter\recurse() function. Example use is iter\recurse('iter\toArray', $data) which will recursively convert an iterator to array.

iter 1.3

21 Oct 19:27
Compare
Choose a tag to compare
  • Added Iterator iter\product(...$iterables):
    Returns the cartesian product iterator of the passed iterators. (#25)
  • Added bool iter\isIterable(mixed $value):
    Returns whether the value is an array or Traversable.
  • Added $key parameter to the callback of reduce() and reductions(). (#28)
  • Added support for <=> to fn\operator(). It is also supported on PHP versions that do not natively provide a <=> operator.
  • All functions now validate that inputs are iterables.

iter 1.2

08 Mar 17:42
Compare
Choose a tag to compare
  • Added new iter functions:
    • mixed search(callable $predicate, iterable $iterable):
      Returns the first value from $iterable which satisfies $predicate, or null if no such element exists.
    • Iterator reductions(callable $function, iterable $iterable, mixed $startValue = null):
      Returns an iterator which contains the intermediate values produced by applying a reduction function to an iterator. Can for example be used to compute cumulative sums.
  • Added support for the power operator (**) to iter\fn\operator(). Support is available also on older PHP versions which do not have an actual ** operator.