IRouterContextExtented, next: () => Promise<void>) => {
ctx.validator.smth();
await next();
});
Падает с ошибкой
TS2345: Argument of type '(ctx: IRouterContextExtented, next: () => Promise<void>) => Promise<void>' is not assignable to parameter of type 'IMiddleware'. Types of parameters 'ctx' and 'ctx' are incompatible. Type 'IRouterContext' is not assignable to type 'IRouterContextExtented'. Property 'validator' is missing in type 'IRouterContext'.
Хотя validator есть в IRouterContextExtented.
interface IRouterContextExtented extends IRouterContext {
validator: RequestValidator;
}
Почему падает?
он тебе говорит что интерфейсы для ctx не сходятся
вот тут мне объяснили
можно сделать элегантно const router = new Router<any, yourContexr>()
Обсуждают сегодня