Skip to content

Commit ba4b676

Browse files
committed
Add self types support in coercers and remove resource type from int
1 parent eb452ba commit ba4b676

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

src/Type/Coercer/ArrayKeyTypeCoercer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ final class ArrayKeyTypeCoercer implements TypeCoercerInterface
1515
public function coerce(mixed $value, Context $context): int|string
1616
{
1717
return match (true) {
18+
\is_string($value),
1819
\is_int($value) => $value,
1920
$value === false,
2021
$value === null => 0,

src/Type/Coercer/FloatTypeCoercer.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public function coerce(mixed $value, Context $context): float
1919
}
2020

2121
return match (true) {
22+
\is_float($value),
23+
\is_integer($value),
2224
\is_numeric($value) => (float) $value,
2325
$value === false,
2426
$value === null => 0.0,

src/Type/Coercer/IntTypeCoercer.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public function coerce(mixed $value, Context $context): int
3131
$value === false,
3232
$value === null => 0,
3333
$value === true => 1,
34-
\is_resource($value) => \get_resource_id($value),
34+
// Resource to int type coercion is not obvious:
35+
// \is_resource($value) => \get_resource_id($value),
3536
default => throw InvalidValueException::createFromContext(
3637
value: $original,
3738
context: $context,

0 commit comments

Comments
 (0)