npm install egg-path-matching
import { pathMatching } from 'egg-path-matching';
const options = {
ignore: '/api', // string will use parsed by path-to-regexp
// support regexp
ignore: /^\/api/,
// support function
ignore: ctx => ctx.path.startsWith('/api'),
// support Array
ignore: [ ctx => ctx.path.startsWith('/api'), /^\/foo$/, '/bar'],
// support match or ignore
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);
match
{String | RegExp | Function | Array} - if request path hitoptions.match
, will returntrue
, otherwise will returnfalse
.ignore
{String | RegExp | Function | Array} - if request path hitoptions.ignore
, will returnfalse
, otherwise will returntrue
.
ignore
and match
can not both be presented.
and if neither ignore
nor match
presented, the new function will always return true
.
Made with contributors-img.