26 lines
673 B
PHP
26 lines
673 B
PHP
|
<?php
|
||
|
|
||
|
namespace SlotDb\Cli\Tool;
|
||
|
|
||
|
class Format
|
||
|
{
|
||
|
public static function formatValue(mixed $v): string
|
||
|
{
|
||
|
return match(true) {
|
||
|
is_array($v) =>
|
||
|
"[<fg=gray></><fg=green>".
|
||
|
join(",", array_map(Format::formatValue(...), $v)).
|
||
|
"</>]<fg=gray>(".count($v).")</>",
|
||
|
is_bool($v) =>
|
||
|
"<fg=cyan>".($v?"true":"false")."</>",
|
||
|
is_int($v) =>
|
||
|
"<fg=yellow>{$v}</>",
|
||
|
is_string($v) =>
|
||
|
"<fg=green>{$v}</>",
|
||
|
is_null($v) =>
|
||
|
"<fg=blue>null</>",
|
||
|
default =>
|
||
|
$v,
|
||
|
};
|
||
|
}
|
||
|
}
|