Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
|||
MemoizeTrait | n/a |
0 / 0 |
n/a |
0 / 0 |
12 | n/a |
0 / 0 |
|||
isMemoizedStatic | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
isMemoizedStaticForeign | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
memoizeStatic | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
memoizeStaticForeign | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
unmemoizeStatic | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
unmemoizeStaticForeign | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
isMemoized | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
isMemoizedForeign | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
memoize | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
memoizeForeign | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
unmemoize | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
unmemoizeForeign | n/a |
0 / 0 |
n/a |
0 / 0 |
1 |
1 | <?php |
2 | |
3 | namespace TonyBogdanov\Memoize\Traits; |
4 | |
5 | use TonyBogdanov\Memoize\Memoize; |
6 | |
7 | /** |
8 | * Trait MemoizeTrait |
9 | * |
10 | * @package TonyBogdanov\Memoize\Traits |
11 | * |
12 | * @codeCoverageIgnore |
13 | */ |
14 | trait MemoizeTrait { |
15 | |
16 | /** |
17 | * @param string $key |
18 | * @return bool |
19 | */ |
20 | protected static function isMemoizedStatic( string $key ): bool { |
21 | return Memoize::isMemoized( static::class, $key ); |
22 | } |
23 | |
24 | /** |
25 | * @param string $foreignClass |
26 | * @param string $key |
27 | * @return bool |
28 | */ |
29 | protected static function isMemoizedStaticForeign( string $foreignClass, string $key ): bool { |
30 | return Memoize::isMemoized( $foreignClass, $key ); |
31 | } |
32 | |
33 | /** |
34 | * @param string $key |
35 | * @param callable $provider |
36 | * @return mixed |
37 | */ |
38 | protected static function memoizeStatic( string $key, callable $provider ) { |
39 | return Memoize::memoize( static::class, $key, $provider ); |
40 | } |
41 | |
42 | /** |
43 | * @param string $foreignClass |
44 | * @param string $key |
45 | * @param callable $provider |
46 | * @return mixed |
47 | */ |
48 | protected static function memoizeStaticForeign( string $foreignClass, string $key, callable $provider ) { |
49 | return Memoize::memoize( $foreignClass, $key, $provider ); |
50 | } |
51 | |
52 | /** |
53 | * @param string $key |
54 | * @return void |
55 | */ |
56 | protected static function unmemoizeStatic( string $key ): void { |
57 | Memoize::unmemoize( static::class, $key ); |
58 | } |
59 | |
60 | /** |
61 | * @param string $foreignClass |
62 | * @param string $key |
63 | * @return void |
64 | */ |
65 | protected static function unmemoizeStaticForeign( string $foreignClass, string $key ): void { |
66 | Memoize::unmemoize( $foreignClass, $key ); |
67 | } |
68 | |
69 | /** |
70 | * @param string $key |
71 | * @return bool |
72 | */ |
73 | protected function isMemoized( string $key ): bool { |
74 | return Memoize::isMemoized( $this, $key ); |
75 | } |
76 | |
77 | /** |
78 | * @param object $foreignObject |
79 | * @param string $key |
80 | * @return bool |
81 | */ |
82 | protected function isMemoizedForeign( object $foreignObject, string $key ): bool { |
83 | return Memoize::isMemoized( $foreignObject, $key ); |
84 | } |
85 | |
86 | /** |
87 | * @param string $key |
88 | * @param callable $provider |
89 | * @return mixed |
90 | */ |
91 | protected function memoize( string $key, callable $provider ) { |
92 | return Memoize::memoize( $this, $key, $provider ); |
93 | } |
94 | |
95 | /** |
96 | * @param object $foreignObject |
97 | * @param string $key |
98 | * @param callable $provider |
99 | * @return mixed |
100 | */ |
101 | protected function memoizeForeign( object $foreignObject, string $key, callable $provider ) { |
102 | return Memoize::memoize( $foreignObject, $key, $provider ); |
103 | } |
104 | |
105 | /** |
106 | * @param string|null $key |
107 | * @return $this |
108 | */ |
109 | protected function unmemoize( string $key = null ): self { |
110 | Memoize::unmemoize( $this, $key ); |
111 | return $this; |
112 | } |
113 | |
114 | /** |
115 | * @param object $foreignObject |
116 | * @param string|null $key |
117 | * @return $this |
118 | */ |
119 | protected function unmemoizeForeign( object $foreignObject, string $key = null ): self { |
120 | Memoize::unmemoize( $foreignObject, $key ); |
121 | return $this; |
122 | } |
123 | |
124 | } |