UNPKG

@atlaskit/global-search

Version:

A cross-product search component (batteries included)

31 lines (25 loc) 1.09 kB
"use strict"; 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;