4
4
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5
5
6
6
/// <reference path="../express/express.d.ts" />
7
+ /// <reference path="../node/node.d.ts" />
7
8
8
9
declare module Express {
9
10
@@ -36,14 +37,15 @@ declare module Express {
36
37
37
38
declare module "express-session" {
38
39
import express = require( 'express' ) ;
40
+ import node = require( 'events' ) ;
39
41
40
42
function session ( options ?: session . SessionOptions ) : express . RequestHandler ;
41
43
42
44
module session {
43
45
export interface SessionOptions {
44
46
secret : string ;
45
47
name ?: string ;
46
- store ?: Store ;
48
+ store ?: Store | MemoryStore ;
47
49
cookie ?: express . CookieOptions ;
48
50
genid ?: ( req : express . Request ) => string ;
49
51
rolling ?: boolean ;
@@ -52,15 +54,24 @@ declare module "express-session" {
52
54
saveUninitialized ?: boolean ;
53
55
unset ?: string ;
54
56
}
55
-
56
- export interface Store {
57
+
58
+ export interface BaseMemoryStore {
57
59
get : ( sid : string , callback : ( err : any , session : Express . Session ) => void ) => void ;
58
60
set : ( sid : string , session : Express . Session , callback : ( err : any ) => void ) => void ;
59
61
destroy : ( sid : string , callback : ( err : any ) => void ) => void ;
60
62
length ?: ( callback : ( err : any , length : number ) => void ) => void ;
61
63
clear ?: ( callback : ( err : any ) => void ) => void ;
62
64
}
63
- export class MemoryStore implements Store {
65
+
66
+ export abstract class Store extends node . EventEmitter {
67
+ constructor ( config ?: any ) ;
68
+
69
+ regenerate ( req : express . Request , fn : ( err : any ) => any ) : void ;
70
+ load ( sid : string , fn : ( err : any , session : Express . Session ) => any ) : void ;
71
+ createSession ( req : express . Request , sess : Express . Session ) : void ;
72
+ }
73
+
74
+ export class MemoryStore implements BaseMemoryStore {
64
75
get : ( sid : string , callback : ( err : any , session : Express . Session ) => void ) => void ;
65
76
set : ( sid : string , session : Express . Session , callback : ( err : any ) => void ) => void ;
66
77
destroy : ( sid : string , callback : ( err : any ) => void ) => void ;
0 commit comments