module Data.Geo.OSM.BoundOption
(
BoundOption
, foldBoundOption
, optionBound
, optionBounds
, optionEmptyBound
) where
import Data.Geo.OSM.Bound
import Data.Geo.OSM.Bounds
data BoundOption =
OptionBound Bound
| OptionBounds Bounds
| Empty
deriving Eq
foldBoundOption ::
(Bound -> x)
-> (Bounds -> x)
-> x
-> BoundOption
-> x
foldBoundOption f _ _ (OptionBound b) =
f b
foldBoundOption _ f _ (OptionBounds b) =
f b
foldBoundOption _ _ f Empty =
f
optionBound ::
Bound
-> BoundOption
optionBound =
OptionBound
optionBounds ::
Bounds
-> BoundOption
optionBounds =
OptionBounds
optionEmptyBound ::
BoundOption
optionEmptyBound =
Empty