sporto/erl/14.0.0

NOTE: this package is not compatible with Elm 0.19.1

Erl.Query

Functions to work with a Query record

Types

type alias Query =
List ( String, String )

List holding query string values

Parse

parse : String -> Result Error Query

Parse a query string

Erl.Query.parse "?a=1&b=2&a=3" == [("a", "1"), ("b", "2"), ("a", "1")]
parser : Parser Query

Query Parser

Mutation helpers

add : String -> String -> Query -> Query

Adds key/value in query string

Erl.Query.add key value query

This doesn't replace existing keys, so if this is a duplicated this key is just added.

set : String -> String -> Query -> Query

Set key/value in query string, removes any existing one if necessary.

Erl.Query.set key value query
remove : String -> Query -> Query

Removes key from query string

Erl.Query.remove key query

Serialize

toString : Query -> String

Convert to a string, this includes '?'

Erl.Query.toString query == "?a=1&b=2"

Other helpers

getValuesForKey : String -> Query -> List String

Gets values for a key in the query

url = Erl.parse "?a=1&b=2&a=3"


Erl.Query.getQueryValuesForKey "a" url.query


== ["1", "3"]