Skip to main content

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​

ParameterTypeDescription
paramsRecord<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