@logi.one/rest-client
Version:
This is a free, ultra-lightweight and easy to use rest client for node.js supporting JSON requests and streams with no external dependencies.
35 lines (34 loc) • 958 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.appendSearchToURL = void 0;
function appendSearchToURL(url, search) {
const params = convertSearchToURLSearchParams(search);
if (params.size === 0) {
return url;
}
if (url.includes('?')) {
if (!url.endsWith('&')) {
url += '&';
}
}
else {
url += '?';
}
return url + params.toString();
}
exports.appendSearchToURL = appendSearchToURL;
function convertSearchToURLSearchParams(query) {
if (query instanceof URLSearchParams) {
return query;
}
if (typeof query !== 'object' || Array.isArray(query)) {
return new URLSearchParams(query);
}
const urlSearchParams = new URLSearchParams();
for (const key in query) {
if (query.hasOwnProperty(key)) {
urlSearchParams.append(key, query[key].toString());
}
}
return urlSearchParams;
}
;