docspell/modules/webapp/src/main/elm/Util/Result.elm

31 lines
584 B
Elm
Raw Normal View History

2021-07-04 08:24:49 +00:00
{-
2021-09-21 20:32:47 +00:00
Copyright 2020 Eike K. & Contributors
2021-07-04 08:24:49 +00:00
2021-09-21 20:32:47 +00:00
SPDX-License-Identifier: AGPL-3.0-or-later
2021-07-04 08:24:49 +00:00
-}
2021-07-25 12:00:11 +00:00
2022-01-26 20:23:48 +00:00
module Util.Result exposing (combine, fold)
import Api.Model.BasicResult exposing (BasicResult)
import Set
2021-04-17 09:14:29 +00:00
fold : (a -> x) -> (b -> x) -> Result b a -> x
fold fa fb rba =
case rba of
Ok a ->
fa a
Err b ->
fb b
2022-01-26 20:23:48 +00:00
combine : BasicResult -> BasicResult -> BasicResult
combine r1 r2 =
BasicResult (r1.success && r2.success)
(Set.fromList [ r1.message, r2.message ]
|> Set.toList
|> String.join ", "
)