Completed
Push — 8.x-3.x ( 0334d2...6b3e90 )
by Sebastian
04:15
created

AnyType::serialize()   B

Complexity

Conditions 5
Paths 4

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 8
nc 4
nop 1
dl 0
loc 15
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
namespace Drupal\graphql\GraphQL\Type\Scalars;
4
5
use Symfony\Component\HttpFoundation\File\UploadedFile;
6
use Youshido\GraphQL\Type\Scalar\AbstractScalarType;
7
8
class AnyType extends AbstractScalarType {
9
10
  /**
11
   * {@inheritdoc}
12
   */
13
  public function getName() {
14
    return 'Any';
15
  }
16
17
  /**
18
   * {@inheritdoc}
19
   */
20
  public function serialize($value) {
21
    if (is_scalar($value)) {
22
      return $value;
23
    }
24
25
    if (is_array($value)) {
26
      return json_encode($value);
27
    }
28
29
    if (is_object($value) && method_exists($value, '__toString')) {
30
      return (string) $value;
31
    }
32
33
    return '';
34
  }
35
36
  /**
37
   * {@inheritdoc}
38
   */
39
  public function isValidValue($value) {
40
    return TRUE;
41
  }
42
43
}
44