Как пропустить строку в строковом литерале в TypeScript - PullRequest
0 голосов
/ 18 марта 2020

Я знаю, что мы можем использовать Omit<> для ввода определенного объекта без указания c реквизитов. Я надеялся, что мы могли бы также использовать это для строковых литералов:

type possibleStrings = 'A' | 'B' | 'C'

type AorB = Omit<possibleStrings, 'C'>

Но при попытке использовать что-то подобное в функции для своих параметров я получаю эту ошибку:

Тип «Выбор» нельзя использовать в качестве индекса.

1 Ответ

2 голосов
/ 18 марта 2020

Вы можете использовать Exclude для пропуска одной строки в строковом литерале.

type possibleStrings = 'A' | 'B' | 'C'

type AorB = Exclude<possibleStrings, 'C'>
...