Skip to content

Commit 55d2841

Browse files
authored
Merge pull request #96 from chadicus/master
Add filterer alias for TimeOfDayFilter
2 parents 58de438 + 77c085d commit 55d2841

4 files changed

Lines changed: 29 additions & 1 deletion

File tree

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,15 @@ $value = \TraderInteractive\Filter\PhoneFilter::filter('234.567.8901', false, '(
688688
assert($value === '(234) 567-8901');
689689
```
690690

691+
#### TimeOfDayFilter::filter
692+
Aliased in the filterer as `time-of-day`, this will filter a given string value as a time of day in `HH:MM:SS` format.
693+
694+
The following ensures that `$value` is a valid `HH:MM:SS` formatted string.
695+
```php
696+
$value = \TraderInteractive\Filter\TimeOfDayFilter::filter('12:15:23');
697+
assert($value === '12:15:23');
698+
```
699+
691700
#### XmlFilter::filter
692701
Aliased in the filter as `xml`, this will ensure the given string value is valid XML, returning the original value.
693702

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"traderinteractive/exceptions": "^1.2",
3434
"traderinteractive/filter-arrays": "^3.2",
3535
"traderinteractive/filter-bools": "^3.0",
36-
"traderinteractive/filter-dates": "^3.0",
36+
"traderinteractive/filter-dates": "^3.1",
3737
"traderinteractive/filter-floats": "^3.0",
3838
"traderinteractive/filter-ints": "^3.0",
3939
"traderinteractive/filter-strings": "^3.5"

src/Filterer.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use TraderInteractive\Filter\Arrays;
1010
use TraderInteractive\Filter\Json;
1111
use TraderInteractive\Filter\PhoneFilter;
12+
use TraderInteractive\Filter\TimeOfDayFilter;
1213
use TraderInteractive\Filter\XmlFilter;
1314

1415
/**
@@ -46,6 +47,7 @@ final class Filterer implements FiltererInterface
4647
'redact' => '\\TraderInteractive\\Filter\\Strings::redact',
4748
'string' => '\\TraderInteractive\\Filter\\Strings::filter',
4849
'strip-tags' => '\\TraderInteractive\\Filter\\Strings::stripTags',
50+
'time-of-day' => TimeOfDayFilter::class . '::filter',
4951
'timezone' => '\\TraderInteractive\\Filter\\DateTimeZone::filter',
5052
'translate' => '\\TraderInteractive\\Filter\\Strings::translate',
5153
'uint' => '\\TraderInteractive\\Filter\\UnsignedInt::filter',

tests/FiltererTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,23 @@ function (int $input, int $fieldOneValue) : int {
515515
[],
516516
],
517517
],
518+
'time-of-day' => [
519+
'spec' => [
520+
'field' => [['time-of-day']],
521+
],
522+
'input' => [
523+
'field' => '23:59:59',
524+
],
525+
'options' => [],
526+
'result' => [
527+
true,
528+
[
529+
'field' => '23:59:59',
530+
],
531+
null,
532+
[],
533+
],
534+
],
518535
];
519536
}
520537

0 commit comments

Comments
 (0)