A tiny library for building parameterized URLs. It is intended to be used with records to give the parameters names and therefore reducing errors.
userUrl : Url { id : Int, show : Bool }
userUrl =
root |> hash |> s "users" |> int .id |> boolQuery "show" .show
userUrl |> toString { id = 42, show = True }
--> "/#/users/42?show=true"
Version 3.0.0 removed the infix operators (</>
, <?>
, <#>
and @
) because
they are not allowed in Elm 0.19. Here's how the API has changed:
-
First, the module has been renamed from
Url
toPurl
so it won't clash with Elm 0.19'sUrl
module. -
The
</>
operator is essentially replaced with|>
root </> s "users" </> int .id -- becomes root |> s "users" |> int .id
-
The
<?>
operator is|>
plus aQuery
-postfixroot </> s "users" <?> ("show", bool .show) -- becomes root |> s "users" |> boolQuery "show" .show
-
The
<#>
and@
operators were just removed; use thehash
andtoString
functionsroot <#> s "users" </> int .id @ { id = 42 } -- becomes root |> hash |> s "users" |> int .id |> toString { id = 42 }