Skip to content
URL utilities with Relude
Reason Nix
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
.vscode
__tests__
src
.gitattributes
.gitignore
LICENSE
README.md
bsconfig.json
default.nix
package-lock.json
package.json

README.md

relude-url

CircleCI npm

URL utilities with Relude

Documentation

ReludeURL contains data structures and functions for dealing with URIs, URLs, etc. This library is not currently fully conformant to the RFC 3986 URI spec - it only parses a subset of common absolute URI formats, i.e. formats that are most commonly found in the wild. If you encounter a URI that ReludeURL can't parse correctly, please open an issue with the URI for consideration.

Component types

A URI is broken up into several sub-component types, including Scheme, Authority, UserInfo, Path, etc.

Parsing

GitHub CI [npm

ReludeURL uses ReludeParse to parse URIs. To run a URI parser, you use the standard convention for running a ReludeParse parser, like below:

ReludeURL.URI.parser |> ReludeParse.runParser("https://example.com:80/my/path") // Belt.Result.Ok(URI(...))

Rendering

Once a URI is parsed or constructed, it's often useful to write it back out to a string:

ReludeURL.URI.show(myURI) // http

Manipulation

Parts of the URI can be manipulated using the functions from the target part of the URI. A common operation is to manipulate the query params - this can be done using functions in the URI module, or in the Query/QueryParam/etc. modules.

Developer info

Scripts

> npm run clean
> npm run build
> npm run cleanbuild
> npm run test
> npm run cleantest
> npm run coverage
> npm run cleancoverage
> npm run watch

Publish to npm

> npm version major|minor|patch
> git push origin --follow-tags
> git push upstream --follow-tags
> npm publish
# Create release on GitHub

NixOS

A simple default.nix shell config is provided to avoid issues with OCaml-based binaries and bs-platform.

> nix-shell
%nix%> npm install
You can’t perform that action at this time.