records-edsl-deriving-quickcheck-0.1.0: Records/EDSL/Deriving/Arbitrary.hs
module Records.EDSL.Deriving.Arbitrary (deriveArbitrary) where
import Generic.Random.DerivingVia (GenericArbitraryU)
import Language.Haskell.TH qualified as TH
import Records.EDSL.Deriving.Type
import Records.EDSL.Description
import Test.QuickCheck (Arbitrary)
deriveArbitrary :: Deriver
deriveArbitrary = deriver #QuickCheck_GenericArbitrary \RecordDesc {typeName} -> do
[d|deriving via (GenericArbitraryU $(TH.conT typeName)) instance Arbitrary $(TH.conT typeName)|]