Ich möchte express-boom für Express mit TypeScript verwenden. Es fehlen die Typisierungen, deshalb würde ich gerne meine eigenen schreiben. Mach es einfach kompilieren ist trivial.Wie schreibt man TypScript-Definition für eine Middleware, die der Antwort eine Eigenschaft hinzufügt?
Diese Middleware ziert die res
Objekt mit einer Eigenschaft boom
(abgeleitet vom boom module):
var express = require('express');
var boom = require('express-boom');
var app = express();
app.use(boom());
app.use(function (req, res) {
res.boom.notFound(); // Responsds with a 404 status code
});
Aber mit Typoskript muss ich es werfen, weil weder http.ServerResponse
und Express.Response
den Boom Eigenschaft haben, natürlich:
return (<any>res).boom.badRequest('bla bla bla');
Welcher ist der sauberste Weg? Was sind andere typisierte Middleware, die eine ähnliche Sache machen?
Super, es funktioniert. nur ein Ding, und wie fügt man automatisch die [typisierte Methode des Booms] (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/cc3d223a946f661eff871787edeb0fcb8f0db156/boom/boom.d.ts) zur "Boom" -Funktion hinzu? – nkint
Leider glaube ich nicht, dass du kannst. Sie müssen in der Lage sein, den Boom-Namespace als Typ zu verwenden, so dass Sie sich hier darauf beziehen können, und ich denke nicht, dass das möglich ist, afaik. Ich würde gerne hören, wenn Sie einen Weg finden. –