Интерфейс Typescript декоратор с лямбда.AxiosInstance - PullRequest
0 голосов
/ 26 октября 2018

У меня проблема с машинописью о лямбда-функции, представленной в файле index.d.ts. Я пытаюсь украсить AxiosInstance, чтобы отменить ожидающие запросы, когда захочу.

Вот файл index.d.ts из библиотеки axios:

export interface AxiosInstance {

  (config: AxiosRequestConfig): AxiosPromise; // How to override this lambda ?
  (url: string, config?: AxiosRequestConfig): AxiosPromise; // How to override this lambda ?

  // Omit the rest because ther is no problem with it
}

Вот моя реализация AxiosInstance

export default class CancelableAxiosInstance implements AxiosInstance {


    private axiosInstance: AxiosInstance;

    constructor(axiosInstance: AxiosInstance){
        this.axiosInstance = axiosInstance;
    }

    // Another function that I want to expose on CancelableAxiosInstance
    cancelRequests() {
       // Omit implementation
    }

    // How do I override (config: AxiosRequestConfig): AxiosPromise; declared in index.d.ts file ?
 }

Вот моя ошибка компиляции машинописи, показанная в IDE:

TS2420: Class 'CancelableAxiosInstance' неправильно реализует интерфейс 'AxiosInstance'. Тип 'CancelableAxiosInstance' не обеспечивает соответствие для подписи "(конфигурации: AxiosRequestConfig): AxiosPromise.

Кто-нибудь может мне помочь, пожалуйста?

Большое спасибо

...