packages feed

route-planning 0.0.2 → 0.0.3

raw patch · 7 files changed

+71/−17 lines, 7 files

Files

route-planning.cabal view
@@ -1,5 +1,5 @@ name:               route-planning-version:            0.0.2+version:            0.0.3 license:            BSD3 license-File:       etc/LICENCE author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
src/Data/Geo/Route/Author.hs view
@@ -4,6 +4,8 @@ , mkAuthor' , authorEmail , authorLink+, HasAuthor(..)+, HasMaybeAuthor(..) ) where  import Prelude(Show)@@ -75,3 +77,7 @@ instance HasAuthor Author where   author =     id++class HasMaybeAuthor t where+  mauthor ::+    Lens' t (Maybe Author)
src/Data/Geo/Route/Copyright.hs view
@@ -1,16 +1,19 @@ module Data.Geo.Route.Copyright(   Copyright-, copyright-, copyright'+, mkCopyright+, mkCopyright' , copyrightAuthor , copyrightYear , copyrightLicense+, HasCopyright(..)+, HasMaybeCopyright(..) ) where  import Prelude(Show) import Control.Lens(Lens', lens) import Data.Eq(Eq) import Data.Foldable(Foldable(foldMap))+import Data.Function(id) import Data.Geo.Route.Gpx(Gpx(gpx)) import Data.List((++)) import Data.Maybe(Maybe(Just, Nothing))@@ -25,18 +28,18 @@     (Maybe String) -- license   deriving (Eq, Ord, Show) -copyright ::+mkCopyright ::   String   -> Copyright-copyright a =+mkCopyright a =   Copyright a Nothing Nothing -copyright' ::+mkCopyright' ::   String   -> String   -> String   -> Copyright-copyright' a y l =+mkCopyright' a y l =   Copyright a (Just y) (Just l)  copyrightAuthor ::@@ -57,3 +60,15 @@ instance Gpx Copyright where   gpx (Copyright a y l) =     printf "<copyright author=\"%s\">%s%s</copyright>" a (foldMap (\y' -> "<year>" ++ y' ++ "</year>") y) (foldMap (\l' -> "<license>" ++ l' ++ "</license>") l)++class HasCopyright t where+  copyright ::+    Lens' t Copyright++instance HasCopyright Copyright where+  copyright =+    id++class HasMaybeCopyright t where+  mcopyright ::+    Lens' t (Maybe Copyright)
src/Data/Geo/Route/Email.hs view
@@ -1,13 +1,17 @@ module Data.Geo.Route.Email(   Email-, email+, mkEmail , emailId , emailDomain+, HasEmail(..)+, HasMaybeEmail(..) ) where  import Prelude(Show) import Data.Geo.Route.Gpx(Gpx(gpx)) import Control.Lens(Lens', lens)+import Data.Function(id)+import Data.Maybe(Maybe) import Data.String(String) import Data.Eq(Eq) import Data.Ord(Ord)@@ -19,11 +23,11 @@     String -- domain   deriving (Eq, Ord, Show) -email ::+mkEmail ::   String   -> String   -> Email-email =+mkEmail =   Email  emailId ::@@ -39,3 +43,15 @@ instance Gpx Email where   gpx (Email i d) =     printf "<email id=\"%s\" domain=\"%s\"/>" i d++class HasEmail t where+  email ::+    Lens' t Email++instance HasEmail Email where+  email =+    id++class HasMaybeEmail t where+  memail ::+    Lens' t (Maybe Email)
src/Data/Geo/Route/Link.hs view
@@ -1,6 +1,6 @@ module Data.Geo.Route.Link(   Link-, link+, mkLink , linkHref , linkText , linkType@@ -21,12 +21,12 @@     String -- type   deriving (Eq, Ord, Show) -link ::+mkLink ::   String   -> String   -> String   -> Link-link =+mkLink =   Link  instance Gpx Link where
src/Data/Geo/Route/Plan.hs view
@@ -10,16 +10,18 @@ import Data.Bool((&&)) import Data.Eq(Eq) import Data.Foldable(Foldable(foldMap))+import Data.Function((.)) import Data.Ord(Ord) import Data.Maybe(Maybe(Nothing, Just), isNothing) import Data.String(String)-import Data.Geo.Route.Author(Author)-import Data.Geo.Route.Copyright(Copyright)+import Data.Geo.Route.Author(Author, HasMaybeAuthor(mauthor))+import Data.Geo.Route.Copyright(Copyright, HasMaybeCopyright(mcopyright)) import Data.Geo.Route.Description(Description, HasMaybeDescription(mdescription)) import Data.Geo.Route.Gpx(Gpx(gpx)) import Data.Geo.Route.Name(Name, HasMaybeName(mname)) import Data.Geo.Route.Osrm(Osrm(allCoordinates))-import Data.Geo.Route.Track(Track, trackPoints)+import Data.Geo.Route.Track(Track, HasTrack(track), trackPoints)+import Data.Geo.Route.TrackHeader(HasTrackHeader(trackHeader)) import Data.Geo.Route.Waypoint(gpxWaypoint) import Text.Printf(printf) @@ -89,3 +91,19 @@ instance HasMaybeDescription Plan where   mdescription =     lens (\(Plan _ d _ _ _) -> d) (\(Plan n _ a c t) d -> Plan n d a c t)++instance HasMaybeAuthor Plan where+  mauthor =+    lens (\(Plan _ _ a _ _) -> a) (\(Plan n d _ c t) a -> Plan n d a c t)++instance HasMaybeCopyright Plan where+  mcopyright =+    lens (\(Plan _ _ _ c _) -> c) (\(Plan n d a _ t) c -> Plan n d a c t)++instance HasTrack Plan where+  track =+    lens (\(Plan _ _ _ _ t) -> t) (\(Plan n d a c _) t -> Plan n d a c t)++instance HasTrackHeader Plan where+  trackHeader =+    track . trackHeader
src/Data/Geo/Route/Track.hs view
@@ -116,7 +116,6 @@ trackPoints (Track _ t) =   concat t - class HasTrack t where   track ::     Lens' t Track