deserialize(json_encode($configurationData), Config::class, 'json'); $validator = Validation::createValidatorBuilder()->enableAnnotationMapping()->getValidator(); $violations = $validator->validate($configurationDataObject); if (0 < $violations->count()) { $io->error('Configuration is invalid.'); $io->listing( collect($violations) ->map(fn (ConstraintViolationInterface $v) => "{$v->getPropertyPath()} - {$v->getMessage()}") ->toArray() ); return; } return $next($configurationData); } }