Files
piratepoet/mailpoet/lib/Validator/Schema/IntegerSchema.php
Jan Jakes 636fd8c4dc Add factory for integer WP JSON schema
[MAILPOET-4195]
2022-03-30 11:29:58 +02:00

37 lines
1.0 KiB
PHP

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