@hackage composite-cassava0.0.3.1

Csv parsing functionality for composite.

composite-cassava

Provides FromNamedRecord and ToNamedRecord instances for composite records.

In order to use this, use DerivingVia with one of the newtypes, depending on your use case. The recommended way is like so:

withLensesAndProxies
  [d|
    type A = "A" :-> Text

    type B = "B" :-> Double

    type C = "C" :-> Text

    type D = "D" :-> Int
    |]

type RecMaybe = Rec Maybe '[A, B, C, D]

deriving newtype instance FromField A

deriving newtype instance FromField B

deriving newtype instance FromField C

deriving newtype instance FromField D

deriving newtype instance ToField A

deriving newtype instance ToField B

deriving newtype instance ToField C

deriving newtype instance ToField D

deriving via (TF Maybe '[A, B, C, D]) instance FromNamedRecord RecMaybe

deriving via (TF Maybe '[A, B, C, D]) instance ToNamedRecord RecMaybe