<?php
declare(strict_types=1);

namespace App\Framework\ExceptionHandling;

use App\Framework\ExceptionHandling\Reporter\LogReporter;
use Throwable;

final readonly class ErrorKernel
{
    public function __construct(
        private ErrorRendererFactory $rendererFactory = new ErrorRendererFactory,
    ) {}
    public function handle(Throwable $e, array $context = []): mixed
    {

        $log = new LogReporter();
        $log->report($e->getMessage());

        var_dump((string)$e);

        $this->rendererFactory->getRenderer()->render();

        return null;
    }
}

