SerializesData   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 36
c 0
b 0
f 0
wmc 3
lcom 0
cbo 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A serializeItem() 0 5 1
A serializeCollection() 0 5 1
A getFractalService() 0 4 1
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