Collection   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 7
c 1
b 0
f 0
lcom 1
cbo 0
dl 0
loc 45
ccs 22
cts 22
cp 1
rs 10

7 Methods

Rating   Name   Duplication   Size   Complexity  
A values() 0 4 1
A toArray() 0 4 1
A map() 0 6 1
A filter() 0 6 1
A transduce() 0 6 1
A head() 0 4 1
A tail() 0 6 1
1
<?php
2
/**
3
 * Created by IntelliJ IDEA.
4
 * User: alemaire
5
 * Date: 06/07/2015
6
 * Time: 11:04
7
 */
8
9
namespace Fp\Collection;
10
use Fp;
11
12
class Collection extends \ArrayObject
13
{
14 11
    public function values()
15
    {
16 11
        return $this->getArrayCopy();
17
    }
18
19 1
    public function toArray()
20
    {
21 1
        return $this->values();
22
    }
23
24 3
    public function map(callable $callback)
25
    {
26 3
        return new Self(
27 3
            Fp\map($callback, $this->values())
28 3
        );
29
    }
30
31 3
    public function filter(callable $callback)
32
    {
33 3
        return new Self(
34 3
          Fp\filter($callback, $this->values())
35 3
        );
36
    }
37
38 1
    public function transduce(callable $transducers, Fp\Reducer\Reducer $reducer, $init = null)
39
    {
40 1
        return new Self(
41 1
          Fp\transduce($transducers, $reducer, $this->values(), $init)
42 1
        );
43
    }
44
45 1
    public function head()
46
    {
47 1
        return Fp\head($this->values());
48
    }
49
50 2
    public function tail()
51
    {
52 2
        return new Self(
53 2
            Fp\tail($this->values())
54 2
        );
55
    }
56
}