Passed
Push — master ( 7db7a1...f2f5fa )
by Pol
07:16
created

FPT   A

Complexity

Total Complexity 22

Size/Duplication

Total Lines 176
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 23
c 1
b 0
f 0
dl 0
loc 176
ccs 44
cts 44
cp 1
rs 10
wmc 22

22 Methods

Rating   Name   Duplication   Size   Complexity  
A arg() 0 3 1
A end() 0 3 1
A wrap() 0 3 1
A compose() 0 3 1
A args() 0 3 1
A thunk() 0 3 1
A reduce() 0 3 1
A filter() 0 3 1
A fold() 0 3 1
A flip() 0 3 1
A curryLeft() 0 3 1
A partialLeft() 0 3 1
A operator() 0 3 1
A identity() 0 3 1
A map() 0 3 1
A current() 0 3 1
A uncurry() 0 3 1
A not() 0 3 1
A reduction() 0 3 1
A nary() 0 3 1
A partialRight() 0 3 1
A curryRight() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace loophp\fpt;
6
7
use Closure;
8
use loophp\fpt\Contract\FPTInterface;
9
10
/**
11
 * @psalm-immutable
12
 */
13
final class FPT implements FPTInterface
14
{
15
    /**
16
     * @psalm-pure
17
     */
18 1
    public static function arg(): Closure
19
    {
20 1
        return Arg::of();
21
    }
22
23
    /**
24
     * @psalm-pure
25
     */
26 1
    public static function args(): Closure
27
    {
28 1
        return Args::of();
29
    }
30
31
    /**
32
     * @psalm-pure
33
     */
34 1
    public static function compose(): Closure
35
    {
36 1
        return Compose::of();
37
    }
38
39
    /**
40
     * @psalm-pure
41
     */
42 1
    public static function current(): Closure
43
    {
44 1
        return Current::of();
45
    }
46
47
    /**
48
     * @psalm-pure
49
     */
50 1
    public static function curryLeft(): Closure
51
    {
52 1
        return CurryLeft::of();
53
    }
54
55
    /**
56
     * @psalm-pure
57
     */
58 1
    public static function curryRight(): Closure
59
    {
60 1
        return CurryRight::of();
61
    }
62
63
    /**
64
     * @psalm-pure
65
     */
66 3
    public static function end(): Closure
67
    {
68 3
        return End::of();
69
    }
70
71
    /**
72
     * @psalm-pure
73
     */
74 1
    public static function filter(): Closure
75
    {
76 1
        return Filter::of();
77
    }
78
79
    /**
80
     * @psalm-pure
81
     */
82 1
    public static function flip(): Closure
83
    {
84 1
        return Flip::of();
85
    }
86
87
    /**
88
     * @psalm-pure
89
     */
90 1
    public static function fold(): Closure
91
    {
92 1
        return Fold::of();
93
    }
94
95
    /**
96
     * @psalm-pure
97
     */
98 1
    public static function identity(): Closure
99
    {
100 1
        return Identity::of();
101
    }
102
103
    /**
104
     * @psalm-pure
105
     */
106 1
    public static function map(): Closure
107
    {
108 1
        return Map::of();
109
    }
110
111
    /**
112
     * @psalm-pure
113
     */
114 1
    public static function nary(): Closure
115
    {
116 1
        return Nary::of();
117
    }
118
119
    /**
120
     * @psalm-pure
121
     */
122 1
    public static function not(): Closure
123
    {
124 1
        return Not::of();
125
    }
126
127
    /**
128
     * @psalm-pure
129
     */
130 1
    public static function operator(): Closure
131
    {
132 1
        return Operator::of();
133
    }
134
135
    /**
136
     * @psalm-pure
137
     */
138 1
    public static function partialLeft(): Closure
139
    {
140 1
        return PartialLeft::of();
141
    }
142
143
    /**
144
     * @psalm-pure
145
     */
146 1
    public static function partialRight(): Closure
147
    {
148 1
        return PartialRight::of();
149
    }
150
151
    /**
152
     * @psalm-pure
153
     */
154 1
    public static function reduce(): Closure
155
    {
156 1
        return Reduce::of();
157
    }
158
159
    /**
160
     * @psalm-pure
161
     */
162 2
    public static function reduction(): Closure
163
    {
164 2
        return Reduction::of();
165
    }
166
167
    /**
168
     * @psalm-pure
169
     */
170 1
    public static function thunk(): Closure
171
    {
172 1
        return Thunk::of();
173
    }
174
175
    /**
176
     * @psalm-pure
177
     */
178 1
    public static function uncurry(): Closure
179
    {
180 1
        return Uncurry::of();
181
    }
182
183
    /**
184
     * @psalm-pure
185
     */
186 1
    public static function wrap(): Closure
187
    {
188 1
        return Wrap::of();
189
    }
190
}
191