Skip to content

Commit 8e9294d

Browse files
committed
Uses static closures
1 parent 131670d commit 8e9294d

File tree

5 files changed

+36
-36
lines changed

5 files changed

+36
-36
lines changed

src/Composition.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function __construct(callable ...$functions)
3636
public function __invoke()
3737
{
3838
if (empty($this->functions)) {
39-
return (function ($value) {
39+
return (static function ($value) {
4040
return $value;
4141
})(func_get_arg(0));
4242
}
@@ -46,7 +46,7 @@ public function __invoke()
4646

4747
return array_reduce(
4848
$functionList,
49-
function ($carry, $item) {
49+
static function ($carry, $item) {
5050
return $item($carry);
5151
},
5252
call_user_func_array($first, func_get_args())

src/Curry.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public function __invoke(...$arguments)
3333
{
3434
$function = $this->function;
3535

36-
return function (...$args) use ($function, $arguments) {
37-
return (function ($arguments) use ($function) {
36+
return static function (...$args) use ($function, $arguments) {
37+
return (static function ($arguments) use ($function) {
3838
if (count($arguments) < (new \ReflectionFunction($function))->getNumberOfRequiredParameters()) {
3939
return new self($function, ...$arguments);
4040
}

src/Reducer/Termination/Operation.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,19 @@ public function __construct(string $operation)
3232
{
3333
if (self::$operators === null) {
3434
self::$operators = [
35-
'+' => function ($result, $current) {
35+
'+' => static function ($result, $current) {
3636
return $result+$current;
3737
},
38-
'-' => function ($result, $current) {
38+
'-' => static function ($result, $current) {
3939
return $result-$current;
4040
},
41-
'*' => function ($result, $current) {
41+
'*' => static function ($result, $current) {
4242
return $result*$current;
4343
},
44-
'/' => function ($result, $current) {
44+
'/' => static function ($result, $current) {
4545
return $result/$current;
4646
},
47-
'.' => function ($result, $current) {
47+
'.' => static function ($result, $current) {
4848
return $result.$current;
4949
},
5050
];

src/Transducer/transducers.php

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ function transduce(callable $transducer, Termination $reducer, $iterable, $initi
5858
function map(callable $callback, $sequence = null)
5959
{
6060
if ($sequence === null) {
61-
return function (Reducer $reducer) use ($callback) {
61+
return static function (Reducer $reducer) use ($callback) {
6262
return new Reducer\Map($reducer, $callback);
6363
};
6464
}
@@ -78,7 +78,7 @@ function map(callable $callback, $sequence = null)
7878
function filter(callable $callback, $sequence = null)
7979
{
8080
if ($sequence === null) {
81-
return function (Reducer $reducer) use ($callback) {
81+
return static function (Reducer $reducer) use ($callback) {
8282
return new Reducer\Filter($reducer, $callback);
8383
};
8484
}
@@ -99,12 +99,12 @@ function filter(callable $callback, $sequence = null)
9999
function keep(callable $callback, $sequence = null)
100100
{
101101
if ($sequence === null) {
102-
return function (Reducer $reducer) use ($callback) {
102+
return static function (Reducer $reducer) use ($callback) {
103103
return new Reducer\Keep($reducer, $callback);
104104
};
105105
}
106106
if (is_array($sequence)) {
107-
return \array_values(\array_filter($sequence, function ($item) use ($callback) {
107+
return \array_values(\array_filter($sequence, static function ($item) use ($callback) {
108108
return $callback($item) !== null;
109109
}));
110110
}
@@ -121,14 +121,14 @@ function keep(callable $callback, $sequence = null)
121121
function remove(callable $callback, $sequence = null)
122122
{
123123
if ($sequence === null) {
124-
return function (Reducer $reducer) use ($callback) {
125-
return new Reducer\Filter($reducer, function ($item) use ($callback) {
124+
return static function (Reducer $reducer) use ($callback) {
125+
return new Reducer\Filter($reducer, static function ($item) use ($callback) {
126126
return !($callback($item));
127127
});
128128
};
129129
}
130130
if (is_array($sequence)) {
131-
return \array_values(\array_filter($sequence, function ($item) use ($callback) {
131+
return \array_values(\array_filter($sequence, static function ($item) use ($callback) {
132132
return !$callback($item);
133133
}));
134134
}
@@ -145,7 +145,7 @@ function remove(callable $callback, $sequence = null)
145145
function first(callable $callback, $sequence = null)
146146
{
147147
if ($sequence === null) {
148-
return function (Reducer $reducer) use ($callback) {
148+
return static function (Reducer $reducer) use ($callback) {
149149
return new Reducer\First($reducer, $callback);
150150
};
151151
}
@@ -166,7 +166,7 @@ function first(callable $callback, $sequence = null)
166166
function cat($sequence = null)
167167
{
168168
if ($sequence === null) {
169-
return function (Reducer $reducer) {
169+
return static function (Reducer $reducer) {
170170
return new Reducer\Cat($reducer);
171171
};
172172
}
@@ -196,7 +196,7 @@ function mapcat(callable $callback, $sequence = null)
196196
function flatten($sequence = null)
197197
{
198198
if ($sequence === null) {
199-
return function (Reducer $reducer) {
199+
return static function (Reducer $reducer) {
200200
return new Reducer\Flatten($reducer);
201201
};
202202
}
@@ -213,7 +213,7 @@ function flatten($sequence = null)
213213
function take(int $number, $sequence = null)
214214
{
215215
if ($sequence === null) {
216-
return function (Reducer $reducer) use ($number) {
216+
return static function (Reducer $reducer) use ($number) {
217217
return new Reducer\Take($reducer, $number);
218218
};
219219
}
@@ -230,7 +230,7 @@ function take(int $number, $sequence = null)
230230
function take_while(callable $callback, $sequence = null)
231231
{
232232
if ($sequence === null) {
233-
return function (Reducer $reducer) use ($callback) {
233+
return static function (Reducer $reducer) use ($callback) {
234234
return new Reducer\TakeWhile($reducer, $callback);
235235
};
236236
}
@@ -247,7 +247,7 @@ function take_while(callable $callback, $sequence = null)
247247
function take_nth(int $frequency, $sequence = null)
248248
{
249249
if ($sequence === null) {
250-
return function (Reducer $reducer) use ($frequency) {
250+
return static function (Reducer $reducer) use ($frequency) {
251251
return new Reducer\TakeNth($reducer, $frequency);
252252
};
253253
}
@@ -264,7 +264,7 @@ function take_nth(int $frequency, $sequence = null)
264264
function drop(int $number, $sequence = null)
265265
{
266266
if ($sequence === null) {
267-
return function (Reducer $reducer) use ($number) {
267+
return static function (Reducer $reducer) use ($number) {
268268
return new Reducer\Drop($reducer, $number);
269269
};
270270
}
@@ -281,7 +281,7 @@ function drop(int $number, $sequence = null)
281281
function drop_while(callable $callback, $sequence = null)
282282
{
283283
if ($sequence === null) {
284-
return function (Reducer $reducer) use ($callback) {
284+
return static function (Reducer $reducer) use ($callback) {
285285
return new Reducer\DropWhile($reducer, $callback);
286286
};
287287
}
@@ -299,7 +299,7 @@ function drop_while(callable $callback, $sequence = null)
299299
function paginate($page = 1, $numberOfItems = 10, $sequence = null)
300300
{
301301
if ($sequence === null) {
302-
return function (Reducer $reducer) use ($page, $numberOfItems) {
302+
return static function (Reducer $reducer) use ($page, $numberOfItems) {
303303
return new Reducer\Paginate($reducer, $page, $numberOfItems);
304304
};
305305
}
@@ -316,7 +316,7 @@ function paginate($page = 1, $numberOfItems = 10, $sequence = null)
316316
function replace(array $map, $sequence = null)
317317
{
318318
if ($sequence === null) {
319-
return function (Reducer $reducer) use ($map) {
319+
return static function (Reducer $reducer) use ($map) {
320320
return new Reducer\Replace($reducer, $map);
321321
};
322322
}
@@ -331,7 +331,7 @@ function replace(array $map, $sequence = null)
331331
function distinct($sequence = null, ?callable $callback = null)
332332
{
333333
if ($sequence === null) {
334-
return function (Reducer $reducer) use ($callback) {
334+
return static function (Reducer $reducer) use ($callback) {
335335
return new Reducer\Distinct($reducer, $callback);
336336
};
337337
}
@@ -346,7 +346,7 @@ function distinct($sequence = null, ?callable $callback = null)
346346
function dedupe($sequence = null, ?callable $callback = null)
347347
{
348348
if ($sequence === null) {
349-
return function (Reducer $reducer) use ($callback) {
349+
return static function (Reducer $reducer) use ($callback) {
350350
return new Reducer\Dedupe($reducer, $callback);
351351
};
352352
}
@@ -363,7 +363,7 @@ function dedupe($sequence = null, ?callable $callback = null)
363363
function partition(int $size, $sequence = null)
364364
{
365365
if ($sequence === null) {
366-
return function (Reducer $reducer) use ($size) {
366+
return static function (Reducer $reducer) use ($size) {
367367
return new Reducer\Partition($reducer, $size);
368368
};
369369
}
@@ -380,7 +380,7 @@ function partition(int $size, $sequence = null)
380380
function partition_by(callable $callback, $sequence = null)
381381
{
382382
if ($sequence === null) {
383-
return function (Reducer $reducer) use ($callback) {
383+
return static function (Reducer $reducer) use ($callback) {
384384
return new Reducer\PartitionBy($reducer, $callback);
385385
};
386386
}
@@ -397,7 +397,7 @@ function partition_by(callable $callback, $sequence = null)
397397
function group_by(callable $callback, $sequence = null)
398398
{
399399
if ($sequence === null) {
400-
return function (Reducer $reducer) use ($callback) {
400+
return static function (Reducer $reducer) use ($callback) {
401401
return new Reducer\GroupBy($reducer, $callback);
402402
};
403403
}
@@ -407,14 +407,14 @@ function group_by(callable $callback, $sequence = null)
407407

408408
/**
409409
* @param callable $callback
410-
* @param null|iterable $sequence
410+
* @param null $sequence
411411
*
412-
* @return null|array|\Closure|mixed
412+
* @return array|\Closure|mixed
413413
*/
414414
function sort(callable $callback, $sequence = null)
415415
{
416416
if ($sequence === null) {
417-
return function (Reducer $reducer) use ($callback) {
417+
return static function (Reducer $reducer) use ($callback) {
418418
return new Reducer\Sort($reducer, $callback);
419419
};
420420
}
@@ -436,7 +436,7 @@ function sort(callable $callback, $sequence = null)
436436
function sort_by(callable $callback, $sequence = null)
437437
{
438438
if ($sequence === null) {
439-
return function (Reducer $reducer) use ($callback) {
439+
return static function (Reducer $reducer) use ($callback) {
440440
return new Reducer\SortBy($reducer, $callback);
441441
};
442442
}

src/transform.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ function curry(callable $function, ...$arguments)
8484
*/
8585
function comparator(callable $callback)
8686
{
87-
return function ($first, $second) use ($callback) {
87+
return static function ($first, $second) use ($callback) {
8888
$first = ($callback)($first);
8989
$second = ($callback)($second);
9090
if ($first == $second) {

0 commit comments

Comments
 (0)