Skip to content

Commit 4ba57e6

Browse files
committed
Merge pull request DefinitelyTyped#8204 from Exagram/master
Updated definition for Store, added IBaseStore
2 parents 55c750a + 3ca0e03 commit 4ba57e6

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

connect-mongo/connect-mongo.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ declare module "connect-mongo" {
9999
new (options: NaitiveMongoOptions): MongoStore;
100100
}
101101

102-
export class MongoStore implements session.Store {
102+
export class MongoStore extends session.Store {
103103
get: (sid: string, callback: (err: any, session: Express.Session) => void) => void;
104104
set: (sid: string, session: Express.Session, callback: (err: any) => void) => void;
105105
destroy: (sid: string, callback: (err: any) => void) => void;

express-session/express-session.d.ts

+15-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// Definitions: https://github.com/borisyankov/DefinitelyTyped
55

66
/// <reference path="../express/express.d.ts" />
7+
/// <reference path="../node/node.d.ts" />
78

89
declare module Express {
910

@@ -36,14 +37,15 @@ declare module Express {
3637

3738
declare module "express-session" {
3839
import express = require('express');
40+
import node = require('events');
3941

4042
function session(options?: session.SessionOptions): express.RequestHandler;
4143

4244
module session {
4345
export interface SessionOptions {
4446
secret: string;
4547
name?: string;
46-
store?: Store;
48+
store?: Store | MemoryStore;
4749
cookie?: express.CookieOptions;
4850
genid?: (req: express.Request) => string;
4951
rolling?: boolean;
@@ -52,15 +54,24 @@ declare module "express-session" {
5254
saveUninitialized?: boolean;
5355
unset?: string;
5456
}
55-
56-
export interface Store {
57+
58+
export interface BaseMemoryStore {
5759
get: (sid: string, callback: (err: any, session: Express.Session) => void) => void;
5860
set: (sid: string, session: Express.Session, callback: (err: any) => void) => void;
5961
destroy: (sid: string, callback: (err: any) => void) => void;
6062
length?: (callback: (err: any, length: number) => void) => void;
6163
clear?: (callback: (err: any) => void) => void;
6264
}
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 {
6475
get: (sid: string, callback: (err: any, session: Express.Session) => void) => void;
6576
set: (sid: string, session: Express.Session, callback: (err: any) => void) => void;
6677
destroy: (sid: string, callback: (err: any) => void) => void;

0 commit comments

Comments
 (0)