DecoderCollectionFactory::getCollection()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 19
c 1
b 0
f 0
dl 0
loc 25
rs 9.6333
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Knik\Binn\Decoder;
4
5
use Knik\Binn\Binn;
6
use Knik\Binn\Decoder\Containers\BinnListDecoder;
7
use Knik\Binn\Decoder\Containers\BinnMapDecoder;
8
use Knik\Binn\Decoder\Containers\BinnObjectDecoder;
9
10
class DecoderCollectionFactory
11
{
12
    public function getCollection(): DecoderCollection
13
    {
14
        $decoderCollection = new DecoderCollection();
15
16
        $simpleStorageValueDecoder = new SimpleStorageValueDecoder();
17
18
        $decoderCollection->add(Binn::BINN_TRUE, $simpleStorageValueDecoder);
19
        $decoderCollection->add(Binn::BINN_FALSE, $simpleStorageValueDecoder);
20
        $decoderCollection->add(Binn::BINN_UINT8, $simpleStorageValueDecoder);
21
        $decoderCollection->add(Binn::BINN_INT8, $simpleStorageValueDecoder);
22
        $decoderCollection->add(Binn::BINN_UINT16, $simpleStorageValueDecoder);
23
        $decoderCollection->add(Binn::BINN_INT16, $simpleStorageValueDecoder);
24
        $decoderCollection->add(Binn::BINN_UINT32, $simpleStorageValueDecoder);
25
        $decoderCollection->add(Binn::BINN_INT32, $simpleStorageValueDecoder);
26
        $decoderCollection->add(Binn::BINN_UINT64, $simpleStorageValueDecoder);
27
        $decoderCollection->add(Binn::BINN_INT64, $simpleStorageValueDecoder);
28
        $decoderCollection->add(Binn::BINN_STRING, $simpleStorageValueDecoder);
29
        $decoderCollection->add(Binn::BINN_FLOAT32, $simpleStorageValueDecoder);
30
        $decoderCollection->add(Binn::BINN_FLOAT64, $simpleStorageValueDecoder);
31
32
        $decoderCollection->add(Binn::BINN_LIST, new BinnListDecoder($decoderCollection));
33
        $decoderCollection->add(Binn::BINN_MAP, new BinnMapDecoder($decoderCollection));
34
        $decoderCollection->add(Binn::BINN_OBJECT, new BinnObjectDecoder($decoderCollection));
35
36
        return $decoderCollection;
37
    }
38
}
39