tome-8.x-1.x-dev/modules/tome_sync/src/Normalizer/FieldItemNormalizer.php
modules/tome_sync/src/Normalizer/FieldItemNormalizer.php
<?php
namespace Drupal\tome_sync\Normalizer;
use Drupal\Core\TypedData\ComplexDataInterface;
use Drupal\serialization\Normalizer\FieldItemNormalizer as BaseFieldItemNormalizer;
/**
* Normalizer for fields.
*
* @internal
*/
class FieldItemNormalizer extends BaseFieldItemNormalizer {
/**
* {@inheritdoc}
*/
public function normalize($object, $format = NULL, array $context = []): array|string|int|float|bool|\ArrayObject|NULL {
$values = parent::normalize($object, $format, $context);
if ($object instanceof ComplexDataInterface) {
foreach ($object->getDataDefinition()->getPropertyDefinitions() as $name => $property) {
// Remove computed properties from the normalized file to reduce noise.
if ($property->isComputed() && isset($values[$name])) {
unset($values[$name]);
}
}
}
return $values;
}
}
