I built a similar framework, perhaps it can serve as an inspiration. It also features typed (optional) path parameters, but it does it without the need for literal strings (perhaps this is on your to-do list too?). Here's a GIF
It also allows you to type the state (what you call ctx.data) a handler/middleware expects and will throw a type error if you get it wrong, I think that's possible here too? That part is not super elegant though..
Check it the intro post here, curious to hear your thoughts!
Hey jrf0110,
I built a similar framework, perhaps it can serve as an inspiration. It also features typed (optional) path parameters, but it does it without the need for literal strings (perhaps this is on your to-do list too?). Here's a GIF
It also allows you to type the state (what you call
ctx.data
) a handler/middleware expects and will throw a type error if you get it wrong, I think that's possible here too? That part is not super elegant though..Check it the intro post here, curious to hear your thoughts!