Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 866 Bytes

README.md

File metadata and controls

32 lines (24 loc) · 866 Bytes

A destructurable Result type for Java 21+!

This library is a simple Result sealed interface allowing you to eliminate null in all kinds of places in a way that Rustaceans have enjoyed for a long time~

Meaning you can do things like this!

if(somethingThatReturnsAResult() instanceof Some(File found)){
    file.delete();
}

or this!

return switch(somethingThatReturnsAResult()){
    case Some(String message) -> message;
    case None() -> "Uh oh, nothing??";
};

or even this!

return switch(somethingThatReturnsAResult()){
    case Some(val num) when num == 1 -> num + " thing";
    case Some(val num) -> num + " things!";
    case None() -> "Uh oh, nothing??";
};

All you need to do is wrap your return value with a Result.of(). It even works with wrapped Optional values!