Add secondsToNominalDiffTime and nominalDiffTimeToSeconds (#86)
authorAshley Yakeley <ashley@semantic.org>
Mon, 26 Feb 2018 06:00:46 +0000 (22:00 -0800)
committerAshley Yakeley <ashley@semantic.org>
Mon, 26 Feb 2018 06:00:46 +0000 (22:00 -0800)
lib/Data/Time/Clock/Internal/NominalDiffTime.hs

index c986fd6..b071b1e 100644 (file)
@@ -3,6 +3,8 @@
 module Data.Time.Clock.Internal.NominalDiffTime
     (
     NominalDiffTime,
+    secondsToNominalDiffTime,
+    nominalDiffTimeToSeconds,
     nominalDay,
     ) where
 
@@ -21,6 +23,14 @@ import Control.DeepSeq
 -- regardless of whether a leap-second intervened.
 newtype NominalDiffTime = MkNominalDiffTime Pico deriving (Eq,Ord,Data,Typeable)
 
+-- | Create a 'NominalDiffTime' from a number of seconds.
+secondsToNominalDiffTime :: Pico -> NominalDiffTime
+secondsToNominalDiffTime = MkNominalDiffTime
+
+-- | Get the seconds in a 'NominalDiffTime'.
+nominalDiffTimeToSeconds :: NominalDiffTime -> Pico
+nominalDiffTimeToSeconds (MkNominalDiffTime t) = t
+
 -- necessary because H98 doesn't have "cunning newtype" derivation
 instance NFData NominalDiffTime where -- FIXME: Data.Fixed had no NFData instances yet at time of writing
     rnf ndt = seq ndt ()