package scotch.compiler.syntax.builder;
import java.util.Optional;
import java.util.OptionalInt;
public final class BuilderUtil {
public static <T> T require(Optional<T> optional, String name) {
return optional.orElseThrow(() -> required(name));
}
public static int require(OptionalInt optional, String name) {
return optional.orElseThrow(() -> required(name));
}
private static IllegalArgumentException required(String name) {
if (name.endsWith("s")) {
return new IllegalArgumentException(name + " are required");
} else {
return new IllegalArgumentException(name + " is required");
}
}
private BuilderUtil() {
// intentionally empty
}
}