Skip to content

Commit 775ca4c

Browse files
Added missing transformation of NullableType (#453)
1 parent cfd69e9 commit 775ca4c

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/TsType.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,10 @@ public static TsType transformTsType(Context context, TsType tsType, Transformer
421421
final TsType.OptionalType optionalType = (TsType.OptionalType) type;
422422
return new TsType.OptionalType(transformTsType(context, optionalType.type, transformer));
423423
}
424+
if (type instanceof TsType.NullableType) {
425+
final TsType.NullableType nullableType = (TsType.NullableType) type;
426+
return new TsType.NullableType(transformTsType(context, nullableType.type, transformer));
427+
}
424428
if (type instanceof TsType.BasicArrayType) {
425429
final TsType.BasicArrayType basicArrayType = (TsType.BasicArrayType) type;
426430
return new TsType.BasicArrayType(transformTsType(context, basicArrayType.elementType, transformer));

typescript-generator-core/src/test/java/cz/habarta/typescript/generator/NullabilityTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
package cz.habarta.typescript.generator;
33

4+
import java.util.Date;
45
import java.util.List;
56
import org.checkerframework.checker.nullness.qual.Nullable;
67
import org.junit.Assert;
@@ -127,4 +128,18 @@ public void testNullableAnnotationTarget() {
127128
new TypeScriptGenerator(settings).generateTypeScript(Input.from(A.class));
128129
}
129130

131+
@Test
132+
public void testDate() {
133+
final Settings settings = TestUtils.settings();
134+
settings.nullableAnnotations.add(Nullable.class);
135+
settings.nullabilityDefinition = NullabilityDefinition.nullAndUndefinedUnion;
136+
settings.mapDate = DateMapping.asString;
137+
final String output = new TypeScriptGenerator(settings).generateTypeScript(Input.from(ClassWithDate.class));
138+
Assert.assertTrue(output.contains("date?: Nullable<DateAsString>"));
139+
}
140+
141+
private static class ClassWithDate {
142+
public @Nullable Date date;
143+
}
144+
130145
}

0 commit comments

Comments
 (0)