You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there,
coming from languages with sum types, is such a punishment to use java. We actually wrote handmade ADTs like your library is generating. I really like how less you have to type and what is generated for you. ❤️
This library already generates the
isX(): Boolean and asX(): X
we added in our hand wrote code a asSafeX(): Optional<X> method. This is more typesafe and could actually replace both methods
isX() is asSafeX().isPresent() and asX() is asSafeX().get()
but you could also do typesafe stuff like asSafeX().map(x=>2*x).orElse(42)
Glad to hear you find it useful! We're not using dataenum a lot internally, since it was mainly written for a usecase in Android development, and we've moved to Kotlin which has better support for ADTs than Java. So we're not going to prioritise adding features ourselves - but if you are up for it, feel free to create a PR adding asSafeX(), I can help getting it merged and released.
Activity
pettermahlen commentedon Nov 24, 2023
Hi,
Glad to hear you find it useful! We're not using dataenum a lot internally, since it was mainly written for a usecase in Android development, and we've moved to Kotlin which has better support for ADTs than Java. So we're not going to prioritise adding features ourselves - but if you are up for it, feel free to create a PR adding
asSafeX(), I can help getting it merged and released.