2020-11-25 02:14:35 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Icinga\Module\Director\PropertyModifier;
|
|
|
|
|
|
|
|
use Icinga\Module\Director\Hook\PropertyModifierHook;
|
2024-10-22 14:31:14 +02:00
|
|
|
|
2020-11-25 02:14:35 +01:00
|
|
|
use function ipl\Stdlib\get_php_type;
|
|
|
|
|
|
|
|
class PropertyModifierNegateBoolean extends PropertyModifierHook
|
|
|
|
{
|
|
|
|
public function getName()
|
|
|
|
{
|
|
|
|
return 'Negate a boolean value';
|
|
|
|
}
|
|
|
|
|
|
|
|
public function transform($value)
|
|
|
|
{
|
|
|
|
if ($value === null) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (! is_bool($value)) {
|
|
|
|
throw new \InvalidArgumentException('Boolean expected, got ' . get_php_type($value));
|
|
|
|
}
|
|
|
|
|
|
|
|
return ! $value;
|
|
|
|
}
|
|
|
|
}
|