ObjectType::toType()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 8
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 12
rs 10
1
<?php
2
namespace DNADesign\Elemental\GraphQL\Types;
3
4
use GraphQL\Type\Definition\CustomScalarType;
5
use SilverStripe\GraphQL\TypeCreator;
6
7
/**
8
 * Creates a "scalar" type that is a single dimension object - represented as an associative array on the PHP side.
9
 */
10
class ObjectType extends TypeCreator
11
{
12
    public function toType()
13
    {
14
        return new CustomScalarType([
15
            'name' => 'ObjectType',
16
            'serialize' => function ($value) {
17
                return (object) $value;
18
            },
19
            'parseValue' => function ($value) {
20
                return (array) $value;
21
            },
22
            'parseLiteral' => function ($ast) {
23
                return $ast->value;
24
            },
25
        ]);
26
    }
27
}
28