iter

Iteration primitives using generators

OTHER License

Downloads
4M
Stars
1.1K
Committers
24

Bot releases are visible (Hide)

iter - iter 2.4.1 Latest Release

Published by nikic 4 months ago

  • Improve typehint for toArray() from array<T> to list<T>.
iter - iter 2.4.0

Published by nikic 10 months ago

iter - iter 2.3.0

Published by nikic about 1 year ago

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

iter - iter 2.2.0

Published by nikic about 3 years ago

  • Compatibility with PHP 8.1.
iter - iter 2.1.0

Published by nikic about 4 years ago

  • 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 - iter 2.0

Published by nikic over 5 years ago

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 - iter 1.6

Published by nikic almost 7 years ago

  • Added iter\enumerate() function (#43).
  • Added iter\isEmpty() function (#46).
  • Added $preserveKeys parameter to iter\chunk() (#42).
iter - iter 1.5

Published by nikic over 7 years ago

  • Added $levels argument for flatten().
  • Added flatMap() function.
iter - iter 1.4

Published by nikic about 8 years ago

  • 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 - iter 1.3

Published by nikic almost 9 years ago

  • 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 - iter 1.2

Published by nikic over 9 years ago

  • 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.
iter - iter 1.1

Published by nikic over 10 years ago

Added iter functions:

  • Iterator mapKeys(callable $function, iterable $iterable)
  • Iterator reindex(callable $function, iterable $iterable)
  • Iterator chunk(iterable $iterable, int $size)
  • Iterator flip(iterable $iterable)
  • string join(string $separator, iterable $iterable)

Added iter\fn functions:

  • function nested_index(...$indices)
iter - iter 1.0

Published by nikic almost 11 years ago

First release :)