@@ -166,8 +166,6 @@ discard block |
||
166 | 166 | * > chain('ABC', 'DEF') |
167 | 167 | * A B C D E F |
168 | 168 | * |
169 | - * @param array|string|\Iterator $iterable |
|
170 | - * @param array|string|\Iterator $iterable2 |
|
171 | 169 | * @return ChainIterator |
172 | 170 | */ |
173 | 171 | function chain(/* $iterable, $iterable2, ... */) |
@@ -192,8 +190,8 @@ discard block |
||
192 | 190 | * > count(2.5, 0.5) |
193 | 191 | * 2.5 3.0 3.5 4.0 ... |
194 | 192 | * |
195 | - * @param int|float $start |
|
196 | - * @param int|float $step |
|
193 | + * @param integer $start |
|
194 | + * @param integer $step |
|
197 | 195 | * @return CountIterator |
198 | 196 | */ |
199 | 197 | function count($start = 0, $step = 1) |
@@ -217,7 +215,7 @@ discard block |
||
217 | 215 | * > cycle('ABCD') |
218 | 216 | * A B C D A B C D A B C D ... |
219 | 217 | * |
220 | - * @param array|string|\Iterator $iterable |
|
218 | + * @param lib\Traits\CycleTrait $iterable |
|
221 | 219 | * @return CycleIterator |
222 | 220 | */ |
223 | 221 | function cycle($iterable) |
@@ -299,7 +297,6 @@ discard block |
||
299 | 297 | * |
300 | 298 | * @param null|string|\Closure $strategy |
301 | 299 | * @param array|string|\Iterator $iterable |
302 | - * @param array|string|\Iterator $iterable2 |
|
303 | 300 | * @return MapIterator |
304 | 301 | */ |
305 | 302 | function map($strategy, $iterable /*, $iterable2, ... */) |
@@ -455,8 +452,6 @@ discard block |
||
455 | 452 | * Make an iterator that returns values from $iterable where the |
456 | 453 | * $strategy determines that the values are not empty |
457 | 454 | * |
458 | - * @param null|string|\Closure $strategy, Optional, when not specified !empty will be used |
|
459 | - * @param array|string|\Iterator $iterable |
|
460 | 455 | * @return FilterIterator |
461 | 456 | */ |
462 | 457 | function filter(/* [$strategy, ] $iterable */) |
@@ -490,9 +485,6 @@ discard block |
||
490 | 485 | * TODO: document! |
491 | 486 | * TODO: unit tests! |
492 | 487 | * |
493 | - * @param string|\Closure $strategy |
|
494 | - * @param \Closure $closure Optional, when not specified !empty will be used |
|
495 | - * @param array|string|\Iterator $iterable |
|
496 | 488 | * @return FilterIterator |
497 | 489 | * |
498 | 490 | * @deprecated Use filter() instead, will be removed in version 3.0 |
@@ -538,8 +530,6 @@ discard block |
||
538 | 530 | * > zip([1, 2, 3], ['a', 'b', 'c']) |
539 | 531 | * [1, 'a'] [2, 'b'] [3, 'c'] |
540 | 532 | * |
541 | - * @param array|string|\Iterator $iterable |
|
542 | - * @param array|string|\Iterator $iterable2 |
|
543 | 533 | * @return ZipIterator |
544 | 534 | */ |
545 | 535 | function zip(/* $iterable, $iterable2, ... */) |
@@ -557,7 +547,7 @@ discard block |
||
557 | 547 | /** |
558 | 548 | * Returns an iterable with all the elements from $ITERABLE reversed |
559 | 549 | * |
560 | - * @param array|string|\Iterator $iterable |
|
550 | + * @param lib\Traits\ReversedTrait $iterable |
|
561 | 551 | * @return ReversedIterator |
562 | 552 | */ |
563 | 553 | function reversed($iterable) |
@@ -578,8 +568,6 @@ discard block |
||
578 | 568 | * > unique('id', [['id' => 1, 'value' => 'a'], ['id' => 1, 'value' => 'b']]) |
579 | 569 | * ['id' => 1, 'value' => 'a'] # one element in this list |
580 | 570 | * |
581 | - * @param null|string|\Closure $strategy |
|
582 | - * @param array|string|\Iterator $iterable |
|
583 | 571 | * @return UniqueIterator |
584 | 572 | */ |
585 | 573 | function unique(/* [$strategy,] $iterable */) |
@@ -634,8 +622,6 @@ discard block |
||
634 | 622 | * > any([1, null, 3]) |
635 | 623 | * true |
636 | 624 | * |
637 | - * @param null|string|\Closure $strategy |
|
638 | - * @param array|string|\Iterator $iterable |
|
639 | 625 | * @return boolean |
640 | 626 | */ |
641 | 627 | function any(/* [$strategy,] $iterable */) |
@@ -678,8 +664,6 @@ discard block |
||
678 | 664 | * > all([1, null, 3]) |
679 | 665 | * false |
680 | 666 | * |
681 | - * @param null|string|\Closure $strategy |
|
682 | - * @param array|string|\Iterator $iterable |
|
683 | 667 | * @return boolean |
684 | 668 | */ |
685 | 669 | function all(/* [$strategy,] $iterable */) |
@@ -713,7 +697,7 @@ discard block |
||
713 | 697 | /** |
714 | 698 | * TODO: document! |
715 | 699 | * |
716 | - * @param array|string|\Iterator $iterable |
|
700 | + * @param lib\Traits\SliceTrait $iterable |
|
717 | 701 | * @param integer $start |
718 | 702 | * @param null|integer $end |
719 | 703 | * @return SliceIterator |
@@ -734,7 +718,7 @@ discard block |
||
734 | 718 | * |
735 | 719 | * TODO: unit tests! |
736 | 720 | * |
737 | - * @param array|string|\Iterator $iterable |
|
721 | + * @param lib\Traits\FirstTrait $iterable |
|
738 | 722 | * @param mixed $default |
739 | 723 | * @return mixed |
740 | 724 | */ |
@@ -752,7 +736,7 @@ discard block |
||
752 | 736 | * |
753 | 737 | * TODO: unit tests! |
754 | 738 | * |
755 | - * @param array|string|\Iterator $iterable |
|
739 | + * @param lib\Traits\LastTrait $iterable |
|
756 | 740 | * @param mixed $default |
757 | 741 | * @return mixed |
758 | 742 | */ |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | function chain(/* $iterable, $iterable2, ... */) |
174 | 174 | { |
175 | 175 | $iterables = array_map( |
176 | - function ($iterable) { |
|
176 | + function($iterable) { |
|
177 | 177 | return conversions\mixedToIterator($iterable); |
178 | 178 | }, |
179 | 179 | func_get_args() |
@@ -305,7 +305,7 @@ discard block |
||
305 | 305 | function map($strategy, $iterable /*, $iterable2, ... */) |
306 | 306 | { |
307 | 307 | $iterables = array_map( |
308 | - function ($iterable) { |
|
308 | + function($iterable) { |
|
309 | 309 | return conversions\mixedToIterator($iterable); |
310 | 310 | }, |
311 | 311 | array_slice(func_get_args(), 1) |
@@ -478,7 +478,7 @@ discard block |
||
478 | 478 | } |
479 | 479 | |
480 | 480 | $strategy = conversions\mixedToValueGetter($strategy); |
481 | - $isValid = function ($value, $key) use ($strategy) { |
|
481 | + $isValid = function($value, $key) use ($strategy) { |
|
482 | 482 | $tempVarPhp54 = $strategy($value, $key); |
483 | 483 | return !empty($tempVarPhp54); |
484 | 484 | }; |
@@ -503,7 +503,7 @@ discard block |
||
503 | 503 | switch (sizeof($args)) { |
504 | 504 | case 2: |
505 | 505 | $strategy = conversions\mixedToValueGetter($args[0]); |
506 | - $closure = function ($value, $key) use ($strategy) { |
|
506 | + $closure = function($value, $key) use ($strategy) { |
|
507 | 507 | $tempVarPhp54 = call_user_func($strategy, $value, $key); |
508 | 508 | return !empty($tempVarPhp54); |
509 | 509 | }; |
@@ -513,7 +513,7 @@ discard block |
||
513 | 513 | case 3: |
514 | 514 | $strategy = conversions\mixedToValueGetter($args[0]); |
515 | 515 | $userClosure = $args[1]; |
516 | - $closure = function ($value, $key) use ($strategy, $userClosure) { |
|
516 | + $closure = function($value, $key) use ($strategy, $userClosure) { |
|
517 | 517 | return call_user_func($userClosure, call_user_func($strategy, $value, $key)); |
518 | 518 | }; |
519 | 519 | $iterable = conversions\mixedToIterator($args[2]); |
@@ -545,7 +545,7 @@ discard block |
||
545 | 545 | function zip(/* $iterable, $iterable2, ... */) |
546 | 546 | { |
547 | 547 | $iterables = array_map( |
548 | - function ($iterable) { |
|
548 | + function($iterable) { |
|
549 | 549 | return conversions\mixedToIterator($iterable); |
550 | 550 | }, |
551 | 551 | func_get_args() |
@@ -60,6 +60,10 @@ |
||
60 | 60 | private $start; |
61 | 61 | private $end; |
62 | 62 | |
63 | + /** |
|
64 | + * @param integer $start |
|
65 | + * @param integer $end |
|
66 | + */ |
|
63 | 67 | public function __construct(\Iterator $iterable, $start, $end = null) |
64 | 68 | { |
65 | 69 | if ($start < 0 || $end < 0) { |
@@ -67,7 +67,7 @@ |
||
67 | 67 | } |
68 | 68 | |
69 | 69 | $this->index = 0; |
70 | - $this->start = $start < 0 ? $length + $start: $start; |
|
70 | + $this->start = $start < 0 ? $length + $start : $start; |
|
71 | 71 | $this->end = $end === null ? null : ($end < 0 ? $length + $end : $end); |
72 | 72 | parent::__construct($iterable); |
73 | 73 | } |
@@ -26,8 +26,6 @@ |
||
26 | 26 | * > iter\iterable('ABC', 'DEF')->chain() |
27 | 27 | * A B C D E F |
28 | 28 | * |
29 | - * @param array|string|\Iterator $iterable |
|
30 | - * @param array|string|\Iterator $iterable2 |
|
31 | 29 | * @return iter\lib\ChainIterator |
32 | 30 | */ |
33 | 31 | public function chain(/* $iterable, $iterable2, ... */) |
@@ -25,7 +25,6 @@ |
||
25 | 25 | * > iter\iterable([])->reduce('min', 1) |
26 | 26 | * 1 |
27 | 27 | * |
28 | - * @param array|string|\Iterator $iterable |
|
29 | 28 | * @param string|\Closure $closure |
30 | 29 | * @param mixed $initializer |
31 | 30 | * @return mixed |
@@ -22,7 +22,6 @@ |
||
22 | 22 | * > zip([1, 2, 3], ['a', 'b', 'c']) |
23 | 23 | * [1, 'a'] [2, 'b'] [3, 'c'] |
24 | 24 | * |
25 | - * @param array|string|\Iterator $iterable2 |
|
26 | 25 | * @return iter\lib\ZipIterator |
27 | 26 | */ |
28 | 27 | public function zip(/* $iterable2, ... */) |
@@ -176,6 +176,7 @@ |
||
176 | 176 | |
177 | 177 | /** |
178 | 178 | * @deprecated please use the reduction functions directly, will be removed in version 3.0 |
179 | + * @param string $name |
|
179 | 180 | */ |
180 | 181 | function getReduction($name /* [argument, [arguments, ...] */) |
181 | 182 | { |
@@ -15,7 +15,7 @@ discard block |
||
15 | 15 | */ |
16 | 16 | function add() |
17 | 17 | { |
18 | - return function ($a, $b) { |
|
18 | + return function($a, $b) { |
|
19 | 19 | if (!is_numeric($a)) { |
20 | 20 | throw new \InvalidArgumentException('Argument $A must be numeric to perform addition'); |
21 | 21 | } |
@@ -33,7 +33,7 @@ discard block |
||
33 | 33 | */ |
34 | 34 | function sub() |
35 | 35 | { |
36 | - return function ($a, $b) { |
|
36 | + return function($a, $b) { |
|
37 | 37 | if (!is_numeric($a)) { |
38 | 38 | throw new \InvalidArgumentException('Argument $A must be numeric to perform subtraction'); |
39 | 39 | } |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | */ |
52 | 52 | function mul() |
53 | 53 | { |
54 | - return function ($a, $b) { |
|
54 | + return function($a, $b) { |
|
55 | 55 | if (!is_numeric($a)) { |
56 | 56 | throw new \InvalidArgumentException('Argument $A must be numeric to perform multiplication'); |
57 | 57 | } |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | */ |
70 | 70 | function min() |
71 | 71 | { |
72 | - return function ($a, $b) { |
|
72 | + return function($a, $b) { |
|
73 | 73 | if (!is_numeric($a)) { |
74 | 74 | throw new \InvalidArgumentException('Argument $A must be numeric to determine minimum'); |
75 | 75 | } |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | */ |
88 | 88 | function max() |
89 | 89 | { |
90 | - return function ($a, $b) { |
|
90 | + return function($a, $b) { |
|
91 | 91 | if (!is_numeric($a)) { |
92 | 92 | throw new \InvalidArgumentException('Argument $A must be numeric to determine maximum'); |
93 | 93 | } |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | if (!is_string($glue)) { |
110 | 110 | throw new \InvalidArgumentException('Argument $GLUE must be a string to join'); |
111 | 111 | } |
112 | - return function ($a, $b) use ($glue) { |
|
112 | + return function($a, $b) use ($glue) { |
|
113 | 113 | if (!is_string($a)) { |
114 | 114 | throw new \InvalidArgumentException('Argument $A must be a string to join'); |
115 | 115 | } |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | */ |
132 | 132 | function chain() |
133 | 133 | { |
134 | - return function ($chainIterator, $b) { |
|
134 | + return function($chainIterator, $b) { |
|
135 | 135 | if (!($chainIterator instanceof ChainIterator)) { |
136 | 136 | throw new \InvalidArgumentException('Argument $A must be a ChainIterator. Did your call "reduce" with "new ChainIterator()" as the initial parameter?'); |
137 | 137 | } |
@@ -57,13 +57,13 @@ discard block |
||
57 | 57 | public function __construct(\Closure $func, \Iterator $iterable, $reverse = false) |
58 | 58 | { |
59 | 59 | if ($reverse) { |
60 | - $cmp = function ($a, $b) use ($func) { |
|
60 | + $cmp = function($a, $b) use ($func) { |
|
61 | 61 | $orderA = $a['order']; |
62 | 62 | $orderB = $b['order']; |
63 | 63 | return $orderA == $orderB ? 0 : ($orderA < $orderB ? 1 : -1); |
64 | 64 | }; |
65 | 65 | } else { |
66 | - $cmp = function ($a, $b) use ($func) { |
|
66 | + $cmp = function($a, $b) use ($func) { |
|
67 | 67 | $orderA = $a['order']; |
68 | 68 | $orderB = $b['order']; |
69 | 69 | return $orderA == $orderB ? 0 : ($orderA < $orderB ? -1 : 1); |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | |
73 | 73 | $data = []; |
74 | 74 | foreach ($iterable as $key => $value) { |
75 | - $data []= array('key' => $key, 'value' => $value, 'order' => call_user_func($func, $value, $key)); |
|
75 | + $data [] = array('key' => $key, 'value' => $value, 'order' => call_user_func($func, $value, $key)); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | $this->mergesort($data, $cmp); |
@@ -114,8 +114,9 @@ discard block |
||
114 | 114 | protected function mergesort(array &$array, \Closure $cmp_function) |
115 | 115 | { |
116 | 116 | // Arrays of size < 2 require no action. |
117 | - if (count($array) < 2) |
|
118 | - return; |
|
117 | + if (count($array) < 2) { |
|
118 | + return; |
|
119 | + } |
|
119 | 120 | |
120 | 121 | // Split the array in half |
121 | 122 | $halfway = count($array) / 2; |
@@ -138,15 +139,18 @@ discard block |
||
138 | 139 | while ($ptr1 < count($array1) && $ptr2 < count($array2)) { |
139 | 140 | if (call_user_func($cmp_function, $array1[$ptr1], $array2[$ptr2]) < 1) { |
140 | 141 | $array[] = $array1[$ptr1++]; |
141 | - } |
|
142 | - else { |
|
142 | + } else { |
|
143 | 143 | $array[] = $array2[$ptr2++]; |
144 | 144 | } |
145 | 145 | } |
146 | 146 | |
147 | 147 | // Merge the remainder |
148 | - while ($ptr1 < count($array1)) $array[] = $array1[$ptr1++]; |
|
149 | - while ($ptr2 < count($array2)) $array[] = $array2[$ptr2++]; |
|
148 | + while ($ptr1 < count($array1)) { |
|
149 | + $array[] = $array1[$ptr1++]; |
|
150 | + } |
|
151 | + while ($ptr2 < count($array2)) { |
|
152 | + $array[] = $array2[$ptr2++]; |
|
153 | + } |
|
150 | 154 | return; |
151 | 155 | } |
152 | 156 | } |
@@ -61,11 +61,11 @@ discard block |
||
61 | 61 | |
62 | 62 | public function __construct(\Closure $valueFunc /* [\Closure $keyFunc], \Iterator $iterable1, [\Iterator $iterable2, [...]] */) |
63 | 63 | { |
64 | - parent::__construct(\MultipleIterator::MIT_NEED_ALL| \MultipleIterator::MIT_KEYS_NUMERIC); |
|
64 | + parent::__construct(\MultipleIterator::MIT_NEED_ALL|\MultipleIterator::MIT_KEYS_NUMERIC); |
|
65 | 65 | $args = func_get_args(); |
66 | 66 | $argsContainsKeyFunc = $args[1] instanceof \Closure; |
67 | 67 | $this->valueFunc = $args[0]; |
68 | - $this->keyFunc = $argsContainsKeyFunc ? $args[1] : function () { return $this->genericKeysToKey(func_get_args()); }; |
|
68 | + $this->keyFunc = $argsContainsKeyFunc ? $args[1] : function() { return $this->genericKeysToKey(func_get_args()); }; |
|
69 | 69 | foreach (array_slice($args, $argsContainsKeyFunc ? 2 : 1) as $iterable) { |
70 | 70 | if (!$iterable instanceof \Iterator) { |
71 | 71 | throw new \InvalidArgumentException(sprintf('Argument %d must be an iterator')); |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | foreach ($keys as $key) { |
87 | 87 | if ($key !== $value) { |
88 | 88 | // the keys are different, we will make a new string identifying this entry |
89 | - return join(':', array_map(function ($key) { return (string)$key; }, $keys)); |
|
89 | + return join(':', array_map(function($key) { return (string)$key; }, $keys)); |
|
90 | 90 | } |
91 | 91 | } |
92 | 92 |
@@ -160,7 +160,7 @@ |
||
160 | 160 | $array = iterator_to_array($this); |
161 | 161 | array_walk( |
162 | 162 | $array, |
163 | - function (&$value) { |
|
163 | + function(&$value) { |
|
164 | 164 | /** @var GroupedIterator $value */ |
165 | 165 | $value = $value->toArray(); |
166 | 166 | } |