|
8 | 8 |
|
9 | 9 | require_once 'vendor/autoload.php'; |
10 | 10 |
|
| 11 | +use PhpTypedValues\Abstract\Bool\BoolTypeInterface; |
| 12 | +use PhpTypedValues\Bool\Alias\Boolean; |
| 13 | +use PhpTypedValues\Bool\BoolStandard; |
11 | 14 | use PhpTypedValues\DateTime\DateTimeAtom; |
12 | 15 | use PhpTypedValues\DateTime\DateTimeRFC3339; |
13 | 16 | use PhpTypedValues\DateTime\Timestamp\TimestampMilliseconds; |
14 | 17 | use PhpTypedValues\DateTime\Timestamp\TimestampSeconds; |
| 18 | +use PhpTypedValues\Float\Alias\Double; |
15 | 19 | use PhpTypedValues\Float\Alias\FloatType; |
16 | 20 | use PhpTypedValues\Float\Alias\NonNegativeFloat; |
17 | 21 | use PhpTypedValues\Float\FloatNonNegative; |
18 | 22 | use PhpTypedValues\Float\FloatStandard; |
19 | 23 | use PhpTypedValues\Integer\Alias\Id; |
| 24 | +use PhpTypedValues\Integer\Alias\Integer; |
20 | 25 | use PhpTypedValues\Integer\Alias\IntType; |
21 | 26 | use PhpTypedValues\Integer\Alias\NonNegativeInt; |
22 | 27 | use PhpTypedValues\Integer\Alias\PositiveInt; |
|
27 | 32 | use PhpTypedValues\Integer\IntegerStandard; |
28 | 33 | use PhpTypedValues\Integer\IntegerWeekDay; |
29 | 34 | use PhpTypedValues\String\Alias\NonEmptyStr; |
| 35 | +use PhpTypedValues\String\Alias\Str; |
30 | 36 | use PhpTypedValues\String\Alias\StrType; |
31 | 37 | use PhpTypedValues\String\StringNonEmpty; |
32 | 38 | use PhpTypedValues\String\StringStandard; |
|
49 | 55 | echo IntegerStandard::fromString('10')->toString() . \PHP_EOL; |
50 | 56 | echo Id::fromString('10')->toString() . \PHP_EOL; |
51 | 57 | echo IntType::fromString('10')->toString() . \PHP_EOL; |
| 58 | +echo Integer::fromString('10')->toString() . \PHP_EOL; |
52 | 59 |
|
53 | 60 | /** |
54 | 61 | * String. |
|
59 | 66 | echo StringStandard::fromString('hi')->toString() . \PHP_EOL; |
60 | 67 | echo NonEmptyStr::fromString('hi')->toString() . \PHP_EOL; |
61 | 68 | echo StrType::fromString('hi')->toString() . \PHP_EOL; |
| 69 | +echo Str::fromString('hi')->toString() . \PHP_EOL; |
62 | 70 |
|
63 | 71 | /** |
64 | 72 | * Float. |
|
68 | 76 | echo FloatStandard::fromString('2.71828')->toString() . \PHP_EOL; |
69 | 77 | echo NonNegativeFloat::fromString('2.71828')->toString() . \PHP_EOL; |
70 | 78 | echo FloatType::fromString('2.71828')->toString() . \PHP_EOL; |
| 79 | +echo Double::fromString('2.71828')->toString() . \PHP_EOL; |
71 | 80 |
|
72 | 81 | // PositiveFloat usage |
73 | 82 | testPositiveFloat(FloatNonNegative::fromFloat(0.5)->value()); |
74 | 83 | echo FloatNonNegative::fromString('3.14159')->toString() . \PHP_EOL; |
75 | 84 |
|
| 85 | +/** |
| 86 | + * Boolean. |
| 87 | + */ |
| 88 | +echo BoolStandard::fromString('true')->toString() . \PHP_EOL; |
| 89 | +echo BoolStandard::fromInt(1)->toString() . \PHP_EOL; |
| 90 | +echo BoolStandard::fromBool(true)->toString() . \PHP_EOL; |
| 91 | +echo Boolean::fromBool(Boolean::fromBool(true)->value())->toString() . \PHP_EOL; |
| 92 | +// Ensure interface method usage is visible to Psalm |
| 93 | +echo (testBool(BoolStandard::fromBool(true)) ? 'true' : 'false') . \PHP_EOL; |
| 94 | + |
76 | 95 | /** |
77 | 96 | * DateTime. |
78 | 97 | */ |
@@ -145,3 +164,11 @@ function testPositiveFloat(float $f): float |
145 | 164 | { |
146 | 165 | return $f; |
147 | 166 | } |
| 167 | + |
| 168 | +/** |
| 169 | + * Exercise BoolTypeInterface::value() for Psalm. |
| 170 | + */ |
| 171 | +function testBool(BoolTypeInterface $b): bool |
| 172 | +{ |
| 173 | + return $b->value(); |
| 174 | +} |
0 commit comments