Skip to content

Commit b979d17

Browse files
OptionalInt, OptionalLong, OptionalDouble (refs #107)
1 parent 6f07548 commit b979d17

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public Result processType(Type javaType, Context context) {
2626
if (Map.class.isAssignableFrom(javaClass)) {
2727
return new Result(new TsType.IndexedArrayType(TsType.String, TsType.Any));
2828
}
29+
if (javaClass.getName().equals("java.util.OptionalInt") ||
30+
javaClass.getName().equals("java.util.OptionalLong") ||
31+
javaClass.getName().equals("java.util.OptionalDouble")) {
32+
return new Result(TsType.Number);
33+
}
2934
// generic structural type used without type arguments
3035
if (javaClass.getTypeParameters().length > 0) {
3136
final List<TsType> tsTypeArguments = new ArrayList<>();

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
import cz.habarta.typescript.generator.compiler.SymbolTable;
44
import java.math.BigDecimal;
5-
import java.util.List;
6-
import java.util.UUID;
5+
import java.util.*;
76
import static org.junit.Assert.assertEquals;
87
import org.junit.Test;
98

@@ -18,6 +17,11 @@ public void testTypeConversion() {
1817
assertEquals(TsType.Void, converter.processType(void.class, context).getTsType());
1918
assertEquals(TsType.Number, converter.processType(BigDecimal.class, context).getTsType());
2019
assertEquals(TsType.String, converter.processType(UUID.class, context).getTsType());
20+
21+
// uncomment on Java 8
22+
// assertEquals(TsType.Number, converter.processType(OptionalInt.class, context).getTsType());
23+
// assertEquals(TsType.Number, converter.processType(OptionalLong.class, context).getTsType());
24+
// assertEquals(TsType.Number, converter.processType(OptionalDouble.class, context).getTsType());
2125
}
2226

2327
@Test

0 commit comments

Comments
 (0)