@vincent.cantin c'est gentil ça ! Je ne comprends pas à partir de l'exemple en quoi la logique est plus «location-agnostic» que re-frame. Bon pour être honnête je ne comprends pas non-plus la sémantique d'évaluation de :logic donc ça n'aide pas :)
Sur la forme, je recommanderais de namespacer les clefs, ça aiderait beaucoup les utilisateurs à explorer le code source pour lever le voile sur la «magie»
1👍la partie "logic" retourne une association entre une sorte de "reference" a la valeur qui change (sous le capot, ca sera un path dans la db) et une nouvelle valeur.
Donc en gros, en reframe tu dois retourner une nouvelle DB, et en vrac tu retournes une hashmap de path -> valeur.
Les 2 gros changement pour l'utilisateur, c'est que : • la personne qui implemente un event handler n'ecrira pas le path directement. A la place, il ecrira la relation qui lui permettra de faire reference a la valeur a changer. • les changements sur la db deviennent explicites dans la valeur retournee par le event handler. Ca peut etre utile pour implementer plus efficacement la reactivite sur les changements. Un outil d'inspection pourra montrer tres facilement ce que l'event handler veut changer.
La dans mon example, (:time-color nil)
peut etre lu comme (:time-color global-context)
@val_waeselynck est-ce que tu penses que l'idée tient la route ? sinon je la remets dans ma culotte, mais tu sais pas c'que tu perds (comme dirait Renaud)