Une idée m'est venue à l'esprit mais je ne sais pas comment l'écrire ou même si c'est possible.
Comment pouvons-nous définir le SomeType
de sorte que le first
peut être l'un des éléments suivants T
mais le second
ne peut pas être la même chose que first
?
type SomeType<T> = {
first: T; // any option based on T
second: T; // everything on T except what `first` is using
};
// Example:
const value: SomeType<1 | 2 | 3> = {
first: 1,
second: 2 // can be 2 or 3 but not the same as `first`
};