coordinate-0.0.1: src/Data/GPS/Coordinate/Seconds.hs
module Data.GPS.Coordinate.Seconds(
Seconds
, seconds
) where
import Prelude(Double, Bool(..), Eq, Show, Ord(..), (&&))
import Data.Maybe(Maybe(..))
import Control.Lens(Prism', prism')
newtype Seconds =
Seconds Double
deriving (Eq, Show)
seconds ::
Prism' Double Seconds
seconds =
prism'
(\(Seconds d) -> d)
(\d -> case d >= 0 && d < 60 of
True -> Just (Seconds d)
False -> Nothing)