{-# OPTIONS -fplugin=WidgetRattus.Plugin #-}



module WidgetRattus.Time (
  Time(..),
  time,
  addTime,
  diffTime,
  module Data.Time.Clock
  )
  where
import WidgetRattus.Primitives

import Data.Time.Clock
import WidgetRattus.Plugin

{-# ANN addTime AllowLazyData #-}
addTime :: NominalDiffTime -> Time -> Time
addTime :: NominalDiffTime -> Time -> Time
addTime NominalDiffTime
diff (Time Day
d DiffTime
t) = let UTCTime Day
d' DiffTime
t' = NominalDiffTime -> UTCTime -> UTCTime
addUTCTime NominalDiffTime
diff (Day -> DiffTime -> UTCTime
UTCTime Day
d DiffTime
t) in Day -> DiffTime -> Time
Time Day
d' DiffTime
t'

{-# ANN diffTime AllowLazyData #-}
diffTime :: Time -> Time -> NominalDiffTime
diffTime :: Time -> Time -> NominalDiffTime
diffTime (Time Day
d1 DiffTime
t1) (Time Day
d2 DiffTime
t2) = UTCTime -> UTCTime -> NominalDiffTime
diffUTCTime (Day -> DiffTime -> UTCTime
UTCTime Day
d1 DiffTime
t1) (Day -> DiffTime -> UTCTime
UTCTime Day
d2 DiffTime
t2)