composite-swagger-0.7.4.0: Swagger for Vinyl records

Safe HaskellNone
LanguageHaskell2010

Composite.Swagger.TH

Synopsis

Documentation

makeToSchema :: String -> Name -> Q [Dec] Source #

TH splice which makes it more convenient to define ToSchema instance for Record types.

For example:

  type MyRecord = '[FFoo, FBar]
  newtype MyRecordWrapper = MyRecordWrapper { unMyRecordWrapper :: Record MyRecord }
  makeToSchema MyRecordWrapper ''MyRecordWrapper

is equivalent to:

  instance ToSchema MyRecordWrapper where
    declareNamedSchema = wrappedSchema (Proxy :: Proxy MyRecordWrapper) MyRecordWrapper

makeToSchemaWrapper :: String -> Name -> Q [Dec] Source #

TH splice which makes it more convenient to define ToSchema instance for Record types.

For example:

  type MyRecord = '[FFoo, FBar]
  makeToSchemaWrapper MyRecordWrapper ''MyRecord

is equivalent to:

  newtype MyRecordWrapper = MyRecordWrapper { unMyRecordWrapper :: Record MyRecord }
  instance ToSchema MyRecordWrapper where
    declareNamedSchema = wrappedSchema (Proxy :: Proxy MyRecordWrapper) MyRecordWrapper