geno/wp-content/plugins/mailpoet/lib/Validator/Schema/NumberSchema.php
2024-02-01 11:54:18 +00:00

39 lines
1.1 KiB
PHP

<?php declare(strict_types = 1);
namespace MailPoet\Validator\Schema;
if (!defined('ABSPATH')) exit;
use MailPoet\Validator\Schema;
// See: https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/#numbers
class NumberSchema extends Schema {
protected $schema = [
'type' => 'number',
];
public function minimum(float $value): self {
return $this->updateSchemaProperty('minimum', $value)
->unsetSchemaProperty('exclusiveMinimum');
}
public function exclusiveMinimum(float $value): self {
return $this->updateSchemaProperty('minimum', $value)
->updateSchemaProperty('exclusiveMinimum', true);
}
public function maximum(float $value): self {
return $this->updateSchemaProperty('maximum', $value)
->unsetSchemaProperty('exclusiveMaximum');
}
public function exclusiveMaximum(float $value): self {
return $this->updateSchemaProperty('maximum', $value)
->updateSchemaProperty('exclusiveMaximum', true);
}
public function multipleOf(float $value): self {
return $this->updateSchemaProperty('multipleOf', $value);
}
}