git.iko.soy/rowtype-yoga/ry-starter-spa
on main help sign in
Add convenience method parseOrNotFound
commitc352c1cba83384af81fca445c736e844bb4e0ea8 authorMark Eibes <mark.eibes@gmail.com> dateFri 31 Jul 2020, 18:41 (6 years ago) parentb091056
2 files changed+13−2
src/App/Page/Routes.purs+7−1 src/App/Prelude/Default.purs+6−1
src/App/Page/Routes.purs+7−1
@@ -1,8 +1,11 @@
11module Page.Routes where
22
33import Prelude hiding ((/))
4+
5+import Data.Either (hush)
46import Data.Generic.Rep (class Generic)
5−import Routing.Duplex (RouteDuplex', root)
7+import Data.Maybe (fromMaybe)
8+import Routing.Duplex (RouteDuplex', parse, root)
69import Routing.Duplex.Generic (noArgs, sum)
710import Routing.Duplex.Generic.Syntax ((/))
811
@@ -20,6 +23,9 @@ routeCodec =
2023 , "Docs": "docs" / noArgs
2124 }
2225
26+parseOrNotFound :: String -> Route
27+parseOrNotFound str = parse routeCodec str # hush # fromMaybe NotFound
28+
2329-- Instances so we can use route in this way
2430derive instance genericRoute ∷ Generic Route _
2531derive instance eqRoute ∷ Eq Route
src/App/Prelude/Default.purs+6−1
@@ -4,10 +4,15 @@ module App.Prelude.Default
44 , module Data.Either
55 , module Effect
66 , module Effect.Class
7+ , module Data.Monoid
8+ , module Data.Foldable
79 ) where
810
911import Prelude
10−import Data.Maybe (Maybe(..), fromMaybe)
12+
1113import Data.Either (Either(..), note, hush)
14+import Data.Foldable (for_, traverse_, intercalate)
15+import Data.Maybe (Maybe(..), fromMaybe)
16+import Data.Monoid (guard)
1217import Effect (Effect)
1318import Effect.Class (liftEffect)