14 lines
463 B
TypeScript
14 lines
463 B
TypeScript
|
export function query(obj: {}): string {
|
||
|
const params = Object.entries(obj)
|
||
|
.filter(([, v]) => Array.isArray(v) ? v.length : v !== undefined)
|
||
|
.reduce((a, [k, v]) => (a[k] = v, a), {} as Record<string, any>);
|
||
|
|
||
|
return Object.entries(params)
|
||
|
.map((e) => `${e[0]}=${encodeURIComponent(e[1])}`)
|
||
|
.join('&');
|
||
|
}
|
||
|
|
||
|
export function appendQuery(url: string, query: string): string {
|
||
|
return `${url}${/\?/.test(url) ? url.endsWith('?') ? '' : '&' : '?'}${query}`;
|
||
|
}
|