You are here

MenuLinkTreeNormalizer.php in Menu Normalizer 2.x

Same filename and directory in other branches
  1. 8 src/Normalizer/MenuLinkTreeNormalizer.php

File

src/Normalizer/MenuLinkTreeNormalizer.php
View source
<?php

namespace Drupal\menu_normalizer\Normalizer;

use Drupal\serialization\Normalizer\NormalizerBase;

/**
 * MenuLinkTreeElement Normalizer.
 */
class MenuLinkTreeNormalizer extends NormalizerBase {

  /**
   * Supported Interface or Class.
   *
   * @var string
   */
  protected $supportedInterfaceOrClass = 'Drupal\\Core\\Menu\\MenuLinkTreeElement';

  /**
   * {@inheritdoc}
   */
  public function normalize($object, $format = NULL, array $context = []) {
    return [
      'link' => $this->serializer
        ->normalize($object->link, $format, $context),
      'has_children' => $object->hasChildren,
      'depth' => $object->depth,
      'in_active_trail' => $object->inActiveTrail,
      'subtree' => $this->serializer
        ->normalize($object->subtree, $format, $context),
      'count' => $object
        ->count(),
    ];
  }

}

Classes

Namesort descending Description
MenuLinkTreeNormalizer MenuLinkTreeElement Normalizer.