Есть ли способ определить, что остаточный параметр должен содержать хотя бы один элемент типа?
Скажем, у меня есть два типа и
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