ip-0.8.1: src/Net/Mac/Text.hs
module Net.Mac.Text
( encode
, decode
, decodeEither
, builder
, parser
) where
import Net.Types (Mac(..))
import Net.Mac (fromOctetsNoCast)
import Data.Text (Text)
import qualified Net.Internal as Internal
import qualified Data.Attoparsec.Text as AT
import qualified Data.Text.Lazy.Builder as TBuilder
encode :: Mac -> Text
encode (Mac a b) = Internal.macToText a b
decodeEither :: Text -> Either String Mac
decodeEither = Internal.macFromText' fromOctetsNoCast
decode :: Text -> Maybe Mac
decode = Internal.rightToMaybe . decodeEither
builder :: Mac -> TBuilder.Builder
builder (Mac a b) = Internal.macToTextBuilder a b
parser :: AT.Parser Mac
parser = Internal.macTextParser fromOctetsNoCast