router-fns
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

router-fns : absolutely simple routing libary

Absolutely simple, so that strong. All you need is handler, as with linux's process. It's just that.

usage

Handler

Express-like handler.

const handler = (req, res, next) => {
  try {
    // do something
    next();
  } catch (e) {
    next(e);
  }
};

reduceHandlers

Reduce multiple handlers into one handler. This reducer is designed to implement middleware pattern.

import { reduceHandlers } from 'router-fns';
const handler = reduceHandlers(handlerA, handlerB, handlerC);

initHandler

A handler which initializes request object for routing. It is required to be called before routing.

import { reduceHandlers, initHandler } from 'router-fns';
const rootHandler = reduceHandlers(initHandler, router);

routingHandler

Create a handler which aims to route recieved request to appropriate handler.

import { routingHandler, initHandler } from 'router-fns';
 
const router = routingHandler({
  '/routeA': routingHandler({
    '/subRouteA': handlerA
  }),
  '/routeB': handlerB
});
const rootHandler = reduceHandlers(initHandler, router);
 
rootHandler({ url: '/routeA/subRouteA' }, {}, e => {
  if (e) throw e;
});

Readme

Keywords

none

Package Sidebar

Install

npm i router-fns

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

10.6 kB

Total Files

9

Last publish

Collaborators

  • plaid-inc