打字稿用混合界面覆盖快递发送功能

Typescript overwrite express send function with hybrid interface

我正在尝试覆盖 Response 类型的节点表达 send 方法。 该方法属于 Send 类型,定义如下:

interface Send {
    (status: number, body?: any): Response;
    (body?: any): Response;
}

我的 objective 是添加用 express 发送的响应的本地日志记录,但我无法实现这种类型,即使作为其他问题 like this 中解释的功能也是如此。

该接口描述了一个具有两个签名的函数,您可以这样实现它:

const fn: Send = (first?: any, second?: any) => {
    if (first && second) {
        // deal with (status: number, body: any)
    } else if (first) {
        // deal with (status: number) or (body: any)
    } else {
        // deal with ()
    }

    return new Response();
}