| @@ 785-800 (lines=16) @@ | ||
| 782 | * @param mixed|null $key |
|
| 783 | * @return Collection |
|
| 784 | */ |
|
| 785 | function prepend($collection, $value, $key = null) |
|
| 786 | { |
|
| 787 | $generatorFactory = function () use ($collection, $value, $key) { |
|
| 788 | if ($key === null) { |
|
| 789 | yield $value; |
|
| 790 | } else { |
|
| 791 | yield $key => $value; |
|
| 792 | } |
|
| 793 | ||
| 794 | foreach ($collection as $key => $value) { |
|
| 795 | yield $key => $value; |
|
| 796 | } |
|
| 797 | }; |
|
| 798 | ||
| 799 | return new Collection($generatorFactory); |
|
| 800 | } |
|
| 801 | ||
| 802 | /** |
|
| 803 | * Returns a lazy collection of items in $collection with $value added as last element. If $key is not provided |
|
| @@ 811-826 (lines=16) @@ | ||
| 808 | * @param mixed|null $key |
|
| 809 | * @return Collection |
|
| 810 | */ |
|
| 811 | function append($collection, $value, $key = null) |
|
| 812 | { |
|
| 813 | $generatorFactory = function () use ($collection, $value, $key) { |
|
| 814 | foreach ($collection as $k => $v) { |
|
| 815 | yield $k => $v; |
|
| 816 | } |
|
| 817 | ||
| 818 | if ($key === null) { |
|
| 819 | yield $value; |
|
| 820 | } else { |
|
| 821 | yield $key => $value; |
|
| 822 | } |
|
| 823 | }; |
|
| 824 | ||
| 825 | return new Collection($generatorFactory); |
|
| 826 | } |
|
| 827 | ||
| 828 | /** |
|
| 829 | * Returns a lazy collection by removing items from $collection until first item for which $function returns false. |
|