1.1.0 • Published 11 months ago

routing-pattern v1.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
11 months ago

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')
// => { id: '3' }

parseRoute('/products/x', '/products/:id', { constraints: { id: '[0-9]+' } })
// => null

parseRoute('/en/sales/search/books/year/2019', /:locale/sales(/search/:q)(/year/:year))
// => { locale: 'en', q: 'books', year: '2019' }

parseRoute('/products/3?foo=bar', '/products/:id')
// => { id: 3, foo: 'bar' }

To stringify routes:

import { stringifyRoute } from 'routing-pattern'

stringifyRoute('/:locale/sales(/search/:q)(/year/:year)', { locale: 'en', q: 'some query', year: '2019' })
// => '/en/sales/search/some%20query/year/2019'

stringifyRoute('/:locale/sales(/search/:q)(/year/:year)', { locale: 'en', q: 'some query' })
// => '/en/sales/search/some%20query'

stringifyRoute('/products/:id', {})
// => null

Versioning

This project is using the Semantic Versioning specification.

1.1.0

11 months ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago