Я бы хотел использовать express-boom для экспресс-доставки с помощью TypeScript. В нем нет типизаций, поэтому я хотел бы написать свои собственные. Просто сделать его компиляцией тривиально.Как написать определение TypeScript для промежуточного программного обеспечения, которое добавляет свойство для ответа?
Это промежуточное ПО украшает res
объект со свойством boom
(производный от 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
});
Но машинописи мне нужно, чтобы бросить его, потому что ни http.ServerResponse
и Express.Response
имеют свойство бум, конечно:
return (<any>res).boom.badRequest('bla bla bla');
Какой самый чистый способ сделать это? Что такое другое типизированное промежуточное ПО, которое делает подобную вещь?
супер, он работает. просто вещи и как автоматически добавить все [типизированный метод бума] (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/cc3d223a946f661eff871787edeb0fcb8f0db156/boom/boom.d.ts) в функцию 'boom'? – nkint
К сожалению, я не думаю, что вы можете. Вы должны иметь возможность использовать пространство имен Boom как тип, поэтому вы можете обратиться к нему здесь, и я не думаю, что это возможно, afaik. Я бы хотел услышать, если вы все-таки найдете способ. –