@@ 308-319 (lines=12) @@ | ||
305 | * @param callable|string|null $callback |
|
306 | * @return mixed |
|
307 | */ |
|
308 | public function min($callback = null) |
|
309 | { |
|
310 | $callback = $this->valueRetriever($callback); |
|
311 | ||
312 | return $this->map(function ($value) use ($callback) { |
|
313 | return $callback($value); |
|
314 | })->filter(function ($value) { |
|
315 | return ! is_null($value); |
|
316 | })->reduce(function ($result, $value) { |
|
317 | return is_null($result) || $value < $result ? $value : $result; |
|
318 | }); |
|
319 | } |
|
320 | ||
321 | /** |
|
322 | * Get the max value of a given key. |
|
@@ 327-338 (lines=12) @@ | ||
324 | * @param callable|string|null $callback |
|
325 | * @return mixed |
|
326 | */ |
|
327 | public function max($callback = null) |
|
328 | { |
|
329 | $callback = $this->valueRetriever($callback); |
|
330 | ||
331 | return $this->filter(function ($value) { |
|
332 | return ! is_null($value); |
|
333 | })->reduce(function ($result, $item) use ($callback) { |
|
334 | $value = $callback($item); |
|
335 | ||
336 | return is_null($result) || $value > $result ? $value : $result; |
|
337 | }); |
|
338 | } |
|
339 | ||
340 | /** |
|
341 | * "Paginate" the collection by slicing it into a smaller collection. |