Skip to content

Commit cc3e50a

Browse files
authored
Rename SkipOn* classes (#391)
* Rename `SkipOn*` classes * fix * fix * fix
1 parent 470c380 commit cc3e50a

13 files changed

Lines changed: 67 additions & 66 deletions

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ What exactly to consider to be empty is vague and can vary depending on a scope
157157

158158
`skipOnEmpty` value is normalized to callback automatically:
159159

160-
- If `skipOnEmpty` is `false` or `null`, `Yiisoft\Validator\SkipOnEmptyCallback\SkipNone` is used automatically as
160+
- If `skipOnEmpty` is `false` or `null`, `Yiisoft\Validator\EmptyCriteria\NeverEmpty` is used automatically as
161161
callback - every value is considered non-empty and validated without skipping (default).
162-
- If `skipOnEmpty` is `true`, `Yiisoft\Validator\SkipOnEmptyCallback\SkipOnEmpty` is used automatically for callback -
162+
- If `skipOnEmpty` is `true`, `Yiisoft\Validator\EmptyCriteria\WhenEmpty` is used automatically for callback -
163163
only passed and non-empty values (not `null`, `[]`, or `''`) are validated.
164164
- If custom callback is set, it's used to determine emptiness.
165165

@@ -169,9 +169,9 @@ The empty values can be also limited to `null` only:
169169

170170
```php
171171
use Yiisoft\Validator\Rule\Number;
172-
use Yiisoft\Validator\SkipOnEmptyCallback\SkipOnNull;
172+
use Yiisoft\Validator\EmptyCriteria\WhenNull;
173173

174-
new Number(asInteger: true, max: 100, skipOnEmpty: new SkipOnNull());
174+
new Number(asInteger: true, max: 100, skipOnEmpty: new WhenNull());
175175
```
176176

177177
For even more customization you can use your own class implementing `__invoke()` magic method:
@@ -711,9 +711,9 @@ needed. For more details see "Skipping empty values" section.
711711

712712
```php
713713
use Yiisoft\Validator\Rule\Required;
714-
use Yiisoft\Validator\SkipOnEmptyCallback\SkipOnNull;
714+
use Yiisoft\Validator\EmptyCriteria\WhenNull;
715715

716-
$rules = [new Required(emptyCallback: new SkipOnNull())];
716+
$rules = [new Required(emptyCallback: new WhenNull())];
717717
```
718718

719719
### Conditional validation
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
declare(strict_types=1);
44

5-
namespace Yiisoft\Validator\SkipOnEmptyCallback;
5+
namespace Yiisoft\Validator\EmptyCriteria;
66

7-
final class SkipNone
7+
final class NeverEmpty
88
{
99
public function __invoke(mixed $value, bool $isAttributeMissing): bool
1010
{
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
declare(strict_types=1);
44

5-
namespace Yiisoft\Validator\SkipOnEmptyCallback;
5+
namespace Yiisoft\Validator\EmptyCriteria;
66

77
use function is_string;
88

9-
final class SkipOnEmpty
9+
final class WhenEmpty
1010
{
1111
public function __construct(private bool $trimString = false)
1212
{
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
declare(strict_types=1);
44

5-
namespace Yiisoft\Validator\SkipOnEmptyCallback;
5+
namespace Yiisoft\Validator\EmptyCriteria;
66

7-
final class SkipOnNull
7+
final class WhenNull
88
{
99
public function __invoke(mixed $value, bool $isAttributeMissing): bool
1010
{
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
declare(strict_types=1);
44

5-
namespace Yiisoft\Validator;
5+
namespace Yiisoft\Validator\Helper;
66

77
use InvalidArgumentException;
8-
use Yiisoft\Validator\SkipOnEmptyCallback\SkipNone;
9-
use Yiisoft\Validator\SkipOnEmptyCallback\SkipOnEmpty;
8+
use Yiisoft\Validator\EmptyCriteria\NeverEmpty;
9+
use Yiisoft\Validator\EmptyCriteria\WhenEmpty;
1010

1111
use function is_callable;
1212

@@ -18,11 +18,11 @@ final class SkipOnEmptyNormalizer
1818
public static function normalize(mixed $skipOnEmpty): callable
1919
{
2020
if ($skipOnEmpty === false || $skipOnEmpty === null) {
21-
return new SkipNone();
21+
return new NeverEmpty();
2222
}
2323

2424
if ($skipOnEmpty === true) {
25-
return new SkipOnEmpty();
25+
return new WhenEmpty();
2626
}
2727

2828
if (is_callable($skipOnEmpty)) {

src/Rule/AtLeastHandler.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Yiisoft\Validator\Exception\UnexpectedRuleException;
99
use Yiisoft\Validator\Result;
1010
use Yiisoft\Validator\RuleHandlerInterface;
11-
use Yiisoft\Validator\SkipOnEmptyCallback\SkipOnEmpty;
11+
use Yiisoft\Validator\EmptyCriteria\WhenEmpty;
1212
use Yiisoft\Validator\ValidationContext;
1313

1414
use function is_array;
@@ -36,7 +36,7 @@ public function validate(mixed $value, object $rule, ValidationContext $context)
3636

3737
$filledCount = 0;
3838
foreach ($rule->getAttributes() as $attribute) {
39-
if (!(new SkipOnEmpty())(ArrayHelper::getValue($value, $attribute), $context->isAttributeMissing())) {
39+
if (!(new WhenEmpty())(ArrayHelper::getValue($value, $attribute), $context->isAttributeMissing())) {
4040
$filledCount++;
4141
}
4242
}

src/Rule/Required.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
use Yiisoft\Validator\Rule\Trait\SkipOnErrorTrait;
1010
use Yiisoft\Validator\Rule\Trait\WhenTrait;
1111
use Yiisoft\Validator\SerializableRuleInterface;
12-
use Yiisoft\Validator\SkipOnEmptyCallback\SkipOnEmpty;
12+
use Yiisoft\Validator\EmptyCriteria\WhenEmpty;
1313
use Yiisoft\Validator\SkipOnErrorInterface;
1414
use Yiisoft\Validator\ValidationContext;
1515
use Yiisoft\Validator\WhenInterface;
1616

1717
/**
1818
* Validates that the specified value is neither null nor empty.
1919
*
20-
* @psalm-type EmptyCallbackType = callable(mixed,bool):bool
20+
* @psalm-type EmptyCriteriaType = callable(mixed,bool):bool
2121
*/
2222
#[Attribute(Attribute::TARGET_PROPERTY | Attribute::IS_REPEATABLE)]
2323
final class Required implements SerializableRuleInterface, SkipOnErrorInterface, WhenInterface
@@ -27,24 +27,24 @@ final class Required implements SerializableRuleInterface, SkipOnErrorInterface,
2727

2828
/**
2929
* @var callable
30-
* @psalm-var EmptyCallbackType
30+
* @psalm-var EmptyCriteriaType
3131
*/
32-
private $emptyCallback;
32+
private $emptyCriteria;
3333

3434
/**
35-
* @psalm-param EmptyCallbackType|null $emptyCallback
35+
* @psalm-param EmptyCriteriaType|null $emptyCriteria
3636
*/
3737
public function __construct(
3838
private string $message = 'Value cannot be blank.',
3939
private string $notPassedMessage = 'Value not passed.',
40-
callable|null $emptyCallback = null,
40+
callable|null $emptyCriteria = null,
4141
private bool $skipOnError = false,
4242
/**
4343
* @var Closure(mixed, ValidationContext):bool|null
4444
*/
4545
private ?Closure $when = null,
4646
) {
47-
$this->emptyCallback = $emptyCallback ?? new SkipOnEmpty(trimString: true);
47+
$this->emptyCriteria = $emptyCriteria ?? new WhenEmpty(trimString: true);
4848
}
4949

5050
public function getName(): string
@@ -63,11 +63,11 @@ public function getNotPassedMessage(): string
6363
}
6464

6565
/**
66-
* @psalm-return EmptyCallbackType
66+
* @psalm-return EmptyCriteriaType
6767
*/
68-
public function getEmptyCallback(): callable
68+
public function getEmptyCriteria(): callable
6969
{
70-
return $this->emptyCallback;
70+
return $this->emptyCriteria;
7171
}
7272

7373
public function getOptions(): array

src/Rule/RequiredHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function validate(mixed $value, object $rule, ValidationContext $context)
2727
return $result;
2828
}
2929

30-
if (!$rule->getEmptyCallback()($value, $context->isAttributeMissing())) {
30+
if (!$rule->getEmptyCriteria()($value, $context->isAttributeMissing())) {
3131
return $result;
3232
}
3333

src/Rule/Trait/PreValidateTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use Yiisoft\Validator\RuleInterface;
88
use Yiisoft\Validator\SkipOnEmptyInterface;
9-
use Yiisoft\Validator\SkipOnEmptyNormalizer;
9+
use Yiisoft\Validator\Helper\SkipOnEmptyNormalizer;
1010
use Yiisoft\Validator\SkipOnErrorInterface;
1111
use Yiisoft\Validator\ValidationContext;
1212
use Yiisoft\Validator\WhenInterface;

src/Validator.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Yiisoft\Translator\SimpleMessageFormatter;
1515
use Yiisoft\Translator\Translator;
1616
use Yiisoft\Translator\TranslatorInterface;
17+
use Yiisoft\Validator\Helper\SkipOnEmptyNormalizer;
1718
use Yiisoft\Validator\Rule\Callback;
1819
use Yiisoft\Validator\Rule\Trait\PreValidateTrait;
1920
use Yiisoft\Validator\RulesProvider\AttributesRulesProvider;
@@ -39,7 +40,7 @@ final class Validator implements ValidatorInterface
3940
/**
4041
* @var callable
4142
*/
42-
private $defaultSkipOnEmptyCallback;
43+
private $defaultSkipOnEmptyCriteria;
4344

4445
/**
4546
* @param int $rulesPropertyVisibility What visibility levels to use when reading rules from the class specified in
@@ -56,7 +57,7 @@ public function __construct(
5657
) {
5758
$this->ruleHandlerResolver = $ruleHandlerResolver ?? new SimpleRuleHandlerContainer();
5859
$this->translator = $translator ?? $this->createDefaultTranslator();
59-
$this->defaultSkipOnEmptyCallback = SkipOnEmptyNormalizer::normalize($defaultSkipOnEmpty);
60+
$this->defaultSkipOnEmptyCriteria = SkipOnEmptyNormalizer::normalize($defaultSkipOnEmpty);
6061
}
6162

6263
/**
@@ -203,7 +204,7 @@ private function normalizeRule(mixed $rule): RuleInterface
203204
}
204205

205206
if ($rule instanceof SkipOnEmptyInterface && $rule->getSkipOnEmpty() === null) {
206-
$rule = $rule->skipOnEmpty($this->defaultSkipOnEmptyCallback);
207+
$rule = $rule->skipOnEmpty($this->defaultSkipOnEmptyCriteria);
207208
}
208209

209210
return $rule;

0 commit comments

Comments
 (0)