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(); });