You are here

protected static function ResourceObjectNormalizer::enhanceConfigFields in JSON:API Extras 8.3

Applies field enhancers to a config entity normalization.

Parameters

mixed $object: The parent object.

array $normalization: The normalization to be enhanced.

\Drupal\jsonapi_extras\ResourceType\ConfigurableResourceType $resource_type: The resource type of the normalized resource object.

Return value

array The enhanced field data.

1 call to ResourceObjectNormalizer::enhanceConfigFields()
ResourceObjectNormalizer::normalize in src/Normalizer/ResourceObjectNormalizer.php
Normalizes an object into a set of arrays/scalars.

File

src/Normalizer/ResourceObjectNormalizer.php, line 48

Class

ResourceObjectNormalizer
Decorates the JSON:API ResourceObjectNormalizer.

Namespace

Drupal\jsonapi_extras\Normalizer

Code

protected static function enhanceConfigFields($object, array $normalization, ConfigurableResourceType $resource_type) {
  if (!empty($normalization['attributes'])) {
    foreach ($normalization['attributes'] as $field_name => $field_value) {
      $enhancer = $resource_type
        ->getFieldEnhancer($field_name);
      if (!$enhancer) {
        continue;
      }
      $context['field_item_object'] = $object;
      $normalization['attributes'][$field_name] = $enhancer
        ->undoTransform($field_value, new Context($context));
    }
  }
  return $normalization;
}