diff --git a/src/Unused/Projection.hs b/src/Unused/Projection.hs index 272f9ef..910f0f5 100644 --- a/src/Unused/Projection.hs +++ b/src/Unused/Projection.hs @@ -2,6 +2,7 @@ module Unused.Projection where +import qualified Data.Bifunctor as BF import Data.Monoid ((<>)) import Data.Text (Text) import qualified Data.Text as T @@ -15,7 +16,7 @@ data ParsedTransform = ParsedTransform , ptPost :: Text } -translate :: Text -> Either ParseError (Text -> Text) +translate :: Text -> Either String (Text -> Text) translate template = applyTransform <$> parseTransform template applyTransform :: ParsedTransform -> Text -> Text @@ -24,8 +25,8 @@ applyTransform pt t = <> runTransformations t (ptTransforms pt) <> ptPost pt -parseTransform :: Text -> Either ParseError ParsedTransform -parseTransform = parse parsedTransformParser "" +parseTransform :: Text -> Either String ParsedTransform +parseTransform = BF.first show . parse parsedTransformParser "" parsedTransformParser :: Parser ParsedTransform parsedTransformParser = diff --git a/src/Unused/ResultsClassifier/Types.hs b/src/Unused/ResultsClassifier/Types.hs index 38a73c6..16866a0 100644 --- a/src/Unused/ResultsClassifier/Types.hs +++ b/src/Unused/ResultsClassifier/Types.hs @@ -66,7 +66,7 @@ instance FromJSON TermAlias where parseJSON (Y.Object o) = TermAlias <$> o .: "from" <*> o .: "to" - <*> (either (fail . show) return =<< (translate . T.pack <$> (o .: "to"))) + <*> (either fail return =<< (translate . T.pack <$> (o .: "to"))) parseJSON _ = M.mzero data MatchHandler a = MatchHandler