
Nested Query Params
A TypeScript implementation of Rack's query string parser.
Overview
A TypeScript implementation of Rack's query string parser. Allows query strings to be expanded into "structural" types; objects, arrays, and string values are supported.
Installation
npm i -D nested-query-params
Usage
import { parseQuery, printQuery } from "nested-query-params";
const map = parseQuery("?foo[bar]=baz");
console.debug(map.foo.bar);
const list = parseQuery("?foo[]=bar&foo[]=baz");
console.debug(list.foo);
const mixed = parseQuery("?bar=baz&foo[bar][]=baz&foo[bar][]=42");
console.debug(mixed);
const simple = parseQuery("?foo[bar]=baz");
console.debug(printQuery(simple));
const edited = { ...simple, foo: "bar" };
console.debug(printQuery(edited));