{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE NoFieldSelectors  #-}

{-|
Module      : Stack.Types.InterfaceOpt
Description : Type representing Haddock interface options.
License     : BSD-3-Clause

Type representing Haddock interface options.
-}

module Stack.Types.InterfaceOpt
  ( InterfaceOpt (..)
  ) where

import           Data.Time ( UTCTime )
import           Stack.Prelude

-- | Type representing Haddock interface options.

data InterfaceOpt = InterfaceOpt
  { InterfaceOpt -> [String]
readInterfaceArgs :: ![String]
  , InterfaceOpt -> UTCTime
srcInterfaceFileModTime :: !UTCTime
  , InterfaceOpt -> Path Abs File
srcInterfaceFile :: !(Path Abs File)
  , InterfaceOpt -> Path Abs File
destInterfaceFile :: !(Path Abs File)
  }
  deriving (InterfaceOpt -> InterfaceOpt -> Bool
(InterfaceOpt -> InterfaceOpt -> Bool)
-> (InterfaceOpt -> InterfaceOpt -> Bool) -> Eq InterfaceOpt
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InterfaceOpt -> InterfaceOpt -> Bool
== :: InterfaceOpt -> InterfaceOpt -> Bool
$c/= :: InterfaceOpt -> InterfaceOpt -> Bool
/= :: InterfaceOpt -> InterfaceOpt -> Bool
Eq, Eq InterfaceOpt
Eq InterfaceOpt =>
(InterfaceOpt -> InterfaceOpt -> Ordering)
-> (InterfaceOpt -> InterfaceOpt -> Bool)
-> (InterfaceOpt -> InterfaceOpt -> Bool)
-> (InterfaceOpt -> InterfaceOpt -> Bool)
-> (InterfaceOpt -> InterfaceOpt -> Bool)
-> (InterfaceOpt -> InterfaceOpt -> InterfaceOpt)
-> (InterfaceOpt -> InterfaceOpt -> InterfaceOpt)
-> Ord InterfaceOpt
InterfaceOpt -> InterfaceOpt -> Bool
InterfaceOpt -> InterfaceOpt -> Ordering
InterfaceOpt -> InterfaceOpt -> InterfaceOpt
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: InterfaceOpt -> InterfaceOpt -> Ordering
compare :: InterfaceOpt -> InterfaceOpt -> Ordering
$c< :: InterfaceOpt -> InterfaceOpt -> Bool
< :: InterfaceOpt -> InterfaceOpt -> Bool
$c<= :: InterfaceOpt -> InterfaceOpt -> Bool
<= :: InterfaceOpt -> InterfaceOpt -> Bool
$c> :: InterfaceOpt -> InterfaceOpt -> Bool
> :: InterfaceOpt -> InterfaceOpt -> Bool
$c>= :: InterfaceOpt -> InterfaceOpt -> Bool
>= :: InterfaceOpt -> InterfaceOpt -> Bool
$cmax :: InterfaceOpt -> InterfaceOpt -> InterfaceOpt
max :: InterfaceOpt -> InterfaceOpt -> InterfaceOpt
$cmin :: InterfaceOpt -> InterfaceOpt -> InterfaceOpt
min :: InterfaceOpt -> InterfaceOpt -> InterfaceOpt
Ord)