qapinterface
Version:
Comprehensive API utilities for Node.js applications including authentication, security, request processing, and response handling with zero external dependencies
25 lines (23 loc) • 716 B
JavaScript
/**
* URL Builder
* Single Responsibility: Build complete URLs ONLY
*/
/**
* Builds a complete URL from a base URL, an endpoint, and query parameters.
* @param {string} baseUrl - The base URL.
* @param {string} [endpoint=''] - The endpoint path.
* @param {Object<string, string|number>} [queryParams={}] - Query parameters.
* @returns {string} The complete URL string.
*/
function buildUrl(baseUrl, endpoint = '', queryParams = {}) {
const url = new URL(endpoint, baseUrl);
Object.entries(queryParams).forEach(([key, value]) => {
if (value !== null && value !== undefined) {
url.searchParams.append(key, String(value));
}
});
return url.toString();
}
module.exports = {
buildUrl
};