iso-url

Isomorphic/Universal WHATWG URL API with some support legacy node URL API

Usage no npm install needed!

<script type="module">
  import isoUrl from 'https://cdn.skypack.dev/iso-url';
</script>

README

iso-url NPM Version NPM Downloads NPM License tests codecov

Isomorphic/Univeral WHATWG URL API with some support legacy node URL API

This package is a universal wrapper for node url and browser window.URL with support for legacy url.parse properties in the URL instance and defaults for base to support relative urls like url.parse. Node URL docs.

Caveats

No support for querystring objects. Use URLSearchParams.

Install

$ npm install iso-url

Usage

const { URL, URLSearchParams, format, relative } = require('iso-url');

const url = new isoUrl('http://localhost/unicorns');
const newSearchParams = new URLSearchParams(url.searchParams);

API

new URL(url, [base])

input

Type: string

The absolute or relative input URL to parse. If input is relative, then base is required. If input is absolute, the base is ignored.

base

Type: string|URL
Default: https://localhost in node and self.location.protocol + '//' + self.location.host in the browser.

The base URL to resolve against if the input is not absolute.

format(url, [options])

Same as https://nodejs.org/api/url.html#url_url_format_url_options

relative(url, [location], [protocalMap], [defaultProtocol])

Same as https://github.com/dominictarr/relative-url but doesn't support this syntax '//:9999'

License

MIT © Hugo Dias