avoid adding parsers for fields that already have a parser
This commit is contained in:
parent
8b9b90c74a
commit
2a4731216d
1 changed files with 8 additions and 1 deletions
|
@ -10,6 +10,7 @@
|
|||
module Types.RemoteConfig where
|
||||
|
||||
import qualified Data.Map as M
|
||||
import qualified Data.Set as S
|
||||
import Data.Typeable
|
||||
|
||||
import Types.ProposedAccepted
|
||||
|
@ -48,4 +49,10 @@ mkRemoteConfigParser :: Monad m => [RemoteConfigFieldParser] -> RemoteConfig ->
|
|||
mkRemoteConfigParser l _ = pure (RemoteConfigParser l (const False))
|
||||
|
||||
addRemoteConfigParser :: [RemoteConfigFieldParser] -> RemoteConfigParser -> RemoteConfigParser
|
||||
addRemoteConfigParser l rpc = rpc { remoteConfigFieldParsers = remoteConfigFieldParsers rpc ++ l }
|
||||
addRemoteConfigParser l rpc = rpc
|
||||
{ remoteConfigFieldParsers =
|
||||
remoteConfigFieldParsers rpc ++ filter isnew l
|
||||
}
|
||||
where
|
||||
s = S.fromList (map (\(f, _) -> f) (remoteConfigFieldParsers rpc))
|
||||
isnew (f, _) = not (S.member f s)
|
||||
|
|
Loading…
Add table
Reference in a new issue