aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-08-29 11:37:27 +0100
committerMichael Williamson <mike@zwobble.org>2016-08-29 11:37:27 +0100
commit955a29e828d40123ec64a479b1c4c5164db3c681 (patch)
treea83a65b91bd02c753789f5b57fd68bfbc446c5aa /src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
parent28c8b89afea499191b13849140354b21819937f4 (diff)
Wire up comment conversion code
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
index b2e892b..d18f278 100644
--- a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
@@ -23,6 +23,17 @@ public class InternalResult<T> {
lazyFlatMap(results, result -> result.warnings));
}
+ public static <T1, T2, R> InternalResult<R> flatMap(
+ InternalResult<T1> first,
+ InternalResult<T2> second,
+ BiFunction<T1, T2, InternalResult<R>> function)
+ {
+ InternalResult<R> intermediateResult = function.apply(first.value, second.value);
+ return new InternalResult<>(
+ intermediateResult.value,
+ lazyConcat(lazyConcat(first.warnings, second.warnings), intermediateResult.warnings));
+ }
+
public static <T1, T2, R> InternalResult<R> map(
InternalResult<T1> first,
InternalResult<T2> second,