2022-08-11 12:42:43 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Arendsen\FluxQueryBuilder;
|
|
|
|
|
|
|
|
|
|
class Formatters {
|
|
|
|
|
|
|
|
|
|
public static function valueToString($value): string
|
|
|
|
|
{
|
|
|
|
|
if(is_string($value))
|
|
|
|
|
{
|
|
|
|
|
return '"' . $value . '"';
|
|
|
|
|
}
|
|
|
|
|
elseif(is_bool($value))
|
|
|
|
|
{
|
|
|
|
|
return $value ? 'true' : 'false';
|
|
|
|
|
}
|
2022-08-11 13:36:57 +00:00
|
|
|
elseif(is_array($value))
|
|
|
|
|
{
|
2022-08-11 15:06:14 +00:00
|
|
|
return '[' . self::toFluxArrayString($value) . ']';
|
2022-08-11 13:36:57 +00:00
|
|
|
}
|
2022-08-11 12:42:43 +00:00
|
|
|
|
|
|
|
|
return $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static function toFluxArrayString(array $array): string
|
|
|
|
|
{
|
|
|
|
|
array_walk($array, function(&$value, $key) {
|
2022-08-11 13:36:57 +00:00
|
|
|
if(is_string($key))
|
|
|
|
|
{
|
|
|
|
|
$value = $key . ': ' . self::valueToString($value);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$value = self::valueToString($value);
|
|
|
|
|
}
|
2022-08-11 12:42:43 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return implode(', ', $array);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|