hnix-store-core-0.8.0.0: src/System/Nix/OutputName.hs
{-# LANGUAGE DeriveAnyClass #-}
{-|
Description : Derived path output names
-}
module System.Nix.OutputName
( OutputName(..)
, mkOutputName
-- * Re-exports
, System.Nix.StorePath.InvalidNameError(..)
, System.Nix.StorePath.parseNameText
) where
import Data.Hashable (Hashable)
import Data.Text (Text)
import GHC.Generics (Generic)
import System.Nix.StorePath (InvalidNameError)
import qualified System.Nix.StorePath
-- | Name of the derived path output
-- Typically used for "dev", "doc" sub-outputs
newtype OutputName = OutputName
{ -- | Extract the contents of the name.
unOutputName :: Text
} deriving (Eq, Generic, Hashable, Ord, Show)
mkOutputName :: Text -> Either InvalidNameError OutputName
mkOutputName = fmap OutputName . System.Nix.StorePath.parseNameText