morpheus-graphql-0.2.2: src/Data/Morpheus/Validation/Query/Input/Enum.hs
{-# LANGUAGE TypeOperators #-}
module Data.Morpheus.Validation.Query.Input.Enum
( validateEnum
) where
import Data.List (elem)
import Data.Morpheus.Types.Internal.Value (Value (..))
import Data.Text (Text)
validateEnum :: error -> [Text] -> Value -> Either error Value
validateEnum error' tags' (Enum enumValue) =
if enumValue `elem` tags'
then pure (Enum enumValue)
else Left error'
validateEnum error' _ _ = Left error'