ConfigEntityDenormalizer.php in JSON:API Extras 8.3
File
src/Normalizer/ConfigEntityDenormalizer.php
View source
<?php
namespace Drupal\jsonapi_extras\Normalizer;
use Drupal\jsonapi\ResourceType\ResourceType;
class ConfigEntityDenormalizer extends JsonApiNormalizerDecoratorBase {
public function denormalize($data, $class, $format = NULL, array $context = []) {
return parent::denormalize($this
->prepareInput($data, $context['resource_type']), $class, $format, $context);
}
protected function prepareInput(array $data, ResourceType $resource_type) {
foreach ($data as $public_field_name => &$field_value) {
$enhancer = $resource_type
->getFieldEnhancer($public_field_name);
if (!$enhancer) {
continue;
}
$field_value = $enhancer
->transform($field_value);
}
return $data;
}
}