{-# OPTIONS_GHC -fno-warn-orphans #-} module Data.GenValidity.DNonEmpty () where import Data.DList.DNonEmpty (DNonEmpty) import qualified Data.DList.DNonEmpty as DNonEmpty import Data.GenValidity (GenValid (..)) import Data.Validity.DNonEmpty () instance (GenValid a) => GenValid (DNonEmpty a) where genValid :: Gen (DNonEmpty a) genValid = NonEmpty a -> DNonEmpty a forall a. NonEmpty a -> DNonEmpty a DNonEmpty.fromNonEmpty (NonEmpty a -> DNonEmpty a) -> Gen (NonEmpty a) -> Gen (DNonEmpty a) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen (NonEmpty a) forall a. GenValid a => Gen a genValid shrinkValid :: DNonEmpty a -> [DNonEmpty a] shrinkValid = (NonEmpty a -> DNonEmpty a) -> [NonEmpty a] -> [DNonEmpty a] forall a b. (a -> b) -> [a] -> [b] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap NonEmpty a -> DNonEmpty a forall a. NonEmpty a -> DNonEmpty a DNonEmpty.fromNonEmpty ([NonEmpty a] -> [DNonEmpty a]) -> (DNonEmpty a -> [NonEmpty a]) -> DNonEmpty a -> [DNonEmpty a] forall b c a. (b -> c) -> (a -> b) -> a -> c . NonEmpty a -> [NonEmpty a] forall a. GenValid a => a -> [a] shrinkValid (NonEmpty a -> [NonEmpty a]) -> (DNonEmpty a -> NonEmpty a) -> DNonEmpty a -> [NonEmpty a] forall b c a. (b -> c) -> (a -> b) -> a -> c . DNonEmpty a -> NonEmpty a forall a. DNonEmpty a -> NonEmpty a DNonEmpty.toNonEmpty