miyamoen/elm-route-builder/1.0.0

RouteBuilder

type alias Route params page =
{ toString : params -> String
, toPaths : params -> List String
, toParser : (params -> page) -> Parser (page -> page) page
}

Builder

type alias RouteBuilder params a b =
{ parser : Parser a b
, toPaths : List (params -> String)
}
root : RouteBuilder params a a
s : String -> RouteBuilder params a b -> RouteBuilder params a b
(params -> String)
-> RouteBuilder params a (String -> b)
-> RouteBuilder params a b
int :
(params -> Int)
-> RouteBuilder params a (Int -> b)
-> RouteBuilder params a b
static : RouteBuilder () () () -> Route () page

Converter to Route.

(p1 -> params)
-> RouteBuilder params (p1 -> params) params
-> Route params page

alias to dynamic

(p1 -> p2 -> params)
-> RouteBuilder params (p1 -> p2 -> params) params
-> Route params page

alias to dynamic

(p1 -> p2 -> p3 -> params)
-> RouteBuilder params (p1 -> p2 -> p3 -> params) params
-> Route params page

alias to dynamic

(p1 -> p2 -> p3 -> p4 -> params)
-> RouteBuilder params (p1 -> p2 -> p3 -> p4 -> params) params
-> Route params page

alias to dynamic

(p1 -> p2 -> p3 -> p4 -> p5 -> params)
-> RouteBuilder params (p1 -> p2 -> p3 -> p4 -> p5 -> params) params
-> Route params page

alias to dynamic

toParams
-> RouteBuilder params toParams params
-> Route params page

Converter to Route.

(String -> Maybe v)
-> (v -> String)
-> (params -> v)
-> RouteBuilder params a (v -> b)
-> RouteBuilder params a b
Parser (v -> b) b
-> (v -> String)
-> (params -> v)
-> RouteBuilder params a (v -> b)
-> RouteBuilder params a b

Utility

parseUrl : Url -> page -> List (Parser (page -> page) page) -> page
Route params ( model, Cmd msg )
-> ( childModel -> model, childMsg -> msg )
-> (params -> ( childModel, Cmd childMsg ))
-> Parser
(( model, Cmd msg ) -> ( model, Cmd msg ))
( model, Cmd msg )