Passed
Branch master (fb2e38)
by Sebastian
02:23
created

Functions   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 4
Bugs 0 Features 1
Metric Value
eloc 8
c 4
b 0
f 1
dl 0
loc 20
ccs 6
cts 6
cp 1
rs 10
wmc 3

6 Methods

Rating   Name   Duplication   Size   Complexity  
A hp$0 ➔ listOf() 0 3 1
listOf() 0 3 ?
A hp$0 ➔ listFromArray() 0 5 1
A hp$0 ➔ emptyList() 0 5 1
emptyList() 0 5 ?
listFromArray() 0 5 ?
1
<?php
2
3
namespace Seboettg\Collection\Lists;
4
5
use Seboettg\Collection\Comparable\Comparable;
6
7
final class Functions
8
{
9
    final public static function emptyList(): ListInterface
10
    {
11
        return new class() implements ListInterface {
12
            private $array = [];
0 ignored issues
show
Coding Style introduced by
Private member variable "array" must contain a leading underscore
Loading history...
introduced by
The private property $array is not used, and could be removed.
Loading history...
13
            use ArrayListTrait;
14
        };
15
    }
16
17 57
    final public static function listOf(...$elements): ListInterface
18
    {
19 57
        return listFromArray($elements);
20
    }
21
22 58
    final public static function listFromArray($elements): ListInterface
23
    {
24 58
        $list = emptyList();
25 58
        $list->setArray(array_values($elements));
26 58
        return $list;
27
    }
28
}
29
30
function emptyList(): ListInterface
31
{
32 68
    return Functions::emptyList();
33
}
34
35
function listOf(...$elements): ListInterface
36
{
37 57
    return Functions::listOf(...$elements);
38
}
39
40
function listFromArray(array $elements): ListInterface
41
{
42 58
    return Functions::listFromArray($elements);
43
}
44