dfa-router

5.0.1 • Public • Published

dfa-router

CircleCI Codecov

A simple server-side url router using Deterministic Finite Automaton.

Installation

This is published at npm registry: dfa-router.

You can install it via npm, yarn or what you like.

npm install dfa-router

How to Use

It behaves like a simple key-value map.

const router = new Router();
router.add('GET', '/foo', 'foo');
router.add('GET', '/bar', 'bar');
 
const foo = router.route('GET', '/foo');
assert.deepEqual(foo, {
  type: 'found',
  value: 'foo',
  params: new Map([]),
});
const bar = router.route('GET', '/bar');
assert.deepEqual(bar, {
  type: 'found',
  value: 'bar',
  params: new Map([]),
});

And also, it can capture parameters.

const router = new Router();
router.add('GET', '/:param', 'foo');
 
const foo = router.route('GET', '/value');
assert.deepEqual(foo, {
  type: 'found',
  value: 'foo',
  params: new Map([
    ['param', 'value']
  ]),,
});

See examples/server.js and test/ to learn more.

Readme

Keywords

none

Package Sidebar

Install

npm i dfa-router

Weekly Downloads

1

Version

5.0.1

License

MIT

Unpacked Size

12.1 kB

Total Files

10

Last publish

Collaborators

  • koba789