{-# OPTIONS_GHC -fno-warn-orphans #-}

module Data.GenValidity.Mergeful.Value where

import Data.GenValidity
import Data.GenValidity.Mergeful.Timed ()
import Data.Mergeful.Value

instance GenValid ChangedFlag where
  genValid :: Gen ChangedFlag
genValid = forall a. (Generic a, GGenValid (Rep a)) => Gen a
genValidStructurallyWithoutExtraChecking
  shrinkValid :: ChangedFlag -> [ChangedFlag]
shrinkValid = forall a.
(Generic a, GValidRecursivelyShrink (Rep a),
 GValidSubterms (Rep a) a) =>
a -> [a]
shrinkValidStructurallyWithoutExtraFiltering

instance GenValid a => GenValid (ValueMergeResult a) where
  genValid :: Gen (ValueMergeResult a)
genValid = forall a. (Generic a, GGenValid (Rep a)) => Gen a
genValidStructurallyWithoutExtraChecking
  shrinkValid :: ValueMergeResult a -> [ValueMergeResult a]
shrinkValid = forall a.
(Generic a, GValidRecursivelyShrink (Rep a),
 GValidSubterms (Rep a) a) =>
a -> [a]
shrinkValidStructurallyWithoutExtraFiltering

instance GenValid a => GenValid (ClientValue a) where
  genValid :: Gen (ClientValue a)
genValid = forall a. (Generic a, GGenValid (Rep a)) => Gen a
genValidStructurallyWithoutExtraChecking
  shrinkValid :: ClientValue a -> [ClientValue a]
shrinkValid = forall a.
(Generic a, GValidRecursivelyShrink (Rep a),
 GValidSubterms (Rep a) a) =>
a -> [a]
shrinkValidStructurallyWithoutExtraFiltering

instance GenValid a => GenValid (ServerValue a) where
  genValid :: Gen (ServerValue a)
genValid = forall a. (Generic a, GGenValid (Rep a)) => Gen a
genValidStructurallyWithoutExtraChecking
  shrinkValid :: ServerValue a -> [ServerValue a]
shrinkValid = forall a.
(Generic a, GValidRecursivelyShrink (Rep a),
 GValidSubterms (Rep a) a) =>
a -> [a]
shrinkValidStructurallyWithoutExtraFiltering

instance GenValid a => GenValid (ValueSyncRequest a) where
  genValid :: Gen (ValueSyncRequest a)
genValid = forall a. (Generic a, GGenValid (Rep a)) => Gen a
genValidStructurallyWithoutExtraChecking
  shrinkValid :: ValueSyncRequest a -> [ValueSyncRequest a]
shrinkValid = forall a.
(Generic a, GValidRecursivelyShrink (Rep a),
 GValidSubterms (Rep a) a) =>
a -> [a]
shrinkValidStructurallyWithoutExtraFiltering

instance GenValid a => GenValid (ValueSyncResponse a) where
  genValid :: Gen (ValueSyncResponse a)
genValid = forall a. (Generic a, GGenValid (Rep a)) => Gen a
genValidStructurallyWithoutExtraChecking
  shrinkValid :: ValueSyncResponse a -> [ValueSyncResponse a]
shrinkValid = forall a.
(Generic a, GValidRecursivelyShrink (Rep a),
 GValidSubterms (Rep a) a) =>
a -> [a]
shrinkValidStructurallyWithoutExtraFiltering