34 lines
938 B
PHP
34 lines
938 B
PHP
<?php
|
|
|
|
namespace Lean\Api;
|
|
|
|
trait DescriptorTrait
|
|
{
|
|
protected function displayValue(mixed $value) : string
|
|
{
|
|
if (is_null($value)) {
|
|
return "NULL";
|
|
}
|
|
elseif (is_bool($value)) {
|
|
return $value ? "TRUE" : "FALSE";
|
|
}
|
|
elseif ($value instanceof \UnitEnum) {
|
|
return $value::class . "::" . $value->name;
|
|
}
|
|
elseif (is_array($value)) {
|
|
return sprintf('[ %s ]', implode(', ', array_map([ self::class, 'displayValue' ], $value)));
|
|
}
|
|
|
|
return $value;
|
|
}
|
|
|
|
protected function yesOrNo(bool $toggle) : string
|
|
{
|
|
return sprintf("<span style='color:%s'>%s</span>", $toggle ? 'green' : '#ac1b1b', $toggle ? 'oui' : 'non');
|
|
}
|
|
|
|
protected function length(int|null $length) : string
|
|
{
|
|
return sprintf("<span style='color:%s'>%s</span>", $length ? 'black' : 'gray', $length ?? "non-défini");
|
|
}
|
|
} |