2022-08-11 12:42:43 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Arendsen\FluxQueryBuilder;
|
|
|
|
|
|
2022-08-12 15:49:25 +00:00
|
|
|
use DateTime;
|
|
|
|
|
|
2022-08-11 12:42:43 +00:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-12 15:49:25 +00:00
|
|
|
public static function dateTimeToString(DateTime $dateTime): string {
|
|
|
|
|
return 'time(v: ' . $dateTime->format('Y-m-d\TH:i:s\Z') . ')';
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-11 12:42:43 +00:00
|
|
|
}
|