JsonHelper   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 8
c 1
b 0
f 0
dl 0
loc 23
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A decodeParams() 0 12 5
1
<?php
2
3
namespace Drupal\graphql\Utility;
4
5
class JsonHelper {
6
7
  /**
8
   * Decode encoded values recursively.
9
   *
10
   * @param array $values
11
   *   The values to decode.
12
   *
13
   * @return array
14
   *   The decoded values.
15
   */
16
  public static function decodeParams(array $values = []) {
17
    return array_map(function($value) {
18
      if (!is_string($value)) {
19
        return $value;
20
      }
21
22
      if (($decoded = json_decode($value, TRUE)) !== NULL && $decoded != $value) {
23
        return is_array($decoded) ? static::decodeParams($decoded) : $decoded;
24
      }
25
26
      return $value;
27
    }, $values);
28
  }
29
30
}
31