Добавить переводчик для псевдонима типа - PullRequest
0 голосов
/ 04 мая 2020

Я использую функцию из библиотеки, тип которой

type QueryFetcher = (query: string, variables?: Record<string, any>) => Promise<QueryResponse> | QueryResponse;

, и я хотел бы добавить дополнительный аргумент к этому типу без редактирования объявления типа в исходном файле.

Я думал, что могу сделать что-то вроде

type WithHeader = (header: string) => Promise<QueryResponse> | QueryResponse

type QueryFetcherWithHeader = QueryFetcher & WithHeader

, и это даст

(query: string, variables?: Record<string, any>, header: string) => Promise<QueryResponse> | QueryResponse;

Но это не

Очевидно, я что-то здесь не понимаю , но я что-то не могу найти

1 Ответ

0 голосов
/ 05 мая 2020

Тип пересечения не работает для функций. Почему бы вам не создать свой собственный шрифт, как показано ниже.

type QueryFetcher = (query: string, variables?: Record<string, any>) => Promise<QueryResponse> | QueryResponse;

type QueryFetcherWithHeader = (query: string, variables?: Record<string, any>, header: string) => Promise<QueryResponse> | QueryResponse;
...