@@ -24,7 +24,6 @@ discard block |
||
24 | 24 | * ``` |
25 | 25 | * |
26 | 26 | * @signature * -> String |
27 | - * @param mixed $data |
|
28 | 27 | * @return string |
29 | 28 | */ |
30 | 29 | function type() { |
@@ -79,7 +78,6 @@ discard block |
||
79 | 78 | * ``` |
80 | 79 | * |
81 | 80 | * @signature * -> String |
82 | - * @param mixed $something |
|
83 | 81 | * @return string |
84 | 82 | */ |
85 | 83 | function toString () { |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | * @param mixed $something |
83 | 83 | * @return string |
84 | 84 | */ |
85 | -function toString () { |
|
85 | +function toString() { |
|
86 | 86 | $toString = function($something) { |
87 | 87 | switch (type($something)) { |
88 | 88 | case 'String': |
@@ -105,11 +105,11 @@ discard block |
||
105 | 105 | return $something->__toString(); |
106 | 106 | case 'Object': |
107 | 107 | case 'Array': |
108 | - return '{' . join(', ', map(function($pair){ |
|
109 | - return $pair[0].': '. toString($pair[1]); |
|
108 | + return '{' . join(', ', map(function($pair) { |
|
109 | + return $pair[0] . ': ' . toString($pair[1]); |
|
110 | 110 | }, toPairs($something))) . '}'; |
111 | 111 | default: |
112 | - return '['.type($something).']'; |
|
112 | + return '[' . type($something) . ']'; |
|
113 | 113 | } |
114 | 114 | }; |
115 | 115 | return apply(curry($toString), func_get_args()); |
@@ -29,9 +29,15 @@ discard block |
||
29 | 29 | */ |
30 | 30 | function type() { |
31 | 31 | $type = function($data) { |
32 | - if ($data instanceof Error) return 'Error'; |
|
33 | - if ($data instanceof Stream) return "Stream({$data->type})"; |
|
34 | - if (is_callable($data)) return 'Function'; |
|
32 | + if ($data instanceof Error) { |
|
33 | + return 'Error'; |
|
34 | + } |
|
35 | + if ($data instanceof Stream) { |
|
36 | + return "Stream({$data->type})"; |
|
37 | + } |
|
38 | + if (is_callable($data)) { |
|
39 | + return 'Function'; |
|
40 | + } |
|
35 | 41 | switch (gettype($data)) { |
36 | 42 | case 'boolean': |
37 | 43 | return 'Boolean'; |
@@ -45,8 +51,9 @@ discard block |
||
45 | 51 | case 'resource': |
46 | 52 | return 'Resource'; |
47 | 53 | case 'array': |
48 | - if (allSatisfies('is_numeric', keys($data))) |
|
49 | - return 'List'; |
|
54 | + if (allSatisfies('is_numeric', keys($data))) { |
|
55 | + return 'List'; |
|
56 | + } |
|
50 | 57 | return 'Array'; |
51 | 58 | case 'object': |
52 | 59 | return 'Object'; |
@@ -3,8 +3,6 @@ |
||
3 | 3 | * This file contains functions dealing with functions. |
4 | 4 | */ |
5 | 5 | |
6 | -use Tarsana\Functional\Exceptions\InvalidArgument; |
|
7 | - |
|
8 | 6 | /** |
9 | 7 | * Adds the `Tarsana\Functional\` namespace to a function name. |
10 | 8 | * This is useful to pass non-curried functions as parameter. |
@@ -59,8 +59,9 @@ discard block |
||
59 | 59 | $addArgument = function($currentBoundArgs, $arg) use($fnArgsCount) { |
60 | 60 | $currentBoundArgsCount = count($currentBoundArgs); |
61 | 61 | $placeholderPosition = 0; |
62 | - while($placeholderPosition < $currentBoundArgsCount && !_is_placeholder($currentBoundArgs[$placeholderPosition])) |
|
63 | - $placeholderPosition ++; |
|
62 | + while($placeholderPosition < $currentBoundArgsCount && !_is_placeholder($currentBoundArgs[$placeholderPosition])) { |
|
63 | + $placeholderPosition ++; |
|
64 | + } |
|
64 | 65 | if ($currentBoundArgsCount < $fnArgsCount || $placeholderPosition == $currentBoundArgsCount) { |
65 | 66 | $currentBoundArgs[] = $arg; |
66 | 67 | } else { // There is a placeholder and number of bound args >= $fnArgsCount |
@@ -87,8 +88,9 @@ discard block |
||
87 | 88 | $boundArgs = _merge_args($argsCount, $boundArgs, func_get_args()); |
88 | 89 | $numberOfPlaceholders = count(array_filter($boundArgs, _f('_is_placeholder'))); |
89 | 90 | $numberOfGivenArgs = count($boundArgs) - $numberOfPlaceholders; |
90 | - if ($numberOfGivenArgs >= $argsCount) |
|
91 | - return call_user_func_array($fn, $boundArgs); |
|
91 | + if ($numberOfGivenArgs >= $argsCount) { |
|
92 | + return call_user_func_array($fn, $boundArgs); |
|
93 | + } |
|
92 | 94 | return _curried_function($fn, $argsCount, $boundArgs); |
93 | 95 | }; |
94 | 96 | } |
@@ -179,8 +181,9 @@ discard block |
||
179 | 181 | */ |
180 | 182 | function pipe() { |
181 | 183 | $fns = func_get_args(); |
182 | - if(count($fns) < 1) |
|
183 | - return _f('identity'); |
|
184 | + if(count($fns) < 1) { |
|
185 | + return _f('identity'); |
|
186 | + } |
|
184 | 187 | return curry(function () use ($fns) { |
185 | 188 | $result = _apply(array_shift($fns), func_get_args()); |
186 | 189 | foreach ($fns as $fn) { |
@@ -11,8 +11,6 @@ discard block |
||
11 | 11 | * ``` |
12 | 12 | * |
13 | 13 | * @signature Number -> Number -> Number |
14 | - * @param int|float $x |
|
15 | - * @param int|float $y |
|
16 | 14 | * @return int|float |
17 | 15 | */ |
18 | 16 | function plus() { |
@@ -29,8 +27,6 @@ discard block |
||
29 | 27 | * ``` |
30 | 28 | * |
31 | 29 | * @signature Number -> Number -> Number |
32 | - * @param int|float $x |
|
33 | - * @param int|float $y |
|
34 | 30 | * @return int|float |
35 | 31 | */ |
36 | 32 | function minus() { |
@@ -48,7 +44,6 @@ discard block |
||
48 | 44 | * ``` |
49 | 45 | * |
50 | 46 | * @signature Number -> Number |
51 | - * @param int|float $x |
|
52 | 47 | * @return int|float |
53 | 48 | */ |
54 | 49 | function negate() { |
@@ -65,8 +60,6 @@ discard block |
||
65 | 60 | * ``` |
66 | 61 | * |
67 | 62 | * @signature Number -> Number -> Number |
68 | - * @param int|float $x |
|
69 | - * @param int|float $y |
|
70 | 63 | * @return int|float |
71 | 64 | */ |
72 | 65 | function multiply() { |
@@ -83,8 +76,6 @@ discard block |
||
83 | 76 | * ``` |
84 | 77 | * |
85 | 78 | * @signature Number -> Number -> Number |
86 | - * @param int|float $x |
|
87 | - * @param int|float $y |
|
88 | 79 | * @return int|float |
89 | 80 | */ |
90 | 81 | function divide() { |
@@ -101,8 +92,6 @@ discard block |
||
101 | 92 | * ``` |
102 | 93 | * |
103 | 94 | * @signature Number -> Number -> Number |
104 | - * @param int|float $x |
|
105 | - * @param int|float $y |
|
106 | 95 | * @return int|float |
107 | 96 | */ |
108 | 97 | function modulo() { |
@@ -120,7 +109,6 @@ discard block |
||
120 | 109 | * ``` |
121 | 110 | * |
122 | 111 | * @signature [Number] -> Number |
123 | - * @param array $numbers |
|
124 | 112 | * @return int|float |
125 | 113 | */ |
126 | 114 | function sum() { |
@@ -137,7 +125,6 @@ discard block |
||
137 | 125 | * ``` |
138 | 126 | * |
139 | 127 | * @signature [Number] -> Number |
140 | - * @param array $numbers |
|
141 | 128 | * @return int|float |
142 | 129 | */ |
143 | 130 | function product() { |
@@ -16,7 +16,7 @@ discard block |
||
16 | 16 | * @return int|float |
17 | 17 | */ |
18 | 18 | function plus() { |
19 | - $plus = curry(function($x, $y){ |
|
19 | + $plus = curry(function($x, $y) { |
|
20 | 20 | return $x + $y; |
21 | 21 | }); |
22 | 22 | return apply($plus, func_get_args()); |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | * @return int|float |
35 | 35 | */ |
36 | 36 | function minus() { |
37 | - $minus = curry(function($x, $y){ |
|
37 | + $minus = curry(function($x, $y) { |
|
38 | 38 | return $x - $y; |
39 | 39 | }); |
40 | 40 | return apply($minus, func_get_args()); |
@@ -52,8 +52,8 @@ discard block |
||
52 | 52 | * @return int|float |
53 | 53 | */ |
54 | 54 | function negate() { |
55 | - return apply(curry(function($x){ |
|
56 | - return -$x; |
|
55 | + return apply(curry(function($x) { |
|
56 | + return - $x; |
|
57 | 57 | }), func_get_args()); |
58 | 58 | } |
59 | 59 | |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | * @return int|float |
71 | 71 | */ |
72 | 72 | function multiply() { |
73 | - $multiply = curry(function($x, $y){ |
|
73 | + $multiply = curry(function($x, $y) { |
|
74 | 74 | return $y * $x; |
75 | 75 | }); |
76 | 76 | return apply($multiply, func_get_args()); |
@@ -88,7 +88,7 @@ discard block |
||
88 | 88 | * @return int|float |
89 | 89 | */ |
90 | 90 | function divide() { |
91 | - $divide = curry(function($x, $y){ |
|
91 | + $divide = curry(function($x, $y) { |
|
92 | 92 | return $x / $y; |
93 | 93 | }); |
94 | 94 | return apply($divide, func_get_args()); |
@@ -106,7 +106,7 @@ discard block |
||
106 | 106 | * @return int|float |
107 | 107 | */ |
108 | 108 | function modulo() { |
109 | - $modulo = curry(function($x, $y){ |
|
109 | + $modulo = curry(function($x, $y) { |
|
110 | 110 | return $x % $y; |
111 | 111 | }); |
112 | 112 | return apply($modulo, func_get_args()); |
@@ -124,7 +124,7 @@ discard block |
||
124 | 124 | * @return int|float |
125 | 125 | */ |
126 | 126 | function sum() { |
127 | - return apply(curry(function($numbers){ |
|
127 | + return apply(curry(function($numbers) { |
|
128 | 128 | return reduce(plus(), 0, $numbers); |
129 | 129 | }), func_get_args()); |
130 | 130 | } |
@@ -141,7 +141,7 @@ discard block |
||
141 | 141 | * @return int|float |
142 | 142 | */ |
143 | 143 | function product() { |
144 | - return apply(curry(function($numbers){ |
|
144 | + return apply(curry(function($numbers) { |
|
145 | 145 | return reduce(multiply(), 1, $numbers); |
146 | 146 | }), func_get_args()); |
147 | 147 | } |
@@ -19,7 +19,6 @@ discard block |
||
19 | 19 | * ``` |
20 | 20 | * |
21 | 21 | * @signature a -> a |
22 | - * @param mixed $value |
|
23 | 22 | * @return mixed |
24 | 23 | */ |
25 | 24 | function clone_() { |
@@ -67,7 +66,6 @@ discard block |
||
67 | 66 | * ``` |
68 | 67 | * |
69 | 68 | * @signature {k: v} -> {k: v} |
70 | - * @param object $object |
|
71 | 69 | * @return array |
72 | 70 | */ |
73 | 71 | function attributes() { |
@@ -143,8 +141,6 @@ discard block |
||
143 | 141 | * ``` |
144 | 142 | * |
145 | 143 | * @signature k -> {k: v} -> Boolean |
146 | - * @param string|int $name |
|
147 | - * @param mixed $object |
|
148 | 144 | * @return bool |
149 | 145 | */ |
150 | 146 | function has() { |
@@ -173,8 +169,6 @@ discard block |
||
173 | 169 | * ``` |
174 | 170 | * |
175 | 171 | * @signature k -> {k: v} -> Maybe(v) |
176 | - * @param string $name |
|
177 | - * @param array $object |
|
178 | 172 | * @return mixed |
179 | 173 | */ |
180 | 174 | function get() { |
@@ -201,8 +195,6 @@ discard block |
||
201 | 195 | * ``` |
202 | 196 | * |
203 | 197 | * @signature [k] -> {k: v} -> v |
204 | - * @param array $path |
|
205 | - * @param mixed $object |
|
206 | 198 | * @return mixed |
207 | 199 | */ |
208 | 200 | function getPath() { |
@@ -229,9 +221,6 @@ discard block |
||
229 | 221 | * ``` |
230 | 222 | * |
231 | 223 | * @signature k -> v -> {k: v} -> {k: v} |
232 | - * @param string|int $name |
|
233 | - * @param mixed $value |
|
234 | - * @param mixed $object |
|
235 | 224 | * @return mixed |
236 | 225 | */ |
237 | 226 | function set() { |
@@ -258,9 +247,6 @@ discard block |
||
258 | 247 | * ``` |
259 | 248 | * |
260 | 249 | * @signature (a -> Boolean) -> k -> {k : a} -> Boolean |
261 | - * @param callable $predicate |
|
262 | - * @param string|int $key |
|
263 | - * @param mixed $object |
|
264 | 250 | * @return bool |
265 | 251 | */ |
266 | 252 | function satisfies() { |
@@ -294,8 +280,6 @@ discard block |
||
294 | 280 | * ``` |
295 | 281 | * |
296 | 282 | * @signature {String: (a -> Boolean)} -> {k : a} -> Boolean |
297 | - * @param array $predicates |
|
298 | - * @param mixed $object |
|
299 | 283 | * @return bool |
300 | 284 | */ |
301 | 285 | function satisfiesAll() { |
@@ -335,8 +319,6 @@ discard block |
||
335 | 319 | * ``` |
336 | 320 | * |
337 | 321 | * @signature {String: (a -> Boolean)} -> {k : a} -> Boolean |
338 | - * @param array $predicates |
|
339 | - * @param mixed $object |
|
340 | 322 | * @return bool |
341 | 323 | */ |
342 | 324 | function satisfiesAny() { |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | * @return string |
33 | 33 | */ |
34 | 34 | function join() { |
35 | - return apply(curry(function($glue, $pieces){ |
|
35 | + return apply(curry(function($glue, $pieces) { |
|
36 | 36 | return implode($glue, $pieces); |
37 | 37 | }), func_get_args()); |
38 | 38 | } |
@@ -306,8 +306,7 @@ discard block |
||
306 | 306 | $updateCountAt = curry(function($item, $counts, $index) use($openings, $closings) { |
307 | 307 | $count = occurences(__(), $item); |
308 | 308 | return ($openings[$index] == $closings[$index]) ? |
309 | - ($counts[$index] + $count($openings[$index])) % 2 : |
|
310 | - $counts[$index] + $count($openings[$index]) - $count($closings[$index]); |
|
309 | + ($counts[$index] + $count($openings[$index])) % 2 : $counts[$index] + $count($openings[$index]) - $count($closings[$index]); |
|
311 | 310 | }); |
312 | 311 | // Updates counts for all surrenders |
313 | 312 | $updateCounts = curry(function($item, $counts) use($indexes, $updateCountAt) { |