<?php // Generated by CuyZ\Valinor\Cache\FileSystemCache
return fn (array $transformers, CuyZ\Valinor\Normalizer\Transformer\Transformer $delegate) => new class ($transformers, $delegate) implements CuyZ\Valinor\Normalizer\Transformer\Transformer {
    private array $transformers;

    private CuyZ\Valinor\Normalizer\Transformer\Transformer $delegate;

    public function __construct(array $transformers, CuyZ\Valinor\Normalizer\Transformer\Transformer $delegate)
    {
        $this->transformers = $transformers;
        $this->delegate = $delegate;
    }

    public function transform(mixed $value): mixed
    {
        $references = new WeakMap();
        return $this->transform_object_cuyz_valinor_tests_integration_normalizer_classwithtwoproperties_c92577fbc267308639f49ed4ff6c9630($value, $references);
    }

    private function transform_object_cuyz_valinor_tests_integration_normalizer_classwithtwoproperties_c92577fbc267308639f49ed4ff6c9630(CuyZ\Valinor\Tests\Integration\Normalizer\ClassWithTwoProperties $value, WeakMap $references): array
    {
        if (isset($references[$value])) {
            throw new CuyZ\Valinor\Normalizer\Exception\CircularReferenceFoundDuringNormalization($value);
        }
        $references = clone $references;
        $references[$value] = $value;
        $values = [
            'valueA' => $value->valueA,
            'valueB' => $value->valueB,
        ];
        return $values;
    }
};
