C'est pas facile de représenter d'utiliser des maps dans TopModel à la place de listes parce qu'il n'est pas super commode de renseigner le type de la clé :
- Si c'est un type primitif genre
string, on peut créer un domaine de type Map<string, {T}> et on est contents.
- Si le type de la clé peut changer, il est toujours possible de définir un paramètre
key sur le domaine, et d'utiliser sa valeur dans le type, genre Map<{key}, {T}>, et s'il y a un import avec, on peut toujours le passer en second paramètre... De toute façon, les types de clés sont souvent des strings pour des soucis de sérialisation en JSON donc le problème ne se pose rarement.
- Le vrai cas d'usage en revanche, c'est de vouloir y mettre une enum du modèle en clé. C'est un string donc c'est un usage 100% non problématique, et aujourd'hui le seul moyen de le faire c'est via un paramètre statique comme décrit précédemment...
Ca serait donc bien d'avoir une solution native pour référencer le type de l'enum dans la clé de la map.
A priori, on voudrait pouvoir passer des classes et des propriétés (au moins) en paramètres de domaines/décorateurs/annotations. Aujourd'hui, on ne peut référencer que "soi-même" dans les templates, avec cette évol on devrait pouvoir référencer d'autres classes/propriétés (avec leur templating à eux).
C'est pas facile de représenter d'utiliser des maps dans TopModel à la place de listes parce qu'il n'est pas super commode de renseigner le type de la clé :
string, on peut créer un domaine de typeMap<string, {T}>et on est contents.keysur le domaine, et d'utiliser sa valeur dans le type, genreMap<{key}, {T}>, et s'il y a un import avec, on peut toujours le passer en second paramètre... De toute façon, les types de clés sont souvent des strings pour des soucis de sérialisation en JSON donc le problème ne se pose rarement.Ca serait donc bien d'avoir une solution native pour référencer le type de l'enum dans la clé de la map.
A priori, on voudrait pouvoir passer des classes et des propriétés (au moins) en paramètres de domaines/décorateurs/annotations. Aujourd'hui, on ne peut référencer que "soi-même" dans les templates, avec cette évol on devrait pouvoir référencer d'autres classes/propriétés (avec leur templating à eux).