You are here

TextItemNormalizer.php in Content Synchronization 3.0.x

Same filename and directory in other branches
  1. 8.2 src/Normalizer/TextItemNormalizer.php

File

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

namespace Drupal\content_sync\Normalizer;

use Drupal\serialization\Normalizer\NormalizerBase;

/**
 * Converts TextItem fields to an array including computed values.
 */
class TextItemNormalizer extends NormalizerBase {

  /**
   * The interface or class that this Normalizer supports.
   *
   * @var string
   */
  protected $supportedInterfaceOrClass = 'Drupal\\text\\Plugin\\Field\\FieldType\\TextItemBase';

  /**
   * {@inheritdoc}
   */
  public function normalize($object, $format = NULL, array $context = []) {
    $attributes = [];
    foreach ($object
      ->getProperties(TRUE) as $name => $field) {
      $value = $this->serializer
        ->normalize($field, $format, $context);
      if (is_object($value)) {
        $value = $this->serializer
          ->normalize($value, $format, $context);
      }
      $attributes[$name] = $value;
    }
    return $attributes;
  }

}

Classes

Namesort descending Description
TextItemNormalizer Converts TextItem fields to an array including computed values.