Skip to content

@kaelyx/ts-kit / object / toQueryString

Function: toQueryString() ​

toQueryString(input): string

Defined in: object/to-query-string/to-query-string.ts:34

toQueryString, converts a flat object to a URL-encoded query string with URLSearchParams.

An array is written as repeated keys, which most servers read as a list. undefined values and undefined array items are omitted. null is written as an empty string, and a date as an ISO string. Other values are written with String.

Nested objects are not supported. To put one in a query string, write it with JSON.stringify first.

Parameters ​

input ​

ToQueryStringInput

The flat object to convert. An empty object ({}) returns an empty string.

Returns ​

string

A URL-encoded query string (without a leading ?).

Throws ​

If a date is not valid.

Example ​

ts
toQueryString({ q: 'red shoes', page: 2 }) // "q=red+shoes&page=2"
toQueryString({ tags: ['new', 'sale'] }) // "tags=new&tags=sale"
toQueryString({ a: null, b: undefined }) // "a="
toQueryString({ at: new Date(0) }) // "at=1970-01-01T00%3A00%3A00.000Z"

Types ​

ToQueryStringInput type ​

ToQueryStringInput = Record<string, ToQueryStringValue | readonly ToQueryStringValue[]>

Defined in: object/to-query-string/to-query-string.types.ts:17

The input of toQueryString: a flat object. An array value is written as repeated keys.


ToQueryStringValue type ​

ToQueryStringValue = string | number | boolean | Date | null | undefined

Defined in: object/to-query-string/to-query-string.types.ts:10

A value that toQueryString can write. undefined is omitted, null is written as an empty string, and a date as an ISO string.