From 3d4db2e667fefb0aef20f6cbd9c928444465eb22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valerio=20Coltr=C3=A8?= Date: Thu, 27 Jun 2019 23:22:15 +0200 Subject: [PATCH] [koa-session] types were overwriting a Class with an interface FIX (#36206) * koa-session was overwriting a Class with an interface * forgot semicolons --- types/koa-session/index.d.ts | 5 ----- types/koa-session/koa-session-tests.ts | 8 ++++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/types/koa-session/index.d.ts b/types/koa-session/index.d.ts index 512b888e1c..b55021c154 100644 --- a/types/koa-session/index.d.ts +++ b/types/koa-session/index.d.ts @@ -205,11 +205,6 @@ declare module "koa" { session: session.Session | null; readonly sessionOptions: session.opts | undefined; } - - interface Application { - on(name: "session:missed" | "session:expired" | "session:invalid", data: { key?: string, value?: Partial, ctx: Context }): void; - once(name: "session:missed" | "session:expired" | "session:invalid", data: { key?: string, value?: Partial, ctx: Context }): void; - } } export = session; diff --git a/types/koa-session/koa-session-tests.ts b/types/koa-session/koa-session-tests.ts index 4930a6f1c2..210715d4c4 100644 --- a/types/koa-session/koa-session-tests.ts +++ b/types/koa-session/koa-session-tests.ts @@ -40,10 +40,18 @@ app.use(session({ path: "/", }, app)); +// can still use koa-session events, although without autocomplete +app.on('session:missed', () => {}); +app.on('session:expired', () => {}); +app.on('session:invalid', () => {}); + app.use((ctx, next) => { // reset the session ctx.session = null; + // does not interfere with Application->EventEmitter #32389 + ctx.app.emit('error', new Error('this is an user-generated Error')); + return next(); });