Skip to content

Commit 7993ede

Browse files
author
Mark Perry
committed
Added conversion from lambdas with exceptions to Java 8 base function types
1 parent 8c88a73 commit 7993ede

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

java8/src/main/java/fj/data/Java8.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package fj.data;
22

3-
import fj.F;
4-
import fj.F2;
5-
import fj.P1;
3+
import fj.*;
64

75
import java.util.function.BiFunction;
86
import java.util.function.Function;
@@ -29,7 +27,7 @@ public static <A, B> F<A, B> toF(Function<A, B> f) {
2927
return a -> f.apply(a);
3028
}
3129

32-
public static <A, B> F<A, B> toFunction(F<A, B> f) {
30+
public static <A, B> Function<A, B> toFunction(F<A, B> f) {
3331
return a -> f.f(a);
3432
}
3533

@@ -41,4 +39,16 @@ public static <A, B, C> BiFunction<A, B, C> toBiFunction(F2<A, B, C> f) {
4139
return (a, b) -> f.f(a, b);
4240
}
4341

42+
static public <A> Supplier<Validation<Exception, A>> toSupplier(final TryCatch0<A> t) {
43+
return toSupplier(P1Functions.toP1(t));
44+
}
45+
46+
static public <A, B> Function<A, Validation<Exception, B>> toFunction(final TryCatch1<A, B> t) {
47+
return toFunction(F1Functions.toF1(t));
48+
}
49+
50+
static public <A, B, C> BiFunction<A, B, Validation<Exception, C>> toBiFunction(final TryCatch2<A, B, C> t) {
51+
return toBiFunction(F2Functions.toF2(t));
52+
}
53+
4454
}

0 commit comments

Comments
 (0)