@@ -11,9 +11,8 @@ module Route exposing
11
11
)
12
12
13
13
14
- import Browser
15
14
import Url
16
- import Url.Parser exposing (Parser , (</>) , custom , fragment , map , oneOf , parsePath , s , top )
15
+ import Url.Parser as Parser exposing (Parser , (</>) , custom , fragment , map , oneOf , s , top )
17
16
import Version
18
17
19
18
@@ -65,35 +64,40 @@ getHash info =
65
64
-- LOCATION TO ROUTE
66
65
67
66
68
- fromUrl : Browser .Url -> Route
67
+ fromUrl : Parser .Url -> Route
69
68
fromUrl url =
70
- parsePath parser NotFound url
69
+ case Parser . parse parser url of
70
+ Nothing ->
71
+ NotFound ( Parser . fromUrl url)
72
+
73
+ Just route ->
74
+ route
71
75
72
76
73
77
parser : Parser (Route -> a ) a
74
78
parser =
75
79
oneOf
76
80
[ map Home <| top
77
- , map User <| s " packages" </> user
78
- , map Package <| s " packages" </> user </> project
79
- , map Version <| s " packages" </> user </> project </> version </> versionInfo
81
+ , map User <| s " packages" </> user_
82
+ , map Package <| s " packages" </> user_ </> project_
83
+ , map Version <| s " packages" </> user_ </> project_ </> version_ </> versionInfo
80
84
, map Guidelines <| s " help" </> s " design-guidelines"
81
85
, map DocsHelp <| s " help" </> s " docs"
82
86
]
83
87
84
88
85
- user : Parser (String -> a ) a
86
- user =
89
+ user_ : Parser (String -> a ) a
90
+ user_ =
87
91
custom " USER" Just
88
92
89
93
90
- project : Parser (String -> a ) a
91
- project =
94
+ project_ : Parser (String -> a ) a
95
+ project_ =
92
96
custom " PROJECT" Just
93
97
94
98
95
- version : Parser (Version -> a ) a
96
- version =
99
+ version_ : Parser (Version -> a ) a
100
+ version_ =
97
101
custom " VERSION" <| \ string ->
98
102
if string == " latest" then
99
103
Just Latest
@@ -105,12 +109,12 @@ versionInfo : Parser (VersionInfo -> a) a
105
109
versionInfo =
106
110
oneOf
107
111
[ map Readme top
108
- , map Module ( moduleName </> fragment identity)
112
+ , map Module ( moduleName_ </> fragment identity)
109
113
]
110
114
111
115
112
- moduleName : Parser (String -> a ) a
113
- moduleName =
116
+ moduleName_ : Parser (String -> a ) a
117
+ moduleName_ =
114
118
custom " MODULE" ( Just << String . replace " -" " ." )
115
119
116
120
0 commit comments