Как указать тип в Typescript, который представляет собой объединение 2 функций - PullRequest
0 голосов
/ 14 апреля 2019

Давайте предположим, что у меня есть 2 функции

export const functionA = () => {// do stuff}
export const functionB = () => {// do stuff}

, и я хочу создать другую функцию, которая принимает в качестве входных данных только functionA или functionB, например

export const anotherFunction = functionAorB => {// do stuff }

Есть ли способ в Typescript, чтобы указать тип, представляющий только functionA или functionB?

1 Ответ

2 голосов
/ 14 апреля 2019

Вы не можете сделать тип для определенной функции. functionA это значение, а не тип. Тем не менее, вы можете сделать:

type FuncA = (x: number) => number;
type FuncB = (x: string) => string;
type FuncEither = FuncA | FuncB;

Функции объединяются немного неинтуитивно. FuncEither будет (x: number & string): number | string

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...