diff --git a/types/connect-mongodb-session/connect-mongodb-session-tests.ts b/types/connect-mongodb-session/connect-mongodb-session-tests.ts index 9bf3c89e234759..f1906dd4dd49bd 100644 --- a/types/connect-mongodb-session/connect-mongodb-session-tests.ts +++ b/types/connect-mongodb-session/connect-mongodb-session-tests.ts @@ -1,39 +1,40 @@ -import * as express from 'express' -import session = require('express-session') -import connectMongo = require('connect-mongodb-session') -let MongoDBStore = connectMongo(session) +import * as express from 'express'; +import session = require('express-session'); +import connectMongo = require('connect-mongodb-session'); -var app = express(); -var store = new MongoDBStore({ - uri: 'mongodb://localhost:27017/connect_mongodb_session_test', - collection: 'mySessions' -}, function(error) { +const MongoDBStore = connectMongo(session); + +const app = express(); +const store = new MongoDBStore({ + uri: 'mongodb://localhost:27017/connect_mongodb_session_test', + collection: 'mySessions' +}, (error) => { // some connection error occur }); -store.on('connected', function() { - store.client; // The underlying MongoClient object from the MongoDB driver +store.on('connected', () => { + store.client; // The underlying MongoClient object from the MongoDB driver }); // Catch errors -store.on('error', function(error) { +store.on('error', (error) => { }); -app.use(require('express-session')({ - secret: 'This is a secret', - cookie: { - maxAge: 1000 * 60 * 60 * 24 * 7 // 1 week - }, - store: store, - // Boilerplate options, see: - // * https://www.npmjs.com/package/express-session#resave - // * https://www.npmjs.com/package/express-session#saveuninitialized - resave: true, - saveUninitialized: true +app.use(session({ + secret: 'This is a secret', + cookie: { + maxAge: 1000 * 60 * 60 * 24 * 7 // 1 week + }, + store, + // Boilerplate options, see: + // * https://www.npmjs.com/package/express-session#resave + // * https://www.npmjs.com/package/express-session#saveuninitialized + resave: true, + saveUninitialized: true })); -app.get('/', function(req, res) { - res.send('Hello ' + JSON.stringify(req.session)); +app.get('/', (req, res) => { + res.send('Hello ' + JSON.stringify(req.session)); }); -const server = app.listen(3000); +app.listen(3000); diff --git a/types/connect-mongodb-session/index.d.ts b/types/connect-mongodb-session/index.d.ts index 4a49a1c09d6ee3..763250cfa0069b 100644 --- a/types/connect-mongodb-session/index.d.ts +++ b/types/connect-mongodb-session/index.d.ts @@ -1,31 +1,34 @@ -// Type definitions for connect-mongodb-session +// Type definitions for connect-mongodb-session 2.4 // Project: https://github.com/mongodb-js/connect-mongodb-session#readme // Definitions by: Nattapong Sirilappanich +// Ravi van Rooijen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Minimum TypeScript Version: 3.2 - -/// import session = require('express-session'); -import * as express from 'express'; -import {MongoClient, MongoClientOptions} from 'mongodb' +import { MongoClient, MongoClientOptions } from 'mongodb'; + +export = ConnectMongoDBSession; -declare function connect(fn : (options?: session.SessionOptions) => express.RequestHandler) : connectMongodbSession.MongoDBStore +declare function ConnectMongoDBSession(fn: typeof session): typeof ConnectMongoDBSession.MongoDBStore; -declare namespace connectMongodbSession { - export interface MongoDBStore extends session.Store { - client : MongoClient - new(connection?: ConnectionInfo, callback?: (error : Error) => void) : MongoDBStore +declare namespace ConnectMongoDBSession { + class MongoDBStore extends session.Store { + constructor(connection?: MongoDBSessionOptions, callback?: (error: Error) => void); + client: MongoClient; + + get(sid: string, callback: (err: any, session?: session.SessionData | null) => void): void; + set(sid: string, session: session.SessionData, callback?: (err?: any) => void): void; + destroy(sid: string, callback?: (err?: any) => void): void; + all(callback: (err: any, obj?: session.SessionData[] | { [sid: string]: session.SessionData; } | null) => void): void; + clear(callback?: (err?: any) => void): void; } - export interface ConnectionInfo { - idField? : string - collection : string - connectionOptions?: MongoClientOptions - databaseName?: string - expires?: number - uri : string + interface MongoDBSessionOptions { + uri: string; + collection: string; + expires?: number; + databaseName?: string; + connectionOptions?: MongoClientOptions; + idField?: string; } } - -export = connect diff --git a/types/connect-mongodb-session/tslint.json b/types/connect-mongodb-session/tslint.json index 18368ef548249a..f93cf8562ad24d 100644 --- a/types/connect-mongodb-session/tslint.json +++ b/types/connect-mongodb-session/tslint.json @@ -1,17 +1,3 @@ { - "extends": "dtslint/dt.json", - "rules": { - "dt-header": false, - "no-misused-new": false, - "no-reference-import": false, - "no-var-keyword": false, - "no-var-requires": false, - "object-literal-shorthand": false, - "only-arrow-functions": false, - "prefer-const": false, - "semicolon": false, - "strict-export-declare-modifiers": false, - "typedef-whitespace": false, - "whitespace": false - } + "extends": "dtslint/dt.json" }