
haskell-servant.model.mustache Maven / Gradle / Ivy
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{{#models}}
{{#model}}
module {{package}}.{{classname}}
( {{classname}} (..)
) where
{{/model}}
{{/models}}
import Data.Aeson
import GHC.Generics
import Test.QuickCheck
{{#imports}}import {{import}}
{{/imports}}
{{#models}}
{{#model}}
data {{classname}} = {{classname}}
{ {{#vars}}{{& name}} :: {{datatype}}{{#hasMore}}
, {{/hasMore}}{{/vars}}
} deriving (Show, Eq, Generic)
instance FromJSON {{classname}}
instance ToJSON {{classname}}
instance Arbitrary {{classname}} where
arbitrary = {{classname}} <$> {{#vars}}arbitrary{{#hasMore}} <*> {{/hasMore}}{{/vars}}
{{/model}}
{{/models}}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy