Add items in a collection, from another iterable.
Keys from added iterator are kept, you can combine with Reindex
modifier to overcome this.
Aggregate is a powerful modifier, that allow you to aggregate multiple modifier and iterate through them asynchronously.
It can help to construct Domain Driven Design aggregates, combined with MapWith modifier.
A special modifier to test or dump each key / value that go through.
Allow you to do stuff on each key / value. The provided callback have to return nothing.
Filter collection if provided callback return value is falsy. (Return true on element you want to keep)
Same as array_flip
Just like a SQL join with another collection (or any iterable).
The on attribute is a Closure used to select items that match (must return a boolean value like filter modifier)
The select attribute allow you to provide a closure to alter the value that will be used for the new Collection value
Allow you to change the value with the callback return value.
This modifier will replace all the keys with a standard array index (starting from 0)
This modifier will keep a cache in memory, it's useful if you need to loop multiple time in your collection and you want to avoid previous modifiers to be called each time OR if you pass a Generator as a collection input, you can't loop more than one times, using cache allow you to loop multiple times.
This modifier will reverse items orders. To do that, it will need to load the provided iterable entirely in memory.
Partition using the provided closure returned value as partitioning key. Can be useful to put item with same category together.