@wordpress/url
Version:
WordPress URL utilities.
8 lines (7 loc) • 1.59 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../src/remove-query-args.ts"],
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\nimport { buildQueryString } from './build-query-string';\n\n/**\n * Removes arguments from the query string of the url\n *\n * @param url URL.\n * @param args Query Args.\n *\n * @example\n * ```js\n * const newUrl = removeQueryArgs( 'https://wordpress.org?foo=bar&bar=baz&baz=foobar', 'foo', 'bar' ); // https://wordpress.org?baz=foobar\n * ```\n *\n * @return Updated URL.\n */\nexport function removeQueryArgs( url: string, ...args: string[] ): string {\n\tconst fragment = url.replace( /^[^#]*/, '' );\n\turl = url.replace( /#.*/, '' );\n\n\tconst queryStringIndex = url.indexOf( '?' );\n\tif ( queryStringIndex === -1 ) {\n\t\treturn url + fragment;\n\t}\n\n\tconst query = getQueryArgs( url );\n\tconst baseURL = url.substr( 0, queryStringIndex );\n\targs.forEach( ( arg ) => delete query[ arg ] );\n\tconst queryString = buildQueryString( query );\n\tconst updatedUrl = queryString ? baseURL + '?' + queryString : baseURL;\n\treturn updatedUrl + fragment;\n}\n"],
"mappings": ";AAGA,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AAe1B,SAAS,gBAAiB,QAAgB,MAAyB;AACzE,QAAM,WAAW,IAAI,QAAS,UAAU,EAAG;AAC3C,QAAM,IAAI,QAAS,OAAO,EAAG;AAE7B,QAAM,mBAAmB,IAAI,QAAS,GAAI;AAC1C,MAAK,qBAAqB,IAAK;AAC9B,WAAO,MAAM;AAAA,EACd;AAEA,QAAM,QAAQ,aAAc,GAAI;AAChC,QAAM,UAAU,IAAI,OAAQ,GAAG,gBAAiB;AAChD,OAAK,QAAS,CAAE,QAAS,OAAO,MAAO,GAAI,CAAE;AAC7C,QAAM,cAAc,iBAAkB,KAAM;AAC5C,QAAM,aAAa,cAAc,UAAU,MAAM,cAAc;AAC/D,SAAO,aAAa;AACrB;",
"names": []
}