@isdk/glob
is a library that provides a simple and efficient way to match string against glob patterns. It supports both whitelist and blacklist patterns, with blacklist patterns taking precedence.
You can install @isdk/glob
:
npm install @isdk/glob
The globMatch function checks if a given string matches the specified pattern(s).
import { globMatch } from '@isdk/glob';
// Single pattern
console.log(globMatch('example.txt', '*.txt')); // true
console.log(globMatch('example.txt', '*.md')); // false
// Array of patterns
console.log(globMatch('example.txt', ['*.txt', '*.md'])); // true
console.log(globMatch('example.txt', ['*.md', '*.js'])); // false
You can use both whitelist and blacklist patterns. Blacklist patterns take precedence over whitelist patterns.
import { globMatch } from 'glob-match';
// Blacklist pattern
console.log(globMatch('example.txt', ['!example.txt'])); // false
// Mixed patterns
console.log(globMatch('example.txt', ['*.txt', '!example.txt'])); // false
console.log(globMatch('example.txt', ['*.txt', '!example.md'])); // true
Checks if a given string matches the specified pattern(s).
- Parameters:
-
value
(string): The string to be matched. -
pattern
(string | string[]): A single pattern string or an array of pattern strings.
-
- Returns:
-
boolean
: Returnstrue
if the string matches any of the whitelist patterns and does not match any blacklist patterns, otherwise returnsfalse
orundefined
.
-
Example
import { globMatch } from 'glob-match';
console.log(globMatch('example.txt', '*.txt')); // true
console.log(globMatch('example.txt', ['*.md', '!example.txt'])); // false
We welcome contributions from the community! Here are some ways you can help:
- Bug Reports: If you find a bug, please open an issue on the GitHub Issues page.
- Feature Requests: If you have an idea for a new feature, feel free to open an issue to discuss it.
- Pull Requests: If you want to contribute code, please fork the repository and submit a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.