trousse 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/matching.d.ts +3 -3
- package/dist/matching.js +8 -4
- package/dist/urls.js +1 -1
- package/package.json +1 -1
package/dist/matching.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Pattern } from "./types.js";
|
|
2
2
|
//#region src/matching.d.ts
|
|
3
3
|
export declare const escapeRegex: (value: string) => string;
|
|
4
|
-
export declare const isAnyOf: (value: string, patterns: Pattern | ReadonlyArray<Pattern>, parser?: (value: string) => string) => boolean;
|
|
5
|
-
export declare const getAnyOf: <T extends string>(value: string, patterns: ReadonlyArray<T>, parser?: (value: string) => string) => T | undefined;
|
|
6
|
-
export declare const includesAnyOf: (value: string, patterns: ReadonlyArray<Pattern>, parser?: (value: string) => string) => boolean;
|
|
4
|
+
export declare const isAnyOf: (value: string | undefined, patterns: Pattern | ReadonlyArray<Pattern>, parser?: (value: string) => string) => boolean;
|
|
5
|
+
export declare const getAnyOf: <T extends string>(value: string | undefined, patterns: ReadonlyArray<T>, parser?: (value: string) => string) => T | undefined;
|
|
6
|
+
export declare const includesAnyOf: (value: string | undefined, patterns: ReadonlyArray<Pattern>, parser?: (value: string) => string) => boolean;
|
|
7
7
|
export declare const startsWithAnyOf: (value: string, patterns: ReadonlyArray<Pattern>) => boolean;
|
|
8
8
|
export declare const endsWithAnyOf: (value: string, patterns: ReadonlyArray<Pattern>) => boolean;
|
|
9
9
|
export declare const anyWordMatchesAnyOf: (value: string, patterns: ReadonlyArray<Pattern>) => boolean;
|
package/dist/matching.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNullish } from "./is.js";
|
|
1
2
|
//#region src/matching.ts
|
|
2
3
|
const whitespaceRegex = /\s+/;
|
|
3
4
|
const regexMetaCharsRegex = /[.*+?^${}()|[\]\\-]/g;
|
|
@@ -5,21 +6,24 @@ const escapeRegex = (value) => {
|
|
|
5
6
|
return value.replace(regexMetaCharsRegex, "\\$&");
|
|
6
7
|
};
|
|
7
8
|
const isAnyOf = (value, patterns, parser) => {
|
|
8
|
-
|
|
9
|
+
if (isNullish(value)) return false;
|
|
10
|
+
const parsedValue = parser ? parser(value) : value.toLowerCase().trim();
|
|
9
11
|
return (typeof patterns === "string" || patterns instanceof RegExp ? [patterns] : patterns).some((pattern) => {
|
|
10
12
|
if (pattern instanceof RegExp) return pattern.test(parsedValue);
|
|
11
13
|
return parsedValue === pattern.toLowerCase().trim();
|
|
12
14
|
});
|
|
13
15
|
};
|
|
14
16
|
const getAnyOf = (value, patterns, parser) => {
|
|
15
|
-
|
|
17
|
+
if (isNullish(value)) return;
|
|
18
|
+
const parsedValue = parser ? parser(value) : value.toLowerCase().trim();
|
|
16
19
|
return patterns.find((pattern) => parsedValue === pattern.toLowerCase().trim());
|
|
17
20
|
};
|
|
18
21
|
const includesAnyOf = (value, patterns, parser) => {
|
|
19
|
-
|
|
22
|
+
if (isNullish(value)) return false;
|
|
23
|
+
const parsedValue = parser ? parser(value) : value.toLowerCase();
|
|
20
24
|
return patterns.some((pattern) => {
|
|
21
25
|
if (pattern instanceof RegExp) return pattern.test(parsedValue);
|
|
22
|
-
return pattern && parsedValue
|
|
26
|
+
return pattern && parsedValue.includes(pattern.toLowerCase());
|
|
23
27
|
});
|
|
24
28
|
};
|
|
25
29
|
const startsWithAnyOf = (value, patterns) => {
|
package/dist/urls.js
CHANGED
|
@@ -13,7 +13,7 @@ const getPathSegments = (value) => {
|
|
|
13
13
|
const isHostOf = (url, hosts) => {
|
|
14
14
|
const hostname = parseUrl(url)?.hostname;
|
|
15
15
|
if (!hostname) return false;
|
|
16
|
-
return isAnyOf(hostname,
|
|
16
|
+
return isAnyOf(hostname, hosts);
|
|
17
17
|
};
|
|
18
18
|
const isSubdomainOf = (url, domains) => {
|
|
19
19
|
const hostname = parseUrl(url)?.hostname;
|
package/package.json
CHANGED