You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.0 KiB
30 lines
1.0 KiB
/* |
|
Copyright 2018 Google LLC |
|
|
|
Use of this source code is governed by an MIT-style |
|
license that can be found in the LICENSE file or at |
|
https://opensource.org/licenses/MIT. |
|
*/ |
|
import '../_version.js'; |
|
/** |
|
* Removes any URL search parameters that should be ignored. |
|
* |
|
* @param {URL} urlObject The original URL. |
|
* @param {Array<RegExp>} ignoreURLParametersMatching RegExps to test against |
|
* each search parameter name. Matches mean that the search parameter should be |
|
* ignored. |
|
* @return {URL} The URL with any ignored search parameters removed. |
|
* |
|
* @private |
|
* @memberof workbox-precaching |
|
*/ |
|
export function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) { |
|
// Convert the iterable into an array at the start of the loop to make sure |
|
// deletion doesn't mess up iteration. |
|
for (const paramName of [...urlObject.searchParams.keys()]) { |
|
if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) { |
|
urlObject.searchParams.delete(paramName); |
|
} |
|
} |
|
return urlObject; |
|
}
|
|
|