Documentation / @andrew_l/toolkit / qs
Variable: qs
const
qs: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
>
Parse query string as is without type casting
Parameters
• value: string
Returns
Record
<string
, string
>
Parse query string and use default object as type cast schema
Type Parameters
• T extends Record
<string
, any
>
Parameters
• value: string
• defaults: Partial
<T
>
Returns
T
Parse query params and use default object as type cast schema
Type Parameters
• T extends Record
<string
, any
>
Parameters
• value: Record
<string
, any
>
• defaults: T
Returns
Partial
<T
>
parseValue()
parseValue: <
T
>(value
,asType
) =>TypeOfMap
[T
] |undefined
Parse string query value as a type
Type Parameters
• T extends keyof TypeOfMap
Parameters
• value: any
• asType: T
Returns
TypeOfMap
[T
] | undefined
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 }