index/functions/buildQueryParametersWithValidation.md
buildQueryParametersWithValidation(
params):string
Build query parameter string with automatic encoding and null removal
Safely constructs query strings from parameter objects. Automatically:
- Skips null/undefined values
- URL-encodes special characters
- Converts non-string values to strings
- Handles arrays and nested objects
Parameters
| Parameter | Type | Description |
|---|---|---|
params | Record<string, unknown> | Record of query parameters (values can be any type) |
Returns
string
Formatted query string "?key1=value1&key2=value2" or "" if no params
Examples
Simple parameters
const query = buildQueryParametersWithValidation({
page: 1,
limit: 20,
search: 'anime'
});
// Result: "?page=1&limit=20&search=anime"
With special characters
const query = buildQueryParametersWithValidation({
search: 'hello world',
token: 'abc/def'
});
// Result: "?search=hello%20world&token=abc%2Fdef"
With nullish values (automatically skipped)
const query = buildQueryParametersWithValidation({
page: 1,
search: undefined,
token: null,
limit: 20
});
// Result: "?page=1&limit=20" (search and token omitted)
With arrays
const query = buildQueryParametersWithValidation({
tags: ['anime', 'popular'],
status: 'active'
});
// Result: "?tags=anime%2Cpopular&status=active" (comma-separated)
Since
6.5.0 @adoption_gap Manual query string construction appears in 8+ locations