# fast-regexp-router

> ```typescript route1 = '/' route2 = '/user/{uid}' route3 = '/posts/{id}'

Latest version **2.0.1** (published 2025-01-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install fast-regexp-router
pnpm add fast-regexp-router
yarn add fast-regexp-router
bun add fast-regexp-router
```

## Health

**Score 25/100 (F)** — status: maintenance-mode.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2025-01-23 |
| First published | 2020-06-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 14.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | afu |
| Maintainers | candyjs |
| Keywords | router, regexp, fast router, regexp router |

## Links

- npm: https://www.npmjs.com/package/fast-regexp-router
- Homepage: https://github.com/candyframework/fast-regexp-router
- npm.io page: https://npm.io/package/fast-regexp-router

## Alternatives

- [express-promise-router](https://npm.io/package/express-promise-router.md) — 736.1K weekly downloads
- [next-usequerystate](https://npm.io/package/next-usequerystate.md) — 29.8K weekly downloads
- [@bitkyc08/opencodex](https://npm.io/package/@bitkyc08/opencodex.md) — 4.6K weekly downloads
- [lynkr](https://npm.io/package/lynkr.md) — 575 weekly downloads
- [baremetal.js](https://npm.io/package/baremetal.js.md) — 42 weekly downloads

## Recent versions

- 2.0.1 (latest) — 2025-01-23
- 2.0.0 — 2024-12-08
- 1.1.3 — 2023-01-22
- 1.1.2 — 2022-06-01
- 1.1.1 — 2020-06-13
- 1.1.0 — 2020-06-10
- 1.0.1 — 2020-06-07
- 1.0.0 — 2020-06-07

## README

## Fast Router

## Principle

```typescript
route1 = '/'
route2 = '/user/{uid}'
route3 = '/posts/{id}'

// The system will process these routes into the following format
(?:\\/)|(?:\\/user\\/(\\w+))|(?:\\/posts\\/(\\w+))
```

## Usage

```typescript
import FastRouter from 'fast-regexp-router'

const routesList = [
    {
        route: '/',
        handler: () => {
            console.log('index route requested')
        }
    },
    {
        route: '/user/{uid}',
        handler: (params) => {
            console.log('user requested, uid is: ' + params.uid);
        }
    },
    {
        route: '/posts/{id}',
        handler: (params) => {
            console.log('article requested, id is: ' + params.id);
        }
    }
];

const reg = new FastRouter();
// reg.setRoutes(routesList);
// Or
for(let v of routesList) {
    reg.setRoute(v);
}

const match = reg.exec('/user/123');
if(match) {
    match.handler(match.parameters);
}
```

---
_Source: https://npm.io/package/fast-regexp-router · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
