You are here

class DocumentSerializer in GraphQL 8.4

Cleans up AST recursively for serialization.

Hierarchy

Expanded class hierarchy of DocumentSerializer

1 file declares its use of DocumentSerializer
Executor.php in src/GraphQL/Execution/Executor.php

File

src/GraphQL/Utility/DocumentSerializer.php, line 11

Namespace

Drupal\graphql\GraphQL\Utility
View source
class DocumentSerializer {

  /**
   * Turn the AST document to a serializable array.
   *
   * @param \GraphQL\Language\AST\DocumentNode $document
   *
   * @return array
   */
  public static function serializeDocument(DocumentNode $document) {
    return static::sanitizeRecursive(AST::toArray($document));
  }

  /**
   * Recursively turn AST items into a serializable array.
   *
   * @param array $item
   *
   * @return array
   */
  public static function sanitizeRecursive(array $item) {
    unset($item['loc']);
    foreach ($item as &$value) {
      if (is_array($value)) {
        $value = static::sanitizeRecursive($value);
      }
    }
    return $item;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DocumentSerializer::sanitizeRecursive public static function Recursively turn AST items into a serializable array.
DocumentSerializer::serializeDocument public static function Turn the AST document to a serializable array.