Documentation / @andrew_l/toolkit / qs
Variable: qs ​
constqs:object
Simple query stringy interface that supports encoding/decoding of Array, Set, Map, Object, BigInt
Type declaration ​
merge() ​
merge: (...
values) =>Record<string,any>
Merge first level values
Parameters ​
values ​
...Record<string, any>[]
Returns ​
Record<string, any>
parse() ​
parse: {(
value):Record<string,string>; <T>(value,defaults):T; <T>(value,defaults):Partial<T>; }
Call Signature ​
(
value):Record<string,string>
Parse query string as is without type casting
Parameters ​
value ​
string
Returns ​
Record<string, string>
Call Signature ​
<
T>(value,defaults):T
Parse query string and use default object as type cast schema
Type Parameters ​
T ​
T extends Record<string, any>
Parameters ​
value ​
string
defaults ​
Partial<T>
Returns ​
T
Call Signature ​
<
T>(value,defaults):Partial<T>
Parse query params and use default object as type cast schema
Type Parameters ​
T ​
T extends Record<string, any>
Parameters ​
value ​
Record<string, any>
defaults ​
T
Returns ​
Partial<T>
parseValue() ​
parseValue: <
T>(value,asType) =>undefined|TypeOfMap[T]
Parse string query value as a type
Type Parameters ​
T ​
T extends keyof TypeOfMap
Parameters ​
value ​
any
asType ​
T
Returns ​
undefined | TypeOfMap[T]
stringify() ​
stringify: (
obj,options?) =>string
Simple function to transform object into query string (not standards)
Parameters ​
obj ​
Record<string, any>
options? ​
StringifyOptions
Returns ​
string
stringifyValue() ​
stringifyValue: (
value) =>string
Stringify value to use as query parameter
Parameters ​
value ​
unknown
Returns ​
string
toParams() ​
toParams: (
obj,options?) =>Record<string,string>
Prepare search params object
Parameters ​
obj ​
Record<string, any>
options? ​
StringifyOptions
Returns ​
Record<string, string>
Example ​
// encode
qs.stringify({ page: 1, limit: 10 }); // 'page=1&limit=10'
// decode
const defaults = { page: 1, limit: 10 };
const params = qs.parse('page=5&limit=abc', defaults); // { page: 5, limit: 10 }