EmptyStream::__toString()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Genkgo\Mail\Stream;
5
6
use Genkgo\Mail\StreamInterface;
7
8
final class EmptyStream implements StreamInterface
9
{
10
    /**
11
     * @return string
12
     */
13 31
    public function __toString(): string
14
    {
15 31
        return '';
16
    }
17
18
    /**
19
     * @return void
20
     */
21
    public function close(): void
22
    {
23
        ;
24
    }
25
26
    /**
27
     * @return null
28
     */
29
    public function detach()
30
    {
31
        return null;
32
    }
33
34
    /**
35
     * @return int
36
     */
37 17
    public function getSize(): int
38
    {
39 17
        return 0;
40
    }
41
42
    /**
43
     * @return int
44
     */
45 1
    public function tell(): int
46
    {
47 1
        return 0;
48
    }
49
50
    /**
51
     * @return bool
52
     */
53 4
    public function eof(): bool
54
    {
55 4
        return true;
56
    }
57
58
    /**
59
     * @return bool
60
     */
61
    public function isSeekable(): bool
62
    {
63
        return true;
64
    }
65
66
    /**
67
     * @param int $offset
68
     * @param int $whence
69
     * @return int
70
     */
71 1
    public function seek(int $offset, int $whence = SEEK_SET): int
72
    {
73 1
        return $offset === 0 ? 0 : -1;
74
    }
75
76
    /**
77
     * @return bool
78
     */
79 3
    public function rewind(): bool
80
    {
81 3
        return true;
82
    }
83
84
    /**
85
     * @return bool
86
     */
87 1
    public function isWritable(): bool
88
    {
89 1
        return false;
90
    }
91
92
    /**
93
     * @param string $string
94
     * @return int on failure.
95
     */
96 1
    public function write($string): int
97
    {
98 1
        throw new \RuntimeException('Cannot write to empty stream');
99
    }
100
101
    /**
102
     * @return bool
103
     */
104
    public function isReadable(): bool
105
    {
106
        return true;
107
    }
108
109
    /**
110
     * @param int $length
111
     * @return string
112
     */
113 4
    public function read(int $length): string
114
    {
115 4
        return '';
116
    }
117
118
    /**
119
     * @return string
120
     */
121 3
    public function getContents(): string
122
    {
123 3
        return '';
124
    }
125
126
    /**
127
     * @param array<int, string> $keys
128
     * @return array<string, mixed>
0 ignored issues
show
Documentation introduced by
The doc-type array<string, could not be parsed: Expected ">" at position 5, but found "end of type". (view supported doc-types)

This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.

Loading history...
129
     */
130
    public function getMetadata(array $keys = []): array
131
    {
132
        return [];
133
    }
134
}
135