( target: string, patterns: Array<string | RegExp | ((x: string) => boolean)>, )
| 1 | /** Tests a target string against a list of strings (full match) or regexes (can be mixed) */ |
| 2 | export default function matchesAnyPattern( |
| 3 | target: string, |
| 4 | patterns: Array<string | RegExp | ((x: string) => boolean)>, |
| 5 | ): boolean { |
| 6 | return patterns.some(pattern => { |
| 7 | if (typeof pattern === 'string') { |
| 8 | return pattern === target; |
| 9 | } |
| 10 | |
| 11 | if (typeof pattern === 'function') { |
| 12 | return pattern(target); |
| 13 | } |
| 14 | |
| 15 | return pattern.test(target); |
| 16 | }); |
| 17 | } |