{-# OPTIONS_GHC -fno-warn-deprecations #-} module Test.Hspec.Core.Extension.Config.Type ( Option(..) , Config(..) , setAnnotation , getAnnotation , addSpecTransformation , applySpecTransformation ) where import Prelude () import Test.Hspec.Core.Compat import qualified GetOpt.Declarative as Declarative import Test.Hspec.Core.Config.Definition (Config(..)) import qualified Test.Hspec.Core.Config.Definition as Core import Test.Hspec.Core.Extension.Tree (SpecTree) newtype Option = Option { Option -> Option Config unOption :: Declarative.Option Config } setAnnotation :: Typeable value => value -> Config -> Config setAnnotation :: forall value. Typeable value => value -> Config -> Config setAnnotation = value -> Config -> Config forall value. Typeable value => value -> Config -> Config Core.setConfigAnnotation getAnnotation :: Typeable value => Config -> Maybe value getAnnotation :: forall value. Typeable value => Config -> Maybe value getAnnotation = Config -> Maybe value forall value. Typeable value => Config -> Maybe value Core.getConfigAnnotation newtype SpecTransformation = SpecTransformation { SpecTransformation -> Config -> [SpecTree] -> [SpecTree] unSpecTransformation :: Config -> [SpecTree] -> [SpecTree] } setSpecTransformation :: (Config -> [SpecTree] -> [SpecTree]) -> Config -> Config setSpecTransformation :: (Config -> [SpecTree] -> [SpecTree]) -> Config -> Config setSpecTransformation = SpecTransformation -> Config -> Config forall value. Typeable value => value -> Config -> Config setAnnotation (SpecTransformation -> Config -> Config) -> ((Config -> [SpecTree] -> [SpecTree]) -> SpecTransformation) -> (Config -> [SpecTree] -> [SpecTree]) -> Config -> Config forall b c a. (b -> c) -> (a -> b) -> a -> c . (Config -> [SpecTree] -> [SpecTree]) -> SpecTransformation SpecTransformation getSpecTransformation :: Config -> Config -> [SpecTree] -> [SpecTree] getSpecTransformation :: Config -> Config -> [SpecTree] -> [SpecTree] getSpecTransformation = (Config -> [SpecTree] -> [SpecTree]) -> (SpecTransformation -> Config -> [SpecTree] -> [SpecTree]) -> Maybe SpecTransformation -> Config -> [SpecTree] -> [SpecTree] forall b a. b -> (a -> b) -> Maybe a -> b maybe (\ Config _ -> [SpecTree] -> [SpecTree] forall a. a -> a id) SpecTransformation -> Config -> [SpecTree] -> [SpecTree] unSpecTransformation (Maybe SpecTransformation -> Config -> [SpecTree] -> [SpecTree]) -> (Config -> Maybe SpecTransformation) -> Config -> Config -> [SpecTree] -> [SpecTree] forall b c a. (b -> c) -> (a -> b) -> a -> c . Config -> Maybe SpecTransformation forall value. Typeable value => Config -> Maybe value getAnnotation addSpecTransformation :: (Config -> [SpecTree] -> [SpecTree]) -> Config -> Config addSpecTransformation :: (Config -> [SpecTree] -> [SpecTree]) -> Config -> Config addSpecTransformation Config -> [SpecTree] -> [SpecTree] f Config config = (Config -> [SpecTree] -> [SpecTree]) -> Config -> Config setSpecTransformation (\ Config c -> Config -> [SpecTree] -> [SpecTree] f Config c ([SpecTree] -> [SpecTree]) -> ([SpecTree] -> [SpecTree]) -> [SpecTree] -> [SpecTree] forall b c a. (b -> c) -> (a -> b) -> a -> c . Config -> Config -> [SpecTree] -> [SpecTree] getSpecTransformation Config config Config c) Config config applySpecTransformation :: Core.Config -> [SpecTree] -> [SpecTree] applySpecTransformation :: Config -> [SpecTree] -> [SpecTree] applySpecTransformation Config config = Config -> Config -> [SpecTree] -> [SpecTree] getSpecTransformation Config config Config config