Koa Middleware type definition
// @types/koa
type Middleware<StateT = DefaultState, CustomT = DefaultContext> = compose.Middleware<
ParameterizedContext<StateT, CustomT>
>;
Expect
// src/middleware/cookie.ts
import { ExtendableContext, Middleware } from "koa";
type CookieContext = ExtendableContext & {
cookie: string;
}
const parseCookieMiddleware: Middleware</*wanna skip passing generic here to use default type(DefaultState)*/, CookieContext> = async (ctx, next) => {
//parse cookie here
await next();
};
I just can pass DefaultState or create wrappedMiddlewareType,
but Koa type defenition gives us default value.
So I just wanna skip unnecessary step.
Thank you for reading.
Have a nice day!