Object containing query parameters
URL query string (e.g., "?key1=value1&key2=value2&key3[]=value3&key3[]=value4")
Basic query parameters:
const params = {
limit: 10,
offset: 0,
search: 'john',
active: true
};
const queryString = queryGenerator(params);
// Result: "?limit=10&offset=0&search=john&active=true"
With array parameters:
const params = {
tags: ['ai', 'automation', 'support'],
categories: ['featured', 'popular'],
exclude: ['archived', 'draft']
};
const queryString = queryGenerator(params);
// Result: "?tags[]=ai&tags[]=automation&tags[]=support&categories[]=featured&categories[]=popular&exclude[]=archived&exclude[]=draft"
Complex filtering:
const filterParams = {
user: 'user-123',
org: 'org-456',
status: ['active', 'pending'],
created_after: '2024-01-01',
sort_by: 'created_at',
sort_order: 'desc',
include_metadata: true
};
const queryString = queryGenerator(filterParams);
// Result: "?user=user-123&org=org-456&status[]=active&status[]=pending&created_after=2024-01-01&sort_by=created_at&sort_order=desc&include_metadata=true"
Usage in API calls:
async function fetchUsers(filters: any) {
const queryString = queryGenerator(filters);
const response = await fetch(`/api/users${queryString}`);
return response.json();
}
// Usage
const users = await fetchUsers({
limit: 20,
offset: 0,
search: 'john',
tags: ['admin', 'verified']
});
Generates a URL query string from an object of parameters
This function converts an object of key-value pairs into a properly formatted URL query string, handling both simple values and arrays. It automatically handles URL encoding and array notation for query parameters.