trailblazer
is a minimalist regular expression-generator for paths with named parameters.
Turn a path such as /:foo/:bar?
into a regular expression and extract the keys.
npm install trailblazer
export const compile = (path: string, options: Options) => Compile;
- Create a regular expression from
path
and extract the key names.
import { compile } from 'trailblazer';
const path = '/foo/:bar';
const options = {
sensitive: false,
strict: false,
start: true,
end: true
};
const result = compile(path, options);
console.log(result.keys); // ['bar']
console.log(result.pattern); // /^\/foo\/([^\/]+)\/?$/i
result.pattern.test('/foo/123'); // true
result.pattern.exec('/foo/123'); // ['/foo/123', '123']
type Options = {
sensitive?: boolean;
strict?: boolean;
start?: boolean;
end?: boolean;
}
-
sensitive
: Whentrue
, theRegExp
will be case sensitive.- Default:
false
- Default:
-
strict
: Whentrue
, theRegExp
allows an optional trailing slash to match.- Default:
false
- Default:
-
start
: Whentrue
, theRegExp
will match from the beginning of the string.- Default:
true
- Default:
-
end
: Whentrue
, theRegExp
will match to the end of the string.- Default:
true
- Default:
type Compile = {
pattern: RegExp;
keys: string[];
}
pattern
: TheRegExp
created for the input path.keys
: An array of key names extracted from the input path.