Parse URL route paths into a RegExp with a syntax similar to chi. Conceptually similar to path-to-regexp, although simpler.
npm install --save path-param-matcherconst parser = require('path-param-matcher')
/** Basic routes. */
parser('/')
/**
* => new RegExp(/^\/$/)
*/
/** Trailing slashes must be explicit. */
parser('/some/thing/')
/**
* => new RegExp(/^\/some\/thing\/$/)
*/
/** Named placeholders. */
parser('/{some}/{thing}')
/**
* => new RegExp(/^\/(?<some>[^/]+)\/(?<thing>[^/]+)$/)
*/
/** Placeholders can provide their own regex. */
parser('/date/{yyyy:\\d\\d\\d\\d}/{mm:\\d\\d}/{dd:\\d\\d}')
/**
* => new RegExp(/^\/date\/(?<yyyy>\d\d\d\d)\/(?<mm>\d\d)\/(?<dd>\d\d)$/)
*/
/** Anonymous placeholders. */
parser('/date/{:\\d\\d\\d\\d}/')
/**
* => new RegExp(/^\/date\/(?:\d\d\d\d)\/$/)
*/- returns
RegExp - throws
TypeError
A TypeError will be thrown if the path meets any of the following criteria:
- It is not a
String. - It does not begin with a
/. - A placeholder regex contains a
/,{, or}.
MIT © Pat Gaffney