dns-patterns-0.2.0: lib/Network/DNS/Pattern/Internal.hs
-- |
-- Module : Network.DNS.Pattern.Internal
-- Description : Internal pattern types and definitions
--
-- This module is not part of public API and may change even between patch versions.
module Network.DNS.Pattern.Internal
( DomainLabel(..)
, Domain(..)
, LabelPattern(..)
, DomainPattern(..)
)
where
import Network.DNS.Internal
-- | A domain pattern.
newtype DomainPattern = DomainPattern
{ getDomainPattern :: [LabelPattern]
} deriving (Eq, Ord)
-- | A pattern for a singular label.
data LabelPattern
= DomLiteral DomainLabel -- ^ Represents an exact label that must be matched.
| DomGlob -- ^ Represents a single asterisk glob matching any arbitrary domain at a given level.
| DomGlobStar -- ^ Represents a double asterisk matching any arbitrary subdomain at a given level.
deriving (Eq, Ord)