Je veux un type pour les objets imbriqués, qui ont un type spécifique à leurs feuilles.Type pour les objets imbriqués avec des types de feuille spécifiques
Je pense que ce soit correct:
let a: Leaves<number> = {
"foo": 1,
"bar": {
"baz": 2
}
};
et ce à faillir:
let a: Leaves<number> = {
"foo": 1,
"bar": {
"baz": 'something else' // Leaf of type string
}
};
J'ai essayé
export type Leaves<T> = {
[P in keyof T]: T | Leaves<T>;
}
Cependant, avec cette définition les deux exemples donnent une erreur de compilation . Le premier dit Type '{ "foo": number; "bar": number; }' is not assignable to type 'number'.
Y at-il un moyen de résoudre ce problème?
Merci, c'était utile. Je suppose que j'étais un peu confus. – MaximeW