mirror of
https://github.com/Respect/Validation.git
synced 2026-03-14 22:35:45 +01:00
Improves SPDX header linting to ensure consistent license metadata across the codebase. Key changes: - Enforce deterministic tag ordering (License-Identifier, FileCopyrightText, FileContributor) to ensure consistency, prevent merge conflicts, and simplify code reviews - Add contributor alias mapping to consolidate contributors with multiple emails or name variations (e.g., "nickl-" → "Nick Lombard") - Add --contributions-strategy option with "blame" (current code authors) and "log" (all historical contributors) to support different attribution philosophies - Add optional path argument to lint specific files or directories - Add --fix option to automatically correct header issues Assisted-by: Claude Code (claude-opus-4-5-20251101)
2.5 KiB
2.5 KiB
Sorted
Sorted(string $direction)
Validates whether the input is sorted in a certain order or not.
v::sorted('ASC')->assert([1, 2, 3]);
// Validation passes successfully
v::sorted('ASC')->assert('ABC');
// Validation passes successfully
v::sorted('DESC')->assert([3, 2, 1]);
// Validation passes successfully
v::sorted('ASC')->assert([]);
// Validation passes successfully
v::sorted('ASC')->assert([1]);
// Validation passes successfully
You can also combine After to create custom validations:
v::after(
fn (array $input): array => array_column($input, 'key'),
v::sorted('ASC')
)->assert([
['key' => 1],
['key' => 5],
['key' => 9],
]);
// Validation passes successfully
v::after('strval', v::sorted('DESC'))->assert(4321);
// Validation passes successfully
v::after('iterator_to_array', v::sorted('ASC'))->assert(new ArrayIterator([1, 7, 4]));
// → `[1, 7, 4]` must be sorted in ascending order
Templates
Sorted::TEMPLATE_ASCENDING
| Mode | Template |
|---|---|
default |
{{subject}} must be sorted in ascending order |
inverted |
{{subject}} must not be sorted in ascending order |
Sorted::TEMPLATE_DESCENDING
| Mode | Template |
|---|---|
default |
{{subject}} must be sorted in descending order |
inverted |
{{subject}} must not be sorted in descending order |
Template placeholders
| Placeholder | Description |
|---|---|
subject |
The validated input or the custom validator name (if specified). |
Categorization
- Arrays
- Strings
Changelog
| Version | Description |
|---|---|
| 2.0.0 | Add support for strings |
| 2.0.0 | Do not use array keys to sort |
| 2.0.0 | Use sorting direction instead of boolean value |
| 2.0.0 | Do not accept callback in the constructor |
| 1.1.1 | Created |