elm-street-0.1.0.0: Crossing the road between Haskell and Elm

Safe HaskellNone
LanguageHaskell2010

Elm.Generate

Contents

Synopsis

Documentation

data Settings Source #

Settings for outputting generated Elm code.

Constructors

Settings 

Fields

defaultSettings :: FilePath -> [FilePath] -> Settings Source #

Default settings for generating Elm definitions. You only need to pass name of the directory and module path prefix. Other settings parameters set to:

  1. settingsTypesFile: Types
  2. settingsEncoderFile: Encoder
  3. settingsDecoderFile: Decoder

generateElm :: forall (ts :: [Type]). RenderElm ts => Settings -> IO () Source #

Generate elm definitions for the list of types. This function is supposed to be called like this:

type Types =
   '[ User
    , UserStatus
    , Measure
    ]

main :: IO ()
main = generateElm @Types $ defaultSettings "frontend/src/" [ABC, Core]

Internal helpers

class RenderElm (types :: [Type]) where Source #

Typeclass for generating elm definitions for the list of types.

Instances
RenderElm ([] :: [Type]) Source # 
Instance details

Defined in Elm.Generate

(Elm t, RenderElm ts) => RenderElm (t ': ts) Source # 
Instance details

Defined in Elm.Generate