<?php 
 
/* 
 * This file is part of Chevere. 
 * 
 * (c) Rodolfo Berrios <[email protected]> 
 * 
 * For the full copyright and license information, please view the LICENSE 
 * file that was distributed with this source code. 
 */ 
 
declare(strict_types=1); 
 
namespace Chevere\VarDump\Outputs; 
 
use Colors\Color; 
use Throwable; 
 
class ConsoleOutput extends Output 
{ 
    protected string $outputHr; 
 
    public function finalize(): void 
    { 
        $this->writer()->write("\n" . $this->outputHr . "\n"); 
    } 
 
    public function prepare(): void 
    { 
        $color = new Color(); 
        $this->outputHr = str_repeat('-', 60); 
        $caller = $this->caller(); 
 
        try { 
            $this->outputHr = $color->fg('blue', $this->outputHr); 
            // @phpstan-ignore-next-line 
            $bold = $color->bold($caller); 
            $caller = $color->fg('red', $bold); 
        } catch (Throwable) { // @codeCoverageIgnoreStart 
            // Ignore if color not supported 
        } 
        // @codeCoverageIgnoreEnd 
        $this->writer()->write( 
            implode("\n", [ 
                '', 
                $caller, 
                $this->outputHr, 
            ]) 
        ); 
    } 
} 
 
 |