<?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\Processors;
use Chevere\Parameter\Interfaces\TypeInterface;
use Chevere\VarDump\Interfaces\ProcessorInterface;
use Chevere\VarDump\Interfaces\VarDumperInterface;
use Chevere\VarDump\Processors\Traits\ProcessorTrait;
final class IntProcessor implements ProcessorInterface
{
use ProcessorTrait;
private string $stringVar = '';
public function __construct(
private VarDumperInterface $varDumper
) {
$this->assertType();
/** @var int $int */
$int = $this->varDumper->dumpable()->var();
$this->stringVar = strval($int);
$this->info = 'length=' . strlen($this->stringVar);
}
public function type(): string
{
return TypeInterface::INT;
}
public function write(): void
{
$this->varDumper->writer()->write(
implode(' ', [
$this->typeHighlighted(),
$this->varDumper->format()->filterEncodedChars($this->stringVar),
$this->highlightParentheses($this->info),
])
);
}
}
|