module Saturn.Unstable.Render where

import qualified Data.Text as Text
import qualified Data.Text.Lazy as LazyText
import qualified Data.Text.Lazy.Builder as Builder
import qualified Saturn.Unstable.Type.Schedule as Schedule

-- | Renders a 'Schedule.Schedule' into a lazy 'LazyText.Text' value. See
-- 'toText' for details.
toLazyText :: Schedule.Schedule -> LazyText.Text
toLazyText :: Schedule -> Text
toLazyText = Builder -> Text
Builder.toLazyText forall b c a. (b -> c) -> (a -> b) -> a -> c
. Schedule -> Builder
Schedule.toBuilder

-- | Renders a 'Schedule.Schedule' into a 'String' value. See 'toText' for
-- details.
toString :: Schedule.Schedule -> String
toString :: Schedule -> String
toString = Text -> String
LazyText.unpack forall b c a. (b -> c) -> (a -> b) -> a -> c
. Schedule -> Text
toLazyText

-- | Renders a 'Schedule.Schedule' into a strict 'Text.Text' value. The output
-- will have five fields, each separated by a single space.
toText :: Schedule.Schedule -> Text.Text
toText :: Schedule -> Text
toText = Text -> Text
LazyText.toStrict forall b c a. (b -> c) -> (a -> b) -> a -> c
. Schedule -> Text
toLazyText