Passed
Push — master ( a3fda0...7c0590 )
by Tim
14:58 queued 13:28
created

TelephoneNumber   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 37
rs 10
c 0
b 0
f 0
wmc 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SimpleSAML\SAML2\XML\md;
6
7
use SimpleSAML\SAML2\Assert\Assert;
8
use SimpleSAML\SAML2\Exception\ArrayValidationException;
9
use SimpleSAML\SAML2\Type\SAMLStringValue;
10
use SimpleSAML\XML\ArrayizableElementInterface;
11
use SimpleSAML\XML\SchemaValidatableElementInterface;
12
use SimpleSAML\XML\SchemaValidatableElementTrait;
13
use SimpleSAML\XML\TypedTextContentTrait;
14
15
use function array_key_first;
16
17
/**
18
 * Class implementing TelephoneNumber.
19
 *
20
 * @package simplesamlphp/saml2
21
 */
22
final class TelephoneNumber extends AbstractMdElement implements
23
    ArrayizableElementInterface,
24
    SchemaValidatableElementInterface
25
{
26
    use SchemaValidatableElementTrait;
27
    use TypedTextContentTrait;
28
29
30
    public const string TEXTCONTENT_TYPE = SAMLStringValue::class;
0 ignored issues
show
Bug introduced by
A parse error occurred: Syntax error, unexpected T_STRING, expecting '=' on line 30 at column 24
Loading history...
31
32
33
    /**
34
     * Create a class from an array
35
     *
36
     * @param array<string> $data
37
     */
38
    public static function fromArray(array $data): static
39
    {
40
        Assert::allString($data, ArrayValidationException::class);
41
42
        $index = array_key_first($data);
43
        return new static(
44
            SAMLStringValue::fromString($data[$index]),
45
        );
46
    }
47
48
49
    /**
50
     * Create an array from this class
51
     *
52
     * @return array<string>
53
     */
54
    public function toArray(): array
55
    {
56
        return [$this->getContent()->getValue()];
57
    }
58
}
59