routing-pattern
A powerful, but minimal library (1.2K minified and gzipped) to conveniently parse and stringify route patterns
Installing / Getting started
yarn add routing-pattern
Usage
To parse routes:
import { parseRoute } from 'routing-pattern'
parseRoute('/products/3', '/products/:id')
parseRoute('/products/x', '/products/:id', { constraints: { id: '[0-9]+' } })
parseRoute('/en/sales/search/books/year/2019', /:locale/sales(/search/:q)(/year/:year))
parseRoute('/products/3?foo=bar', '/products/:id')
To stringify routes:
import { stringifyRoute } from 'routing-pattern'
stringifyRoute('/:locale/sales(/search/:q)(/year/:year)', { locale: 'en', q: 'some query', year: '2019' })
stringifyRoute('/:locale/sales(/search/:q)(/year/:year)', { locale: 'en', q: 'some query' })
stringifyRoute('/products/:id', {})
Versioning
This project is using the Semantic Versioning specification.