graphql / graphql-playground

🎮 GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration)
MIT License
8.77k stars 735 forks source link

fix: Koa middleware interface #1242

Closed kf6kjg closed 4 years ago

kf6kjg commented 4 years ago

Added the KoaPlaygroundMiddlewareOptions alias so that packages that want to pass around or preset the options don't have to fight the eslint(import/no-extraneous-dependencies) warning.

Fixed the signature of KoaPlaygroundMiddleware to actually match the usage: Koa expects this signature and the previous way was making things mighty hard to use, plus any function that is async is supposed to return a Promise anyway.

I think the tslint hint could be dropped now, but I'm creating this commit from GitHub's interface no I'm not sure. Also I think both KoaPlaygroundMiddleware and Register types could be dropped and the type declarations inlined on the actual lambdas, but I don't know if the extant pattern had a good reason or was just C&P from something else.

CLAassistant commented 4 years ago

CLA assistant check
All committers have signed the CLA.

acao commented 4 years ago

thanks! i had to update this for the latest koa, and I haven't used Koa since 1.x ~5 years ago, nor with typescript, so lots has changed!