flux-querybuilder/src/Formatters.php
davidarendsen 15a3f8fcde Add DateTime option to Range function
Signed-off-by: davidarendsen <davidarendsen@hey.com>
2022-08-12 15:49:25 +00:00

47 lines
No EOL
1,018 B
PHP

<?php
namespace Arendsen\FluxQueryBuilder;
use DateTime;
class Formatters {
public static function valueToString($value): string
{
if(is_string($value))
{
return '"' . $value . '"';
}
elseif(is_bool($value))
{
return $value ? 'true' : 'false';
}
elseif(is_array($value))
{
return '[' . self::toFluxArrayString($value) . ']';
}
return $value;
}
public static function toFluxArrayString(array $array): string
{
array_walk($array, function(&$value, $key) {
if(is_string($key))
{
$value = $key . ': ' . self::valueToString($value);
}
else
{
$value = self::valueToString($value);
}
});
return implode(', ', $array);
}
public static function dateTimeToString(DateTime $dateTime): string {
return 'time(v: ' . $dateTime->format('Y-m-d\TH:i:s\Z') . ')';
}
}