diff options
Diffstat (limited to 'js/url.ts')
-rw-r--r-- | js/url.ts | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -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(); } |