Skip to content

Commit c61c946

Browse files
committed
fix
1 parent ea73ad3 commit c61c946

File tree

1 file changed

+14
-7
lines changed
  • packages/svelte/src/reactivity

1 file changed

+14
-7
lines changed

packages/svelte/src/reactivity/url.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,20 @@ export class ReactiveURL extends URL {
1111
hostname: source(super.hostname),
1212
port: source(super.port),
1313
pathname: source(super.pathname),
14-
search: source(super.search),
1514
hash: source(super.hash)
1615
};
1716

18-
#searchParams = new ReactiveURLSearchParams(super.searchParams);
17+
#searchParams = new ReactiveURLSearchParams();
18+
19+
/**
20+
* @param {string | URL} url
21+
* @param {string | URL} [base]
22+
*/
23+
constructor(url, base) {
24+
url = new URL(url, base);
25+
super(url);
26+
this.#searchParams[REPLACE](url.searchParams);
27+
}
1928

2029
get hash() {
2130
return get(this.#url.hash);
@@ -54,8 +63,8 @@ export class ReactiveURL extends URL {
5463
get(this.#url.hostname);
5564
get(this.#url.port);
5665
get(this.#url.pathname);
57-
get(this.#url.search);
5866
get(this.#url.hash);
67+
this.#searchParams.toString();
5968
return super.href;
6069
}
6170

@@ -67,7 +76,6 @@ export class ReactiveURL extends URL {
6776
set(this.#url.hostname, super.hostname);
6877
set(this.#url.port, super.port);
6978
set(this.#url.pathname, super.pathname);
70-
set(this.#url.search, super.search);
7179
set(this.#url.hash, super.hash);
7280
this.#searchParams[REPLACE](super.searchParams);
7381
}
@@ -109,13 +117,12 @@ export class ReactiveURL extends URL {
109117
}
110118

111119
get search() {
112-
const search = this.#searchParams.toString();
120+
const search = this.#searchParams?.toString();
113121
return search ? `?${search}` : '';
114122
}
115123

116124
set search(value) {
117-
super.search = value;
118-
this.#searchParams[REPLACE](super.searchParams);
125+
this.#searchParams[REPLACE](new URLSearchParams(value.replace(/^\?/, '')));
119126
}
120127

121128
get username() {

0 commit comments

Comments
 (0)