GraphQL::execute()   A
last analyzed

Complexity

Conditions 3
Paths 5

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 3.2098

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 12
ccs 5
cts 7
cp 0.7143
rs 9.4285
cc 3
eloc 8
nc 5
nop 5
crap 3.2098
1
<?php
2
3
namespace Fubhy\GraphQL;
4
5
use Fubhy\GraphQL\Executor\Executor;
6
use Fubhy\GraphQL\Language\Parser;
7
use Fubhy\GraphQL\Language\Source;
8
9
class GraphQL
10
{
11
    /**
12
     * @param Schema $schema
13
     * @param $request
14
     * @param mixed $root
15
     * @param array|null $variables
16
     * @param string|null $operation
17
     *
18
     * @return array
19
     */
20 90
    public static function execute(Schema $schema, $request, $root = NULL, $variables = NULL, $operation = NULL)
21
    {
22
        try {
23 90
            $source = new Source($request ?: '', 'GraphQL request');
24 90
            $parser = new Parser();
25
26 90
            $ast = $parser->parse($source);
27 90
            return Executor::execute($schema, $root, $ast, $operation, $variables);
28
        } catch (\Exception $exception) {
29
            return ['errors' => $exception->getMessage()];
30
        }
31
    }
32
}
33