Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
29 / 29 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
1 / 1 |
TypeConverterFactory | |
100.00% |
29 / 29 |
|
100.00% |
1 / 1 |
2 | |
100.00% |
1 / 1 |
__construct | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
create | |
100.00% |
29 / 29 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | namespace Apie\StorageMetadata; |
3 | |
4 | use Apie\Core\FileStorage\ChainedFileStorage; |
5 | use Apie\Core\TypeConverters\ArrayToDoctrineCollection; |
6 | use Apie\Core\TypeConverters\DoctrineCollectionToArray; |
7 | use Apie\StorageMetadata\Converters\ApieListToArray; |
8 | use Apie\StorageMetadata\Converters\ArrayToItemHashmap; |
9 | use Apie\StorageMetadata\Converters\ArrayToItemList; |
10 | use Apie\StorageMetadata\Converters\ArrayToItemSet; |
11 | use Apie\StorageMetadata\Converters\AutoIncrementTableToInt; |
12 | use Apie\StorageMetadata\Converters\AutoIncrementTableToValueObject; |
13 | use Apie\StorageMetadata\Converters\DateTimeToString; |
14 | use Apie\StorageMetadata\Converters\EnumToString; |
15 | use Apie\StorageMetadata\Converters\IntToAutoIncrementTable; |
16 | use Apie\StorageMetadata\Converters\IntToValueObject; |
17 | use Apie\StorageMetadata\Converters\MixedStorageToObject; |
18 | use Apie\StorageMetadata\Converters\MixedToMixedStorage; |
19 | use Apie\StorageMetadata\Converters\StringToDateTime; |
20 | use Apie\StorageMetadata\Converters\StringToEnum; |
21 | use Apie\StorageMetadata\Converters\StringToSearchIndex; |
22 | use Apie\StorageMetadata\Converters\StringToUploadedFileInterface; |
23 | use Apie\StorageMetadata\Converters\StringToValueObject; |
24 | use Apie\StorageMetadata\Converters\UploadedFileInterfaceToString; |
25 | use Apie\StorageMetadata\Converters\ValueObjectToAutoIncrementTable; |
26 | use Apie\StorageMetadata\Converters\ValueObjectToFloat; |
27 | use Apie\StorageMetadata\Converters\ValueObjectToInt; |
28 | use Apie\StorageMetadata\Converters\ValueObjectToString; |
29 | use Apie\TypeConverter\Converters\ObjectToObjectConverter; |
30 | use Apie\TypeConverter\DefaultConvertersFactory; |
31 | use Apie\TypeConverter\TypeConverter; |
32 | |
33 | final class TypeConverterFactory |
34 | { |
35 | /** |
36 | * @codeCoverageIgnore |
37 | */ |
38 | private function __construct() |
39 | { |
40 | } |
41 | |
42 | public static function create(ChainedFileStorage $fileStorage): TypeConverter |
43 | { |
44 | return new TypeConverter( |
45 | new ObjectToObjectConverter(), |
46 | ...DefaultConvertersFactory::create( |
47 | new StringToUploadedFileInterface($fileStorage), |
48 | new UploadedFileInterfaceToString($fileStorage), |
49 | new ArrayToDoctrineCollection(), |
50 | new StringToSearchIndex(), |
51 | new DoctrineCollectionToArray(), |
52 | new ApieListToArray(), |
53 | new AutoIncrementTableToInt(), |
54 | new AutoIncrementTableToValueObject(), |
55 | new IntToAutoIncrementTable(), |
56 | new ValueObjectToAutoIncrementTable(), |
57 | new ValueObjectToInt(), |
58 | new IntToValueObject(), |
59 | new ValueObjectToFloat(), |
60 | new MixedStorageToObject(), |
61 | new MixedToMixedStorage(), |
62 | new ValueObjectToString(), |
63 | new EnumToString(), |
64 | new StringToDateTime(), |
65 | new DateTimeToString(), |
66 | new StringToValueObject(), |
67 | new StringToEnum(), |
68 | new ArrayToItemHashmap(), |
69 | new ArrayToItemList(), |
70 | new ArrayToItemSet(), |
71 | ) |
72 | ); |
73 | } |
74 | } |