Skip to content

Commit 4b6ab22

Browse files
Merge pull request #72 from Bloemendaal/main
Fix backslashes conversion to TypeScript
2 parents 94074c9 + 9c97740 commit 4b6ab22

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

src/Transformers/EnumTransformer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ protected function toEnumValue(ReflectionEnumBackedCase $case): string
6969
{
7070
$value = $case->getBackingValue();
7171

72-
return is_string($value) ? "'{$value}'" : "{$value}";
72+
return is_string($value) ? "'" . str_replace('\\', '\\\\', $value) . "'" : "{$value}";
7373
}
7474
}

tests/FakeClasses/StringBackedEnum.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ enum StringBackedEnum: string
99
{
1010
case JS = 'js';
1111
case PHP = 'php';
12+
case BackslashesTest = 'backslashes\\test';
1213
}

tests/Transformers/EnumTransformerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
'Enum'
6161
);
6262

63-
assertEquals("'JS' = 'js', 'PHP' = 'php'", $type->transformed);
63+
assertEquals("'JS' = 'js', 'PHP' = 'php', 'BackslashesTest' = 'backslashes\\\\test'", $type->transformed);
6464
assertTrue($type->missingSymbols->isEmpty());
6565
assertFalse($type->isInline);
6666
assertEquals('enum', $type->keyword);
@@ -76,7 +76,7 @@
7676
'Enum'
7777
);
7878

79-
assertEquals("'js' | 'php'", $type->transformed);
79+
assertEquals("'js' | 'php' | 'backslashes\\\\test'", $type->transformed);
8080
assertTrue($type->missingSymbols->isEmpty());
8181
assertFalse($type->isInline);
8282
assertEquals('type', $type->keyword);

0 commit comments

Comments
 (0)