You are here

public function FieldNormalizer::normalize in JSON:API 8.2

Same name and namespace in other branches
  1. 8 src/Normalizer/FieldNormalizer.php \Drupal\jsonapi\Normalizer\FieldNormalizer::normalize()
1 method overrides FieldNormalizer::normalize()
EntityReferenceFieldNormalizer::normalize in src/Normalizer/EntityReferenceFieldNormalizer.php
Normalizes an object into a set of arrays/scalars.

File

src/Normalizer/FieldNormalizer.php, line 31

Class

FieldNormalizer
Converts the Drupal field structure to a JSON:API array structure.

Namespace

Drupal\jsonapi\Normalizer

Code

public function normalize($field, $format = NULL, array $context = []) {

  /* @var \Drupal\Core\Field\FieldItemListInterface $field */
  $normalized_items = $this
    ->normalizeFieldItems($field, $format, $context);
  $cardinality = $field
    ->getFieldDefinition()
    ->getFieldStorageDefinition()
    ->getCardinality();
  return $cardinality === 1 ? array_shift($normalized_items) ?: CacheableNormalization::permanent(NULL) : CacheableNormalization::aggregate($normalized_items);
}