Skip to content

Commit

Permalink
[swaggerize-express] Add RequestHandler array to RouteSegment i/f (De…
Browse files Browse the repository at this point in the history
…finitelyTyped#20001)

* Added RequestHandler array to RouteSegment i/f

Also replaced a couple of String declarations with string.

* Removed spread operators to downgrade to TypeScript 2.0
  • Loading branch information
nickmorton authored and RyanCavanaugh committed Oct 2, 2017
1 parent aeea74d commit bfafb5f
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 25 deletions.
6 changes: 3 additions & 3 deletions types/swaggerize-express/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,13 @@ declare namespace swaggerize {
}

export interface RouteSegment {
[urlSegment: string]: RouteSegment | express.RequestHandler;
[urlSegment: string]: RouteSegment | express.RequestHandler | express.RequestHandler[];
}

export interface Options {
api: Swagger.ApiDefinition
docspath: String
handlers: String | RouteSegment
docspath: string
handlers: string | RouteSegment
}

export interface IConfig {
Expand Down
50 changes: 28 additions & 22 deletions types/swaggerize-express/swaggerize-express-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,26 @@ import http = require('http');
import express = require('express');
import swaggerize = require('swaggerize-express');

const api = {
swagger: "2.0",
host: "localhost:8080",
info: {
title: "swaggerize-express.d.ts test",
version: "1"
},
paths: {
}
};

var app = express();
app.use(swaggerize(<swaggerize.Options>{
api: {
swagger: "2.0",
host: "localhost:8080",
info: {
title: "swaggerize-express.d.ts test",
version: "1"
},
paths: {

}
},
api,
docspath: '/api-docs',
handlers: './handlers'
}));

app.use(swaggerize(<swaggerize.Options>{
api: {
swagger: "2.0",
host: "localhost:8080",
info: {
title: "swaggerize-express.d.ts test",
version: "1"
},
paths: {

}
},
api,
docspath: '/api-docs',
handlers: {
'api': {
Expand All @@ -43,6 +34,21 @@ app.use(swaggerize(<swaggerize.Options>{
}
}));

app.use(swaggerize(<swaggerize.Options>{
api,
docspath: '/api-docs',
handlers: {
'api': {
'authenticated-path': {
'$get': [
(req: express.Request, res: express.Response, next: express.NextFunction) => next(),
(req: express.Request, res: express.Response) => res.send('v1'),
]
}
}
}
}));

var server = app.listen(18888, 'localhost', function () {
(<swaggerize.SwaggerizedExpress>app).swagger.api.host = server.address().address + ':' + server.address().port;
});

0 comments on commit bfafb5f

Please sign in to comment.