My name is Marko, and recently I became increasingly interested in new Deno runtime (https://deno.land/). Since I’m big fan of functional programming too, I decided to make an HTTP server for Deno with functional composition in mind.
GitHub repo is here: https://github.com/Vertrical/tino.
I wanted to make something which uses plain functions, also with as smaller learning curve as possible, without any decorators or classes, something which makes it easy to isolate controllers, middlewares, and unit test them significantly easier, making all functions pure. So all dependencies and side effects you can mock and pass to a function you’d want to test. Also any of the controllers and middlewares can be async functions too, which makes composition actually an async composition (it always returns a promise but it’s done internally).
Deno runtime also allows you to write TypeScript, and Tino is pure JS, I’m planning on writing maybe 2.0 version with full TS, BUT when TS 4.0 is out (soon), so when currying and composing functions will be possible without overloading hack.
I’m happy to answer any of the questions and suggestions you might have! 🙂