From 8117819ce704fe73c3ac9f0db5cb9dfbf2b70f01 Mon Sep 17 00:00:00 2001 From: Ragg Date: Sat, 20 May 2017 14:10:04 +0900 Subject: [PATCH 1/3] Typing koa.Context for koa-generic-session --- types/koa-generic-session/index.d.ts | 11 ++++++++++- .../koa-generic-session/koa-generic-session-tests.ts | 12 ++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/types/koa-generic-session/index.d.ts b/types/koa-generic-session/index.d.ts index f3a84e7b20..d5a616b248 100644 --- a/types/koa-generic-session/index.d.ts +++ b/types/koa-generic-session/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for koa-generic-session 1.x // Project: https://github.com/koajs/generic-session -// Definitions by: Nick Simmons +// Definitions by: Nick Simmons , Ragg // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import * as Koa from "koa"; @@ -8,6 +8,7 @@ import * as Koa from "koa"; declare namespace koaSession { interface Session { cookie: any; + [key: string]: any; } interface SessionIdStore { @@ -50,5 +51,13 @@ declare namespace koaSession { const MemoryStore: SessionStore; } +declare module 'koa' { + interface Context { + session: koaSession.Session|null; + sessionSave: boolean|null; + regenerateSession(): Generator; + } +} + declare function koaSession(options: koaSession.SessionOptions): Koa.Middleware; export = koaSession; diff --git a/types/koa-generic-session/koa-generic-session-tests.ts b/types/koa-generic-session/koa-generic-session-tests.ts index fb8d69b0e0..a00e7f5384 100644 --- a/types/koa-generic-session/koa-generic-session-tests.ts +++ b/types/koa-generic-session/koa-generic-session-tests.ts @@ -32,4 +32,16 @@ app.use(session({ beforeSave: (ctx: Koa.Context, session: Session) => {} })); +app.use((context: Koa.Context) => { + if (! context.session) { + return; + } + + context.regenerateSession(); + context.sessionSave = true; + context.session.cookie; + context.session.key = 'value'; + context.session = null; +}); + app.listen(80); From d317d338f71d646e098c00157c59edddaae06167 Mon Sep 17 00:00:00 2001 From: Ragg Date: Thu, 1 Jun 2017 23:25:26 +0900 Subject: [PATCH 2/3] Fix failed lint --- types/koa-generic-session/index.d.ts | 1 + types/koa-generic-session/koa-generic-session-tests.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/types/koa-generic-session/index.d.ts b/types/koa-generic-session/index.d.ts index d5a616b248..0a80131d93 100644 --- a/types/koa-generic-session/index.d.ts +++ b/types/koa-generic-session/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/koajs/generic-session // Definitions by: Nick Simmons , Ragg // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version:2.3 import * as Koa from "koa"; diff --git a/types/koa-generic-session/koa-generic-session-tests.ts b/types/koa-generic-session/koa-generic-session-tests.ts index a00e7f5384..e9a4f94232 100644 --- a/types/koa-generic-session/koa-generic-session-tests.ts +++ b/types/koa-generic-session/koa-generic-session-tests.ts @@ -40,7 +40,7 @@ app.use((context: Koa.Context) => { context.regenerateSession(); context.sessionSave = true; context.session.cookie; - context.session.key = 'value'; + context.session['key'] = 'value'; context.session = null; }); From 83c7aaf7e7cbdd605c1b14464c85402461a911a0 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Fri, 2 Jun 2017 07:27:41 -0700 Subject: [PATCH 3/3] Fix `TypeScript Version` comment --- types/koa-generic-session/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/koa-generic-session/index.d.ts b/types/koa-generic-session/index.d.ts index 0a80131d93..1bd8f366e0 100644 --- a/types/koa-generic-session/index.d.ts +++ b/types/koa-generic-session/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/koajs/generic-session // Definitions by: Nick Simmons , Ragg // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version:2.3 +// TypeScript Version: 2.3 import * as Koa from "koa";