All files / libs/ext/web/src/lib query-string.ts

0% Statements 0/28
0% Branches 0/1
0% Functions 0/1
0% Lines 0/28

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                                                         
/**
 * Convert querystring to an object.
 * @param qs
 */
export const qsToObject = (qs: string) => {
  const output = {} as Record<string, string>;
  const searchParams = new URLSearchParams(qs);
  for (const [k, v] of searchParams) {
    output[k] = v;
  }
  return output;
};

/**
 * Convert object to querystring.
 * @param obj
 */
export const objectToQs = (obj: Record<string, string | null | undefined>) => {
  const searchParams = new URLSearchParams('');

  Object.keys(obj).forEach((key) => {
    if (key && obj[key]) {
      searchParams.set(key, obj[key]);
    }
  });

  return searchParams.toString();
};