Made store an abstract class, got rid of I prefix

This commit is contained in:
tamasdan
2016-02-27 15:41:18 -05:00
parent b838896c75
commit 3ca0e0306a
2 changed files with 6 additions and 14 deletions

View File

@@ -99,7 +99,7 @@ declare module "connect-mongo" {
new (options: NaitiveMongoOptions): MongoStore;
}
export class MongoStore implements session.Store {
export class MongoStore extends session.Store {
get: (sid: string, callback: (err: any, session: Express.Session) => void) => void;
set: (sid: string, session: Express.Session, callback: (err: any) => void) => void;
destroy: (sid: string, callback: (err: any) => void) => void;

View File

@@ -4,6 +4,7 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../express/express.d.ts" />
/// <reference path="../node/node.d.ts" />
declare module Express {
@@ -36,6 +37,7 @@ declare module Express {
declare module "express-session" {
import express = require('express');
import node = require('events');
function session(options?: session.SessionOptions): express.RequestHandler;
@@ -52,14 +54,8 @@ declare module "express-session" {
saveUninitialized?: boolean;
unset?: string;
}
export interface BaseStore {
regenerate (req: express.Request, fn: (err: any) => any): void;
load (sid: string, fn: (err: any, session: Express.Session) => any): void;
createSession (req: express.Request, sess: Express.Session): void;
}
export interface IMemoryStore {
export interface BaseMemoryStore {
get: (sid: string, callback: (err: any, session: Express.Session) => void) => void;
set: (sid: string, session: Express.Session, callback: (err: any) => void) => void;
destroy: (sid: string, callback: (err: any) => void) => void;
@@ -67,7 +63,7 @@ declare module "express-session" {
clear?: (callback: (err: any) => void) => void;
}
export class Store implements BaseStore {
export abstract class Store extends node.EventEmitter {
constructor(config?: any);
regenerate (req: express.Request, fn: (err: any) => any): void;
@@ -75,17 +71,13 @@ declare module "express-session" {
createSession (req: express.Request, sess: Express.Session): void;
}
export class MemoryStore implements IMemoryStore, BaseStore {
export class MemoryStore implements BaseMemoryStore {
get: (sid: string, callback: (err: any, session: Express.Session) => void) => void;
set: (sid: string, session: Express.Session, callback: (err: any) => void) => void;
destroy: (sid: string, callback: (err: any) => void) => void;
all: (callback: (err: any, obj: { [sid: string]: Express.Session; }) => void) => void;
length: (callback: (err: any, length: number) => void) => void;
clear: (callback: (err: any) => void) => void;
regenerate (req: express.Request, fn: (err: any) => any): void;
load (sid: string, fn: (err: any, session: Express.Session) => any): void;
createSession (req: express.Request, sess: Express.Session): void;
}
}