function RelationshipNormalizer::doNormalize

Normalizes an object into a set of arrays/scalars.

Parameters

mixed $object: Object to normalize.

string|null $format: Format the normalization result will be encoded as.

array $context: Context options for the normalizer.

Return value

array|string|int|float|bool|\ArrayObject|null The normalization. An \ArrayObject is used to make sure an empty object is encoded as an object not an array.

Overrides SchematicNormalizerTrait::doNormalize

File

core/modules/jsonapi/src/Normalizer/RelationshipNormalizer.php, line 34

Class

RelationshipNormalizer
Normalizes a JSON:API relationship object.

Namespace

Drupal\jsonapi\Normalizer

Code

public function doNormalize($object, $format = NULL, array $context = []) : array|string|int|float|bool|\ArrayObject|null {
  assert($object instanceof Relationship);
  return CacheableNormalization::aggregate([
    'data' => $this->serializer
      ->normalize($object->getData(), $format, $context),
    'links' => $this->serializer
      ->normalize($object->getLinks(), $format, $context)
      ->omitIfEmpty(),
    'meta' => CacheableNormalization::permanent($object->getMeta())
      ->omitIfEmpty(),
  ]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.