SerializesData::serializeItem()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 3
nc 1
nop 3
1
<?php
2
3
namespace Nord\Lumen\Core\Traits;
4
5
use League\Fractal\TransformerAbstract;
6
use Nord\Lumen\Fractal\Contracts\FractalBuilder;
7
use Nord\Lumen\Fractal\Contracts\FractalService;
8
9
trait SerializesData
10
{
11
    /**
12
     * @param mixed                    $item
13
     * @param TransformerAbstract|null $transformer
14
     * @param string                   $resourceKey
15
     *
16
     * @return FractalBuilder
17
     */
18
    public function serializeItem($item, TransformerAbstract $transformer = null, $resourceKey = null)
19
    {
20
        return $this->getFractalService()
21
            ->item($item, $transformer, $resourceKey);
22
    }
23
24
    /**
25
     * @param mixed                    $collection
26
     * @param TransformerAbstract|null $transformer
27
     * @param string                   $resourceKey
28
     *
29
     * @return FractalBuilder
30
     */
31
    public function serializeCollection($collection, TransformerAbstract $transformer = null, $resourceKey = null)
32
    {
33
        return $this->getFractalService()
34
            ->collection($collection, $transformer, $resourceKey);
35
    }
36
37
    /**
38
     * @return FractalService
39
     */
40
    public function getFractalService()
41
    {
42
        return app(FractalService::class);
43
    }
44
}
45