diff options
author | 迷渡 <justjavac@gmail.com> | 2019-04-30 07:45:20 +0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-04-29 16:45:20 -0700 |
commit | 4dcdd881553047efc90e0b3d532206225c1ca5fb (patch) | |
tree | b4392ad2333d81d4299a205ddb67005f203d2849 /js/url.ts | |
parent | 636827a1d52285642eeb375781abe941c79a07f0 (diff) |
removes ? from URL when deleting all params (#2217)
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(); } |