Test Failed
Push — master ( f1d563...1fab6c )
by Vladislav
10:20 queued 07:53
created

InstrumentInfoResponse::getLaunchTime()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
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() could return the type Carpenstar\ByBitAPI\Core...\IResponseDataInterface which includes types incompatible with the type-hinted return Carpenstar\ByBitAPI\Deri...ntInfoResponseItem|null. Consider adding an additional type-check to rule them out.
Loading history...
34
    }
35
}