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