npm install egg-path-matchingimport { 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.