/purescript-form-urlencoded

A data type, and encoding / decoding functions for application/x-www-form-urlencoded

Primary LanguagePureScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Form URLEncoded

CI Release Pursuit

A FormURLEncoded datatype represents an ordered list of key-value pairs with possible duplicates. The encode function allows to transform FormURLEncoded into a Maybe String according to application/x-www-form-urlencoded. The decode function transforms a string into a Maybe FormURLEncoded structure.

Installation

Install form-urlencoded with Spago:

spago install form-urlencoded

Quick start

Use the encode function to properly encode an array of key-value pairs, and the decode function to decode an encoded string.

> import Data.FormURLEncoded (fromArray, encode)
> import Data.Maybe (Maybe(..))
> import Data.Tuple (Tuple(..))

> encode $ fromArray 
>   [ Tuple "hey" Nothing
>   , Tuple "Oh" (Just "Let's go!")
>   ]
Just "hey&Oh=Let's+go!"

> decode "a=aa&b=bb"
Just (FormURLEncoded [(Tuple "a" (Just "aa")),(Tuple "b" (Just "bb"))])

Documentation

form-urlencoded documentation is stored in a few places:

  1. Module documentation is published on Pursuit.
  2. Written documentation is kept in the docs directory.
  3. Usage examples can be found in the test suite.

If you get stuck, there are several ways to get help:

Contributing

You can contribute to form-urlencoded in several ways:

  1. If you encounter a problem or have a question, please open an issue. We'll do our best to work with you to resolve or answer it.

  2. If you would like to contribute code, tests, or documentation, please read the contributor guide. It's a short, helpful introduction to contributing to this library, including development instructions.

  3. If you have written a library, tutorial, guide, or other resource based on this package, please share it on the PureScript Discourse! Writing libraries and learning resources are a great way to help this library succeed.