vendor/overblog/graphql-bundle/src/Definition/ConfigProcessor.php line 18

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Overblog\GraphQLBundle\Definition;
  4. use Overblog\GraphQLBundle\Definition\ConfigProcessor\ConfigProcessorInterface;
  5. final class ConfigProcessor
  6. {
  7. /**
  8. * @var ConfigProcessorInterface[]
  9. */
  10. private array $processors;
  11. public function __construct(iterable $processors)
  12. {
  13. foreach ($processors as $processor) {
  14. $this->register($processor);
  15. }
  16. }
  17. public function getProcessors(): array
  18. {
  19. return $this->processors;
  20. }
  21. public function register(ConfigProcessorInterface $configProcessor): void
  22. {
  23. $this->processors[] = $configProcessor;
  24. }
  25. public function process(array $config): array
  26. {
  27. foreach ($this->processors as $processor) {
  28. $config = $processor->process($config);
  29. }
  30. return $config;
  31. }
  32. }