{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} module IO.HTTP.GitHub.Card ( Card , cardToTask ) where import ClassyPrelude import Control.Lens (makeLenses, (^.)) import Data.Text (replace) import qualified Data.Taskell.Task as T (Task, new) import IO.HTTP.Aeson (deriveFromJSON) data Card = Card { _note :: Text } deriving (Eq, Show) -- strip underscores from field labels $(deriveFromJSON ''Card) -- create lenses $(makeLenses ''Card) -- operations cardToTask :: Card -> T.Task cardToTask card = T.new $ replace "\r" "" $ replace "\n" " " (card ^. note)