Code Duplication    Length = 8-8 lines in 2 locations

src/Zicht/Itertools/itertools.php 2 locations

@@ 591-598 (lines=8) @@
588
589
    $args = func_get_args();
590
    switch (sizeof($args)) {
591
        case 2:
592
            $strategy = conversions\mixed_to_value_getter($args[0]);
593
            $closure = function ($value, $key) use ($strategy) {
594
                $tempVarPhp54 = call_user_func($strategy, $value, $key);
595
                return !empty($tempVarPhp54);
596
            };
597
            $iterable = conversions\mixed_to_iterator($args[1]);
598
            break;
599
600
        case 3:
601
            $strategy = conversions\mixed_to_value_getter($args[0]);
@@ 600-607 (lines=8) @@
597
            $iterable = conversions\mixed_to_iterator($args[1]);
598
            break;
599
600
        case 3:
601
            $strategy = conversions\mixed_to_value_getter($args[0]);
602
            $userClosure = $args[1];
603
            $closure = function ($value, $key) use ($strategy, $userClosure) {
604
                return call_user_func($userClosure, call_user_func($strategy, $value, $key));
605
            };
606
            $iterable = conversions\mixed_to_iterator($args[2]);
607
            break;
608
609
        default:
610
            throw new \InvalidArgumentException('filterBy requires either two (strategy, iterable) or three (strategy, closure, iterable) arguments');