Есть ли способ определить, что остаточный параметр должен содержать хотя бы один элемент типа?

Скажем, у меня есть два типа и Bи функция, которая принимает остаточный параметр в качестве аргументов, но я хочу, чтобы у нее был хотя бы один аргумент типа A. Есть ли способ иметь такую ​​​​вещь во время компиляции с помощью Typescript?

Я попробовал следующее

      type A
type B
function f (...o: (A | B)[])

и когда я звоню f

      const a: A = ...
const b0: B = ...
const b1: B = ...
f(a, b0, b1) // Fine
f(b0, a, b1) // Fine
f(b0, b1, a) // Still fine
f(b0, b1) // works but I don't want it to work because I need f to accept at least one argument which has a type A

0 ответов

Другие вопросы по тегам