Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
50.00% covered (danger)
50.00%
1 / 2
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
SelfNormalizer
50.00% covered (danger)
50.00%
1 / 2
50.00% covered (danger)
50.00%
1 / 2
2.50
0.00% covered (danger)
0.00%
0 / 1
 supportsNormalization
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 normalize
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2namespace Apie\Serializer\Normalizers;
3
4use Apie\Core\Lists\ItemHashmap;
5use Apie\Core\Lists\ItemList;
6use Apie\Serializer\Context\ApieSerializerContext;
7use Apie\Serializer\Interfaces\NormalizerInterface;
8use Apie\Serializer\Interfaces\NormalizeSelfInterface;
9
10class SelfNormalizer implements NormalizerInterface
11{
12    public function supportsNormalization(mixed $object, ApieSerializerContext $apieSerializerContext): bool
13    {
14        return $object instanceof NormalizeSelfInterface;
15    }
16
17    /**
18     * @param NormalizeSelfInterface $object
19     */
20    public function normalize(mixed $object, ApieSerializerContext $apieSerializerContext): string|int|float|bool|null|ItemList|ItemHashmap
21    {
22        return $apieSerializerContext->normalizeAgain($object->normalize($apieSerializerContext));
23    }
24}