blob: 9700d8615b4ec0e65c6859c327e923aa0b326ee7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
export function withQuery<T>(url: string, query: T): string {
if (query == null) return url;
const params = new URLSearchParams();
for (const [key, value] of Object.entries(query)) {
if (value == null) void 0;
else if (typeof value === "string") params.set(key, value);
else if (typeof value === "number") params.set(key, String(value));
else if (typeof value === "boolean") params.set(key, String(value));
else if (value instanceof Date) params.set(key, value.toISOString());
else {
console.error("Unknown query parameter type. Param: ", value);
}
}
const p = params.toString();
if (p == "") {
return url;
}
return url + "?" + p;
}
|