Passed
Push — master ( 193c16...705327 )
by Tomáš
11:03
created

JsonRequestParser   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 29
ccs 7
cts 7
cp 1
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getVariables() 0 3 1
A __construct() 0 3 2
A getQuery() 0 3 1
1
<?php declare(strict_types = 1);
2
3
namespace Portiny\GraphQL\Http\Request;
4
5
use Portiny\GraphQL\Contract\Http\Request\RequestParserInterface;
6
7
final class JsonRequestParser implements RequestParserInterface
8
{
9
	/**
10
	 * @var array
11
	 */
12
	private $data = [];
13
14
15 4
	public function __construct(string $json)
16
	{
17 4
		$this->data = json_decode($json ?: '{}', true);
18 4
	}
19
20
21
	/**
22
	 * {@inheritdoc}
23
	 */
24 3
	public function getQuery(): string
25
	{
26 3
		return $this->data['query'] ?? '';
27
	}
28
29
30
	/**
31
	 * {@inheritdoc}
32
	 */
33 3
	public function getVariables(): array
34
	{
35 3
		return $this->data['variables'] ?? [];
36
	}
37
38
}
39