Glob Url
Glob Url is a dead-basic, dead-simple pattern matcher library for route URLs.
Installation
With pnpm
pnpm add glob-url
...with npm
npm install glob-url
...or yarn
yarn add glob-url
Usage
Simply import and match away
import { matcher } from 'glob-url';
matcher.match('PATTERN', 'ROUTE');
// or
matcher.test('PATTERN', 'ROUTE');
// both of them do the same thing, choose your poison
The functions return true
if ROUTE
matches PATTERN
.
Pattern Syntax:
- matching is case-insensitive
-
*
matches all characters until the next/
, except it is at the end of the pattern, then it matches (literally) everything.
Examples
-
/user/*
— will match anything afteruser/
including/user/peter/pets/etc
-
/user/John
— will only match/user/John
-
/user/*/pets
— will match/user/John/pets
,/user/Ann/pets
-
/*/dashboard
— will match/blue/dashboard
,/green/dashboard
, etc...
Route (Path) Syntax:
- Routes may or may not have a leading or trailing slash
- Only forward slash (
/
) is valid. Please. - Examples:
/while/you-are/here
/star/the/repo
/please/
/
Contributions
Contributions to glob-url are welcome! I know I said "dead-simple", but if you have an idea for a new feature or have found a bug, please open an issue or submit a pull request.
Author
Hi, I'm ML. I'm trying to break into open-source by creating really awesome 10x developer tools (like this one). By using this tool, you're automagically a 10x developer, 20x if you were 10x before. Give it a star on GitHub to gain another 10x!
Acknowledgements
- starter-ts by @antfu
- Vite, Vitest, Unbuild