From 39a7427deeddef2540f49a35b2e84a41d99fad0b Mon Sep 17 00:00:00 2001 From: Eric Byers Date: Tue, 10 Oct 2017 15:02:38 -0500 Subject: [PATCH] Adding express-mongo-sanitize typings (#20463) --- .../express-mongo-sanitize-tests.ts | 26 +++++++++++++++++++ types/express-mongo-sanitize/index.d.ts | 19 ++++++++++++++ types/express-mongo-sanitize/tsconfig.json | 23 ++++++++++++++++ types/express-mongo-sanitize/tslint.json | 1 + 4 files changed, 69 insertions(+) create mode 100644 types/express-mongo-sanitize/express-mongo-sanitize-tests.ts create mode 100644 types/express-mongo-sanitize/index.d.ts create mode 100644 types/express-mongo-sanitize/tsconfig.json create mode 100644 types/express-mongo-sanitize/tslint.json diff --git a/types/express-mongo-sanitize/express-mongo-sanitize-tests.ts b/types/express-mongo-sanitize/express-mongo-sanitize-tests.ts new file mode 100644 index 0000000000..21a5028b27 --- /dev/null +++ b/types/express-mongo-sanitize/express-mongo-sanitize-tests.ts @@ -0,0 +1,26 @@ +import * as express from 'express'; +import * as mongoSanitize from 'express-mongo-sanitize'; + +const app: express.Express = express(); + +app.use(mongoSanitize()); + +app.use(mongoSanitize({ + replaceWith: '_' +})); + +interface TestPayload { + foo: string; +} + +const testPayload: TestPayload = { + foo: 'bar' +}; + +const sanitize1: TestPayload = mongoSanitize.sanitize(testPayload); + +const sanitize2: TestPayload = mongoSanitize.sanitize(testPayload, { + replaceWith: '_' +}); + +const isCorrect: boolean = mongoSanitize.has(testPayload); diff --git a/types/express-mongo-sanitize/index.d.ts b/types/express-mongo-sanitize/index.d.ts new file mode 100644 index 0000000000..354b6830dd --- /dev/null +++ b/types/express-mongo-sanitize/index.d.ts @@ -0,0 +1,19 @@ +// Type definitions for express-mongo-sanitize 1.3 +// Project: https://github.com/fiznool/express-mongo-sanitize#readme +// Definitions by: Eric Byers +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +import express = require('express'); + +interface MongoSanitizeOptions { + replaceWith: any; +} + +declare namespace expressMongoSanitize { + function sanitize(payload: T, options?: MongoSanitizeOptions): T; + function has(payload: any): boolean; +} + +declare function expressMongoSanitize(options?: MongoSanitizeOptions): (req: express.Request, res: express.Response, next: express.NextFunction) => void; + +export = expressMongoSanitize; diff --git a/types/express-mongo-sanitize/tsconfig.json b/types/express-mongo-sanitize/tsconfig.json new file mode 100644 index 0000000000..0834820a85 --- /dev/null +++ b/types/express-mongo-sanitize/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": [ + "index.d.ts", + "express-mongo-sanitize-tests.ts" + ] +} diff --git a/types/express-mongo-sanitize/tslint.json b/types/express-mongo-sanitize/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/express-mongo-sanitize/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }