module OpcXmlDaClient.XmlSchemaValues.Rendering ( dateTime, time, date, duration, ) where import qualified Data.Time.Format.ISO8601 as Iso8601 import OpcXmlDaClient.Base.Prelude import OpcXmlDaClient.XmlSchemaValues.Types import Text.Builder dateTime :: UTCTime -> Builder dateTime :: UTCTime -> Builder dateTime = UTCTime -> Builder forall a. ISO8601 a => a -> Builder iso8601Show time :: Time -> Builder time :: Time -> Builder time (Time TimeOfDay a Maybe TimeZone b) = TimeOfDay -> Builder forall a. ISO8601 a => a -> Builder iso8601Show TimeOfDay a Builder -> Builder -> Builder forall a. Semigroup a => a -> a -> a <> (TimeZone -> Builder) -> Maybe TimeZone -> Builder forall (t :: * -> *) m a. (Foldable t, Monoid m) => (a -> m) -> t a -> m foldMap TimeZone -> Builder forall a. ISO8601 a => a -> Builder iso8601Show Maybe TimeZone b date :: Date -> Builder date :: Date -> Builder date (Date Day a Maybe TimeZone b) = Day -> Builder forall a. ISO8601 a => a -> Builder iso8601Show Day a Builder -> Builder -> Builder forall a. Semigroup a => a -> a -> a <> (TimeZone -> Builder) -> Maybe TimeZone -> Builder forall (t :: * -> *) m a. (Foldable t, Monoid m) => (a -> m) -> t a -> m foldMap TimeZone -> Builder forall a. ISO8601 a => a -> Builder iso8601Show Maybe TimeZone b duration :: Duration -> Builder duration :: Duration -> Builder duration (Duration Bool a CalendarDiffTime b) = (Builder -> Builder) -> (Builder -> Builder) -> Bool -> Builder -> Builder forall a. a -> a -> Bool -> a bool (Builder -> Builder -> Builder forall a. Monoid a => a -> a -> a mappend Builder "-") Builder -> Builder forall k (cat :: k -> k -> *) (a :: k). Category cat => cat a a id Bool a (Builder -> Builder) -> Builder -> Builder forall a b. (a -> b) -> a -> b $ CalendarDiffTime -> Builder forall a. ISO8601 a => a -> Builder iso8601Show CalendarDiffTime b iso8601Show :: Iso8601.ISO8601 a => a -> Builder iso8601Show :: a -> Builder iso8601Show = String -> Builder forall a. IsString a => String -> a fromString (String -> Builder) -> (a -> String) -> a -> Builder forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . a -> String forall t. ISO8601 t => t -> String Iso8601.iso8601Show