File "NoteRenderer.php"
                                Full Path: /home/pulsehostuk9/public_html/invoicer.pulsehost.co.uk/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/NoteRenderer.php
                File size: 1.46 KB
                MIME-type: text/x-php
                Charset: utf-8
            
<?php
namespace Laravel\Prompts\Themes\Default;
use Laravel\Prompts\Note;
class NoteRenderer extends Renderer
{
    /**
     * Render the note.
     */
    public function __invoke(Note $note): string
    {
        $lines = collect(explode(PHP_EOL, $note->message));
        switch ($note->type) {
            case 'intro':
            case 'outro':
                $lines = $lines->map(fn ($line) => " {$line} ");
                $longest = $lines->map(fn ($line) => strlen($line))->max();
                $lines
                    ->each(function ($line) use ($longest) {
                        $line = str_pad($line, $longest, ' ');
                        $this->line(" {$this->bgCyan($this->black($line))}");
                    });
                return $this;
            case 'warning':
                $lines->each(fn ($line) => $this->line($this->yellow(" {$line}")));
                return $this;
            case 'error':
                $lines->each(fn ($line) => $this->line($this->red(" {$line}")));
                return $this;
            case 'alert':
                $lines->each(fn ($line) => $this->line(" {$this->bgRed($this->white(" {$line} "))}"));
                return $this;
            case 'info':
                $lines->each(fn ($line) => $this->line($this->green(" {$line}")));
                return $this;
            default:
                $lines->each(fn ($line) => $this->line(" {$line}"));
                return $this;
        }
    }
}