summaryrefslogtreecommitdiff
path: root/src/prelude/url.ts
blob: a3613fc9b97a0a281c265ef9c609784092b950a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
import { stringify } from 'querystring';

export function query(obj: {}): string {
	return stringify(Object.entries(obj)
		.filter(([, v]) => Array.isArray(v) ? v.length : v !== undefined)
		.reduce((a, [k, v]) => (a[k] = v, a), {} as Record<string, any>));
}

export function appendQuery(url: string, query: string): string {
	return `${url}${/\?/.test(url) ? url.endsWith('?') ? '' : '&' : '?'}${query}`;
}