Code Duplication    Length = 6-7 lines in 2 locations

src/PeacefulBit/Packet/Modules/Logic.php 2 locations

@@ 21-27 (lines=7) @@
18
            };
19
            return any($arguments, $predicate);
20
        }),
21
        'and' => new NativeNode('and', function (NodeCalculatorVisitor $visitor, array $arguments) {
22
            $predicate = function ($item) use ($visitor) {
23
                $visit = $visitor->getVisitor($item);
24
                return !!$visit($item);
25
            };
26
            return all($arguments, $predicate);
27
        }),
28
        'not' => new NativeNode('not', function (NodeCalculatorVisitor $visitor, array $arguments) {
29
            return all($arguments, function ($argument) use ($visitor) {
30
                $visit = $visitor->getVisitor($argument);
@@ 28-33 (lines=6) @@
25
            };
26
            return all($arguments, $predicate);
27
        }),
28
        'not' => new NativeNode('not', function (NodeCalculatorVisitor $visitor, array $arguments) {
29
            return all($arguments, function ($argument) use ($visitor) {
30
                $visit = $visitor->getVisitor($argument);
31
                return !$visit($argument);
32
            });
33
        }),
34
        'if' => new NativeNode('if', function (NodeCalculatorVisitor $visitor, array $arguments) {
35
            if (sizeof($arguments) != 3) {
36
                throw new RuntimeException("Function 'if' accepts only three arguments");