From 81b7a6f546848812b74a12309d7e701cbe7536e7 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sun, 16 Aug 2020 09:04:19 +0200 Subject: [PATCH] Update typing information. --- src/Contract/Operation/Appendable.php | 2 +- src/Contract/Operation/Applyable.php | 2 +- src/Contract/Operation/Cacheable.php | 2 +- src/Contract/Operation/Chunkable.php | 2 +- src/Contract/Operation/Collapseable.php | 2 +- src/Contract/Operation/Columnable.php | 2 +- src/Contract/Operation/Combinateable.php | 2 +- src/Contract/Operation/Combineable.php | 2 +- src/Contract/Operation/Compactable.php | 2 +- src/Contract/Operation/Cycleable.php | 2 +- src/Contract/Operation/Diffable.php | 2 +- src/Contract/Operation/Diffkeysable.php | 2 +- src/Contract/Operation/Distinctable.php | 2 +- src/Contract/Operation/Explodeable.php | 2 +- src/Contract/Operation/Filterable.php | 2 +- src/Contract/Operation/Flattenable.php | 2 +- src/Contract/Operation/Flipable.php | 2 +- src/Contract/Operation/Forgetable.php | 2 +- src/Contract/Operation/Frequencyable.php | 2 +- src/Contract/Operation/Groupable.php | 2 +- src/Contract/Operation/Intersectable.php | 2 +- src/Contract/Operation/Intersectkeysable.php | 2 +- src/Contract/Operation/Intersperseable.php | 2 +- src/Contract/Operation/Iterateable.php | 2 +- src/Contract/Operation/Keysable.php | 2 +- src/Contract/Operation/Limitable.php | 2 +- src/Contract/Operation/Loopable.php | 2 +- src/Contract/Operation/Mapable.php | 2 +- src/Contract/Operation/Mergeable.php | 2 +- src/Contract/Operation/Normalizeable.php | 2 +- src/Contract/Operation/Nthable.php | 2 +- src/Contract/Operation/Onlyable.php | 2 +- src/Contract/Operation/Padable.php | 2 +- src/Contract/Operation/Pairable.php | 2 +- src/Contract/Operation/Permutateable.php | 2 +- src/Contract/Operation/Pluckable.php | 2 +- src/Contract/Operation/Prependable.php | 2 +- src/Contract/Operation/Productable.php | 2 +- src/Contract/Operation/RSampleable.php | 2 +- src/Contract/Operation/Randomable.php | 2 +- src/Contract/Operation/Rangeable.php | 2 +- src/Contract/Operation/Reductionable.php | 2 +- src/Contract/Operation/Reverseable.php | 2 +- src/Contract/Operation/Scaleable.php | 2 +- src/Contract/Operation/Shuffleable.php | 2 +- src/Contract/Operation/Sinceable.php | 2 +- src/Contract/Operation/Skipable.php | 2 +- src/Contract/Operation/Sliceable.php | 2 +- src/Contract/Operation/Sortable.php | 2 +- src/Contract/Operation/Splitable.php | 2 +- src/Contract/Operation/Tailable.php | 2 +- src/Contract/Operation/Timesable.php | 2 +- src/Contract/Operation/Transposeable.php | 2 +- src/Contract/Operation/Untilable.php | 2 +- src/Contract/Operation/Unwrapable.php | 2 +- src/Contract/Operation/Walkable.php | 2 +- src/Contract/Operation/Windowable.php | 2 +- src/Contract/Operation/Wrapable.php | 2 +- src/Contract/Transformation/Runable.php | 2 +- src/Contract/Transformation/Transformable.php | 2 +- src/Operation/Iterate.php | 2 +- src/Transformation/Implode.php | 6 +++--- src/Transformation/Last.php | 13 +++++-------- src/Transformation/Reduce.php | 2 +- src/Transformation/Transform.php | 2 +- 65 files changed, 71 insertions(+), 74 deletions(-) diff --git a/src/Contract/Operation/Appendable.php b/src/Contract/Operation/Appendable.php index c3c1a1325..ac713b36f 100644 --- a/src/Contract/Operation/Appendable.php +++ b/src/Contract/Operation/Appendable.php @@ -18,7 +18,7 @@ interface Appendable * * @param mixed ...$items * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function append(...$items): Collection; } diff --git a/src/Contract/Operation/Applyable.php b/src/Contract/Operation/Applyable.php index 2d211bee5..7aebe6f53 100644 --- a/src/Contract/Operation/Applyable.php +++ b/src/Contract/Operation/Applyable.php @@ -19,7 +19,7 @@ interface Applyable * @param callable ...$callables * @psalm-param callable(TKey, T):(bool) ...$callables * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function apply(callable ...$callables): Collection; } diff --git a/src/Contract/Operation/Cacheable.php b/src/Contract/Operation/Cacheable.php index 5155a8417..43d7e1afc 100644 --- a/src/Contract/Operation/Cacheable.php +++ b/src/Contract/Operation/Cacheable.php @@ -15,7 +15,7 @@ interface Cacheable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function cache(?CacheItemPoolInterface $cache = null): Collection; } diff --git a/src/Contract/Operation/Chunkable.php b/src/Contract/Operation/Chunkable.php index f8fd2a40b..4e26070f1 100644 --- a/src/Contract/Operation/Chunkable.php +++ b/src/Contract/Operation/Chunkable.php @@ -18,7 +18,7 @@ interface Chunkable * * @param int ...$size * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function chunk(int ...$size): Collection; } diff --git a/src/Contract/Operation/Collapseable.php b/src/Contract/Operation/Collapseable.php index 478cfecfd..5a5397147 100644 --- a/src/Contract/Operation/Collapseable.php +++ b/src/Contract/Operation/Collapseable.php @@ -16,7 +16,7 @@ interface Collapseable /** * Collapse a collection of items into a simple flat collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function collapse(): Collection; } diff --git a/src/Contract/Operation/Columnable.php b/src/Contract/Operation/Columnable.php index 8e7ae3e70..1442025e5 100644 --- a/src/Contract/Operation/Columnable.php +++ b/src/Contract/Operation/Columnable.php @@ -18,7 +18,7 @@ interface Columnable * * @param int|string $index * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function column($index): Collection; } diff --git a/src/Contract/Operation/Combinateable.php b/src/Contract/Operation/Combinateable.php index 7d8244ec5..f54f09ebe 100644 --- a/src/Contract/Operation/Combinateable.php +++ b/src/Contract/Operation/Combinateable.php @@ -19,7 +19,7 @@ interface Combinateable * @param int $length * The length. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function combinate(?int $length = null): Collection; } diff --git a/src/Contract/Operation/Combineable.php b/src/Contract/Operation/Combineable.php index 55d83f22f..40fe3596c 100644 --- a/src/Contract/Operation/Combineable.php +++ b/src/Contract/Operation/Combineable.php @@ -18,7 +18,7 @@ interface Combineable * * @param mixed ...$keys * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function combine(...$keys): Collection; } diff --git a/src/Contract/Operation/Compactable.php b/src/Contract/Operation/Compactable.php index 7215a1a82..646bfaaac 100644 --- a/src/Contract/Operation/Compactable.php +++ b/src/Contract/Operation/Compactable.php @@ -18,7 +18,7 @@ interface Compactable * * @param mixed ...$values * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function compact(...$values): Collection; } diff --git a/src/Contract/Operation/Cycleable.php b/src/Contract/Operation/Cycleable.php index 042e3fe73..a706dc1f6 100644 --- a/src/Contract/Operation/Cycleable.php +++ b/src/Contract/Operation/Cycleable.php @@ -14,7 +14,7 @@ interface Cycleable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function cycle(?int $length = null): Collection; } diff --git a/src/Contract/Operation/Diffable.php b/src/Contract/Operation/Diffable.php index 17bbc3dc0..a04fb83a9 100644 --- a/src/Contract/Operation/Diffable.php +++ b/src/Contract/Operation/Diffable.php @@ -16,7 +16,7 @@ interface Diffable /** * @param mixed ...$values * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function diff(...$values): Collection; } diff --git a/src/Contract/Operation/Diffkeysable.php b/src/Contract/Operation/Diffkeysable.php index 64f3993b9..99f7b0140 100644 --- a/src/Contract/Operation/Diffkeysable.php +++ b/src/Contract/Operation/Diffkeysable.php @@ -16,7 +16,7 @@ interface Diffkeysable /** * @param mixed ...$values * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function diffKeys(...$values): Collection; } diff --git a/src/Contract/Operation/Distinctable.php b/src/Contract/Operation/Distinctable.php index 2ccc9bfe7..91b8cb968 100644 --- a/src/Contract/Operation/Distinctable.php +++ b/src/Contract/Operation/Distinctable.php @@ -14,7 +14,7 @@ interface Distinctable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function distinct(): Collection; } diff --git a/src/Contract/Operation/Explodeable.php b/src/Contract/Operation/Explodeable.php index 600e1ed70..2b03bc507 100644 --- a/src/Contract/Operation/Explodeable.php +++ b/src/Contract/Operation/Explodeable.php @@ -18,7 +18,7 @@ interface Explodeable * * @param mixed ...$explodes * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function explode(...$explodes): Collection; } diff --git a/src/Contract/Operation/Filterable.php b/src/Contract/Operation/Filterable.php index ec98fbd3d..11640270c 100644 --- a/src/Contract/Operation/Filterable.php +++ b/src/Contract/Operation/Filterable.php @@ -18,7 +18,7 @@ interface Filterable * * @param callable ...$callbacks * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function filter(callable ...$callbacks): Collection; } diff --git a/src/Contract/Operation/Flattenable.php b/src/Contract/Operation/Flattenable.php index dd63739b7..d29b911b3 100644 --- a/src/Contract/Operation/Flattenable.php +++ b/src/Contract/Operation/Flattenable.php @@ -18,7 +18,7 @@ interface Flattenable /** * Flatten a collection of items into a simple flat collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function flatten(int $depth = PHP_INT_MAX): Collection; } diff --git a/src/Contract/Operation/Flipable.php b/src/Contract/Operation/Flipable.php index 9a334c0ed..3ad18a630 100644 --- a/src/Contract/Operation/Flipable.php +++ b/src/Contract/Operation/Flipable.php @@ -16,7 +16,7 @@ interface Flipable /** * Flip keys and items in a collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function flip(): Collection; } diff --git a/src/Contract/Operation/Forgetable.php b/src/Contract/Operation/Forgetable.php index cc5246382..813bad763 100644 --- a/src/Contract/Operation/Forgetable.php +++ b/src/Contract/Operation/Forgetable.php @@ -18,7 +18,7 @@ interface Forgetable * * @param mixed ...$keys * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function forget(...$keys): Collection; } diff --git a/src/Contract/Operation/Frequencyable.php b/src/Contract/Operation/Frequencyable.php index 1c9061f27..3c31fb3cf 100644 --- a/src/Contract/Operation/Frequencyable.php +++ b/src/Contract/Operation/Frequencyable.php @@ -14,7 +14,7 @@ interface Frequencyable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function frequency(): Collection; } diff --git a/src/Contract/Operation/Groupable.php b/src/Contract/Operation/Groupable.php index 4b841bbd4..d619577f0 100644 --- a/src/Contract/Operation/Groupable.php +++ b/src/Contract/Operation/Groupable.php @@ -14,7 +14,7 @@ interface Groupable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function group(?callable $callback = null): Collection; } diff --git a/src/Contract/Operation/Intersectable.php b/src/Contract/Operation/Intersectable.php index 6a3a227c7..8be112f11 100644 --- a/src/Contract/Operation/Intersectable.php +++ b/src/Contract/Operation/Intersectable.php @@ -16,7 +16,7 @@ interface Intersectable /** * @param mixed ...$values * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function intersect(...$values): Collection; } diff --git a/src/Contract/Operation/Intersectkeysable.php b/src/Contract/Operation/Intersectkeysable.php index 0b463ab7c..251ccefae 100644 --- a/src/Contract/Operation/Intersectkeysable.php +++ b/src/Contract/Operation/Intersectkeysable.php @@ -16,7 +16,7 @@ interface Intersectkeysable /** * @param mixed ...$values * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function intersectKeys(...$values): Collection; } diff --git a/src/Contract/Operation/Intersperseable.php b/src/Contract/Operation/Intersperseable.php index 1b704d7c5..775219704 100644 --- a/src/Contract/Operation/Intersperseable.php +++ b/src/Contract/Operation/Intersperseable.php @@ -19,7 +19,7 @@ interface Intersperseable * * @param mixed $element * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function intersperse($element, int $every = 1, int $startAt = 0): Collection; } diff --git a/src/Contract/Operation/Iterateable.php b/src/Contract/Operation/Iterateable.php index 5526806e7..8e586288f 100644 --- a/src/Contract/Operation/Iterateable.php +++ b/src/Contract/Operation/Iterateable.php @@ -15,7 +15,7 @@ interface Iterateable * * @param mixed ...$parameters * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public static function iterate(callable $callback, ...$parameters): Collection; } diff --git a/src/Contract/Operation/Keysable.php b/src/Contract/Operation/Keysable.php index 43881ae9f..b3a037886 100644 --- a/src/Contract/Operation/Keysable.php +++ b/src/Contract/Operation/Keysable.php @@ -16,7 +16,7 @@ interface Keysable /** * Get the keys of the items. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function keys(): Collection; } diff --git a/src/Contract/Operation/Limitable.php b/src/Contract/Operation/Limitable.php index 0c66d5da9..c28371a0c 100644 --- a/src/Contract/Operation/Limitable.php +++ b/src/Contract/Operation/Limitable.php @@ -16,7 +16,7 @@ interface Limitable /** * Limit the first {$limit} items. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function limit(int $limit): Collection; } diff --git a/src/Contract/Operation/Loopable.php b/src/Contract/Operation/Loopable.php index 1a0896c98..49914f4ef 100644 --- a/src/Contract/Operation/Loopable.php +++ b/src/Contract/Operation/Loopable.php @@ -14,7 +14,7 @@ interface Loopable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function loop(): Collection; } diff --git a/src/Contract/Operation/Mapable.php b/src/Contract/Operation/Mapable.php index bb11a3033..efd854ebb 100644 --- a/src/Contract/Operation/Mapable.php +++ b/src/Contract/Operation/Mapable.php @@ -18,7 +18,7 @@ interface Mapable * * @param callable ...$callbacks * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function map(callable ...$callbacks): Collection; } diff --git a/src/Contract/Operation/Mergeable.php b/src/Contract/Operation/Mergeable.php index 894e7c4a1..7729995a9 100644 --- a/src/Contract/Operation/Mergeable.php +++ b/src/Contract/Operation/Mergeable.php @@ -18,7 +18,7 @@ interface Mergeable * * @param iterable ...$sources * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function merge(iterable ...$sources): Collection; } diff --git a/src/Contract/Operation/Normalizeable.php b/src/Contract/Operation/Normalizeable.php index dba440cdb..eb08b63dc 100644 --- a/src/Contract/Operation/Normalizeable.php +++ b/src/Contract/Operation/Normalizeable.php @@ -16,7 +16,7 @@ interface Normalizeable /** * Replace, reorder and use numeric keys on a collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function normalize(): Collection; } diff --git a/src/Contract/Operation/Nthable.php b/src/Contract/Operation/Nthable.php index 4e4038b9f..60ca14610 100644 --- a/src/Contract/Operation/Nthable.php +++ b/src/Contract/Operation/Nthable.php @@ -16,7 +16,7 @@ interface Nthable /** * Get every n-th element of a collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function nth(int $step, int $offset = 0): Collection; } diff --git a/src/Contract/Operation/Onlyable.php b/src/Contract/Operation/Onlyable.php index 9abb9dccf..a4acc96c4 100644 --- a/src/Contract/Operation/Onlyable.php +++ b/src/Contract/Operation/Onlyable.php @@ -18,7 +18,7 @@ interface Onlyable * * @param mixed ...$keys * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function only(...$keys): Collection; } diff --git a/src/Contract/Operation/Padable.php b/src/Contract/Operation/Padable.php index 5a56b0f79..5bb76e5a1 100644 --- a/src/Contract/Operation/Padable.php +++ b/src/Contract/Operation/Padable.php @@ -18,7 +18,7 @@ interface Padable * * @param mixed $value * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function pad(int $size, $value): Collection; } diff --git a/src/Contract/Operation/Pairable.php b/src/Contract/Operation/Pairable.php index 5f207091d..987622139 100644 --- a/src/Contract/Operation/Pairable.php +++ b/src/Contract/Operation/Pairable.php @@ -14,7 +14,7 @@ interface Pairable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function pair(): Collection; } diff --git a/src/Contract/Operation/Permutateable.php b/src/Contract/Operation/Permutateable.php index b0fa4e255..0148d96a4 100644 --- a/src/Contract/Operation/Permutateable.php +++ b/src/Contract/Operation/Permutateable.php @@ -16,7 +16,7 @@ interface Permutateable /** * Find all the permutations of a collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function permutate(): Collection; } diff --git a/src/Contract/Operation/Pluckable.php b/src/Contract/Operation/Pluckable.php index 91d72260f..bfa4e3672 100644 --- a/src/Contract/Operation/Pluckable.php +++ b/src/Contract/Operation/Pluckable.php @@ -19,7 +19,7 @@ interface Pluckable * @param array|string $pluck * @param mixed|null $default * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function pluck($pluck, $default = null): Collection; } diff --git a/src/Contract/Operation/Prependable.php b/src/Contract/Operation/Prependable.php index 098e99594..e3507ec8d 100644 --- a/src/Contract/Operation/Prependable.php +++ b/src/Contract/Operation/Prependable.php @@ -18,7 +18,7 @@ interface Prependable * * @param mixed ...$items * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function prepend(...$items): Collection; } diff --git a/src/Contract/Operation/Productable.php b/src/Contract/Operation/Productable.php index b15b73ac9..9e0b29e64 100644 --- a/src/Contract/Operation/Productable.php +++ b/src/Contract/Operation/Productable.php @@ -18,7 +18,7 @@ interface Productable * * @param iterable ...$iterables * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function product(iterable ...$iterables): Collection; } diff --git a/src/Contract/Operation/RSampleable.php b/src/Contract/Operation/RSampleable.php index e5ac27815..4b6286a79 100644 --- a/src/Contract/Operation/RSampleable.php +++ b/src/Contract/Operation/RSampleable.php @@ -14,7 +14,7 @@ interface RSampleable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function rsample(float $probability): Collection; } diff --git a/src/Contract/Operation/Randomable.php b/src/Contract/Operation/Randomable.php index ece46aa54..54b0a9627 100644 --- a/src/Contract/Operation/Randomable.php +++ b/src/Contract/Operation/Randomable.php @@ -14,7 +14,7 @@ interface Randomable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function random(int $size = 1): Collection; } diff --git a/src/Contract/Operation/Rangeable.php b/src/Contract/Operation/Rangeable.php index 49983506b..28a179b9c 100644 --- a/src/Contract/Operation/Rangeable.php +++ b/src/Contract/Operation/Rangeable.php @@ -17,7 +17,7 @@ interface Rangeable * @psalm-template TKey of array-key * @psalm-template T * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public static function range(float $start = 0.0, float $end = INF, float $step = 1.0): Collection; } diff --git a/src/Contract/Operation/Reductionable.php b/src/Contract/Operation/Reductionable.php index 172e147ad..357001315 100644 --- a/src/Contract/Operation/Reductionable.php +++ b/src/Contract/Operation/Reductionable.php @@ -18,7 +18,7 @@ interface Reductionable * * @param mixed $initial * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function reduction(callable $callback, $initial = null): Collection; } diff --git a/src/Contract/Operation/Reverseable.php b/src/Contract/Operation/Reverseable.php index 5cb99f0f4..204d37227 100644 --- a/src/Contract/Operation/Reverseable.php +++ b/src/Contract/Operation/Reverseable.php @@ -16,7 +16,7 @@ interface Reverseable /** * Reverse order items of a collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function reverse(): Collection; } diff --git a/src/Contract/Operation/Scaleable.php b/src/Contract/Operation/Scaleable.php index 7794f0a13..73b0279f0 100644 --- a/src/Contract/Operation/Scaleable.php +++ b/src/Contract/Operation/Scaleable.php @@ -20,7 +20,7 @@ interface Scaleable * @param ?float $wantedUpperBound * @param ?float $base * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function scale( float $lowerBound, diff --git a/src/Contract/Operation/Shuffleable.php b/src/Contract/Operation/Shuffleable.php index 7f09c79da..6c45cf6c2 100644 --- a/src/Contract/Operation/Shuffleable.php +++ b/src/Contract/Operation/Shuffleable.php @@ -14,7 +14,7 @@ interface Shuffleable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function shuffle(): Collection; } diff --git a/src/Contract/Operation/Sinceable.php b/src/Contract/Operation/Sinceable.php index b5059f64f..964a4fc3e 100644 --- a/src/Contract/Operation/Sinceable.php +++ b/src/Contract/Operation/Sinceable.php @@ -17,7 +17,7 @@ interface Sinceable * @param callable ...$callbacks * @psalm-param callable(T, TKey):(bool) ...$callbacks * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function since(callable ...$callbacks): Collection; } diff --git a/src/Contract/Operation/Skipable.php b/src/Contract/Operation/Skipable.php index c020c4cc2..566978bb5 100644 --- a/src/Contract/Operation/Skipable.php +++ b/src/Contract/Operation/Skipable.php @@ -18,7 +18,7 @@ interface Skipable * * @param int ...$counts * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function skip(int ...$counts): Collection; } diff --git a/src/Contract/Operation/Sliceable.php b/src/Contract/Operation/Sliceable.php index 073396387..5919cb9fa 100644 --- a/src/Contract/Operation/Sliceable.php +++ b/src/Contract/Operation/Sliceable.php @@ -18,7 +18,7 @@ interface Sliceable * * @param ?int $length * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function slice(int $offset, ?int $length = null): Collection; } diff --git a/src/Contract/Operation/Sortable.php b/src/Contract/Operation/Sortable.php index 23862d734..537176cba 100644 --- a/src/Contract/Operation/Sortable.php +++ b/src/Contract/Operation/Sortable.php @@ -20,7 +20,7 @@ interface Sortable /** * Sort a collection using a callback. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function sort(int $type = Sortable::BY_VALUES, ?callable $callback = null): Collection; } diff --git a/src/Contract/Operation/Splitable.php b/src/Contract/Operation/Splitable.php index 0d31d8955..2fdb47e22 100644 --- a/src/Contract/Operation/Splitable.php +++ b/src/Contract/Operation/Splitable.php @@ -18,7 +18,7 @@ interface Splitable * * @param callable ...$callbacks * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function split(callable ...$callbacks): Collection; } diff --git a/src/Contract/Operation/Tailable.php b/src/Contract/Operation/Tailable.php index 97099d5da..05d0fb784 100644 --- a/src/Contract/Operation/Tailable.php +++ b/src/Contract/Operation/Tailable.php @@ -16,7 +16,7 @@ interface Tailable /** * Get last collection items of a collection. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function tail(?int $length = null): Collection; } diff --git a/src/Contract/Operation/Timesable.php b/src/Contract/Operation/Timesable.php index fcb240048..424cccb3b 100644 --- a/src/Contract/Operation/Timesable.php +++ b/src/Contract/Operation/Timesable.php @@ -15,7 +15,7 @@ interface Timesable * @psalm-template TKey of array-key * @psalm-template T * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public static function times(int $number = 0, ?callable $callback = null): Collection; } diff --git a/src/Contract/Operation/Transposeable.php b/src/Contract/Operation/Transposeable.php index 054b94873..00a2fd2a0 100644 --- a/src/Contract/Operation/Transposeable.php +++ b/src/Contract/Operation/Transposeable.php @@ -16,7 +16,7 @@ interface Transposeable /** * Matrix transposition. * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function transpose(): Collection; } diff --git a/src/Contract/Operation/Untilable.php b/src/Contract/Operation/Untilable.php index ea9bf49ce..557c00d74 100644 --- a/src/Contract/Operation/Untilable.php +++ b/src/Contract/Operation/Untilable.php @@ -17,7 +17,7 @@ interface Untilable * @param callable ...$callbacks * @psalm-param callable(T, TKey):(bool) ...$callbacks * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function until(callable ...$callbacks): Collection; } diff --git a/src/Contract/Operation/Unwrapable.php b/src/Contract/Operation/Unwrapable.php index dc84a4f21..26a656d65 100644 --- a/src/Contract/Operation/Unwrapable.php +++ b/src/Contract/Operation/Unwrapable.php @@ -14,7 +14,7 @@ interface Unwrapable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function unwrap(): Collection; } diff --git a/src/Contract/Operation/Walkable.php b/src/Contract/Operation/Walkable.php index db98d087e..2cebaf817 100644 --- a/src/Contract/Operation/Walkable.php +++ b/src/Contract/Operation/Walkable.php @@ -18,7 +18,7 @@ interface Walkable * * @param callable ...$callbacks * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function walk(callable ...$callbacks): Collection; } diff --git a/src/Contract/Operation/Windowable.php b/src/Contract/Operation/Windowable.php index 8b35e3ec9..223cecf91 100644 --- a/src/Contract/Operation/Windowable.php +++ b/src/Contract/Operation/Windowable.php @@ -16,7 +16,7 @@ interface Windowable /** * @param int ...$length * - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function window(int ...$length): Collection; } diff --git a/src/Contract/Operation/Wrapable.php b/src/Contract/Operation/Wrapable.php index d0ce0b0a1..0b2832df1 100644 --- a/src/Contract/Operation/Wrapable.php +++ b/src/Contract/Operation/Wrapable.php @@ -14,7 +14,7 @@ interface Wrapable { /** - * @return \loophp\collection\Contract\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function wrap(): Collection; } diff --git a/src/Contract/Transformation/Runable.php b/src/Contract/Transformation/Runable.php index 02bf3605c..6114b15cc 100644 --- a/src/Contract/Transformation/Runable.php +++ b/src/Contract/Transformation/Runable.php @@ -16,7 +16,7 @@ interface Runable /** * @param \loophp\collection\Contract\Operation ...$operations * - * @return \loophp\collection\Collection + * @psalm-return \loophp\collection\Contract\Collection */ public function run(Operation ...$operations); } diff --git a/src/Contract/Transformation/Transformable.php b/src/Contract/Transformation/Transformable.php index 414387b89..0a70fb783 100644 --- a/src/Contract/Transformation/Transformable.php +++ b/src/Contract/Transformation/Transformable.php @@ -14,7 +14,7 @@ interface Transformable { /** - * @param \loophp\collection\Contract\Transformation ...$transformers + * @param \loophp\collection\Contract\Transformation ...$transformers * @psalm-param \loophp\collection\Contract\Transformation ...$transformers * * @return \loophp\collection\Iterator\ClosureIterator|mixed diff --git a/src/Operation/Iterate.php b/src/Operation/Iterate.php index b37e148ac..2d2206e25 100644 --- a/src/Operation/Iterate.php +++ b/src/Operation/Iterate.php @@ -34,7 +34,7 @@ public function __invoke(): Closure { return /** - * @param Iterator $iterator + * @psalm-param Iterator $iterator * @psalm-param callable(...list):(array) $callback * * @param array $parameters diff --git a/src/Transformation/Implode.php b/src/Transformation/Implode.php index 30fd2972e..b9cdc468a 100644 --- a/src/Transformation/Implode.php +++ b/src/Transformation/Implode.php @@ -34,12 +34,12 @@ public function __invoke(Iterator $collection): string $callback = /** * @psalm-param TKey $key - * @psalm-param \CachingIterator $iterator + * @psalm-param \CachingIterator $iterator * * @param mixed $key * @param mixed $iterator */ - static function (string $carry, string $item, $key, $iterator) use ($glue): string { + static function (string $carry, string $item, $key, CachingIterator $iterator) use ($glue): string { $carry .= $item; if ($iterator->hasNext()) { @@ -49,6 +49,6 @@ static function (string $carry, string $item, $key, $iterator) use ($glue): stri return $carry; }; - return (new Transform(new FoldLeft($callback, '')))(new CachingIterator($collection)); + return (string) (new Transform(new FoldLeft($callback, '')))(new CachingIterator($collection)); } } diff --git a/src/Transformation/Last.php b/src/Transformation/Last.php index 57c029ada..e74ddef2a 100644 --- a/src/Transformation/Last.php +++ b/src/Transformation/Last.php @@ -18,8 +18,8 @@ final class Last implements Transformation { /** - * @var callable - * @psalm-var callable(T, TKey):(bool) + * @var callable|\Closure + * @psalm-var callable(T, TKey):(bool)|\Closure(T, TKey):(bool) */ private $callback; @@ -30,10 +30,9 @@ final class Last implements Transformation private $default; /** - * @psalm-param callable(T, TKey):(bool)|null $callback - * * @param mixed|null $default * + * @psalm-param \Closure(T, TKey):(bool)|callable(T, TKey):(bool)|null $callback * @psalm-param T|null $default */ public function __construct(?callable $callback = null, $default = null) @@ -41,11 +40,9 @@ public function __construct(?callable $callback = null, $default = null) $defaultCallback = /** * @param mixed $key - * - * @psalm-param TKey $key - * * @param mixed $value * + * @psalm-param TKey $key * @psalm-param T $value */ static function ($key, $value): bool { @@ -57,7 +54,7 @@ static function ($key, $value): bool { } /** - * @param Iterator $collection + * @psalm-param Iterator $collection * * @return mixed|null * @psalm-return T|null diff --git a/src/Transformation/Reduce.php b/src/Transformation/Reduce.php index cb06287f4..2d5cf08a3 100644 --- a/src/Transformation/Reduce.php +++ b/src/Transformation/Reduce.php @@ -44,7 +44,7 @@ public function __construct(callable $callback, $initial = null) * @psalm-param \Iterator $collection * * @return mixed|null - * @psalm-return T|null + * @psalm-return T|scalar|null|\Iterator */ public function __invoke(Iterator $collection) { diff --git a/src/Transformation/Transform.php b/src/Transformation/Transform.php index 667b1c8a5..b10c207f7 100644 --- a/src/Transformation/Transform.php +++ b/src/Transformation/Transform.php @@ -34,7 +34,7 @@ public function __construct(Transformation ...$transformers) * @psalm-param \Iterator $collection * * @return mixed|null - * @psalm-return T|null|\Iterator + * @psalm-return T|scalar|null|\Iterator */ public function __invoke(Iterator $collection) {