Skip to content

Commit

Permalink
Adds defaults to TS generics definitions (#1669)
Browse files Browse the repository at this point in the history
  • Loading branch information
fox1t authored and delvedor committed May 24, 2019
1 parent 712337d commit 1958c74
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 12 deletions.
24 changes: 12 additions & 12 deletions fastify.d.ts
Expand Up @@ -69,9 +69,9 @@ declare namespace fastify {
}

type FastifyMiddleware<
HttpServer,
HttpRequest,
HttpResponse,
HttpServer = http.Server,
HttpRequest = http.IncomingMessage,
HttpResponse = http.ServerResponse,
Query = DefaultQuery,
Params = DefaultParams,
Headers = DefaultHeaders,
Expand All @@ -84,9 +84,9 @@ declare namespace fastify {
) => void

type FastifyMiddlewareWithPayload<
HttpServer,
HttpRequest,
HttpResponse,
HttpServer = http.Server,
HttpRequest = http.IncomingMessage,
HttpResponse = http.ServerResponse,
Query = DefaultQuery,
Params = DefaultParams,
Headers = DefaultHeaders,
Expand All @@ -100,8 +100,8 @@ declare namespace fastify {
) => void

type RequestHandler<
HttpRequest,
HttpResponse,
HttpRequest = http.IncomingMessage,
HttpResponse = http.ServerResponse,
Query = DefaultQuery,
Params = DefaultParams,
Headers = DefaultHeaders,
Expand Down Expand Up @@ -130,7 +130,7 @@ declare namespace fastify {
* fastify's wrapped version of node.js IncomingMessage
*/
interface FastifyRequest<
HttpRequest,
HttpRequest = http.IncomingMessage,
Query = DefaultQuery,
Params = DefaultParams,
Headers = DefaultHeaders,
Expand Down Expand Up @@ -264,9 +264,9 @@ declare namespace fastify {
* Route configuration options such as "url" and "method"
*/
interface RouteOptions<
HttpServer,
HttpRequest,
HttpResponse,
HttpServer = http.Server,
HttpRequest = http.IncomingMessage,
HttpResponse = http.ServerResponse,
Query = DefaultQuery,
Params = DefaultParams,
Headers = DefaultHeaders,
Expand Down
18 changes: 18 additions & 0 deletions test/types/index.ts
Expand Up @@ -604,3 +604,21 @@ const server2 = fastify()
server2.close().then(() => {})
const server3 = fastify()
server3.close(() => {})

{
// tests generics default values
const routeOptions: fastify.RouteOptions = {
method: 'GET',
url: '/',
handler: function (req, reply) { reply.send({}) }
}

const genericHandler: fastify.RequestHandler = (req, reply) => { reply.send(reply) }

const middleware: fastify.FastifyMiddleware = function middleware (req, reply, done) {
this.addHook('onClose', function (instance, done) {
done()
})
done()
}
}

0 comments on commit 1958c74

Please sign in to comment.