googleapis / nodejs-googleapis-common

A set of common APIs and tools for Google npm modules.
Apache License 2.0
55 stars 34 forks source link

feat: switch to picoquery for query string handling #567

Open 43081j opened 2 months ago

43081j commented 2 months ago

By switching to picoquery, we can gain a substantial perf boost (it is much faster than qs, and about the same speed as fast-querystring). It is based on fast-querystring, but with support for nesting.

Similarly, we can drop a few dependencies.

Note that this is part of the ongoing ecosystem-cleanup.

Important note:

The behaviour will slightly change here in that pq is stricter with syntax than qs. For example, it makes no sense to mix these two syntaxes: foo=1&foo=2&foo[]=3. qs supports this at the cost of speed, while pq requires you to choose one.

If you don't yet want to change this behaviour, there is another PR moving to neoqs instead. That will keep the same interface and behaviour with a much smaller change in performance.

let me know and i'm happy to work with either!