@atlaskit/global-search
Version:
A cross-product search component (batteries included)
31 lines (25 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addQueryParam = void 0;
var addQueryParam = function addQueryParam(url, queryName, queryValue) {
if (!url || !queryName) {
return url;
}
var urlSplit = url.split('?');
var queryString = urlSplit.length === 2 ? urlSplit[1] : null;
var urlWithoutQuery = urlSplit.length > 0 ? urlSplit[0] : '';
var encodedQueryName = encodeURIComponent(queryName);
var newQueryItem = "".concat(encodedQueryName, "=").concat(encodeURIComponent(queryValue || '')); // If url has no existing query strings
if (!queryString) {
return "".concat(url, "?").concat(newQueryItem);
}
var existingQueries = queryString.split('&');
var newQueryString = existingQueries.filter(function (query) {
// If the query already exists we will replace it with the new one so we filter it out here
return !query.startsWith("".concat(encodedQueryName, "="));
}).concat(newQueryItem).join('&');
return "".concat(urlWithoutQuery, "?").concat(newQueryString);
};
exports.addQueryParam = addQueryParam;