@eggjs/path-matching

Installation
npm install @eggjs/path-matching
Usage
import { pathMatching } from '@eggjs/path-matching';
const options = {
ignore: '/api',
ignore: /^\/api/,
ignore: ctx => ctx.path.startsWith('/api'),
ignore: [ctx => ctx.path.startsWith('/api'), /^\/foo$/, '/bar'],
match: '/api',
};
const match = pathMatching(options);
assert.equal(match({ path: '/api' }), true);
assert.equal(match({ path: '/api/hello' }), true);
assert.equal(match({ path: '/api' }), true);
options
match {String | RegExp | Function | Array} - if request path hit options.match, will return true, otherwise will return false.
ignore {String | RegExp | Function | Array} - if request path hit options.ignore, will return false, otherwise will return true.
pathToRegexpModule {Object | Function} - custom path-to-regexp module. Default is path-to-regexp@6. Supports both path-to-regexp@6 and path-to-regexp@8+ formats.
ignore and match can not both be presented.
and if neither ignore nor match presented, the new function will always return true.
License
MIT
Contributors

Made with contributors-img.