module Test.Hspec.Api.Format.V2.Config where

import           Control.Exception (SomeException)
import qualified Test.Hspec.Core.Format as Latest

data FormatConfig = FormatConfig {
  FormatConfig -> Bool
formatConfigUseColor :: Bool
, FormatConfig -> Bool
formatConfigReportProgress :: Bool
, FormatConfig -> Bool
formatConfigOutputUnicode :: Bool
, FormatConfig -> Bool
formatConfigUseDiff :: Bool
, FormatConfig -> Maybe Int
formatConfigDiffContext :: Maybe Int
, FormatConfig -> Maybe (String -> String -> IO ())
formatConfigExternalDiff :: Maybe (String -> String -> IO ())
, FormatConfig -> Maybe (String -> String -> (String, String))
formatConfigPrettyPrintFunction :: Maybe (String -> String -> (String, String))
, FormatConfig -> SomeException -> String
formatConfigFormatException :: SomeException -> String -- ^ @since 2.11.5
, FormatConfig -> Bool
formatConfigPrintTimes :: Bool
, FormatConfig -> Bool
formatConfigHtmlOutput :: Bool
, FormatConfig -> Bool
formatConfigPrintCpuTime :: Bool
, FormatConfig -> Integer
formatConfigUsedSeed :: Integer
, FormatConfig -> Int
formatConfigExpectedTotalCount :: Int
}

-- ^ @since 2.11.5
defaultFormatConfig :: FormatConfig
defaultFormatConfig :: FormatConfig
defaultFormatConfig = FormatConfig -> FormatConfig
unliftFormatConfig FormatConfig
Latest.defaultFormatConfig

unliftFormatConfig :: Latest.FormatConfig -> FormatConfig
unliftFormatConfig :: FormatConfig -> FormatConfig
unliftFormatConfig FormatConfig
config = FormatConfig {
  formatConfigUseColor :: Bool
formatConfigUseColor = FormatConfig -> Bool
Latest.formatConfigUseColor FormatConfig
config
, formatConfigReportProgress :: Bool
formatConfigReportProgress = FormatConfig -> Bool
Latest.formatConfigReportProgress FormatConfig
config
, formatConfigOutputUnicode :: Bool
formatConfigOutputUnicode = FormatConfig -> Bool
Latest.formatConfigOutputUnicode FormatConfig
config
, formatConfigUseDiff :: Bool
formatConfigUseDiff = FormatConfig -> Bool
Latest.formatConfigUseDiff FormatConfig
config
, formatConfigDiffContext :: Maybe Int
formatConfigDiffContext = FormatConfig -> Maybe Int
Latest.formatConfigDiffContext FormatConfig
config
, formatConfigExternalDiff :: Maybe (String -> String -> IO ())
formatConfigExternalDiff = FormatConfig -> Maybe (String -> String -> IO ())
Latest.formatConfigExternalDiff FormatConfig
config
, formatConfigPrettyPrintFunction :: Maybe (String -> String -> (String, String))
formatConfigPrettyPrintFunction = FormatConfig -> Maybe (String -> String -> (String, String))
Latest.formatConfigPrettyPrintFunction FormatConfig
config
, formatConfigFormatException :: SomeException -> String
formatConfigFormatException = FormatConfig -> SomeException -> String
Latest.formatConfigFormatException FormatConfig
config
, formatConfigPrintTimes :: Bool
formatConfigPrintTimes = FormatConfig -> Bool
Latest.formatConfigPrintTimes FormatConfig
config
, formatConfigHtmlOutput :: Bool
formatConfigHtmlOutput = FormatConfig -> Bool
Latest.formatConfigHtmlOutput FormatConfig
config
, formatConfigPrintCpuTime :: Bool
formatConfigPrintCpuTime = FormatConfig -> Bool
Latest.formatConfigPrintCpuTime FormatConfig
config
, formatConfigUsedSeed :: Integer
formatConfigUsedSeed = FormatConfig -> Integer
Latest.formatConfigUsedSeed FormatConfig
config
, formatConfigExpectedTotalCount :: Int
formatConfigExpectedTotalCount = FormatConfig -> Int
Latest.formatConfigExpectedTotalCount FormatConfig
config
}