3

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!

Aiden
  • 31
  • 2

0 Answers0