Create types for express-routes-versioning (#30419)

* Add types for express-routes-versioning

* Remove incorrect root package.json change

* Remove unused package.json

* Add TypeScript Version comment to top of file

* Add strictFunctionTypes to tsconfig

* Fix lint errors

* Update test file

* Fix type definitions
This commit is contained in:
Weffe 2018-11-18 18:08:47 -08:00 committed by Pranav Senthilnathan
parent 86f630dad1
commit 393c74c1d8
4 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,21 @@
import * as express from 'express';
import * as routesVersioning from 'express-routes-versioning';
const app = express();
const routesVersioningMiddleware: routesVersioning.RoutesVersioningMiddleware = routesVersioning();
const versioningOptions: routesVersioning.VersionOptions = {
"1.0.0": respondV1,
"~2.2.1": respondV2
};
app.get('/test', routesVersioningMiddleware(versioningOptions));
function respondV1(req: express.Request, res: express.Response, next: express.NextFunction) {
res.status(200).send('ok v1');
}
function respondV2(req: express.Request, res: express.Response, next: express.NextFunction) {
res.status(200).send('ok v2');
}

View File

@ -0,0 +1,19 @@
// Type definitions for express-routes-versioning 1.0
// Project: https://github.com/Prasanna-sr/express-routes-versioning
// Definitions by: Rogelio Negrete <https://github.com/weffe>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2
import { Handler } from 'express';
declare namespace routesVersioning {
interface VersionOptions {
[versionKey: string]: Handler;
}
type RoutesVersioningMiddleware = (args: VersionOptions, notFoundMiddleware?: Handler) => Handler;
}
declare function routesVersioning(): routesVersioning.RoutesVersioningMiddleware;
export = routesVersioning;

View File

@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"express-routes-versioning-tests.ts"
]
}

View File

@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }