src/Transformer/JsonSchemaForm/CompoundTransformer.php line 42
<?phpdeclare(strict_types=1);/*** Copyright (c) 2019 TECLA Consulting Group oü.* All rights reserved.** This unpublished material is proprietary to TECLA Consulting Group oü.* All rights reserved. The methods and* techniques described herein are considered trade secrets* and/or confidential. Reproduction or distribution, in whole* or in part, is forbidden except by express written permission* of TECLA Consulting Group oü.** @author Matúš Sýkorjak <matus@tecla.no>* @copyright 2019 TECLA Consulting Group oü*/namespace App\Transformer\JsonSchemaForm;use App\Util\JsonSchemaForm\ResolverInterface;use Symfony\Component\Form\FormInterface;use Symfony\Component\Form\FormTypeGuesserInterface;use Symfony\Contracts\Translation\TranslatorInterface;class CompoundTransformer extends AbstractTransformer{/*** @var ResolverInterface*/protected $resolver;public function __construct(TranslatorInterface $translator, ?FormTypeGuesserInterface $validatorGuesser, ResolverInterface $resolver){parent::__construct($translator, $validatorGuesser);$this->resolver = $resolver;}/*** {@inheritdoc}*/public function transform(FormInterface $form, array $extensions = [], string $widget = null): array{$data = [];$order = 1;$required = [];foreach ($form->all() as $name => $field) {$transformerData = $this->resolver->resolve($field);$transformedChild = $transformerData['transformer']->transform($field, $extensions, $transformerData['widget']);$transformedChild['propertyOrder'] = $order;$data[$name] = $transformedChild;++$order;if (true === $transformerData['transformer']->isRequired($field)) {$required[] = $field->getName();}}$schema = ['title' => $form->getConfig()->getOption('label'),'action' => $form->getConfig()->getOption('action'),'type' => 'object','properties' => $data,];if (false === empty($required)) {$schema['required'] = $required;}$schema = $this->addCommonSpecs($form, $schema, $widget, $extensions);return $schema;}}