Uri.Absolute
import { Uri } from "https://raw.githubusercontent.com/i-xi-dev/url.es/3.1.21/mod.ts";
const { Absolute } = Uri;
The normalized absolute URL.
The Absolute
instances are immutable.
§Properties
Gets the host for this instance.
const uri = Absolute.fromString("http://xn--eckwd4c7cu47r2wf.jp/foo");
const host = uri.rawHost;
// host
// → "xn--eckwd4c7cu47r2wf.jp"
Gets the decoded host for this instance.
const uri = Absolute.fromString("http://xn--eckwd4c7cu47r2wf.jp/foo");
const punycodeDecodedHost = uri.host;
// punycodeDecodedHost
// → "ドメイン名例.jp"
Gets the port number for this instance.
If the port number is omitted, returns the number in below table.
scheme |
number |
---|---|
"ftp" |
21 |
"http" |
80 |
"https" |
443 |
"ws" |
80 |
"wss" |
443 |
others | NaN |
const uri = Absolute.fromString("http://example.com/foo");
const port = uri.port;
// port
// → 80
const uri = Absolute.fromString("http://example.com:8080/foo");
const port = uri.port;
// port
// → 8080
Gets the path segments for this instance.
Gets the query for this instance.
const uri = Absolute.fromString("http://example.com/foo?p1=%E5%80%A41&p2=123");
const query = uri.rawQuery;
// query
// → "p1=%E5%80%A41&p2=123"
Gets the result of parsing the query for this instance in the application/x-www-form-urlencoded
format.
const uri = Absolute.fromString("http://example.com/foo?p1=%E5%80%A41&p2=123");
const queryEntries = uri.query;
// queryEntries
// → [ [ "p1", "値1" ], [ "p2", "123" ] ]
const uri = Absolute.fromString("http://example.com/foo?textformat");
const queryEntries = uri.query;
// queryEntries
// → [ [ "textformat", "" ] ]
Gets the fragment for this instance.
const uri = Absolute.fromString("http://example.com/foo#%E7%B4%A0%E7%89%87");
const fragment = uri.rawFragment;
// fragment
// → "%E7%B4%A0%E7%89%87"
Gets the decoded fragment for this instance.
const uri = Absolute.fromString("http://example.com/foo#%E7%B4%A0%E7%89%87");
const percentDecodedFragment = uri.fragment;
// percentDecodedFragment
// → "素片"
Gets the origin for this instance.
If this scheme is "blob"
, "ftp"
, "http"
, "https"
, "ws"
, "wss"
, the value of new URL(this.toString()).origin
; otherwise, "null"
.
§Methods
Returns whether this instance has a username or password.
Whether this instance has a username or password.
Returns whether this instance has a fragment.
Whether this instance has a fragment.
const uri = Absolute.fromString("http://example.com/foo#%E7%B4%A0%E7%89%87");
const uriHasFragment = uri.hasFragment();
// uriHasFragment
// → true
Returns whether this instance has query parameters.
Whether this instance has query parameters.
const uri = Absolute.fromString("http://example.com/foo?p1=%E5%80%A41&p2=123");
const uriHasQuery = uri.hasQuery();
// uriHasQuery
// → true
Return a new Absolute
instance with the fragment set.
The fragment. No need to prepend a "#"
to fragment.
A new Absolute
instance.
const uri = Absolute.fromString("http://example.com/foo");
const uriWithFragment = uri.withFragment("素片");
// uriWithFragment.toString()
// → "http://example.com/foo#%E7%B4%A0%E7%89%87"
const uri = Absolute.fromString("http://example.com/foo#%E7%B4%A0%E7%89%87");
const uriWithFragment = uri.withFragment("svgView(viewBox(0,0,100,100))");
// uriWithFragment.toString()
// → "http://example.com/foo#svgView(viewBox(0,0,100,100))"
Returns a new Absolute
instance with the user and password removed.
A new Absolute
instance.
const uri = Absolute.fromString("http://usr:pwd@example.com/foo");
const uriWithoutCredentials = uri.withoutCredentials();
// uriWithoutCredentials.toString()
// → "http://example.com/foo"
Returns a new Absolute
instance with the fragment removed.
A new Absolute
instance.
const uri = Absolute.fromString("http://example.com/foo#%E7%B4%A0%E7%89%87");
const uriWithoutFragment = uri.withoutFragment();
// uriWithoutFragment.toString()
// → "http://example.com/foo"
Returns a new Absolute
instance with the query removed.
A new Absolute
instance.
const uri = Absolute.fromString("http://example.com/foo?p1=%E5%80%A41&p2=123");
const uriWithoutQuery = uri.withoutQuery();
// uriWithoutQuery.toString()
// → "http://example.com/foo"
Return a new Absolute
instance with the query set.
The query parameters.
A new Absolute
instance.
const uri = Absolute.fromString("http://example.com/foo?p1=%E5%80%A41&p2=123");
const uriWithQuery = uri.withQuery([ [ "p1", "値1" ], [ "p2", "123" ] ]);
// uriWithQuery
// → "http://example.com/foo?p1=%E5%80%A41&p2=123"
const uri = Absolute.fromString("http://example.com/foo?p1=%E5%80%A41&p2=123");
const uriWithQuery = uri.withQuery([ [ "p1", "v1" ] ]);
// uriWithQuery
// → "http://example.com/foo?p1=v1"