44 lines
937 B
PHP
44 lines
937 B
PHP
<?php
|
|
|
|
namespace Toalett\Redis\Timeseries\Model;
|
|
|
|
final class Where
|
|
{
|
|
private ?string $label;
|
|
|
|
public function __construct(string $label)
|
|
{
|
|
$this->label = $label;
|
|
}
|
|
|
|
public function is(string $value): Filter
|
|
{
|
|
return new Filter($this->label, '=', $value);
|
|
}
|
|
|
|
public function isNot(string $value): Filter
|
|
{
|
|
return new Filter($this->label, '!=', $value);
|
|
}
|
|
|
|
public function isNotSet(): Filter
|
|
{
|
|
return new Filter($this->label, '=');
|
|
}
|
|
|
|
public function isSet(): Filter
|
|
{
|
|
return new Filter($this->label, '!=');
|
|
}
|
|
|
|
public function isOneOf(string ...$possibleValues): Filter
|
|
{
|
|
return new Filter($this->label, '=(', implode(',', $possibleValues) . ')');
|
|
}
|
|
|
|
public function isNoneOf(string ...$possibleValues): Filter
|
|
{
|
|
return new Filter($this->label, '!=(', implode(',', $possibleValues) . ')');
|
|
}
|
|
}
|