{-# LANGUAGE OverloadedStrings #-}
module ELynx.Export.Nexus
( toNexus,
)
where
import qualified Data.ByteString.Lazy.Char8 as BL
toNexus :: BL.ByteString -> [BL.ByteString] -> BL.ByteString
toNexus :: ByteString -> [ByteString] -> ByteString
toNexus ByteString
n [ByteString]
b = [ByteString] -> ByteString
BL.unlines ([ByteString] -> ByteString) -> [ByteString] -> ByteString
forall a b. (a -> b) -> a -> b
$ [ByteString
start, ByteString -> ByteString
begin ByteString
n] [ByteString] -> [ByteString] -> [ByteString]
forall a. Semigroup a => a -> a -> a
<> [ByteString]
b [ByteString] -> [ByteString] -> [ByteString]
forall a. Semigroup a => a -> a -> a
<> [ByteString
end]
start :: BL.ByteString
start :: ByteString
start = ByteString
"#NEXUS"
begin :: BL.ByteString -> BL.ByteString
begin :: ByteString -> ByteString
begin ByteString
n = ByteString
"BEGIN " ByteString -> ByteString -> ByteString
forall a. Semigroup a => a -> a -> a
<> ByteString
n ByteString -> ByteString -> ByteString
forall a. Semigroup a => a -> a -> a
<> ByteString
";"
end :: BL.ByteString
end :: ByteString
end = ByteString
"END;"