UNPKG

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
/** * 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 };