pull/11157/head
Rich Harris 2 years ago
parent ea73ad31e1
commit c61c946662

@ -11,11 +11,20 @@ export class ReactiveURL extends URL {
hostname: source(super.hostname),
port: source(super.port),
pathname: source(super.pathname),
search: source(super.search),
hash: source(super.hash)
};
#searchParams = new ReactiveURLSearchParams(super.searchParams);
#searchParams = new ReactiveURLSearchParams();
/**
* @param {string | URL} url
* @param {string | URL} [base]
*/
constructor(url, base) {
url = new URL(url, base);
super(url);
this.#searchParams[REPLACE](url.searchParams);
}
get hash() {
return get(this.#url.hash);
@ -54,8 +63,8 @@ export class ReactiveURL extends URL {
get(this.#url.hostname);
get(this.#url.port);
get(this.#url.pathname);
get(this.#url.search);
get(this.#url.hash);
this.#searchParams.toString();
return super.href;
}
@ -67,7 +76,6 @@ export class ReactiveURL extends URL {
set(this.#url.hostname, super.hostname);
set(this.#url.port, super.port);
set(this.#url.pathname, super.pathname);
set(this.#url.search, super.search);
set(this.#url.hash, super.hash);
this.#searchParams[REPLACE](super.searchParams);
}
@ -109,13 +117,12 @@ export class ReactiveURL extends URL {
}
get search() {
const search = this.#searchParams.toString();
const search = this.#searchParams?.toString();
return search ? `?${search}` : '';
}
set search(value) {
super.search = value;
this.#searchParams[REPLACE](super.searchParams);
this.#searchParams[REPLACE](new URLSearchParams(value.replace(/^\?/, '')));
}
get username() {

Loading…
Cancel
Save