module Export (exportHTML, exportCSV, exportHTMLTable, exportMD, unify, summary) where

import Ast
import Invalid
import Export.Html
import Export.CSV
import Export.HtmlTable
import Export.MD
import Export.Generic ( unify, summary, toHTML, transp )

import Text.PrettyPrint

exportHTML :: [Judgement] -> String
exportHTML = render . htmlRemarks

exportCSV :: String -> [String] -> [Judgement] -> Either Invalid String
exportCSV delim ps js = (pure . render) =<< csvRemarks delim ps js

exportHTMLTable :: [Judgement] -> String
exportHTMLTable js = toHTML $ transp $ htmlTableRemarks js

exportMD :: [Judgement] -> String
exportMD js = mdRemarks js