/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
packages/url/src/remove-query-args.ts
32 строки
973 B
Marco Ciampini
ESLint: Replace strict config with bulk suppressions (#81248)
07 авг 2026, 14:34
Не верифицирован
07 авг 2026, 14:34
7f43eaf
Код
Авторство
О чём код?
import { getQueryArgs } from './get-query-args'; import { buildQueryString } from './build-query-string'; /** * Removes arguments from the query string of the url * * @param url URL. * @param args Query Args. * * @example * ```js * const newUrl = removeQueryArgs( 'https://wordpress.org?foo=bar&bar=baz&baz=foobar', 'foo', 'bar' ); // https://wordpress.org?baz=foobar * ``` * * @return Updated URL. */ export function removeQueryArgs( url: string, ...args: string[] ): string { const fragment = url.replace( /^[^#]*/, '' ); url = url.replace( /#.*/, '' ); const queryStringIndex = url.indexOf( '?' ); if ( queryStringIndex === -1 ) { return url + fragment; } const query = getQueryArgs( url ); const baseURL = url.substr( 0, queryStringIndex ); args.forEach( ( arg ) => delete query[ arg ] ); const queryString = buildQueryString( query ); const updatedUrl = queryString ? baseURL + '?' + queryString : baseURL; return updatedUrl + fragment; }