packages feed

language-elm-0.1.0.0: test/Renderer.hs

module Renderer where

import           Control.Monad.Writer
import           Elm.Classes
import           Elm.Expression
import           Elm.GenError
import           Text.PrettyPrint

renderExpr :: Expr -> String
renderExpr expr =
    let
        (doc, err) = runWriter . generate $ expr
    in
        if err == WarningList [] then
            Text.PrettyPrint.render doc
        else
            error $ "Generation Error: " ++ show err


render :: (Generate a) => a -> String
render expr =
    let
        (doc, err) = runWriter . generate $ expr
    in
        if err == WarningList [] then
             Text.PrettyPrint.render doc
        else
            error $ "Generation Error: " ++ show err