module Elm.Common where import Elm.Type isTopLevel :: ElmTypeExpr -> Bool isTopLevel (Primitive _) = True isTopLevel (DataType _ _) = True isTopLevel (Product (Primitive "List") (Primitive "Char")) = True isTopLevel _ = False -- Put parentheses around the string if the Elm type requires it (i.e. it's not a -- Primitive Elm type nor a named DataType). parenthesize :: ElmTypeExpr -> String -> String parenthesize t s = if isTopLevel t then s else "(" ++ s ++ ")" data Options = Options {fieldLabelModifier :: String -> String} defaultOptions :: Options defaultOptions = Options {fieldLabelModifier = id}