Skip to content

Commit 2b1ed8f

Browse files
committed
fix: allow enum int values
1 parent 77dfaae commit 2b1ed8f

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/Builder/EnumBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ public static function create(string $name): self
2424
/**
2525
* @return $this
2626
*/
27-
public function addValue(string $value, ?string $name = null, ?string $description = null): self
27+
public function addValue(int|string $value, ?string $name = null, ?string $description = null): self
2828
{
29-
$name ??= $value;
29+
$name ??= (string) $value;
3030
if (preg_match(self::VALID_NAME_PATTERN, $name) !== 1) {
3131
throw InvalidArgument::invalidNameFormat($name);
3232
}

tests/Builder/EnumBuilderTest.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public function testCreate(): void
1818
$object = $builder
1919
->addValue('Value1', 'EnumName')
2020
->addValue('Value2', null, 'Value 2 Description')
21+
->addValue(0, 'Numeric', 'Value 2 Description')
2122
->build();
2223

2324
self::assertArrayHasKey('name', $object);
@@ -26,13 +27,17 @@ public function testCreate(): void
2627
$values = $object['values'];
2728

2829
self::assertIsArray($values);
29-
self::assertCount(2, $values);
30+
self::assertCount(3, $values);
3031

3132
self::assertArrayHasKey('EnumName', $values);
3233
self::assertSame('Value1', $values['EnumName']['value']);
3334

3435
self::assertArrayHasKey('Value2', $values);
36+
self::assertSame('Value2', $values['Value2']['value']);
3537
self::assertSame('Value 2 Description', $values['Value2']['description']);
38+
39+
self::assertArrayHasKey('Numeric', $values);
40+
self::assertSame(0, $values['Numeric']['value']);
3641
}
3742

3843
public function testInvalidValue(): void

0 commit comments

Comments
 (0)