A Koa router middleware built on the top of fp-ts-routing
.
Note that these packages are peer dependencies of this library, which need to be installed separately.
Using npm
$ npm install koa-fp-ts-router
Using yarn
$ yarn add koa-fp-ts-router
import { end, lit, str } from 'fp-ts-routing';
import Koa from 'koa';
import { Router } from 'koa-fp-ts-router';
const app = new Koa();
// matches
const root = end; // `/`
const user = lit('users').then(str('id')).then(end); // `/users/:id`
// routes
const router = new Router();
router.get(root, function (ctx) {
ctx.body = 'Hello, world!';
});
router.get(user, function (ctx) {
ctx.body = `Hello, ${ctx.params.id}!`;
});
// Use the router middleware
app.use(router.routes());
app.listen(3000);