@@ -10,20 +10,20 @@ |
||
| 10 | 10 | |
| 11 | 11 | class SortByTest extends TestCase |
| 12 | 12 | { |
| 13 | - /** |
|
| 14 | - * @throws \Exception |
|
| 15 | - */ |
|
| 16 | - public function testSortBy() |
|
| 17 | - { |
|
| 13 | + /** |
|
| 14 | + * @throws \Exception |
|
| 15 | + */ |
|
| 16 | + public function testSortBy() |
|
| 17 | + { |
|
| 18 | 18 | $clara = ['name' => 'clara', 'age' => 314.159]; |
| 19 | 19 | $bob = ['name' => 'Bob', 'age' => -10]; |
| 20 | 20 | $alice = ['name' => 'ALICE', 'age' => 101]; |
| 21 | 21 | $sortByNameCaseInsensitive = sortBy(compose( |
| 22 | - 'strtolower', |
|
| 23 | - path(['name']) |
|
| 22 | + 'strtolower', |
|
| 23 | + path(['name']) |
|
| 24 | 24 | )); |
| 25 | 25 | $expect = [$alice, $bob, $clara]; |
| 26 | 26 | $actual = $sortByNameCaseInsensitive([$clara, $bob, $alice]); |
| 27 | 27 | $this->assertEquals($expect, $actual); |
| 28 | - } |
|
| 28 | + } |
|
| 29 | 29 | } |
@@ -7,10 +7,10 @@ |
||
| 7 | 7 | |
| 8 | 8 | class ToLowerTest extends TestCase |
| 9 | 9 | { |
| 10 | - public function testToLower() |
|
| 11 | - { |
|
| 10 | + public function testToLower() |
|
| 11 | + { |
|
| 12 | 12 | $expect = 'abc'; |
| 13 | 13 | $actual = toLower()('ABC'); |
| 14 | 14 | $this->assertEquals($expect, $actual); |
| 15 | - } |
|
| 15 | + } |
|
| 16 | 16 | } |
@@ -7,79 +7,79 @@ |
||
| 7 | 7 | |
| 8 | 8 | class SliceTest extends TestCase |
| 9 | 9 | { |
| 10 | - public function testSliceOnArray() |
|
| 11 | - { |
|
| 10 | + public function testSliceOnArray() |
|
| 11 | + { |
|
| 12 | 12 | $fromIndex = 1; |
| 13 | 13 | $toIndex = 3; |
| 14 | 14 | $list = ['a', 'b', 'c', 'd', 'e']; |
| 15 | 15 | $expect = ['b', 'c']; |
| 16 | 16 | $actual = slice($fromIndex)($toIndex)($list); |
| 17 | 17 | $this->assertEquals($expect, $actual); |
| 18 | - } |
|
| 18 | + } |
|
| 19 | 19 | |
| 20 | - public function testSliceOnArrayWithToIndexIsLargerThanArraySize() |
|
| 21 | - { |
|
| 20 | + public function testSliceOnArrayWithToIndexIsLargerThanArraySize() |
|
| 21 | + { |
|
| 22 | 22 | $fromIndex = 1; |
| 23 | 23 | $toIndex = 300; |
| 24 | 24 | $list = ['a', 'b', 'c', 'd']; |
| 25 | 25 | $expect = ['b', 'c', 'd']; |
| 26 | 26 | $actual = slice($fromIndex)($toIndex)($list); |
| 27 | 27 | $this->assertEquals($expect, $actual); |
| 28 | - } |
|
| 29 | - public function testSliceOnArrayWithNegativeToIndex() |
|
| 30 | - { |
|
| 28 | + } |
|
| 29 | + public function testSliceOnArrayWithNegativeToIndex() |
|
| 30 | + { |
|
| 31 | 31 | $fromIndex = 0; |
| 32 | 32 | $toIndex = -1; |
| 33 | 33 | $list = ['a', 'b', 'c', 'd']; |
| 34 | 34 | $expect = ['a', 'b', 'c']; |
| 35 | 35 | $actual = slice($fromIndex)($toIndex)($list); |
| 36 | 36 | $this->assertEquals($expect, $actual); |
| 37 | - } |
|
| 38 | - public function testSliceOnArrayWithNegativeIndex() |
|
| 39 | - { |
|
| 37 | + } |
|
| 38 | + public function testSliceOnArrayWithNegativeIndex() |
|
| 39 | + { |
|
| 40 | 40 | $fromIndex = -3; |
| 41 | 41 | $toIndex = -1; |
| 42 | 42 | $list = ['a', 'b', 'c', 'd']; |
| 43 | 43 | $expect = ['b', 'c']; |
| 44 | 44 | $actual = slice($fromIndex)($toIndex)($list); |
| 45 | 45 | $this->assertEquals($expect, $actual); |
| 46 | - } |
|
| 46 | + } |
|
| 47 | 47 | |
| 48 | - public function testSliceOnString() |
|
| 49 | - { |
|
| 48 | + public function testSliceOnString() |
|
| 49 | + { |
|
| 50 | 50 | $fromIndex = 1; |
| 51 | 51 | $toIndex = 3; |
| 52 | 52 | $list = 'abcde'; |
| 53 | 53 | $expect = 'bc'; |
| 54 | 54 | $actual = slice($fromIndex)($toIndex)($list); |
| 55 | 55 | $this->assertEquals($expect, $actual); |
| 56 | - } |
|
| 56 | + } |
|
| 57 | 57 | |
| 58 | - public function testSliceOnStringWithToIndexIsLargerThanArraySize() |
|
| 59 | - { |
|
| 58 | + public function testSliceOnStringWithToIndexIsLargerThanArraySize() |
|
| 59 | + { |
|
| 60 | 60 | $fromIndex = 1; |
| 61 | 61 | $toIndex = 300; |
| 62 | 62 | $list = 'abcd'; |
| 63 | 63 | $expect = 'bcd'; |
| 64 | 64 | $actual = slice($fromIndex)($toIndex)($list); |
| 65 | 65 | $this->assertEquals($expect, $actual); |
| 66 | - } |
|
| 67 | - public function testSliceOnStringWithNegativeToIndex() |
|
| 68 | - { |
|
| 66 | + } |
|
| 67 | + public function testSliceOnStringWithNegativeToIndex() |
|
| 68 | + { |
|
| 69 | 69 | $fromIndex = 0; |
| 70 | 70 | $toIndex = -1; |
| 71 | 71 | $list = 'abcd'; |
| 72 | 72 | $expect = 'abc'; |
| 73 | 73 | $actual = slice($fromIndex)($toIndex)($list); |
| 74 | 74 | $this->assertEquals($expect, $actual); |
| 75 | - } |
|
| 76 | - public function testSliceOnStringWithNegativeIndex() |
|
| 77 | - { |
|
| 75 | + } |
|
| 76 | + public function testSliceOnStringWithNegativeIndex() |
|
| 77 | + { |
|
| 78 | 78 | $fromIndex = -3; |
| 79 | 79 | $toIndex = -1; |
| 80 | 80 | $list = 'abcd'; |
| 81 | 81 | $expect = 'bc'; |
| 82 | 82 | $actual = slice($fromIndex)($toIndex)($list); |
| 83 | 83 | $this->assertEquals($expect, $actual); |
| 84 | - } |
|
| 84 | + } |
|
| 85 | 85 | } |
@@ -7,14 +7,14 @@ |
||
| 7 | 7 | |
| 8 | 8 | class SortTest extends TestCase |
| 9 | 9 | { |
| 10 | - public function testSort() |
|
| 11 | - { |
|
| 10 | + public function testSort() |
|
| 11 | + { |
|
| 12 | 12 | $diff = function ($a, $b) { |
| 13 | - return $a - $b; |
|
| 13 | + return $a - $b; |
|
| 14 | 14 | }; |
| 15 | 15 | $array = [4,2,7,5]; |
| 16 | 16 | $expect = [2, 4, 5, 7]; |
| 17 | 17 | $actual = sort($diff)($array); |
| 18 | 18 | $this->assertEquals($expect, $actual); |
| 19 | - } |
|
| 19 | + } |
|
| 20 | 20 | } |
@@ -9,10 +9,10 @@ |
||
| 9 | 9 | { |
| 10 | 10 | public function testSort() |
| 11 | 11 | { |
| 12 | - $diff = function ($a, $b) { |
|
| 12 | + $diff = function($a, $b) { |
|
| 13 | 13 | return $a - $b; |
| 14 | 14 | }; |
| 15 | - $array = [4,2,7,5]; |
|
| 15 | + $array = [4, 2, 7, 5]; |
|
| 16 | 16 | $expect = [2, 4, 5, 7]; |
| 17 | 17 | $actual = sort($diff)($array); |
| 18 | 18 | $this->assertEquals($expect, $actual); |
@@ -8,13 +8,13 @@ discard block |
||
| 8 | 8 | */ |
| 9 | 9 | function match() |
| 10 | 10 | { |
| 11 | - $match = function (string $pattern, string $string) { |
|
| 11 | + $match = function (string $pattern, string $string) { |
|
| 12 | 12 | preg_match($pattern, $string, $matches); |
| 13 | 13 | return $matches; |
| 14 | - }; |
|
| 15 | - $arguments = func_get_args(); |
|
| 16 | - $curried = curryN($match, 2); |
|
| 17 | - return call_user_func_array($curried, $arguments); |
|
| 14 | + }; |
|
| 15 | + $arguments = func_get_args(); |
|
| 16 | + $curried = curryN($match, 2); |
|
| 17 | + return call_user_func_array($curried, $arguments); |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | /** |
@@ -25,14 +25,14 @@ discard block |
||
| 25 | 25 | */ |
| 26 | 26 | function replace() |
| 27 | 27 | { |
| 28 | - $replaceFn = function ($searchString, $replaceString, $subject) { |
|
| 28 | + $replaceFn = function ($searchString, $replaceString, $subject) { |
|
| 29 | 29 | $searchString = '/'.preg_quote($searchString, '/').'/'; |
| 30 | 30 | return preg_replace($searchString, $replaceString, $subject, 1); |
| 31 | - }; |
|
| 31 | + }; |
|
| 32 | 32 | |
| 33 | - $arguments = func_get_args(); |
|
| 34 | - $curried = curryN($replaceFn, 3); |
|
| 35 | - return call_user_func_array($curried, $arguments); |
|
| 33 | + $arguments = func_get_args(); |
|
| 34 | + $curried = curryN($replaceFn, 3); |
|
| 35 | + return call_user_func_array($curried, $arguments); |
|
| 36 | 36 | } |
| 37 | 37 | |
| 38 | 38 | /** |
@@ -43,9 +43,9 @@ discard block |
||
| 43 | 43 | */ |
| 44 | 44 | function replaceAll() |
| 45 | 45 | { |
| 46 | - $arguments = func_get_args(); |
|
| 47 | - $curried = curryN('str_replace', 3); |
|
| 48 | - return call_user_func_array($curried, $arguments); |
|
| 46 | + $arguments = func_get_args(); |
|
| 47 | + $curried = curryN('str_replace', 3); |
|
| 48 | + return call_user_func_array($curried, $arguments); |
|
| 49 | 49 | } |
| 50 | 50 | |
| 51 | 51 | /** |
@@ -56,15 +56,15 @@ discard block |
||
| 56 | 56 | */ |
| 57 | 57 | function replaceAllRegexp() |
| 58 | 58 | { |
| 59 | - $arguments = func_get_args(); |
|
| 60 | - $curried = curryN('preg_replace', 3); |
|
| 61 | - return call_user_func_array($curried, $arguments); |
|
| 59 | + $arguments = func_get_args(); |
|
| 60 | + $curried = curryN('preg_replace', 3); |
|
| 61 | + return call_user_func_array($curried, $arguments); |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | |
| 65 | 65 | function toLower() |
| 66 | 66 | { |
| 67 | - $arguments = func_get_args(); |
|
| 68 | - $curried = curryN('strtolower', 1); |
|
| 69 | - return call_user_func_array($curried, $arguments); |
|
| 67 | + $arguments = func_get_args(); |
|
| 68 | + $curried = curryN('strtolower', 1); |
|
| 69 | + return call_user_func_array($curried, $arguments); |
|
| 70 | 70 | } |
@@ -8,20 +8,20 @@ discard block |
||
| 8 | 8 | */ |
| 9 | 9 | function all() |
| 10 | 10 | { |
| 11 | - $all = function (callable $predicateFunction, array $array): bool { |
|
| 11 | + $all = function (callable $predicateFunction, array $array): bool { |
|
| 12 | 12 | if (empty($array)) { |
| 13 | - return false; |
|
| 13 | + return false; |
|
| 14 | 14 | } |
| 15 | 15 | foreach ($array as $it) { |
| 16 | - if (!$predicateFunction($it)) { |
|
| 16 | + if (!$predicateFunction($it)) { |
|
| 17 | 17 | return false; |
| 18 | - } |
|
| 18 | + } |
|
| 19 | 19 | } |
| 20 | 20 | return true; |
| 21 | - }; |
|
| 22 | - $arguments = func_get_args(); |
|
| 23 | - $curried = curryN($all, 2); |
|
| 24 | - return call_user_func_array($curried, $arguments); |
|
| 21 | + }; |
|
| 22 | + $arguments = func_get_args(); |
|
| 23 | + $curried = curryN($all, 2); |
|
| 24 | + return call_user_func_array($curried, $arguments); |
|
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | /** |
@@ -31,20 +31,20 @@ discard block |
||
| 31 | 31 | */ |
| 32 | 32 | function any() |
| 33 | 33 | { |
| 34 | - $any = function (callable $predicateFunction, array $array) { |
|
| 34 | + $any = function (callable $predicateFunction, array $array) { |
|
| 35 | 35 | if (empty($array)) { |
| 36 | - return false; |
|
| 36 | + return false; |
|
| 37 | 37 | } |
| 38 | 38 | foreach ($array as $it) { |
| 39 | - if ($predicateFunction($it)) { |
|
| 39 | + if ($predicateFunction($it)) { |
|
| 40 | 40 | return true; |
| 41 | - } |
|
| 41 | + } |
|
| 42 | 42 | } |
| 43 | 43 | return false; |
| 44 | - }; |
|
| 45 | - $arguments = func_get_args(); |
|
| 46 | - $curriedAny = curryN($any, 2); |
|
| 47 | - return call_user_func_array($curriedAny, $arguments); |
|
| 44 | + }; |
|
| 45 | + $arguments = func_get_args(); |
|
| 46 | + $curriedAny = curryN($any, 2); |
|
| 47 | + return call_user_func_array($curriedAny, $arguments); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | /** |
@@ -54,14 +54,14 @@ discard block |
||
| 54 | 54 | */ |
| 55 | 55 | function arrayForEach() |
| 56 | 56 | { |
| 57 | - $arrayForEach = function (callable $fn, array $array) { |
|
| 57 | + $arrayForEach = function (callable $fn, array $array) { |
|
| 58 | 58 | foreach ($array as $item) { |
| 59 | - $fn($item); |
|
| 59 | + $fn($item); |
|
| 60 | 60 | } |
| 61 | - }; |
|
| 62 | - $arguments = func_get_args(); |
|
| 63 | - $curriedAny = curryN($arrayForEach, 2); |
|
| 64 | - return call_user_func_array($curriedAny, $arguments); |
|
| 61 | + }; |
|
| 62 | + $arguments = func_get_args(); |
|
| 63 | + $curriedAny = curryN($arrayForEach, 2); |
|
| 64 | + return call_user_func_array($curriedAny, $arguments); |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | /** |
@@ -72,12 +72,12 @@ discard block |
||
| 72 | 72 | */ |
| 73 | 73 | function append() |
| 74 | 74 | { |
| 75 | - $append = function ($item, array $array) { |
|
| 75 | + $append = function ($item, array $array) { |
|
| 76 | 76 | return array_merge($array, [$item]); |
| 77 | - }; |
|
| 78 | - $arguments = func_get_args(); |
|
| 79 | - $curriedAny = curryN($append, 2); |
|
| 80 | - return call_user_func_array($curriedAny, $arguments); |
|
| 77 | + }; |
|
| 78 | + $arguments = func_get_args(); |
|
| 79 | + $curriedAny = curryN($append, 2); |
|
| 80 | + return call_user_func_array($curriedAny, $arguments); |
|
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | /** |
@@ -88,12 +88,12 @@ discard block |
||
| 88 | 88 | */ |
| 89 | 89 | function concat() |
| 90 | 90 | { |
| 91 | - $concat = function (array $firstArray, array $secondArray) { |
|
| 91 | + $concat = function (array $firstArray, array $secondArray) { |
|
| 92 | 92 | return array_merge($firstArray, $secondArray); |
| 93 | - }; |
|
| 94 | - $arguments = func_get_args(); |
|
| 95 | - $curriedAny = curryN($concat, 2); |
|
| 96 | - return call_user_func_array($curriedAny, $arguments); |
|
| 93 | + }; |
|
| 94 | + $arguments = func_get_args(); |
|
| 95 | + $curriedAny = curryN($concat, 2); |
|
| 96 | + return call_user_func_array($curriedAny, $arguments); |
|
| 97 | 97 | } |
| 98 | 98 | |
| 99 | 99 | /** |
@@ -104,10 +104,10 @@ discard block |
||
| 104 | 104 | */ |
| 105 | 105 | function contains() |
| 106 | 106 | { |
| 107 | - $contains = partialRight('in_array', [true]); |
|
| 108 | - $arguments = func_get_args(); |
|
| 109 | - $curriedAny = curryN($contains, 2); |
|
| 110 | - return call_user_func_array($curriedAny, $arguments); |
|
| 107 | + $contains = partialRight('in_array', [true]); |
|
| 108 | + $arguments = func_get_args(); |
|
| 109 | + $curriedAny = curryN($contains, 2); |
|
| 110 | + return call_user_func_array($curriedAny, $arguments); |
|
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | /** |
@@ -117,12 +117,12 @@ discard block |
||
| 117 | 117 | */ |
| 118 | 118 | function drop() |
| 119 | 119 | { |
| 120 | - $drop = function (int $index, array $array) { |
|
| 120 | + $drop = function (int $index, array $array) { |
|
| 121 | 121 | return array_merge(array_slice($array, 0, $index), array_slice($array, $index + 1)); |
| 122 | - }; |
|
| 123 | - $arguments = func_get_args(); |
|
| 124 | - $curried = curryN($drop, 2); |
|
| 125 | - return call_user_func_array($curried, $arguments); |
|
| 122 | + }; |
|
| 123 | + $arguments = func_get_args(); |
|
| 124 | + $curried = curryN($drop, 2); |
|
| 125 | + return call_user_func_array($curried, $arguments); |
|
| 126 | 126 | } |
| 127 | 127 | |
| 128 | 128 | /** |
@@ -131,10 +131,10 @@ discard block |
||
| 131 | 131 | */ |
| 132 | 132 | function dropFirst() |
| 133 | 133 | { |
| 134 | - $dropFirst = drop(0); |
|
| 135 | - $arguments = func_get_args(); |
|
| 136 | - $curried = curryN($dropFirst, 1); |
|
| 137 | - return call_user_func_array($curried, $arguments); |
|
| 134 | + $dropFirst = drop(0); |
|
| 135 | + $arguments = func_get_args(); |
|
| 136 | + $curried = curryN($dropFirst, 1); |
|
| 137 | + return call_user_func_array($curried, $arguments); |
|
| 138 | 138 | } |
| 139 | 139 | |
| 140 | 140 | /** |
@@ -143,14 +143,14 @@ discard block |
||
| 143 | 143 | */ |
| 144 | 144 | function dropLast() |
| 145 | 145 | { |
| 146 | - $dropLast = function (array $array) { |
|
| 146 | + $dropLast = function (array $array) { |
|
| 147 | 147 | $index = count($array)-1; |
| 148 | 148 | return array_merge(array_slice($array, 0, $index), array_slice($array, $index + 1)); |
| 149 | - }; |
|
| 149 | + }; |
|
| 150 | 150 | |
| 151 | - $arguments = func_get_args(); |
|
| 152 | - $curried = curryN($dropLast, 1); |
|
| 153 | - return call_user_func_array($curried, $arguments); |
|
| 151 | + $arguments = func_get_args(); |
|
| 152 | + $curried = curryN($dropLast, 1); |
|
| 153 | + return call_user_func_array($curried, $arguments); |
|
| 154 | 154 | } |
| 155 | 155 | |
| 156 | 156 | /** |
@@ -160,25 +160,25 @@ discard block |
||
| 160 | 160 | */ |
| 161 | 161 | function endsWith() |
| 162 | 162 | { |
| 163 | - $endsWith = function ($suffix, $list) { |
|
| 163 | + $endsWith = function ($suffix, $list) { |
|
| 164 | 164 | if (is_string($suffix) && is_string($list)) { |
| 165 | - return $suffix === '' || (($temp = strlen($list) - strlen($suffix)) >= 0 && strpos($list, $suffix) !== false); |
|
| 165 | + return $suffix === '' || (($temp = strlen($list) - strlen($suffix)) >= 0 && strpos($list, $suffix) !== false); |
|
| 166 | 166 | } |
| 167 | 167 | if (is_array($suffix) && is_array($list)) { |
| 168 | - $index = count($list) - count($suffix); |
|
| 169 | - foreach ($suffix as $it) { |
|
| 168 | + $index = count($list) - count($suffix); |
|
| 169 | + foreach ($suffix as $it) { |
|
| 170 | 170 | if ($it != $list[$index]) { |
| 171 | - return false; |
|
| 171 | + return false; |
|
| 172 | 172 | } |
| 173 | 173 | $index++; |
| 174 | - } |
|
| 175 | - return true; |
|
| 174 | + } |
|
| 175 | + return true; |
|
| 176 | 176 | } |
| 177 | 177 | throw new \InvalidArgumentException(__FUNCTION__ . 'accepts only string or array as it arguments'); |
| 178 | - }; |
|
| 179 | - $arguments = func_get_args(); |
|
| 180 | - $curried = curryN($endsWith, 2); |
|
| 181 | - return call_user_func_array($curried, $arguments); |
|
| 178 | + }; |
|
| 179 | + $arguments = func_get_args(); |
|
| 180 | + $curried = curryN($endsWith, 2); |
|
| 181 | + return call_user_func_array($curried, $arguments); |
|
| 182 | 182 | } |
| 183 | 183 | |
| 184 | 184 | /** |
@@ -188,12 +188,12 @@ discard block |
||
| 188 | 188 | */ |
| 189 | 189 | function filter() |
| 190 | 190 | { |
| 191 | - $filter = function (callable $predicateFunction, array $array) { |
|
| 192 | - return array_values(array_filter($array, $predicateFunction)); |
|
| 193 | - }; |
|
| 194 | - $arguments = func_get_args(); |
|
| 195 | - $curried = curryN($filter, 2); |
|
| 196 | - return call_user_func_array($curried, $arguments); |
|
| 191 | + $filter = function (callable $predicateFunction, array $array) { |
|
| 192 | + return array_values(array_filter($array, $predicateFunction)); |
|
| 193 | + }; |
|
| 194 | + $arguments = func_get_args(); |
|
| 195 | + $curried = curryN($filter, 2); |
|
| 196 | + return call_user_func_array($curried, $arguments); |
|
| 197 | 197 | } |
| 198 | 198 | |
| 199 | 199 | /** |
@@ -203,12 +203,12 @@ discard block |
||
| 203 | 203 | */ |
| 204 | 204 | function filterPreserveKey() |
| 205 | 205 | { |
| 206 | - $filter = function (callable $predicateFunction, array $array) { |
|
| 206 | + $filter = function (callable $predicateFunction, array $array) { |
|
| 207 | 207 | return array_filter($array, $predicateFunction); |
| 208 | - }; |
|
| 209 | - $arguments = func_get_args(); |
|
| 210 | - $curried = curryN($filter, 2); |
|
| 211 | - return call_user_func_array($curried, $arguments); |
|
| 208 | + }; |
|
| 209 | + $arguments = func_get_args(); |
|
| 210 | + $curried = curryN($filter, 2); |
|
| 211 | + return call_user_func_array($curried, $arguments); |
|
| 212 | 212 | } |
| 213 | 213 | |
| 214 | 214 | /** |
@@ -218,30 +218,30 @@ discard block |
||
| 218 | 218 | */ |
| 219 | 219 | function find() |
| 220 | 220 | { |
| 221 | - $find = function (callable $predicateFunction, array $list) { |
|
| 221 | + $find = function (callable $predicateFunction, array $list) { |
|
| 222 | 222 | foreach ($list as $item) { |
| 223 | - if ($predicateFunction($item)) { |
|
| 223 | + if ($predicateFunction($item)) { |
|
| 224 | 224 | return $item; |
| 225 | - } |
|
| 225 | + } |
|
| 226 | 226 | } |
| 227 | 227 | return null; |
| 228 | - }; |
|
| 229 | - $arguments = func_get_args(); |
|
| 230 | - $curried = curryN($find, 2); |
|
| 231 | - return call_user_func_array($curried, $arguments); |
|
| 228 | + }; |
|
| 229 | + $arguments = func_get_args(); |
|
| 230 | + $curried = curryN($find, 2); |
|
| 231 | + return call_user_func_array($curried, $arguments); |
|
| 232 | 232 | } |
| 233 | 233 | |
| 234 | 234 | function first() |
| 235 | 235 | { |
| 236 | - $first = function (array $array) { |
|
| 236 | + $first = function (array $array) { |
|
| 237 | 237 | if (empty($array)) { |
| 238 | - return null; |
|
| 238 | + return null; |
|
| 239 | 239 | } |
| 240 | 240 | return $array[0]; |
| 241 | - }; |
|
| 242 | - $arguments = func_get_args(); |
|
| 243 | - $curried = curryN($first, 1); |
|
| 244 | - return call_user_func_array($curried, $arguments); |
|
| 241 | + }; |
|
| 242 | + $arguments = func_get_args(); |
|
| 243 | + $curried = curryN($first, 1); |
|
| 244 | + return call_user_func_array($curried, $arguments); |
|
| 245 | 245 | } |
| 246 | 246 | |
| 247 | 247 | /** |
@@ -250,19 +250,19 @@ discard block |
||
| 250 | 250 | */ |
| 251 | 251 | function flatten() |
| 252 | 252 | { |
| 253 | - $flatten = function (array $array) use (&$flatten) { |
|
| 253 | + $flatten = function (array $array) use (&$flatten) { |
|
| 254 | 254 | $accumulator = function ($acc, $item) use ($flatten) { |
| 255 | - if (is_array($item)) { |
|
| 255 | + if (is_array($item)) { |
|
| 256 | 256 | return array_merge($acc, $flatten($item)); |
| 257 | - } |
|
| 258 | - $acc[] = $item; |
|
| 259 | - return $acc; |
|
| 257 | + } |
|
| 258 | + $acc[] = $item; |
|
| 259 | + return $acc; |
|
| 260 | 260 | }; |
| 261 | 261 | return array_reduce($array, $accumulator, []); |
| 262 | - }; |
|
| 263 | - $arguments = func_get_args(); |
|
| 264 | - $curried = curryN($flatten, 1); |
|
| 265 | - return call_user_func_array($curried, $arguments); |
|
| 262 | + }; |
|
| 263 | + $arguments = func_get_args(); |
|
| 264 | + $curried = curryN($flatten, 1); |
|
| 265 | + return call_user_func_array($curried, $arguments); |
|
| 266 | 266 | } |
| 267 | 267 | |
| 268 | 268 | /** |
@@ -272,30 +272,30 @@ discard block |
||
| 272 | 272 | */ |
| 273 | 273 | function groupBy() |
| 274 | 274 | { |
| 275 | - $groupBy = function (callable $keySelector, array $array) { |
|
| 275 | + $groupBy = function (callable $keySelector, array $array) { |
|
| 276 | 276 | $accumulator = function ($acc, $item) use ($keySelector) { |
| 277 | - $key = $keySelector($item); |
|
| 278 | - $acc[$key] = array_key_exists($key, $acc) ? array_merge($acc[$key], [$item]) : [$item]; |
|
| 279 | - return $acc; |
|
| 277 | + $key = $keySelector($item); |
|
| 278 | + $acc[$key] = array_key_exists($key, $acc) ? array_merge($acc[$key], [$item]) : [$item]; |
|
| 279 | + return $acc; |
|
| 280 | 280 | }; |
| 281 | 281 | return array_reduce($array, $accumulator, []); |
| 282 | - }; |
|
| 283 | - $arguments = func_get_args(); |
|
| 284 | - $curried = curryN($groupBy, 2); |
|
| 285 | - return call_user_func_array($curried, $arguments); |
|
| 282 | + }; |
|
| 283 | + $arguments = func_get_args(); |
|
| 284 | + $curried = curryN($groupBy, 2); |
|
| 285 | + return call_user_func_array($curried, $arguments); |
|
| 286 | 286 | } |
| 287 | 287 | |
| 288 | 288 | function head() |
| 289 | 289 | { |
| 290 | - $head = function (array $array) { |
|
| 290 | + $head = function (array $array) { |
|
| 291 | 291 | if (empty($array)) { |
| 292 | - return null; |
|
| 292 | + return null; |
|
| 293 | 293 | } |
| 294 | 294 | return $array[0]; |
| 295 | - }; |
|
| 296 | - $arguments = func_get_args(); |
|
| 297 | - $curried = curryN($head, 1); |
|
| 298 | - return call_user_func_array($curried, $arguments); |
|
| 295 | + }; |
|
| 296 | + $arguments = func_get_args(); |
|
| 297 | + $curried = curryN($head, 1); |
|
| 298 | + return call_user_func_array($curried, $arguments); |
|
| 299 | 299 | } |
| 300 | 300 | |
| 301 | 301 | /** |
@@ -306,16 +306,16 @@ discard block |
||
| 306 | 306 | */ |
| 307 | 307 | function insert() |
| 308 | 308 | { |
| 309 | - $insert = function (int $index, $element, array $array) { |
|
| 309 | + $insert = function (int $index, $element, array $array) { |
|
| 310 | 310 | return array_merge( |
| 311 | - array_slice($array, 0, $index), |
|
| 312 | - [$element], |
|
| 313 | - array_slice($array, $index) |
|
| 311 | + array_slice($array, 0, $index), |
|
| 312 | + [$element], |
|
| 313 | + array_slice($array, $index) |
|
| 314 | 314 | ); |
| 315 | - }; |
|
| 316 | - $arguments = func_get_args(); |
|
| 317 | - $curried = curryN($insert, 3); |
|
| 318 | - return call_user_func_array($curried, $arguments); |
|
| 315 | + }; |
|
| 316 | + $arguments = func_get_args(); |
|
| 317 | + $curried = curryN($insert, 3); |
|
| 318 | + return call_user_func_array($curried, $arguments); |
|
| 319 | 319 | } |
| 320 | 320 | |
| 321 | 321 | /** |
@@ -325,29 +325,29 @@ discard block |
||
| 325 | 325 | */ |
| 326 | 326 | function join() |
| 327 | 327 | { |
| 328 | - $arguments = func_get_args(); |
|
| 329 | - $curried = curryN('implode', 2); |
|
| 330 | - return call_user_func_array($curried, $arguments); |
|
| 328 | + $arguments = func_get_args(); |
|
| 329 | + $curried = curryN('implode', 2); |
|
| 330 | + return call_user_func_array($curried, $arguments); |
|
| 331 | 331 | } |
| 332 | 332 | |
| 333 | 333 | function last() |
| 334 | 334 | { |
| 335 | - $last = function (array $array) { |
|
| 335 | + $last = function (array $array) { |
|
| 336 | 336 | if (empty($array)) { |
| 337 | - return null; |
|
| 337 | + return null; |
|
| 338 | 338 | } |
| 339 | 339 | return $array[count($array) - 1]; |
| 340 | - }; |
|
| 341 | - $arguments = func_get_args(); |
|
| 342 | - $curried = curryN($last, 1); |
|
| 343 | - return call_user_func_array($curried, $arguments); |
|
| 340 | + }; |
|
| 341 | + $arguments = func_get_args(); |
|
| 342 | + $curried = curryN($last, 1); |
|
| 343 | + return call_user_func_array($curried, $arguments); |
|
| 344 | 344 | } |
| 345 | 345 | |
| 346 | 346 | function length() |
| 347 | 347 | { |
| 348 | - $arguments = func_get_args(); |
|
| 349 | - $curried = curryN('count', 1); |
|
| 350 | - return call_user_func_array($curried, $arguments); |
|
| 348 | + $arguments = func_get_args(); |
|
| 349 | + $curried = curryN('count', 1); |
|
| 350 | + return call_user_func_array($curried, $arguments); |
|
| 351 | 351 | } |
| 352 | 352 | |
| 353 | 353 | /** |
@@ -357,9 +357,9 @@ discard block |
||
| 357 | 357 | */ |
| 358 | 358 | function map() |
| 359 | 359 | { |
| 360 | - $arguments = func_get_args(); |
|
| 361 | - $curried = curryN('array_map', 2); |
|
| 362 | - return call_user_func_array($curried, $arguments); |
|
| 360 | + $arguments = func_get_args(); |
|
| 361 | + $curried = curryN('array_map', 2); |
|
| 362 | + return call_user_func_array($curried, $arguments); |
|
| 363 | 363 | } |
| 364 | 364 | |
| 365 | 365 | /** |
@@ -369,12 +369,12 @@ discard block |
||
| 369 | 369 | */ |
| 370 | 370 | function pair() |
| 371 | 371 | { |
| 372 | - $pair = function ($firstValue, $secondValue) { |
|
| 372 | + $pair = function ($firstValue, $secondValue) { |
|
| 373 | 373 | return [$firstValue, $secondValue]; |
| 374 | - }; |
|
| 375 | - $arguments = func_get_args(); |
|
| 376 | - $curried = curryN($pair, 2); |
|
| 377 | - return call_user_func_array($curried, $arguments); |
|
| 374 | + }; |
|
| 375 | + $arguments = func_get_args(); |
|
| 376 | + $curried = curryN($pair, 2); |
|
| 377 | + return call_user_func_array($curried, $arguments); |
|
| 378 | 378 | } |
| 379 | 379 | |
| 380 | 380 | /** |
@@ -385,12 +385,12 @@ discard block |
||
| 385 | 385 | */ |
| 386 | 386 | function prepend() |
| 387 | 387 | { |
| 388 | - $prepend = function ($item, array $array) { |
|
| 388 | + $prepend = function ($item, array $array) { |
|
| 389 | 389 | return array_merge([$item], $array); |
| 390 | - }; |
|
| 391 | - $arguments = func_get_args(); |
|
| 392 | - $curriedAny = curryN($prepend, 2); |
|
| 393 | - return call_user_func_array($curriedAny, $arguments); |
|
| 390 | + }; |
|
| 391 | + $arguments = func_get_args(); |
|
| 392 | + $curriedAny = curryN($prepend, 2); |
|
| 393 | + return call_user_func_array($curriedAny, $arguments); |
|
| 394 | 394 | } |
| 395 | 395 | |
| 396 | 396 | /** |
@@ -401,9 +401,9 @@ discard block |
||
| 401 | 401 | */ |
| 402 | 402 | function range() |
| 403 | 403 | { |
| 404 | - $arguments = func_get_args(); |
|
| 405 | - $curriedAny = curryN('range', 2); |
|
| 406 | - return call_user_func_array($curriedAny, $arguments); |
|
| 404 | + $arguments = func_get_args(); |
|
| 405 | + $curriedAny = curryN('range', 2); |
|
| 406 | + return call_user_func_array($curriedAny, $arguments); |
|
| 407 | 407 | } |
| 408 | 408 | |
| 409 | 409 | /** |
@@ -414,12 +414,12 @@ discard block |
||
| 414 | 414 | */ |
| 415 | 415 | function reduce() |
| 416 | 416 | { |
| 417 | - $reduce = function (callable $accumulator, $initialValue, array $array) { |
|
| 417 | + $reduce = function (callable $accumulator, $initialValue, array $array) { |
|
| 418 | 418 | return array_reduce($array, $accumulator, $initialValue); |
| 419 | - }; |
|
| 420 | - $arguments = func_get_args(); |
|
| 421 | - $curried = curryN($reduce, 3); |
|
| 422 | - return call_user_func_array($curried, $arguments); |
|
| 419 | + }; |
|
| 420 | + $arguments = func_get_args(); |
|
| 421 | + $curried = curryN($reduce, 3); |
|
| 422 | + return call_user_func_array($curried, $arguments); |
|
| 423 | 423 | } |
| 424 | 424 | |
| 425 | 425 | /** |
@@ -429,12 +429,12 @@ discard block |
||
| 429 | 429 | */ |
| 430 | 430 | function reject() |
| 431 | 431 | { |
| 432 | - $reject = function ($predicate, array $array) { |
|
| 432 | + $reject = function ($predicate, array $array) { |
|
| 433 | 433 | return array_values(array_filter($array, compose(not(), $predicate))); |
| 434 | - }; |
|
| 435 | - $arguments = func_get_args(); |
|
| 436 | - $curried = curryN($reject, 2); |
|
| 437 | - return call_user_func_array($curried, $arguments); |
|
| 434 | + }; |
|
| 435 | + $arguments = func_get_args(); |
|
| 436 | + $curried = curryN($reject, 2); |
|
| 437 | + return call_user_func_array($curried, $arguments); |
|
| 438 | 438 | } |
| 439 | 439 | |
| 440 | 440 | /** |
@@ -444,12 +444,12 @@ discard block |
||
| 444 | 444 | */ |
| 445 | 445 | function rejectPreserveKey() |
| 446 | 446 | { |
| 447 | - $reject = function ($predicate, array $array) { |
|
| 447 | + $reject = function ($predicate, array $array) { |
|
| 448 | 448 | return array_filter($array, compose(not(), $predicate)); |
| 449 | - }; |
|
| 450 | - $arguments = func_get_args(); |
|
| 451 | - $curried = curryN($reject, 2); |
|
| 452 | - return call_user_func_array($curried, $arguments); |
|
| 449 | + }; |
|
| 450 | + $arguments = func_get_args(); |
|
| 451 | + $curried = curryN($reject, 2); |
|
| 452 | + return call_user_func_array($curried, $arguments); |
|
| 453 | 453 | } |
| 454 | 454 | |
| 455 | 455 | /** |
@@ -461,12 +461,12 @@ discard block |
||
| 461 | 461 | */ |
| 462 | 462 | function remove() |
| 463 | 463 | { |
| 464 | - $remove = function (int $start, int $count, array $array) { |
|
| 464 | + $remove = function (int $start, int $count, array $array) { |
|
| 465 | 465 | return array_merge(array_slice($array, 0, $start), array_slice($array, $start + $count)); |
| 466 | - }; |
|
| 467 | - $arguments = func_get_args(); |
|
| 468 | - $curried = curryN($remove, 3); |
|
| 469 | - return call_user_func_array($curried, $arguments); |
|
| 466 | + }; |
|
| 467 | + $arguments = func_get_args(); |
|
| 468 | + $curried = curryN($remove, 3); |
|
| 469 | + return call_user_func_array($curried, $arguments); |
|
| 470 | 470 | } |
| 471 | 471 | |
| 472 | 472 | /** |
@@ -476,18 +476,18 @@ discard block |
||
| 476 | 476 | */ |
| 477 | 477 | function repeat() |
| 478 | 478 | { |
| 479 | - $repeat = function ($item, int $count) { |
|
| 479 | + $repeat = function ($item, int $count) { |
|
| 480 | 480 | return array_reduce( |
| 481 | - range(1, $count), |
|
| 482 | - function ($acc, $unsedItem) use ($item) { |
|
| 481 | + range(1, $count), |
|
| 482 | + function ($acc, $unsedItem) use ($item) { |
|
| 483 | 483 | return array_merge($acc, [$item]); |
| 484 | - }, |
|
| 485 | - [] |
|
| 484 | + }, |
|
| 485 | + [] |
|
| 486 | 486 | ); |
| 487 | - }; |
|
| 488 | - $arguments = func_get_args(); |
|
| 489 | - $curried = curryN($repeat, 2); |
|
| 490 | - return call_user_func_array($curried, $arguments); |
|
| 487 | + }; |
|
| 488 | + $arguments = func_get_args(); |
|
| 489 | + $curried = curryN($repeat, 2); |
|
| 490 | + return call_user_func_array($curried, $arguments); |
|
| 491 | 491 | } |
| 492 | 492 | |
| 493 | 493 | /** |
@@ -496,18 +496,18 @@ discard block |
||
| 496 | 496 | */ |
| 497 | 497 | function reverse() |
| 498 | 498 | { |
| 499 | - $reverse = function ($list) { |
|
| 499 | + $reverse = function ($list) { |
|
| 500 | 500 | if (is_array($list)) { |
| 501 | - return array_reverse($list); |
|
| 501 | + return array_reverse($list); |
|
| 502 | 502 | } |
| 503 | 503 | if (is_string($list)) { |
| 504 | - return strrev($list); |
|
| 504 | + return strrev($list); |
|
| 505 | 505 | } |
| 506 | 506 | throw new \InvalidArgumentException('reverse() only support string or array as an argument'); |
| 507 | - }; |
|
| 508 | - $arguments = func_get_args(); |
|
| 509 | - $curried = curryN($reverse, 1); |
|
| 510 | - return call_user_func_array($curried, $arguments); |
|
| 507 | + }; |
|
| 508 | + $arguments = func_get_args(); |
|
| 509 | + $curried = curryN($reverse, 1); |
|
| 510 | + return call_user_func_array($curried, $arguments); |
|
| 511 | 511 | } |
| 512 | 512 | |
| 513 | 513 | /** |
@@ -518,24 +518,24 @@ discard block |
||
| 518 | 518 | */ |
| 519 | 519 | function slice() |
| 520 | 520 | { |
| 521 | - $slice = function (int $fromIndex, int $toIndex, $list) { |
|
| 521 | + $slice = function (int $fromIndex, int $toIndex, $list) { |
|
| 522 | 522 | if (is_array($list)) { |
| 523 | - $listCount = count($list); |
|
| 524 | - $actualFromIndex = $fromIndex < 0 ? $listCount + $fromIndex : $fromIndex; |
|
| 525 | - $actualToIndex = $toIndex < 0 ? $listCount + $toIndex : $toIndex; |
|
| 526 | - return array_slice($list, $actualFromIndex, $actualToIndex - $actualFromIndex); |
|
| 523 | + $listCount = count($list); |
|
| 524 | + $actualFromIndex = $fromIndex < 0 ? $listCount + $fromIndex : $fromIndex; |
|
| 525 | + $actualToIndex = $toIndex < 0 ? $listCount + $toIndex : $toIndex; |
|
| 526 | + return array_slice($list, $actualFromIndex, $actualToIndex - $actualFromIndex); |
|
| 527 | 527 | } |
| 528 | 528 | if (is_string($list)) { |
| 529 | - $listCount = strlen($list); |
|
| 530 | - $actualFromIndex = $fromIndex < 0 ? $listCount + $fromIndex : $fromIndex; |
|
| 531 | - $actualToIndex = $toIndex < 0 ? $listCount + $toIndex : $toIndex; |
|
| 532 | - return substr($list, $actualFromIndex, $actualToIndex - $actualFromIndex); |
|
| 529 | + $listCount = strlen($list); |
|
| 530 | + $actualFromIndex = $fromIndex < 0 ? $listCount + $fromIndex : $fromIndex; |
|
| 531 | + $actualToIndex = $toIndex < 0 ? $listCount + $toIndex : $toIndex; |
|
| 532 | + return substr($list, $actualFromIndex, $actualToIndex - $actualFromIndex); |
|
| 533 | 533 | } |
| 534 | 534 | throw new \InvalidArgumentException('slice() only support array and string'); |
| 535 | - }; |
|
| 536 | - $arguments = func_get_args(); |
|
| 537 | - $curried = curryN($slice, 3); |
|
| 538 | - return call_user_func_array($curried, $arguments); |
|
| 535 | + }; |
|
| 536 | + $arguments = func_get_args(); |
|
| 537 | + $curried = curryN($slice, 3); |
|
| 538 | + return call_user_func_array($curried, $arguments); |
|
| 539 | 539 | } |
| 540 | 540 | |
| 541 | 541 | /** |
@@ -545,13 +545,13 @@ discard block |
||
| 545 | 545 | */ |
| 546 | 546 | function sort() |
| 547 | 547 | { |
| 548 | - $sort = function (callable $comparator, array $array) { |
|
| 548 | + $sort = function (callable $comparator, array $array) { |
|
| 549 | 549 | usort($array, $comparator); |
| 550 | 550 | return $array; |
| 551 | - }; |
|
| 552 | - $arguments = func_get_args(); |
|
| 553 | - $curried = curryN($sort, 2); |
|
| 554 | - return call_user_func_array($curried, $arguments); |
|
| 551 | + }; |
|
| 552 | + $arguments = func_get_args(); |
|
| 553 | + $curried = curryN($sort, 2); |
|
| 554 | + return call_user_func_array($curried, $arguments); |
|
| 555 | 555 | } |
| 556 | 556 | |
| 557 | 557 | /** |
@@ -561,25 +561,25 @@ discard block |
||
| 561 | 561 | */ |
| 562 | 562 | function sortBy() |
| 563 | 563 | { |
| 564 | - $sortBy = function (callable $keySelector, array $array) { |
|
| 564 | + $sortBy = function (callable $keySelector, array $array) { |
|
| 565 | 565 | $groupedArray = groupBy($keySelector, $array); |
| 566 | 566 | ksort($groupedArray); |
| 567 | 567 | return apply('array_merge', array_values($groupedArray)); |
| 568 | - }; |
|
| 569 | - $arguments = func_get_args(); |
|
| 570 | - $curried = curryN($sortBy, 2); |
|
| 571 | - return call_user_func_array($curried, $arguments); |
|
| 568 | + }; |
|
| 569 | + $arguments = func_get_args(); |
|
| 570 | + $curried = curryN($sortBy, 2); |
|
| 571 | + return call_user_func_array($curried, $arguments); |
|
| 572 | 572 | } |
| 573 | 573 | |
| 574 | 574 | function tail() |
| 575 | 575 | { |
| 576 | - $tail = function (array $array) { |
|
| 576 | + $tail = function (array $array) { |
|
| 577 | 577 | if (empty($array)) { |
| 578 | - return null; |
|
| 578 | + return null; |
|
| 579 | 579 | } |
| 580 | 580 | return $array[count($array) - 1]; |
| 581 | - }; |
|
| 582 | - $arguments = func_get_args(); |
|
| 583 | - $curried = curryN($tail, 1); |
|
| 584 | - return call_user_func_array($curried, $arguments); |
|
| 581 | + }; |
|
| 582 | + $arguments = func_get_args(); |
|
| 583 | + $curried = curryN($tail, 1); |
|
| 584 | + return call_user_func_array($curried, $arguments); |
|
| 585 | 585 | } |
@@ -8,7 +8,7 @@ discard block |
||
| 8 | 8 | */ |
| 9 | 9 | function all() |
| 10 | 10 | { |
| 11 | - $all = function (callable $predicateFunction, array $array): bool { |
|
| 11 | + $all = function(callable $predicateFunction, array $array): bool { |
|
| 12 | 12 | if (empty($array)) { |
| 13 | 13 | return false; |
| 14 | 14 | } |
@@ -31,7 +31,7 @@ discard block |
||
| 31 | 31 | */ |
| 32 | 32 | function any() |
| 33 | 33 | { |
| 34 | - $any = function (callable $predicateFunction, array $array) { |
|
| 34 | + $any = function(callable $predicateFunction, array $array) { |
|
| 35 | 35 | if (empty($array)) { |
| 36 | 36 | return false; |
| 37 | 37 | } |
@@ -54,7 +54,7 @@ discard block |
||
| 54 | 54 | */ |
| 55 | 55 | function arrayForEach() |
| 56 | 56 | { |
| 57 | - $arrayForEach = function (callable $fn, array $array) { |
|
| 57 | + $arrayForEach = function(callable $fn, array $array) { |
|
| 58 | 58 | foreach ($array as $item) { |
| 59 | 59 | $fn($item); |
| 60 | 60 | } |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | */ |
| 73 | 73 | function append() |
| 74 | 74 | { |
| 75 | - $append = function ($item, array $array) { |
|
| 75 | + $append = function($item, array $array) { |
|
| 76 | 76 | return array_merge($array, [$item]); |
| 77 | 77 | }; |
| 78 | 78 | $arguments = func_get_args(); |
@@ -88,7 +88,7 @@ discard block |
||
| 88 | 88 | */ |
| 89 | 89 | function concat() |
| 90 | 90 | { |
| 91 | - $concat = function (array $firstArray, array $secondArray) { |
|
| 91 | + $concat = function(array $firstArray, array $secondArray) { |
|
| 92 | 92 | return array_merge($firstArray, $secondArray); |
| 93 | 93 | }; |
| 94 | 94 | $arguments = func_get_args(); |
@@ -117,7 +117,7 @@ discard block |
||
| 117 | 117 | */ |
| 118 | 118 | function drop() |
| 119 | 119 | { |
| 120 | - $drop = function (int $index, array $array) { |
|
| 120 | + $drop = function(int $index, array $array) { |
|
| 121 | 121 | return array_merge(array_slice($array, 0, $index), array_slice($array, $index + 1)); |
| 122 | 122 | }; |
| 123 | 123 | $arguments = func_get_args(); |
@@ -143,8 +143,8 @@ discard block |
||
| 143 | 143 | */ |
| 144 | 144 | function dropLast() |
| 145 | 145 | { |
| 146 | - $dropLast = function (array $array) { |
|
| 147 | - $index = count($array)-1; |
|
| 146 | + $dropLast = function(array $array) { |
|
| 147 | + $index = count($array) - 1; |
|
| 148 | 148 | return array_merge(array_slice($array, 0, $index), array_slice($array, $index + 1)); |
| 149 | 149 | }; |
| 150 | 150 | |
@@ -160,7 +160,7 @@ discard block |
||
| 160 | 160 | */ |
| 161 | 161 | function endsWith() |
| 162 | 162 | { |
| 163 | - $endsWith = function ($suffix, $list) { |
|
| 163 | + $endsWith = function($suffix, $list) { |
|
| 164 | 164 | if (is_string($suffix) && is_string($list)) { |
| 165 | 165 | return $suffix === '' || (($temp = strlen($list) - strlen($suffix)) >= 0 && strpos($list, $suffix) !== false); |
| 166 | 166 | } |
@@ -174,7 +174,7 @@ discard block |
||
| 174 | 174 | } |
| 175 | 175 | return true; |
| 176 | 176 | } |
| 177 | - throw new \InvalidArgumentException(__FUNCTION__ . 'accepts only string or array as it arguments'); |
|
| 177 | + throw new \InvalidArgumentException(__FUNCTION__.'accepts only string or array as it arguments'); |
|
| 178 | 178 | }; |
| 179 | 179 | $arguments = func_get_args(); |
| 180 | 180 | $curried = curryN($endsWith, 2); |
@@ -188,7 +188,7 @@ discard block |
||
| 188 | 188 | */ |
| 189 | 189 | function filter() |
| 190 | 190 | { |
| 191 | - $filter = function (callable $predicateFunction, array $array) { |
|
| 191 | + $filter = function(callable $predicateFunction, array $array) { |
|
| 192 | 192 | return array_values(array_filter($array, $predicateFunction)); |
| 193 | 193 | }; |
| 194 | 194 | $arguments = func_get_args(); |
@@ -203,7 +203,7 @@ discard block |
||
| 203 | 203 | */ |
| 204 | 204 | function filterPreserveKey() |
| 205 | 205 | { |
| 206 | - $filter = function (callable $predicateFunction, array $array) { |
|
| 206 | + $filter = function(callable $predicateFunction, array $array) { |
|
| 207 | 207 | return array_filter($array, $predicateFunction); |
| 208 | 208 | }; |
| 209 | 209 | $arguments = func_get_args(); |
@@ -218,7 +218,7 @@ discard block |
||
| 218 | 218 | */ |
| 219 | 219 | function find() |
| 220 | 220 | { |
| 221 | - $find = function (callable $predicateFunction, array $list) { |
|
| 221 | + $find = function(callable $predicateFunction, array $list) { |
|
| 222 | 222 | foreach ($list as $item) { |
| 223 | 223 | if ($predicateFunction($item)) { |
| 224 | 224 | return $item; |
@@ -233,7 +233,7 @@ discard block |
||
| 233 | 233 | |
| 234 | 234 | function first() |
| 235 | 235 | { |
| 236 | - $first = function (array $array) { |
|
| 236 | + $first = function(array $array) { |
|
| 237 | 237 | if (empty($array)) { |
| 238 | 238 | return null; |
| 239 | 239 | } |
@@ -250,8 +250,8 @@ discard block |
||
| 250 | 250 | */ |
| 251 | 251 | function flatten() |
| 252 | 252 | { |
| 253 | - $flatten = function (array $array) use (&$flatten) { |
|
| 254 | - $accumulator = function ($acc, $item) use ($flatten) { |
|
| 253 | + $flatten = function(array $array) use (&$flatten) { |
|
| 254 | + $accumulator = function($acc, $item) use ($flatten) { |
|
| 255 | 255 | if (is_array($item)) { |
| 256 | 256 | return array_merge($acc, $flatten($item)); |
| 257 | 257 | } |
@@ -272,8 +272,8 @@ discard block |
||
| 272 | 272 | */ |
| 273 | 273 | function groupBy() |
| 274 | 274 | { |
| 275 | - $groupBy = function (callable $keySelector, array $array) { |
|
| 276 | - $accumulator = function ($acc, $item) use ($keySelector) { |
|
| 275 | + $groupBy = function(callable $keySelector, array $array) { |
|
| 276 | + $accumulator = function($acc, $item) use ($keySelector) { |
|
| 277 | 277 | $key = $keySelector($item); |
| 278 | 278 | $acc[$key] = array_key_exists($key, $acc) ? array_merge($acc[$key], [$item]) : [$item]; |
| 279 | 279 | return $acc; |
@@ -287,7 +287,7 @@ discard block |
||
| 287 | 287 | |
| 288 | 288 | function head() |
| 289 | 289 | { |
| 290 | - $head = function (array $array) { |
|
| 290 | + $head = function(array $array) { |
|
| 291 | 291 | if (empty($array)) { |
| 292 | 292 | return null; |
| 293 | 293 | } |
@@ -306,7 +306,7 @@ discard block |
||
| 306 | 306 | */ |
| 307 | 307 | function insert() |
| 308 | 308 | { |
| 309 | - $insert = function (int $index, $element, array $array) { |
|
| 309 | + $insert = function(int $index, $element, array $array) { |
|
| 310 | 310 | return array_merge( |
| 311 | 311 | array_slice($array, 0, $index), |
| 312 | 312 | [$element], |
@@ -332,7 +332,7 @@ discard block |
||
| 332 | 332 | |
| 333 | 333 | function last() |
| 334 | 334 | { |
| 335 | - $last = function (array $array) { |
|
| 335 | + $last = function(array $array) { |
|
| 336 | 336 | if (empty($array)) { |
| 337 | 337 | return null; |
| 338 | 338 | } |
@@ -369,7 +369,7 @@ discard block |
||
| 369 | 369 | */ |
| 370 | 370 | function pair() |
| 371 | 371 | { |
| 372 | - $pair = function ($firstValue, $secondValue) { |
|
| 372 | + $pair = function($firstValue, $secondValue) { |
|
| 373 | 373 | return [$firstValue, $secondValue]; |
| 374 | 374 | }; |
| 375 | 375 | $arguments = func_get_args(); |
@@ -385,7 +385,7 @@ discard block |
||
| 385 | 385 | */ |
| 386 | 386 | function prepend() |
| 387 | 387 | { |
| 388 | - $prepend = function ($item, array $array) { |
|
| 388 | + $prepend = function($item, array $array) { |
|
| 389 | 389 | return array_merge([$item], $array); |
| 390 | 390 | }; |
| 391 | 391 | $arguments = func_get_args(); |
@@ -414,7 +414,7 @@ discard block |
||
| 414 | 414 | */ |
| 415 | 415 | function reduce() |
| 416 | 416 | { |
| 417 | - $reduce = function (callable $accumulator, $initialValue, array $array) { |
|
| 417 | + $reduce = function(callable $accumulator, $initialValue, array $array) { |
|
| 418 | 418 | return array_reduce($array, $accumulator, $initialValue); |
| 419 | 419 | }; |
| 420 | 420 | $arguments = func_get_args(); |
@@ -429,7 +429,7 @@ discard block |
||
| 429 | 429 | */ |
| 430 | 430 | function reject() |
| 431 | 431 | { |
| 432 | - $reject = function ($predicate, array $array) { |
|
| 432 | + $reject = function($predicate, array $array) { |
|
| 433 | 433 | return array_values(array_filter($array, compose(not(), $predicate))); |
| 434 | 434 | }; |
| 435 | 435 | $arguments = func_get_args(); |
@@ -444,7 +444,7 @@ discard block |
||
| 444 | 444 | */ |
| 445 | 445 | function rejectPreserveKey() |
| 446 | 446 | { |
| 447 | - $reject = function ($predicate, array $array) { |
|
| 447 | + $reject = function($predicate, array $array) { |
|
| 448 | 448 | return array_filter($array, compose(not(), $predicate)); |
| 449 | 449 | }; |
| 450 | 450 | $arguments = func_get_args(); |
@@ -461,7 +461,7 @@ discard block |
||
| 461 | 461 | */ |
| 462 | 462 | function remove() |
| 463 | 463 | { |
| 464 | - $remove = function (int $start, int $count, array $array) { |
|
| 464 | + $remove = function(int $start, int $count, array $array) { |
|
| 465 | 465 | return array_merge(array_slice($array, 0, $start), array_slice($array, $start + $count)); |
| 466 | 466 | }; |
| 467 | 467 | $arguments = func_get_args(); |
@@ -476,10 +476,10 @@ discard block |
||
| 476 | 476 | */ |
| 477 | 477 | function repeat() |
| 478 | 478 | { |
| 479 | - $repeat = function ($item, int $count) { |
|
| 479 | + $repeat = function($item, int $count) { |
|
| 480 | 480 | return array_reduce( |
| 481 | 481 | range(1, $count), |
| 482 | - function ($acc, $unsedItem) use ($item) { |
|
| 482 | + function($acc, $unsedItem) use ($item) { |
|
| 483 | 483 | return array_merge($acc, [$item]); |
| 484 | 484 | }, |
| 485 | 485 | [] |
@@ -496,7 +496,7 @@ discard block |
||
| 496 | 496 | */ |
| 497 | 497 | function reverse() |
| 498 | 498 | { |
| 499 | - $reverse = function ($list) { |
|
| 499 | + $reverse = function($list) { |
|
| 500 | 500 | if (is_array($list)) { |
| 501 | 501 | return array_reverse($list); |
| 502 | 502 | } |
@@ -518,15 +518,15 @@ discard block |
||
| 518 | 518 | */ |
| 519 | 519 | function slice() |
| 520 | 520 | { |
| 521 | - $slice = function (int $fromIndex, int $toIndex, $list) { |
|
| 521 | + $slice = function(int $fromIndex, int $toIndex, $list) { |
|
| 522 | 522 | if (is_array($list)) { |
| 523 | - $listCount = count($list); |
|
| 523 | + $listCount = count($list); |
|
| 524 | 524 | $actualFromIndex = $fromIndex < 0 ? $listCount + $fromIndex : $fromIndex; |
| 525 | 525 | $actualToIndex = $toIndex < 0 ? $listCount + $toIndex : $toIndex; |
| 526 | 526 | return array_slice($list, $actualFromIndex, $actualToIndex - $actualFromIndex); |
| 527 | 527 | } |
| 528 | 528 | if (is_string($list)) { |
| 529 | - $listCount = strlen($list); |
|
| 529 | + $listCount = strlen($list); |
|
| 530 | 530 | $actualFromIndex = $fromIndex < 0 ? $listCount + $fromIndex : $fromIndex; |
| 531 | 531 | $actualToIndex = $toIndex < 0 ? $listCount + $toIndex : $toIndex; |
| 532 | 532 | return substr($list, $actualFromIndex, $actualToIndex - $actualFromIndex); |
@@ -545,7 +545,7 @@ discard block |
||
| 545 | 545 | */ |
| 546 | 546 | function sort() |
| 547 | 547 | { |
| 548 | - $sort = function (callable $comparator, array $array) { |
|
| 548 | + $sort = function(callable $comparator, array $array) { |
|
| 549 | 549 | usort($array, $comparator); |
| 550 | 550 | return $array; |
| 551 | 551 | }; |
@@ -561,7 +561,7 @@ discard block |
||
| 561 | 561 | */ |
| 562 | 562 | function sortBy() |
| 563 | 563 | { |
| 564 | - $sortBy = function (callable $keySelector, array $array) { |
|
| 564 | + $sortBy = function(callable $keySelector, array $array) { |
|
| 565 | 565 | $groupedArray = groupBy($keySelector, $array); |
| 566 | 566 | ksort($groupedArray); |
| 567 | 567 | return apply('array_merge', array_values($groupedArray)); |
@@ -573,7 +573,7 @@ discard block |
||
| 573 | 573 | |
| 574 | 574 | function tail() |
| 575 | 575 | { |
| 576 | - $tail = function (array $array) { |
|
| 576 | + $tail = function(array $array) { |
|
| 577 | 577 | if (empty($array)) { |
| 578 | 578 | return null; |
| 579 | 579 | } |
@@ -9,12 +9,12 @@ discard block |
||
| 9 | 9 | */ |
| 10 | 10 | function add() |
| 11 | 11 | { |
| 12 | - $add = function ($firstValue, $secondValue) { |
|
| 12 | + $add = function ($firstValue, $secondValue) { |
|
| 13 | 13 | return $firstValue + $secondValue; |
| 14 | - }; |
|
| 15 | - $arguments = func_get_args(); |
|
| 16 | - $curried = curryN($add, 2); |
|
| 17 | - return call_user_func_array($curried, $arguments); |
|
| 14 | + }; |
|
| 15 | + $arguments = func_get_args(); |
|
| 16 | + $curried = curryN($add, 2); |
|
| 17 | + return call_user_func_array($curried, $arguments); |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | /** |
@@ -25,12 +25,12 @@ discard block |
||
| 25 | 25 | */ |
| 26 | 26 | function divide() |
| 27 | 27 | { |
| 28 | - $divide = function ($firstValue, $secondValue) { |
|
| 28 | + $divide = function ($firstValue, $secondValue) { |
|
| 29 | 29 | return $firstValue / $secondValue; |
| 30 | - }; |
|
| 31 | - $arguments = func_get_args(); |
|
| 32 | - $curried = curryN($divide, 2); |
|
| 33 | - return call_user_func_array($curried, $arguments); |
|
| 30 | + }; |
|
| 31 | + $arguments = func_get_args(); |
|
| 32 | + $curried = curryN($divide, 2); |
|
| 33 | + return call_user_func_array($curried, $arguments); |
|
| 34 | 34 | } |
| 35 | 35 | |
| 36 | 36 | /** |
@@ -39,12 +39,12 @@ discard block |
||
| 39 | 39 | */ |
| 40 | 40 | function inc() |
| 41 | 41 | { |
| 42 | - $inc = function ($value) { |
|
| 42 | + $inc = function ($value) { |
|
| 43 | 43 | return $value + 1; |
| 44 | - }; |
|
| 45 | - $arguments = func_get_args(); |
|
| 46 | - $curried = curryN($inc, 1); |
|
| 47 | - return call_user_func_array($curried, $arguments); |
|
| 44 | + }; |
|
| 45 | + $arguments = func_get_args(); |
|
| 46 | + $curried = curryN($inc, 1); |
|
| 47 | + return call_user_func_array($curried, $arguments); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | /** |
@@ -53,31 +53,31 @@ discard block |
||
| 53 | 53 | */ |
| 54 | 54 | function mean() |
| 55 | 55 | { |
| 56 | - $mean = function (array $numbers) { |
|
| 56 | + $mean = function (array $numbers) { |
|
| 57 | 57 | $length = count($numbers); |
| 58 | 58 | if ($length === 0) { |
| 59 | - throw new \InvalidArgumentException('$numbers passed to mean() must not be empty'); |
|
| 59 | + throw new \InvalidArgumentException('$numbers passed to mean() must not be empty'); |
|
| 60 | 60 | } |
| 61 | 61 | return array_sum($numbers)/$length; |
| 62 | - }; |
|
| 63 | - $arguments = func_get_args(); |
|
| 64 | - $curried = curryN($mean, 1); |
|
| 65 | - return call_user_func_array($curried, $arguments); |
|
| 62 | + }; |
|
| 63 | + $arguments = func_get_args(); |
|
| 64 | + $curried = curryN($mean, 1); |
|
| 65 | + return call_user_func_array($curried, $arguments); |
|
| 66 | 66 | } |
| 67 | 67 | |
| 68 | 68 | function median() |
| 69 | 69 | { |
| 70 | - $median = function (array $numbers) { |
|
| 70 | + $median = function (array $numbers) { |
|
| 71 | 71 | $length = count($numbers); |
| 72 | 72 | \sort($numbers, SORT_NUMERIC); |
| 73 | 73 | if ($length % 2 == 0) { |
| 74 | - return mean([$numbers[$length/2], $numbers[$length/2 - 1]]); |
|
| 74 | + return mean([$numbers[$length/2], $numbers[$length/2 - 1]]); |
|
| 75 | 75 | } |
| 76 | 76 | return $numbers[($length-1)/2]; |
| 77 | - }; |
|
| 78 | - $arguments = func_get_args(); |
|
| 79 | - $curried = curryN($median, 1); |
|
| 80 | - return call_user_func_array($curried, $arguments); |
|
| 77 | + }; |
|
| 78 | + $arguments = func_get_args(); |
|
| 79 | + $curried = curryN($median, 1); |
|
| 80 | + return call_user_func_array($curried, $arguments); |
|
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | /** |
@@ -87,12 +87,12 @@ discard block |
||
| 87 | 87 | */ |
| 88 | 88 | function modulo() |
| 89 | 89 | { |
| 90 | - $modulo = function ($firstValue, $secondValue) { |
|
| 90 | + $modulo = function ($firstValue, $secondValue) { |
|
| 91 | 91 | return $firstValue % $secondValue; |
| 92 | - }; |
|
| 93 | - $arguments = func_get_args(); |
|
| 94 | - $curried = curryN($modulo, 2); |
|
| 95 | - return call_user_func_array($curried, $arguments); |
|
| 92 | + }; |
|
| 93 | + $arguments = func_get_args(); |
|
| 94 | + $curried = curryN($modulo, 2); |
|
| 95 | + return call_user_func_array($curried, $arguments); |
|
| 96 | 96 | } |
| 97 | 97 | |
| 98 | 98 | |
@@ -104,12 +104,12 @@ discard block |
||
| 104 | 104 | */ |
| 105 | 105 | function multiply() |
| 106 | 106 | { |
| 107 | - $multiply = function ($firstValue, $secondValue) { |
|
| 107 | + $multiply = function ($firstValue, $secondValue) { |
|
| 108 | 108 | return $firstValue * $secondValue; |
| 109 | - }; |
|
| 110 | - $arguments = func_get_args(); |
|
| 111 | - $curried = curryN($multiply, 2); |
|
| 112 | - return call_user_func_array($curried, $arguments); |
|
| 109 | + }; |
|
| 110 | + $arguments = func_get_args(); |
|
| 111 | + $curried = curryN($multiply, 2); |
|
| 112 | + return call_user_func_array($curried, $arguments); |
|
| 113 | 113 | } |
| 114 | 114 | |
| 115 | 115 | /** |
@@ -120,10 +120,10 @@ discard block |
||
| 120 | 120 | */ |
| 121 | 121 | function subtract() |
| 122 | 122 | { |
| 123 | - $subtract = function ($firstValue, $secondValue) { |
|
| 123 | + $subtract = function ($firstValue, $secondValue) { |
|
| 124 | 124 | return $firstValue - $secondValue; |
| 125 | - }; |
|
| 126 | - $arguments = func_get_args(); |
|
| 127 | - $curried = curryN($subtract, 2); |
|
| 128 | - return call_user_func_array($curried, $arguments); |
|
| 125 | + }; |
|
| 126 | + $arguments = func_get_args(); |
|
| 127 | + $curried = curryN($subtract, 2); |
|
| 128 | + return call_user_func_array($curried, $arguments); |
|
| 129 | 129 | } |
@@ -9,7 +9,7 @@ discard block |
||
| 9 | 9 | */ |
| 10 | 10 | function add() |
| 11 | 11 | { |
| 12 | - $add = function ($firstValue, $secondValue) { |
|
| 12 | + $add = function($firstValue, $secondValue) { |
|
| 13 | 13 | return $firstValue + $secondValue; |
| 14 | 14 | }; |
| 15 | 15 | $arguments = func_get_args(); |
@@ -25,7 +25,7 @@ discard block |
||
| 25 | 25 | */ |
| 26 | 26 | function divide() |
| 27 | 27 | { |
| 28 | - $divide = function ($firstValue, $secondValue) { |
|
| 28 | + $divide = function($firstValue, $secondValue) { |
|
| 29 | 29 | return $firstValue / $secondValue; |
| 30 | 30 | }; |
| 31 | 31 | $arguments = func_get_args(); |
@@ -39,7 +39,7 @@ discard block |
||
| 39 | 39 | */ |
| 40 | 40 | function inc() |
| 41 | 41 | { |
| 42 | - $inc = function ($value) { |
|
| 42 | + $inc = function($value) { |
|
| 43 | 43 | return $value + 1; |
| 44 | 44 | }; |
| 45 | 45 | $arguments = func_get_args(); |
@@ -53,12 +53,12 @@ discard block |
||
| 53 | 53 | */ |
| 54 | 54 | function mean() |
| 55 | 55 | { |
| 56 | - $mean = function (array $numbers) { |
|
| 56 | + $mean = function(array $numbers) { |
|
| 57 | 57 | $length = count($numbers); |
| 58 | 58 | if ($length === 0) { |
| 59 | 59 | throw new \InvalidArgumentException('$numbers passed to mean() must not be empty'); |
| 60 | 60 | } |
| 61 | - return array_sum($numbers)/$length; |
|
| 61 | + return array_sum($numbers) / $length; |
|
| 62 | 62 | }; |
| 63 | 63 | $arguments = func_get_args(); |
| 64 | 64 | $curried = curryN($mean, 1); |
@@ -67,13 +67,13 @@ discard block |
||
| 67 | 67 | |
| 68 | 68 | function median() |
| 69 | 69 | { |
| 70 | - $median = function (array $numbers) { |
|
| 70 | + $median = function(array $numbers) { |
|
| 71 | 71 | $length = count($numbers); |
| 72 | 72 | \sort($numbers, SORT_NUMERIC); |
| 73 | 73 | if ($length % 2 == 0) { |
| 74 | - return mean([$numbers[$length/2], $numbers[$length/2 - 1]]); |
|
| 74 | + return mean([$numbers[$length / 2], $numbers[$length / 2 - 1]]); |
|
| 75 | 75 | } |
| 76 | - return $numbers[($length-1)/2]; |
|
| 76 | + return $numbers[($length - 1) / 2]; |
|
| 77 | 77 | }; |
| 78 | 78 | $arguments = func_get_args(); |
| 79 | 79 | $curried = curryN($median, 1); |
@@ -87,7 +87,7 @@ discard block |
||
| 87 | 87 | */ |
| 88 | 88 | function modulo() |
| 89 | 89 | { |
| 90 | - $modulo = function ($firstValue, $secondValue) { |
|
| 90 | + $modulo = function($firstValue, $secondValue) { |
|
| 91 | 91 | return $firstValue % $secondValue; |
| 92 | 92 | }; |
| 93 | 93 | $arguments = func_get_args(); |
@@ -104,7 +104,7 @@ discard block |
||
| 104 | 104 | */ |
| 105 | 105 | function multiply() |
| 106 | 106 | { |
| 107 | - $multiply = function ($firstValue, $secondValue) { |
|
| 107 | + $multiply = function($firstValue, $secondValue) { |
|
| 108 | 108 | return $firstValue * $secondValue; |
| 109 | 109 | }; |
| 110 | 110 | $arguments = func_get_args(); |
@@ -120,7 +120,7 @@ discard block |
||
| 120 | 120 | */ |
| 121 | 121 | function subtract() |
| 122 | 122 | { |
| 123 | - $subtract = function ($firstValue, $secondValue) { |
|
| 123 | + $subtract = function($firstValue, $secondValue) { |
|
| 124 | 124 | return $firstValue - $secondValue; |
| 125 | 125 | }; |
| 126 | 126 | $arguments = func_get_args(); |