UNPKG

@atlaskit/global-search

Version:

A cross-product search component (batteries included)

22 lines (19 loc) 944 B
export 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); };