Handle all cases in button accumulation

This commit is contained in:
Gregor Kleen 2017-11-15 13:38:06 +01:00
parent 725e00cf68
commit 8bffe66a6d

View File

@ -64,9 +64,12 @@ buttonForm html = do
accResult = Foldable.foldr accResult' FormMissing
accResult' :: FormResult (Maybe a) -> FormResult a -> FormResult a
accResult' (FormSuccess _) (FormSuccess _) = FormFailure ["Ambiguous parse"]
accResult' (FormSuccess (Just _)) (FormSuccess _) = FormFailure ["Ambiguous parse"]
accResult' (FormSuccess (Just x)) _ = FormSuccess x
accResult' _ x = x
accResult' _ x@(FormSuccess _) = x
accResult' (FormSuccess Nothing) x = x
accResult' FormMissing _ = FormMissing
accResult' (FormFailure errs) _ = FormFailure errs
----------------------------
-- Buttons (old version ) --