Skip to content

Commit d149033

Browse files
committed
converting all dangling regexes to globs
1 parent 8f88738 commit d149033

File tree

2 files changed

+12
-28
lines changed

2 files changed

+12
-28
lines changed

source/filters.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,11 @@ export function hasPublicSuffix(url: ParsedUrl): boolean {
2020

2121
export function matches(
2222
url: ParsedUrl,
23-
pattern: string | RegExp,
23+
pattern: string,
2424
property = 'href',
2525
): boolean {
2626
if (property in url) {
27-
if (typeof pattern === 'string') {
28-
return minimatch(url.properties[property].toString(), pattern);
29-
}
30-
31-
const matches =
32-
url.properties[property]?.toString().match(pattern)?.length ?? 0;
33-
return matches > 0;
27+
return minimatch(url.properties[property].toString(), pattern);
3428
}
3529

3630
return false;

source/mutators.ts

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ export const forceProtocol = function (
3131
return url;
3232
};
3333

34-
export function stripIndexPages(url: ParsedUrl, indexes?: string[]): ParsedUrl {
35-
indexes = indexes ?? ['index.htm', 'index.html', 'default.aspx', 'index.php'];
36-
for (const i of indexes) {
37-
if (url.pathname.endsWith(i)) {
38-
url.pathname = url.pathname.replace(i, '');
39-
}
34+
export function stripIndexPages(
35+
url: ParsedUrl,
36+
pattern = '**/{index,default}.{htm,html,aspx,php}',
37+
): ParsedUrl {
38+
if (minimatch(url.pathname, pattern)) {
39+
url.pathname = url.pathname.split('/').slice(-1).join('/');
4040
}
4141

4242
return url;
@@ -60,15 +60,10 @@ export function stripPort(url: ParsedUrl): ParsedUrl {
6060

6161
export function stripQueryParameters(
6262
url: ParsedUrl,
63-
pattern: string | RegExp = '{utm_*,src,referer,referrer}',
63+
pattern = '{utm_*,src}',
6464
): ParsedUrl {
6565
for (const [name] of url.searchParams) {
66-
if (typeof pattern === 'string') {
67-
if (minimatch(name, pattern)) {
68-
url.searchParams.delete(name);
69-
continue;
70-
}
71-
} else if (pattern.test(name)) {
66+
if (minimatch(name, pattern)) {
7267
url.searchParams.delete(name);
7368
continue;
7469
}
@@ -77,13 +72,8 @@ export function stripQueryParameters(
7772
return url;
7873
}
7974

80-
export function stripSubdomains(
81-
url: ParsedUrl,
82-
pattern: string | RegExp = /^w{2,3}\d*$/,
83-
): ParsedUrl {
84-
if (typeof pattern === 'string') {
85-
if (minimatch(url.subdomain, pattern)) url.subdomain = '';
86-
} else if (pattern.test(url.subdomain)) url.subdomain = '';
75+
export function stripSubdomains(url: ParsedUrl, pattern = 'ww*'): ParsedUrl {
76+
if (minimatch(url.subdomain, pattern)) url.subdomain = '';
8777
return url;
8878
}
8979

0 commit comments

Comments
 (0)