Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
80.00% covered (warning)
80.00%
4 / 5
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
StringToSimpleXml
80.00% covered (warning)
80.00%
4 / 5
0.00% covered (danger)
0.00%
0 / 1
3.07
0.00% covered (danger)
0.00%
0 / 1
 convert
80.00% covered (warning)
80.00%
4 / 5
0.00% covered (danger)
0.00%
0 / 1
3.07
1<?php
2namespace Apie\StorageMetadata\Converters;
3
4use Apie\Core\Utils\ConverterUtils;
5use Apie\TypeConverter\ConverterInterface;
6use ReflectionType;
7
8/**
9 * @implements ConverterInterface<?string, \SimpleXMLElement|null>
10 */
11class StringToSimpleXml implements ConverterInterface
12{
13    public function convert(?string $input, ?ReflectionType $wantedType): \SimpleXMLElement|null
14    {
15        if ($input === null && $wantedType?->allowsNull()) {
16            return null;
17        }
18        $class = ConverterUtils::toReflectionClass($wantedType);
19        assert($class !== null);
20        return simplexml_load_string($input, $class->name, LIBXML_NONET);
21    }
22}