module Horizon.Spec.Types.LocalSource (LocalSource(MkLocalSource), fromLocalSource) where

import           Data.Kind                 (Type)
import           Dhall                     (FromDhall, ToDhall)
import           Horizon.Spec.Types.Subdir (Subdir)


type LocalSource :: Type
newtype LocalSource where
  MkLocalSource :: { LocalSource -> Subdir
fromLocalSource :: Subdir } -> LocalSource
  deriving stock (LocalSource -> LocalSource -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LocalSource -> LocalSource -> Bool
$c/= :: LocalSource -> LocalSource -> Bool
== :: LocalSource -> LocalSource -> Bool
$c== :: LocalSource -> LocalSource -> Bool
Eq, Int -> LocalSource -> ShowS
[LocalSource] -> ShowS
LocalSource -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LocalSource] -> ShowS
$cshowList :: [LocalSource] -> ShowS
show :: LocalSource -> String
$cshow :: LocalSource -> String
showsPrec :: Int -> LocalSource -> ShowS
$cshowsPrec :: Int -> LocalSource -> ShowS
Show)
  deriving newtype (InputNormalizer -> Decoder LocalSource
forall a. (InputNormalizer -> Decoder a) -> FromDhall a
autoWith :: InputNormalizer -> Decoder LocalSource
$cautoWith :: InputNormalizer -> Decoder LocalSource
FromDhall, InputNormalizer -> Encoder LocalSource
forall a. (InputNormalizer -> Encoder a) -> ToDhall a
injectWith :: InputNormalizer -> Encoder LocalSource
$cinjectWith :: InputNormalizer -> Encoder LocalSource
ToDhall)