import { QueryParams } from './http-json'; export function addSearchParams(url: URL, query?: Record) { const preparedQuery = prepareQueryParams(query || {}); Object.entries(preparedQuery).forEach(([key, value]) => { url.searchParams.append(key, String(value)); }); } /** * Converts record of parameters to query string format. * - undefined values are ignored * - values are converted to strings */ export function prepareQueryParams>(params?: T): QueryParams { const query: QueryParams = {} as QueryParams; Object.entries(params || {}).forEach(([key, value]) => { if (value !== undefined) { query[key as keyof T] = String(value); } }); return query; }