From e2a16b64b3470475d40d08eefbe0a4e0602f8c62 Mon Sep 17 00:00:00 2001 From: kerol2r20 Date: Tue, 13 Jun 2017 16:40:25 +0800 Subject: [PATCH] add sessionConfig interface --- types/koa-session/index.d.ts | 105 ++++++++++++++++++----------------- 1 file changed, 53 insertions(+), 52 deletions(-) diff --git a/types/koa-session/index.d.ts b/types/koa-session/index.d.ts index 0d6f6637a4..d32fcceeee 100644 --- a/types/koa-session/index.d.ts +++ b/types/koa-session/index.d.ts @@ -15,59 +15,50 @@ import * as Koa from "koa"; -declare function session(CONFIG: { - /** - * cookie key (default is koa:sess) - */ - key?: string, - - /** - * maxAge in ms (default is 1 days) - * 'session' will result in a cookie that expires when session/browser is closed - * Warning: If a session cookie is stolen, this cookie will never expire - */ - maxAge?: number | 'session', - - /** - * can overwrite or not (default true) - */ - overwrite?: boolean, - - /** - * httpOnly or not (default true) - */ - httpOnly?: boolean, - - /** - * signed or not (default true) - */ - signed?: boolean, - - /** - * You can store the session content in external stores(redis, mongodb or other DBs) - */ - store?: session.stores, - - /** - * Hook: valid session value before use it - */ - valid(...rest: any[]): void, - - /** - * Hook: before save session - */ - beforeSave(...rest: any[]): void, -}, app: Koa): Koa.Middleware; - -declare function session(app: Koa): Koa.Middleware; - -declare module 'koa' { - interface Context { - session: session.sessionProps; - } -} - declare namespace session { + interface sessionConfig { + /** + * cookie key (default is koa:sess) + */ + key?: string, + + /** + * maxAge in ms (default is 1 days) + * 'session' will result in a cookie that expires when session/browser is closed + * Warning: If a session cookie is stolen, this cookie will never expire + */ + maxAge?: number | 'session', + + /** + * can overwrite or not (default true) + */ + overwrite?: boolean, + + /** + * httpOnly or not (default true) + */ + httpOnly?: boolean, + + /** + * signed or not (default true) + */ + signed?: boolean, + + /** + * You can store the session content in external stores(redis, mongodb or other DBs) + */ + store?: session.stores, + + /** + * Hook: valid session value before use it + */ + valid(...rest: any[]): void, + + /** + * Hook: before save session + */ + beforeSave(...rest: any[]): void, + } interface sessionProps { /** * Returns true if the session is new @@ -104,4 +95,14 @@ declare namespace session { } } +declare function session(CONFIG: session.sessionConfig, app: Koa): Koa.Middleware; + +declare function session(app: Koa): Koa.Middleware; + +declare module 'koa' { + interface Context { + session: session.sessionProps; + } +} + export = session;