InstrumentInfoResponse   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 9
c 0
b 0
f 0
dl 0
loc 23
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getInstrumentInfoList() 0 3 1
A __construct() 0 11 2
1
<?php
2
3
namespace Carpenstar\ByBitAPI\Derivatives\MarketData\InstrumentInfo\Response;
4
5
use Carpenstar\ByBitAPI\Core\Builders\ResponseDtoBuilder;
6
use Carpenstar\ByBitAPI\Core\Objects\AbstractResponse;
7
use Carpenstar\ByBitAPI\Core\Objects\Collection\EntityCollection;
8
use Carpenstar\ByBitAPI\Derivatives\MarketData\InstrumentInfo\Interfaces\IInstrumentInfoResponseInterface;
9
use Carpenstar\ByBitAPI\Derivatives\MarketData\InstrumentInfo\Interfaces\IInstrumentInfoResponseItemInterface;
10
11
class InstrumentInfoResponse extends AbstractResponse implements IInstrumentInfoResponseInterface
12
{
13
    private EntityCollection $list;
14
15
    public function __construct(array $data)
16
    {
17
        $list = new EntityCollection();
18
19
        if (!empty($data['list'])) {
20
            array_map(function ($item) use ($list) {
21
                $list->push(ResponseDtoBuilder::make(InstrumentInfoResponseItem::class, $item));
22
            }, $data['list']);
23
        }
24
25
        $this->list = $list;
26
    }
27
28
    /**
29
     * @return null|InstrumentInfoResponseItem
30
     */
31
    public function getInstrumentInfoList(): ?InstrumentInfoResponseItem
32
    {
33
        return $this->list->fetch();
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->list->fetch() returns the type array which is incompatible with the type-hinted return Carpenstar\ByBitAPI\Deri...ntInfoResponseItem|null.
Loading history...
34
    }
35
}
36