@jridgewell/resolve-uri
v3.1.2
Published
Resolve a URI relative to an optional base URI
Downloads
214,355,800
Readme
@jridgewell/resolve-uri
Resolve a URI relative to an optional base URI
Resolve any combination of absolute URIs, protocol-realtive URIs, absolute paths, or relative paths.
Installation
npm install @jridgewell/resolve-uri
Usage
function resolve(input: string, base?: string): string;
import resolve from '@jridgewell/resolve-uri';
resolve('foo', 'https://example.com'); // => 'https://example.com/foo'
| Input | Base | Resolution | Explanation |
|-----------------------|-------------------------|--------------------------------|--------------------------------------------------------------|
| https://example.com
| any | https://example.com/
| Input is normalized only |
| //example.com
| https://base.com/
| https://example.com/
| Input inherits the base's protocol |
| //example.com
| rest | //example.com/
| Input is normalized only |
| /example
| https://base.com/
| https://base.com/example
| Input inherits the base's origin |
| /example
| //base.com/
| //base.com/example
| Input inherits the base's host and remains protocol relative |
| /example
| rest | /example
| Input is normalized only |
| example
| https://base.com/dir/
| https://base.com/dir/example
| Input is joined with the base |
| example
| https://base.com/file
| https://base.com/example
| Input is joined with the base without its file |
| example
| //base.com/dir/
| //base.com/dir/example
| Input is joined with the base's last directory |
| example
| //base.com/file
| //base.com/example
| Input is joined with the base without its file |
| example
| /base/dir/
| /base/dir/example
| Input is joined with the base's last directory |
| example
| /base/file
| /base/example
| Input is joined with the base without its file |
| example
| base/dir/
| base/dir/example
| Input is joined with the base's last directory |
| example
| base/file
| base/example
| Input is joined with the base without its file |