URL utilities with Relude
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.
A URI is broken up into several sub-component types, including Scheme, Authority, UserInfo, Path, etc.
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(...))
Once a URI is parsed or constructed, it's often useful to write it back out to a string:
ReludeURL.URI.show(myURI) // http
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.
> npm run clean
> npm run build
> npm run cleanbuild
> npm run test
> npm run cleantest
> npm run coverage
> npm run cleancoverage
> npm run watch> npm version major|minor|patch
> git push origin --follow-tags
> git push upstream --follow-tags
> npm publish
# Create release on GitHubA simple default.nix shell config is provided to avoid issues with OCaml-based binaries and bs-platform.
> nix-shell
%nix%> npm install