2.3.0
This release is a complete refactoring of how the Collection handle the operations and transformations classes.
First of all, there are no more Transformations, they are all converted to Operations. This is a huge change, everything is much simpler internally.
Then, Operations are now Function objects. They are also stateless and immutable.
Implementing a custom Operation is basically implementing the __invoke()
method.
The __invoke()
method returns one or more unary Closure
at a time and the last Closure
must take the Iterator
argument.
Compare the Compact
operation in version 2.2.0 and 2.3.0.
Run and Transform operations are also gone, now that an Operation is a function object, a new Operation Compose is available and replaces them.
All those changes should also improve overall performances, even though no benchmarks were made so far.
New
- Convert operations and transformations to function objects
#18
- Run and Transform operation are gone