summaryrefslogtreecommitdiff
path: root/js/url.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/url.ts')
-rw-r--r--js/url.ts19
1 files changed, 15 insertions, 4 deletions
diff --git a/js/url.ts b/js/url.ts
index 3898c7cef..5badaa6ea 100644
--- a/js/url.ts
+++ b/js/url.ts
@@ -8,7 +8,7 @@ interface URLParts {
hostname: string;
port: string;
path: string;
- query: string;
+ query: string | null;
hash: string;
}
@@ -192,15 +192,26 @@ export class URL {
}
get search(): string {
+ if (this._parts.query === null || this._parts.query === "") {
+ return "";
+ }
+
return this._parts.query;
}
set search(value: string) {
value = String(value);
- if (value.charAt(0) !== "?") {
- value = `?${value}`;
+ let query: string | null;
+
+ if (value === "") {
+ query = null;
+ } else if (value.charAt(0) !== "?") {
+ query = `?${value}`;
+ } else {
+ query = value;
}
- this._parts.query = value;
+
+ this._parts.query = query;
this._updateSearchParams();
}